GithubHelp home page GithubHelp logo

sluaggo's Introduction

sluaggo

Sluggo slug generator implemented in Lua. Primarily intended for (although not limited to) use in Pandoc filters.

References

  • sluggo.js
  • utf8data.lua — originally (?) from here, but more recently found here, and other locations.

Installation

Copy the following files to a directory in which Lua will look for packages:

  • sluaggo.lua
  • sluggo_ranges.lua
  • utf8case.lua
  • utf8data.lua

Notes:

  • utf8case.lua and utf8data.lua are not required when running inside Pandoc
  • utf8data.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

Usage

local sluaggo = require('sluaggo')

s = sluaggo.sluaggo('@ monkey\'s are elab؉؉orate fools##')
print(s)

Outputs:

monkey-s-are-elab-orate-fools

Options

separator

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

allow

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

Testing

Standalone

lua test/test.lua

Pandoc

pandoc --pdf-engine=xelatex -o test.pdf --lua-filter test/test.lua README.md

sluaggo's People

Contributors

bgkendall avatar

Stargazers

Albert Krewinkel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.