0.3.6 • Published 10 years ago

urlify v0.3.6

Weekly downloads
2,031
License
MIT
Repository
github
Last release
10 years ago

Flattr this git repo

URLify

This node library simplifies converting utf8 strings to ASCII strings which can be used as readable URL-segments

If you're happily using node-urlify, please leave an entry at the wiki. Thank you!

Installation

Node

# npm install urlify

Browser

# git clone git://github.com/Gottox/node-urlify.git
# cd node-urlify
# make build

This compiles a browserbuild version to dist/urlify.js

Usage

Node

var urlify = require('urlify').create(options);
urlify(text);

Browser

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript" src="dist/urlify.js"></script>
	</head>
	<body>
		<script type="text/javascript">
			var urlify = Urlify.create(options);
			document.write(urlify(text));
		</script>
	</body>
</html>
  • options (optional) is a config map and can contain the following:
    • addEToUmlauts default: false replaces 'ä', 'ö', and 'ü' with 'ae', 'oe', and 'ue' instead of 'a', 'o', and 'u'.
    • szToSs default: true if true replaces 'ß' with 'ss', otherwise with 'sz'.
    • spaces default: "_" replaces whitespace characters with this character.
    • toLower default: false converts all uppercase ASCII characters to lowercase.
    • nonPrintable default: "_" replaces other non-ASCII characters with this character.
    • trim default: false replaces multiple whitespaces/non-ASCII characters by one placeholder.
    • failureOutput default: "non-printable" returned result if output is reduced to an empty string.
    • extendString default: false If true, extends String object with urlify method. So after calling the constructor, you can use "Hello World".urlify()
  • returns: a configured function: function(string, options)
    • string may a string to be urlified
    • options overwrite above options. extendString has no effect.

If extendString is true, you may also use "Hello World".urlify() to urlify strings.

Example

var urlify = require('urlify').create({
  addEToUmlauts:true,
  szToSs:true,
  spaces:"_",
  nonPrintable:"_",
  trim:true
});

urlify("das eiskalte Händchen")
// 'das_eiskalte_Haendchen'

urlify("das eiskalte Händchen", { addEToUmlauts:false })
// 'das_eiskalte_Handchen'

urlify("Heiße Suppe")
// 'Heisse_Suppe'

urlify("Heiße Suppe", { szToSs:false })
// 'Heisze_Suppe'

urlify("Soon!")
// 'Soon'

urlify("This is very important!!! Please read!!!")
// 'This_is_very_important_Please_read'

Tests

The tests are based on expect.js by learnBoost.

To run the tests in node use

make test

To run them in your browser use

make test-browser
<browser> http://127.0.0.1:3000