Skip to content

simplifies converting utf8 strings to ASCII strings which can be used as readable URL-segments.

License

Notifications You must be signed in to change notification settings

Gottox/node-urlify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

simplifies converting utf8 strings to ASCII strings which can be used as readable URL-segments.

Resources

License

Stars

Watchers

Forks

Packages

No packages published