Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
simplifies converting utf8 strings to ASCII strings which can be used as readable URL-segments.
JavaScript HTML Makefile CSS
Branch: master

v0.3.6

latest commit a5806ced78
@Gottox authored

README.md

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
Something went wrong with that request. Please try again.