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.lua
sluggo_ranges.lua
utf8case.lua
utf8data.lua
utf8case.lua
andutf8data.lua
are not required when running inside Pandocutf8data.lua
is 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.path
local 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