Sluggo slug generator implemented in Lua. Primarily intended for (although not limited to) use in Pandoc filters.
- sluggo.js
- utf8data.lua — originally (?) from here, but more recently found here, and other locations.
Copy the following files to a directory in which Lua will look for packages:
sluaggo.luasluggo_ranges.luautf8case.luautf8data.lua
utf8case.luaandutf8data.luaare not required when running inside Pandocutf8data.luais not required if this file is already in the package path
Or, add the sluaggo directory to your shell’s LUA_PATH:
export LUA_PATH='$HOME/some/dir/sluaggo/?.lua;;'(Note the double semicolon.)
Or, Lua’s package.path:
package.path = os.getenv('HOME')..'/some/dir/sluaggo/?.lua;'..package.pathlocal sluaggo = require('sluaggo')
s = sluaggo.sluaggo('@ monkey\'s are elab؉؉orate fools##')
print(s)Outputs:
monkey-s-are-elab-orate-fools
Change the string separator by passing a string (usually one character) to separator.
local sluaggo = require('sluaggo')
s = sluaggo.sluaggo('monkey\'s are elaborate fools', { separator = ','})
print(s)Outputs:
monkey,s,are,elaborate,fools
Set a single-character string to allow in returned strings. Otherwise all punctuation characters are replaced by the separator.
local sluaggo = require('sluaggo')
s = sluaggo.sluaggo('@ monkey\'s are elab؉؉orate fools##', { allow = '؉'})
print(s)Outputs:
monkey-s-are-elab؉؉orate-fools
lua test/test.lua
pandoc --pdf-engine=xelatex -o test.pdf --lua-filter test/test.lua README.md