diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-07-07 20:25:18 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-07-07 20:25:18 -0400 |
| commit | 3b5707a04028f57a53e2ace7301fb85985447777 (patch) | |
| tree | 3dfe42a4109d40873c0c0fd5ed5a1c38aedba7e9 | |
| parent | c6c464ddd2e143ef50836fafbfd8f1e33009c648 (diff) | |
| download | webpage-3b5707a04028f57a53e2ace7301fb85985447777.tar.gz webpage-3b5707a04028f57a53e2ace7301fb85985447777.tar.bz2 webpage-3b5707a04028f57a53e2ace7301fb85985447777.zip | |
Updated fuzzel docs
| -rw-r--r-- | fuzzel/fuzzel.png | bin | 92271 -> 0 bytes | |||
| -rw-r--r-- | fuzzel/index.html | 760 | ||||
| -rw-r--r-- | fuzzel/jumbotron-narrow.css | 94 | ||||
| -rw-r--r-- | fuzzel/ldoc.css | 304 |
4 files changed, 965 insertions, 193 deletions
diff --git a/fuzzel/fuzzel.png b/fuzzel/fuzzel.png Binary files differdeleted file mode 100644 index 643a84a..0000000 --- a/fuzzel/fuzzel.png +++ /dev/null diff --git a/fuzzel/index.html b/fuzzel/index.html index bd42c47..55fde7d 100644 --- a/fuzzel/index.html +++ b/fuzzel/index.html @@ -1,100 +1,662 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> - <meta name="description" content=""> - <meta name="author" content=""> - - <title>Fuzzel</title> - - <!-- Bootstrap core CSS --> - <link href="../css/bootstrap.min.css" rel="stylesheet"> - - <!-- Custom styles for this template --> - <link href="jumbotron-narrow.css" rel="stylesheet"> - - <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> - <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> - <![endif]--> - </head> - - <body> - - <div class="container"> - <div class="header clearfix"> - <h3 class="text-muted">Fuzzel</h3> - </div> - - <div class="jumbotron"> - <h1>Fuzzel</h1> - <p class="lead">Fuzzy String Matching for Lua</p> - <p><a class="btn btn-lg btn-info" href="https://cogarr.net/source/cgit.cgi/fuzzel" role="button">Download</a></p> - </div> - - <div class="row marketing"> - <h4>What is it?</h4> - <p>One bored afternoon, I dusted off my old notes from an algorithm class I took, and tried my hand at some dynamic programming. Fuzzel is the result of that.<br/> - Fuzzel uses <a href="https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance"> Damerau-Levenshtein Distance</a> to do fuzzy string matching. It also includes pure Levenshtien distance, and <a href="https://en.wikipedia.org/wiki/Hamming_distance">Hamming Distance</a> for shits and giggles. - <h4>How do I use it?</h4> - <p>Simply include it in your file. Note that the source also comes with fuzzel_min.lua, this is a minified version of fuzzel that works exactly the same. If you need clients to download this code often, or don't have much bandwith, consider useing the minified version. - <h4>Docs or something I guess</h4> - <p>In addition to these methods, there are shortened versions of these methods at the bottom, for example: - <pre>fuzzel.dld</pre> is the same as <pre>fuzzel.DamerauLevenshtienDistance</pre> - <br/> - <code>fuzzel.LevenshtienDistance_extended(string_first, string_second, number_addcost, number_substituecost, number_deletecost)</code><br/> - Calculates the Levenshtien Distance between two strings, useing the costs given. "Real" Levenshtien Distance uses values 1,1,1 for costs. - <code>returns number_distance</code> - <br/><br/> - <code>fuzzel.LevenshtienDistance(string_first, strings_second)</code><br/> - Calculates the "real" Levenshtien Distance - <code>returns number_distance</code> - <br/><br/> - <code>fuzzel.LevensteinRatio(string_first, string_second)</code><br/> - The Levenshtien Ratio divided by the first string's length. Useing a ratio is a decent way to determin if a spelling is "close enough" - <code>returns number_distance</code> - <br/><br/> - <code>fuzzel.DamerauLevenshtienDistance_extended(string_first, string_second, number_addcost, number_substituecost, number_deletecost, number_transpositioncost)</code><br/> - Damerau-Levenshtien Distance is almost exactly like Levenshtien Distance, with the caveat that two letters next to each other, with swapped positions only counts as "one" cost (in "real" Damerau-Levenshtien Distance) - <code>returns number</code> - <br/><br/> - <code>fuzzel.DamerauLevenshtienDistance(stirng_first, strings_second)</code><br/> - Calculates the "real" Damerau-Levenshtien Distance - <code>returns number</code> - <br/><br/> - <code>fuzzel.DamerauLevenshtienRatio(string_first, string_second)</code><br/> - The Damerau-Levenshtien Distance divided by the first string's length - <code>returns number</code> - <br/><br/> - <code>fuzzel.HammingDistance(string_first, string_second)</code><br/> - Purely the number of substitutions needed to change one string into another. Note that both strings must be the same length. - <code>returns number</code> - <br/><br/> - <code>fuzzel.HammingRatio(string_first, string_second)</code><br/> - The hamming distance divided by the length of the first string - <code>returns number</code> - <br/><br/> - <code>fuzzel.FuzzySearchDistance(string_needle, vararg_in)</code><br/> - in may be either a table, or a list of arguments. fuzzel.FuzzySearchDistance will find the string that most closely resembles needle, based on Damerau-Levenshtien Distance - <code>returns string_closest, number_distance</code> - <br/><br/> - <code>fuzzel.FuzzySearchRatio(string_needle, vararg_in)</code><br/> - in may be either a table, or a list of arguments. Same as above, except it returns the string with the closest Damerau-Levenshtien ratio. - <code>returns string_closest, nubmer_ratio</code> - <h4>Liscense</h4> - This code is public domain, feel free to use it any of your proejcts and redistribute it however you like. If you're useing the minified version it would be nice (though not required) to leave the link at the top of the file, so people that want to find the original, can. - <br/> - </div> - - <footer class="footer"> - <p>Contact the admin at <a href="mailto:apickx@cogarr.org">Apickx@cogarr.org</a></p> - </footer> - - </div> <!-- /container --> - - </body> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Fuzzel Documentation</title> + <link rel="stylesheet" href="ldoc.css" type="text/css" /> +</head> +<body> + +<div id="container"> + +<div id="product"> + <div id="product_logo"></div> + <div id="product_name"><big><b></b></big></div> + <div id="product_description"></div> +</div> <!-- id="product" --> + + +<div id="main"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Fuzzel</h1> + + +<h2>Contents</h2> +<ul> +<li><a href="#Functions">Functions</a></li> +<li><a href="#Fields">Fields</a></li> +</ul> + + +<h2>Modules</h2> +<ul class="$(kind=='Topics' and '' or 'nowrap'"> + <li><strong>fuzzel</strong></li> +</ul> + +</div> + +<div id="content"> + +<h1>Module <code>fuzzel</code></h1> +<p>A collection of methods for finding edit distance between two strings</p> +<p> + +</p> + + +<h2><a href="#Functions">Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#LevenshteinDistance_extended">LevenshteinDistance_extended (str1, str2, addcost, subcost, delcost)</a></td> + <td class="summary">Finds edit distance between two strings with custom costs.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#LevenshteinDistance">LevenshteinDistance (str1, str2)</a></td> + <td class="summary">Finds simple Levenshtein distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#LevenshteinRatio">LevenshteinRatio (str1, str2)</a></td> + <td class="summary">Finds edit ratio between two strings</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinDistance_extended">DamerauLevenshteinDistance_extended (str1, str2, addcost, subcost, delcost, trncost)</a></td> + <td class="summary">Finds edit distance between two strings, with custom values.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinDistance">DamerauLevenshteinDistance (str1, str2)</a></td> + <td class="summary">Finds simple Damerau-Levenshtein distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#DamerauLevenshteinRatio">DamerauLevenshteinRatio (str1, str2)</a></td> + <td class="summary">Finds edit ratio between two strings</td> + </tr> + <tr> + <td class="name" nowrap><a href="#HammingDistance">HammingDistance (str1, str2)</a></td> + <td class="summary">Finds the nubmer of subtitutions needed to turn one string into another.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#HammingRatio">HammingRatio (str1, str2)</a></td> + <td class="summary">Calculates the Hamming distance between two strings, divided by the length of the first string.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyFindDistance">FuzzyFindDistance (str, ...)</a></td> + <td class="summary">Finds the closest argument to the first argument.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyFindRatio">FuzzyFindRatio (str, ...)</a></td> + <td class="summary">Finds the closest argument to the first argument.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzySortDistance">FuzzySortDistance (str, ...)</a></td> + <td class="summary">Sorts inputed strings by distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzySortRatio">FuzzySortRatio (str, ...)</a></td> + <td class="summary">Sorts inputed strings by ratio.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyAutocompleteDistance">FuzzyAutocompleteDistance (str, ...)</a></td> + <td class="summary">Sorts truncated versions of inputed strings by distance.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#FuzzyAutocompleteRatio">FuzzyAutocompleteRatio (str, ...)</a></td> + <td class="summary">Sorts truncated versions of inputed strings by ratio.</td> + </tr> +</table> +<h2><a href="#Fields">Fields</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#_VERSION">_VERSION</a></td> + <td class="summary">The current version (1.4).</td> + </tr> +</table> + +<br/> +<br/> + + + <h2 class="section-header "><a name="Functions"></a>Functions</h2> + + <dl class="function"> + <dt> + <a name = "LevenshteinDistance_extended"></a> + <strong>LevenshteinDistance_extended (str1, str2, addcost, subcost, delcost)</strong> + </dt> + <dd> + Finds edit distance between two strings with custom costs. + The levenshtein distance is the minimum number of additions, deletions, and substitutions that are needed to turn one string into another. This methods allows custom costs for addition, deletion, and substitution. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + <li><span class="parameter">addcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to add one character + </li> + <li><span class="parameter">subcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to subtitute one character for another + </li> + <li><span class="parameter">delcost</span> + <span class="types"><span class="type">number</span></span> + the custom cost to delete one character + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance from the first string to the second (which will always be the same as the distance from the second string to the first) + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">fuzzel.LevenshteinDistance_extended(<span class="string">"juice"</span>,<span class="string">"moose"</span>,<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "LevenshteinDistance"></a> + <strong>LevenshteinDistance (str1, str2)</strong> + </dt> + <dd> + Finds simple Levenshtein distance. + The levenshtein distance is the minimum number of additions, deletions, and substitutions that are needed to turn one string into another. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance between the two input strings + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">fuzzel.LevenshteinDistance(<span class="string">"Flag"</span>,<span class="string">"Brag"</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "LevenshteinRatio"></a> + <strong>LevenshteinRatio (str1, str2)</strong> + </dt> + <dd> + Finds edit ratio between two strings + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string, and the string to use for the ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the distance between the two strings divided by the length of the first string + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">fuzzel.LevenshteinRatio(<span class="string">"bling"</span>,<span class="string">"bring"</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "DamerauLevenshteinDistance_extended"></a> + <strong>DamerauLevenshteinDistance_extended (str1, str2, addcost, subcost, delcost, trncost)</strong> + </dt> + <dd> + Finds edit distance between two strings, with custom values. + The minimum number of additions, deletions, substitutions, or transpositions to turn str1 into str2 with the given weights + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + <li><span class="parameter">addcost</span> + <span class="types"><span class="type">number</span></span> + the cost of insterting a character + </li> + <li><span class="parameter">subcost</span> + <span class="types"><span class="type">number</span></span> + the cost of substituteing one character for another + </li> + <li><span class="parameter">delcost</span> + <span class="types"><span class="type">number</span></span> + the cost of removeing a character + </li> + <li><span class="parameter">trncost</span> + <span class="types"><span class="type">number</span></span> + the cost of transposeing two adjacent characters. + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between the two strings + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">DamerauLevenshteinDistance_extended(<span class="string">"berry"</span>,<span class="string">"bury"</span>,<span class="number">0</span>,<span class="number">1</span>,<span class="number">1</span>,<span class="number">2</span>,<span class="number">1</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "DamerauLevenshteinDistance"></a> + <strong>DamerauLevenshteinDistance (str1, str2)</strong> + </dt> + <dd> + Finds simple Damerau-Levenshtein distance. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the fist string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the minimum number of additions, deletions, substitutions, or transpositions to turn str1 into str2 + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">fuzzel.DamerauLevenshteinDistance(<span class="string">"tree"</span>,<span class="string">"trap"</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "DamerauLevenshteinRatio"></a> + <strong>DamerauLevenshteinRatio (str1, str2)</strong> + </dt> + <dd> + Finds edit ratio between two strings + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the fist string, and number to use for ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the Damerau-Levenshtein distance divided by the length of the first string. + </ol> + + + + <h3>Usage:</h3> + <ul> + <pre class="example">fuzzel.DamerauLevenshteinRatio(<span class="string">"pants"</span>,<span class="string">"hands"</span>)</pre> + </ul> + +</dd> + <dt> + <a name = "HammingDistance"></a> + <strong>HammingDistance (str1, str2)</strong> + </dt> + <dd> + Finds the nubmer of subtitutions needed to turn one string into another. + Hamming distance can only be calculated on two strings of equal length. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between str1 and str2 + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.HammingDistance(<span class="string">"one"</span>,<span class="string">"two"</span>)</pre></li> + <li><pre class="example">fuzzel.HammingDistance(<span class="string">"two"</span>,<span class="string">"three"</span>) --Will throw an error, since <span class="string">"two"</span> is <span class="number">3</span> characters long <span class="keyword">while</span> <span class="string">"three"</span> is <span class="number">5</span> characters long!</pre></li> + </ul> + +</dd> + <dt> + <a name = "HammingRatio"></a> + <strong>HammingRatio (str1, str2)</strong> + </dt> + <dd> + Calculates the Hamming distance between two strings, divided by the length of the first string. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str1</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the first string, and string to use for the ratio + </li> + <li><span class="parameter">str2</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the second string + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + the edit distance between the two strings + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.HammingRatio(<span class="string">"four"</span>,<span class="string">"five"</span>)</pre></li> + <li><pre class="example">fuzzel.HammingRatio(<span class="string">"seven"</span>,<span class="string">"ten"</span>) -- Will throw an error, since <span class="string">"seven"</span> is <span class="number">5</span> characters long <span class="keyword">while</span> <span class="string">"ten"</span> is <span class="number">3</span> characters long</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzyFindDistance"></a> + <strong>FuzzyFindDistance (str, ...)</strong> + </dt> + <dd> + Finds the closest argument to the first argument. + Finds the closest argument to the first argument useing Damerau-Levenshtein distance + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare to + </li> + <li><span class="parameter">...</span> + A 1-indexed array of strings, or a list of strings to campare str against + </li> + </ul> + + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzyFindDistance(<span class="string">"tap"</span>,<span class="string">"tape"</span>,<span class="string">"strap"</span>,<span class="string">"tab"</span>)</pre></li> + <li><pre class="example">fuzzel.FuzzyFindDistance(<span class="string">"tap"</span>,{<span class="string">"tape"</span>,<span class="string">"strap"</span>,<span class="string">"tab"</span>})</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzyFindRatio"></a> + <strong>FuzzyFindRatio (str, ...)</strong> + </dt> + <dd> + Finds the closest argument to the first argument. + Finds the closest argument to the first argument useing Damerau-Levenshtein ratio + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare to + </li> + <li><span class="parameter">...</span> + A 1-indexed array of strings, or a list of strings to campare str against + </li> + </ul> + + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzyFindRatio(<span class="string">"light"</span>,{<span class="string">"lit"</span>,<span class="string">"lot"</span>,<span class="string">"lightbulb"</span>})</pre></li> + <li><pre class="example">fuzzel.FuzzyFindRatio(<span class="string">"light"</span>,<span class="string">"lit"</span>,<span class="string">"lot"</span>,<span class="string">"lightbulb"</span>)</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzySortDistance"></a> + <strong>FuzzySortDistance (str, ...)</strong> + </dt> + <dd> + Sorts inputed strings by distance. + Finds the Damerau-Levenshtein distance of each string to the first argument, and sorts them into a table accordingly + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzySortDistance(<span class="string">"tub"</span>,{<span class="string">"toothpaste"</span>,<span class="string">"stub"</span>,<span class="string">"tube"</span>})</pre></li> + <li><pre class="example">fuzzel.FuzzySortDistance(<span class="string">"tub"</span>,<span class="string">"toothpaste"</span>,<span class="string">"stub"</span>,<span class="string">"tube"</span>)</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzySortRatio"></a> + <strong>FuzzySortRatio (str, ...)</strong> + </dt> + <dd> + Sorts inputed strings by ratio. + Finds the Damerau-Levenshtein ratio of each string to the first argument, and sorts them into a table accordingly + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzySortRatio(<span class="string">"can"</span>,{<span class="string">"candle"</span>,<span class="string">"candie"</span>,<span class="string">"canister"</span>})</pre></li> + <li><pre class="example">fuzzel.FuzzySortRatio(<span class="string">"can"</span>,<span class="string">"candle"</span>,<span class="string">"candie"</span>,<span class="string">"canister"</span>)</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzyAutocompleteDistance"></a> + <strong>FuzzyAutocompleteDistance (str, ...)</strong> + </dt> + <dd> + Sorts truncated versions of inputed strings by distance. + truncates each input string, and finds the Damerau-Levenshtein distance of each string to the first argument, and sorts them into a table accordingly. Useful for auto-complete functions + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzyAutocompleteDistance(<span class="string">"brow"</span>,{<span class="string">"brown"</span>,<span class="string">"brownie"</span>,<span class="string">"high-brow"</span>})</pre></li> + <li><pre class="example">fuzzel.FuzzyAutocompleteDistance(<span class="string">"brow"</span>,<span class="string">"brown"</span>,<span class="string">"brownie"</span>,<span class="string">"high-brow"</span>)</pre></li> + </ul> + +</dd> + <dt> + <a name = "FuzzyAutocompleteRatio"></a> + <strong>FuzzyAutocompleteRatio (str, ...)</strong> + </dt> + <dd> + Sorts truncated versions of inputed strings by ratio. + truncates each input string, and finds the Damerau-Levenshtein ratio of each string to the first argument, and sorts them into a table accordingly. Useful for auto-complete functions + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">str</span> + <span class="types"><a class="type" href="http://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + the string to compare each result to + </li> + <li><span class="parameter">...</span> + either a 1-indexed table, or a list of strings to sort + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + a 1-indexed table of the input strings, in the order of closest-to str to farthest-from str + </ol> + + + + <h3>Usage:</h3> + <ul> + <li><pre class="example">fuzzel.FuzzyAutocompleteRatio(<span class="string">"egg"</span>,{<span class="string">"eggman"</span>,<span class="string">"excelent"</span>,<span class="string">"excaliber"</span>})</pre></li> + <li><pre class="example">fuzzel.FuzzyAutocompleteRatio(<span class="string">"egg"</span>,<span class="string">"eggman"</span>,<span class="string">"excelent"</span>,<span class="string">"excaliber"</span>)</pre></li> + </ul> + +</dd> +</dl> + <h2 class="section-header "><a name="Fields"></a>Fields</h2> + + <dl class="function"> + <dt> + <a name = "_VERSION"></a> + <strong>_VERSION</strong> + </dt> + <dd> + The current version (1.4). + + + + + + + +</dd> +</dl> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.3</a></i> +<i style="float:right;">Last updated 2016-06-27 19:11:33 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> </html> diff --git a/fuzzel/jumbotron-narrow.css b/fuzzel/jumbotron-narrow.css deleted file mode 100644 index e4a9219..0000000 --- a/fuzzel/jumbotron-narrow.css +++ /dev/null @@ -1,94 +0,0 @@ -/* Space out content a bit */ -body { - padding-top: 20px; - padding-bottom: 20px; -} - -/* Everything but the jumbotron gets side spacing for mobile first views */ -.header, -.marketing, -.footer { - padding-right: 15px; - padding-left: 15px; -} - -/* Custom page header */ -.header { - padding-bottom: 20px; - border-bottom: 1px solid #e5e5e5; -} -/* Make the masthead heading the same height as the navigation */ -.header h3 { - margin-top: 0; - margin-bottom: 0; - line-height: 40px; -} - -/* Custom page footer */ -.footer { - padding-top: 19px; - color: #777; - border-top: 1px solid #e5e5e5; -} - -/* Customize container */ -@media (min-width: 768px) { - .container { - max-width: 730px; - } -} -.container-narrow > hr { - margin: 30px 0; -} - -/* Main marketing message and sign up button */ -.jumbotron { - text-align: center; - color: #acacac; - border-bottom: 1px solid #e5e5e5; - background:url("fuzzel.png") no-repeat center; -} -.jumbotron p{ - text-shadow: - -1px -1px 0 #000, - 1px -1px 0 #000, - -1px 1px 0 #000, - 1px 1px 0 #000; - --background: black; - --background: -webkit-radial-gradient(black, rgba(0, 0, 0, 0)); - --background: -o-radial-gradient(black, rgba(0, 0, 0, 0)); - --background: -moz-radial-gradient(black, rgba(0, 0, 0, 0)); - --background: radial-gradient(black, rgba(0, 0, 0, 0)); - border-radius:20px; -} -.jumbotron .btn { - padding: 14px 24px; - font-size: 21px; -} - -/* Supporting marketing content */ -.marketing { - margin: 40px 0; -} -.marketing p + h4 { - margin-top: 28px; -} - -/* Responsive: Portrait tablets and up */ -@media screen and (min-width: 768px) { - /* Remove the padding we set earlier */ - .header, - .marketing, - .footer { - padding-right: 0; - padding-left: 0; - } - /* Space out the masthead */ - .header { - margin-bottom: 30px; - } - /* Remove the bottom border on the jumbotron for visual effect */ - .jumbotron { - border-bottom: 0; - } -} diff --git a/fuzzel/ldoc.css b/fuzzel/ldoc.css new file mode 100644 index 0000000..ce77ac8 --- /dev/null +++ b/fuzzel/ldoc.css @@ -0,0 +1,304 @@ +/* BEGIN RESET + +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.2r1 +*/ +html { + color: #000; + background: #FFF; +} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td { + margin: 0; + padding: 0; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +fieldset,img { + border: 0; +} +address,caption,cite,code,dfn,em,strong,th,var,optgroup { + font-style: inherit; + font-weight: inherit; +} +del,ins { + text-decoration: none; +} +li { + list-style: disc; + margin-left: 20px; +} +caption,th { + text-align: left; +} +h1,h2,h3,h4,h5,h6 { + font-size: 100%; + font-weight: bold; +} +q:before,q:after { + content: ''; +} +abbr,acronym { + border: 0; + font-variant: normal; +} +sup { + vertical-align: baseline; +} +sub { + vertical-align: baseline; +} +legend { + color: #000; +} +input,button,textarea,select,optgroup,option { + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; +} +input,button,textarea,select {*font-size:100%; +} +/* END RESET */ + +body { + margin-left: 1em; + margin-right: 1em; + font-family: arial, helvetica, geneva, sans-serif; + background-color: #ffffff; margin: 0px; +} + +code, tt { font-family: monospace; font-size: 1.1em; } +span.parameter { font-family:monospace; } +span.parameter:after { content:":"; } +span.types:before { content:"("; } +span.types:after { content:")"; } +.type { font-weight: bold; font-style:italic } + +body, p, td, th { font-size: .95em; line-height: 1.2em;} + +p, ul { margin: 10px 0 0 0px;} + +strong { font-weight: bold;} + +em { font-style: italic;} + +h1 { + font-size: 1.5em; + margin: 0 0 20px 0; +} +h2, h3, h4 { margin: 15px 0 10px 0; } +h2 { font-size: 1.25em; } +h3 { font-size: 1.15em; } +h4 { font-size: 1.06em; } + +a:link { font-weight: bold; color: #004080; text-decoration: none; } +a:visited { font-weight: bold; color: #006699; text-decoration: none; } +a:link:hover { text-decoration: underline; } + +hr { + color:#cccccc; + background: #00007f; + height: 1px; +} + +blockquote { margin-left: 3em; } + +ul { list-style-type: disc; } + +p.name { + font-family: "Andale Mono", monospace; + padding-top: 1em; +} + +pre { + background-color: rgb(245, 245, 245); + border: 1px solid #C0C0C0; /* silver */ + padding: 10px; + margin: 10px 0 10px 0; + overflow: auto; + font-family: "Andale Mono", monospace; +} + +pre.example { + font-size: .85em; +} + +table.index { border: 1px #00007f; } +table.index td { text-align: left; vertical-align: top; } + +#container { + margin-left: 1em; + margin-right: 1em; + background-color: #f0f0f0; +} + +#product { + text-align: center; + border-bottom: 1px solid #cccccc; + background-color: #ffffff; +} + +#product big { + font-size: 2em; +} + +#main { + background-color: #f0f0f0; + border-left: 2px solid #cccccc; +} + +#navigation { + float: left; + width: 14em; + vertical-align: top; + background-color: #f0f0f0; + overflow: visible; +} + +#navigation h2 { + background-color:#e7e7e7; + font-size:1.1em; + color:#000000; + text-align: left; + padding:0.2em; + border-top:1px solid #dddddd; + border-bottom:1px solid #dddddd; +} + +#navigation ul +{ + font-size:1em; + list-style-type: none; + margin: 1px 1px 10px 1px; +} + +#navigation li { + text-indent: -1em; + display: block; + margin: 3px 0px 0px 22px; +} + +#navigation li li a { + margin: 0px 3px 0px -1em; +} + +#content { + margin-left: 14em; + padding: 1em; + width: 700px; + border-left: 2px solid #cccccc; + border-right: 2px solid #cccccc; + background-color: #ffffff; +} + +#about { + clear: both; + padding: 5px; + border-top: 2px solid #cccccc; + background-color: #ffffff; +} + +@media print { + body { + font: 12pt "Times New Roman", "TimeNR", Times, serif; + } + a { font-weight: bold; color: #004080; text-decoration: underline; } + + #main { + background-color: #ffffff; + border-left: 0px; + } + + #container { + margin-left: 2%; + margin-right: 2%; + background-color: #ffffff; + } + + #content { + padding: 1em; + background-color: #ffffff; + } + + #navigation { + display: none; + } + pre.example { + font-family: "Andale Mono", monospace; + font-size: 10pt; + page-break-inside: avoid; + } +} + +table.module_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.module_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} +table.module_list td.name { background-color: #f0f0f0; min-width: 200px; } +table.module_list td.summary { width: 100%; } + + +table.function_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; +} +table.function_list td { + border-width: 1px; + padding: 3px; + border-style: solid; + border-color: #cccccc; +} +table.function_list td.name { background-color: #f0f0f0; min-width: 200px; } +table.function_list td.summary { width: 100%; } + +ul.nowrap { + overflow:auto; + white-space:nowrap; +} + +dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;} +dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;} +dl.table h3, dl.function h3 {font-size: .95em;} + +/* stop sublists from having initial vertical space */ +ul ul { margin-top: 0px; } +ol ul { margin-top: 0px; } +ol ol { margin-top: 0px; } +ul ol { margin-top: 0px; } + +/* make the target distinct; helps when we're navigating to a function */ +a:target + * { + background-color: #FF9; +} + + +/* styles for prettification of source */ +pre .comment { color: #558817; } +pre .constant { color: #a8660d; } +pre .escape { color: #844631; } +pre .keyword { color: #aa5050; font-weight: bold; } +pre .library { color: #0e7c6b; } +pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; } +pre .string { color: #8080ff; } +pre .number { color: #f8660d; } +pre .operator { color: #2239a8; font-weight: bold; } +pre .preprocessor, pre .prepro { color: #a33243; } +pre .global { color: #800080; } +pre .user-keyword { color: #800080; } +pre .prompt { color: #558817; } +pre .url { color: #272fc2; text-decoration: underline; } + |
