{"id":13392703,"url":"https://github.com/davidgiven/wordgrinder","last_synced_at":"2026-01-17T04:36:13.399Z","repository":{"id":33366099,"uuid":"37010967","full_name":"davidgiven/wordgrinder","owner":"davidgiven","description":"A word processor which gets the hell out of your way and lets you get some work done.","archived":false,"fork":false,"pushed_at":"2024-04-01T22:11:17.000Z","size":8069,"stargazers_count":816,"open_issues_count":46,"forks_count":54,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-04-01T23:38:09.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://cowlark.com/wordgrinder","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidgiven.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"licenses/COPYING.Fantasque","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-07T09:27:07.000Z","updated_at":"2024-05-30T05:10:07.513Z","dependencies_parsed_at":"2024-03-31T23:32:38.144Z","dependency_job_id":"b4960ed2-f757-48bb-87ad-016fbea49ed7","html_url":"https://github.com/davidgiven/wordgrinder","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/davidgiven/wordgrinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fwordgrinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fwordgrinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fwordgrinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fwordgrinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidgiven","download_url":"https://codeload.github.com/davidgiven/wordgrinder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidgiven%2Fwordgrinder/sbom","scorecard":{"id":326688,"data":{"date":"2025-08-11","repo":{"name":"github.com/davidgiven/wordgrinder","commit":"a8ce1c94162ba16804ee9401978d61de82df2df8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/8 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":4,"reason":"2 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ccpp.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ccpp.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/ccpp.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ccpp.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/ccpp.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ccpp.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/ccpp.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ccpp.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/ccpp.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ccpp.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/ccpp.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/davidgiven/wordgrinder/release.yml/master?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact dev not signed: https://api.github.com/repos/davidgiven/wordgrinder/releases/32933097","Warn: release artifact 0.8 not signed: https://api.github.com/repos/davidgiven/wordgrinder/releases/32932465","Warn: release artifact 0.7.2 not signed: https://api.github.com/repos/davidgiven/wordgrinder/releases/14265329","Warn: release artifact 0.7.1 not signed: https://api.github.com/repos/davidgiven/wordgrinder/releases/8364940","Warn: release artifact 0.7 not signed: https://api.github.com/repos/davidgiven/wordgrinder/releases/8316625","Warn: release artifact dev does not have provenance: https://api.github.com/repos/davidgiven/wordgrinder/releases/32933097","Warn: release artifact 0.8 does not have provenance: https://api.github.com/repos/davidgiven/wordgrinder/releases/32932465","Warn: release artifact 0.7.2 does not have provenance: https://api.github.com/repos/davidgiven/wordgrinder/releases/14265329","Warn: release artifact 0.7.1 does not have provenance: https://api.github.com/repos/davidgiven/wordgrinder/releases/8364940","Warn: release artifact 0.7 does not have provenance: https://api.github.com/repos/davidgiven/wordgrinder/releases/8316625"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T02:38:02.912Z","repository_id":33366099,"created_at":"2025-08-18T02:38:02.913Z","updated_at":"2025-08-18T02:38:02.913Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28495234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:00:35.379Z","updated_at":"2026-01-17T04:36:13.388Z","avatar_url":"https://github.com/davidgiven.png","language":"Lua","funding_links":[],"categories":["C","Lua"],"sub_categories":[],"readme":"                               WORDGRINDER V0.9\n                               ================\n\n                           © 2007-2025 David Given\n                                 2025-01-22\n\n                                Unix version\n\n\nINTRODUCTION\n============\n\nWordGrinder is a simple, Unicode-aware word processor that runs on the\nconsole. It's designed to get the hell out of your way and let you write;\nit does very little, but what it does it does well.\n\nIt supports basic paragraph styles, basic character styles, basic screen\nmarkup, a menu interface that means you don't have to remember complex\nkey sequences, HTML import and export, and some other useful features.\n\nWordGrinder does not require a GUI. It can run in a terminal. (But there are GUI\nversions for Unixishes, Windows and OSX if you want them.)\n\n\n\nINSTALLATION\n============\n\nWordGrinder needs the following packages installed:\n\n - ninja, the build tool. This is available from:\n     https://ninja-build.org/\n\n - ncursesw, the wide-character version of curses. This is supplied with\n   most systems.\n\n - an OpenGL/GLFW development kit (if you want the OpenGL frontend).  This is\n   supplied with most systems.\n\n - zlib. You will already have this, but just on the offchance, it's here:\n     http://www.zlib.net/\n\n - a terminal emulator that supports UTF-8. gnome-terminal, konsole, xterm\n   and rxvt-unicode do. rxvt and the Linux console don't (unless you use\n   jfbterm). You will also need a decent set of Unicode fonts or WordGrinder\n   will look funny.\n\nChances are you already have these in your distribution. Merely install these\npackages:\n\n  If you have Debian/Ubuntu:\n    libncursesw5-dev zlib1g-dev libglfw3-dev\n\n  If you have Fedora:\n\tzlib-devel libglfw-devel ncurses ncurses-devel\n\n  If you have OSX with Homebrew:\n    pkg-config glfw\n\n  If you have Haiku:\n    pkgman install make glfw_devel pkgconfig zlib_devel ncurses6_devel gcc pillow_python310\n\nTo detect a sensible configuration and build, simply do:\n\n    make\n\nTo install into your home directory, do:\n\n    sudo make install\n\nIf you want to install somewhere else, do:\n\n\tPREFIX=/usr/local ./configure\n\tmake install\n\n(Change PREFIX to whatever you like; naturally, if you're not installing in a\nglobal location, you don't need sudo.)\n\n(There are various other poorly-documented configuration options in the\nconfigure script.)\n\nIt is now ready to use.\n\nSpecial note for compilation on Windows: do 'make' from MSYS2 with the Mingw64\ntoolchain and nsis installed.  use Cygwin. You'll end up with the installer\npackage in bin/.\n\n\n\nUSAGE\n=====\n\nDo this:\n\n    wordgrinder\n\n...to get a blank document. You can load an existing document with:\n\n    wordgrinder README.wg\n\nPlease read README.wg; it contains the manual. There is also a man page,\nwhich describes the command line interface.\n\n\nIf you use WordGrinder, please join the mailing list. This will allow you\nto ask questions, hopefully receive answers, and get news about any\nnew releases. You can subscribe or view the archives at the following page:\n\n    https://lists.sourceforge.net/lists/listinfo/wordgrinder-users\n\n\n\nLICENSE\n=======\n\nWordGrinder contains a number of embedded libraries, described here. Not all of\nthem may be used by any given binary depending on your configuration. Please\nlook in the `third_party` directory for the full license text.\n\nWordGrinder is © 2007-2020 David Given, and is available under the MIT license.\n\nThe distribution contains a copy of Luau. This is also MIT licensed and is ©\n2019-2022 Roblox Corporation and © 1994-2019 Lua.org, PUC-Rio. See\nhttp://luau-lang.org and http://lua.org for more information.\n\nThe distribution contains a copy of the MiniZip library. This is © 1998-2010\nGilles Vollant and Mathis Svenson, and is available under the BSD license.\n\nThe distribution contains a copy of the SCOWL wordlist for British and\nAmerican-Canadian English. This is © Kevin Atkinson and J. Ross Beresford.\nPlease see the licenses/COPYING.Scowl file for the full license text.\n\nThe distribution contains a copy of the xpattern module. This is also MIT\nlicensed and is © 2008-2009 David Manura. See\nhttp://lua-users.org/wiki/ExPattern for more information.\n\nThe distribution contains a copy of the LargeLineHeight-NoLoopK version of the\nFantasque Sans Mono font family. This is distributable under the terms of the\nOpen Font License 1.1 © 2013-2017 Jany Belluz. See\nhttps://github.com/belluzj/fantasque-sans for more information.\n\nThe distribution contains parts of the libstb utility library, written by\nSean T Barrett et al. This is public domain where possible and MIT licensed\notherwise. Please see https://github.com/nothings/stb/blob/master/LICENSE\nfor more information.\n\nThe distribution contains most of the clip clipboard library, written by David\nCapello. This is MIT licensed and is © 2015-2022 David Capello. Please see\nhttps://github.com/dacap/clip for more information.\n\nThe distribution contains a cut-down version of the cmark Markdown library. This\nis an aggregation of various pieces of software that in total is 2-clause BSD /\nMIT licensed. Please see https://github.com/commonmark/cmark/blob/master/COPYING\nfor more information.\n\nThe distribution contains a cut-down version of the fmt library. This is MIT\nlicensed and is © 2012 Victor Zverovich et al. Please see\nhttps://github.com/fmtlib/fmt for more information.\n\n\nREVISION HISTORY\n================\n\nWordGrinder 0.9: 2025-01-22: threw away the X11 and Windows GDI frontends and\nreplaced them with OpenGL --- there's now a GUI version for OSX! New shiny\ncolour scheme and ruler layout kindly contributed by Pacrox. Also threw away and\nreplaced the build.lua file with something even worse. Added the ability to quit\nWordGrinder by closing the window. Fixed a bug where the global settings would\nbe reset during CLI use.  WordGrinder files with CRLF line endings can now be\nread. Emacs orgmode export (contributed by VitorGoatman@github). ESCAPE can be\nused to cancel things. Both TAB and ^I can be used for autocompletion in file\ndialogues. Miscellaneous editor state machine bugfixes. Multiple scroll modes.\nChanged the cursor shape for visibility. Use the system clipboard where\npossible. Added mouse support. Switch interpreters from Lua to Luau, and\nrefactor _all_ the code to be type safe in strict mode, finding and fixing so\nmany minor bugs along the way. The document index is now written to files\ncorrectly. `--recent` allows loading the last edited document. Added a default\ntemplate which is used when creating new documents. Adding a paragraph after\nheading styles returns to normal body text. On Unix systems, the spellchecker\nnow looks for the dictionary in the default place, and also works a bit\nbetter.\n\nWordGrinder 0.8: 2020-10-13: started out as a bugfix release but then I got\ncarried away. New features: a paragraph style for numbered bulletpoints; more\nlook-and-feel options; the caret now flashes; basic template support; word\ncount display of selected text; custom autosave directory; autocompletion in\nfile dialogues; Windows console version; recent documents list; Markdown\nimport. Bugfixes: lots of import and export fixes (and tests so that they stay\nfixed); spellchecker fixes; selection position fixes; keyboard entry fixes on\nWindows; graphics fixes on Windows; filesystem fixes on Windows; assorted other\nminor tweaks.\n\nWordGrinder 0.7.2: 2018-11-29: bugfix release. Pasting immediately after\nloading a document no longer hard crashes. Don't buffer overrun if given\ninvalid unicode. Global settings are now updated correctly (in several\nplaces). Fix a data loss situation when saving fails.\n\nWordGrinder 0.7.1: 2017-11-02: correct and cleaner license reporting;\nrearrange the source so that we can avoid shipping upstream dependencies\nif we want. No actual code changes.\n\nWordGrinder 0.7: 2017-10-30: new plain text diffable file format; Lua 5.3\nsupport; better locale detection; dense paragraphs mode; lots of bugfixes.\nOfficial OSX support. New (better, hopefully) build system.\n\nWordGrinder 0.6: 2015-04-18: New X11 frontend (actual bold and italic on\nLinux machines!); shift+cursor keys starts a selection; more HTML emission\nfixes; non-document persistent settings; global key maps (currently via a\nconfigurationfile); search works properly across words with markup; italic\ndisplay in a terminal (if you have a new enough version of ncurses); more\ntraditional charstyle selection (you can press ^B at the beginning of words\nnow!); more traditional selection model (shift+cursor keys works now!); fix\ncrash on loading very large .wg files; smart quote support; more efficient\nfiles; undo and redo; spellchecker; colour configuration on X11 and Windows;\nMarkDown export.\n\nWordGrinder 0.5.2.1: 2015-02-21: Minor bugfixes: build system fixes; updated\nminizip to a version which builds better on Ubuntu; OSX Homebrew build system;\ndelete word; subsection counts now correct; HTML PRE emission issue corrected.\n\nWordGrinder 0.5.1: 2013-12-08: Major overhaul: fixed hideous file corruption\nbug; much improved Windows text renderer; bold; page count; widescreen mode;\nUI style overhaul; many other minor bugfixes. Many thanks to Connor Karatzas\nfor extensive Windows testing.\n\nWordGrinder 0.4.1: 2013-04-14: Minor bugfixes and build optimisation in aid\nof the Debian package.\n\nWordGrinder 0.4: 2013-03-24: Major overhaul: OpenDocument import/export,\nnew much smaller file format, a proper Windows port, updated to Lua 5.2,\nswitched away from Prime Mover to make (sob), much bug fixage.\n\nWordGrinder 0.3.3: 2009-12-13: Fixed a bug when searching for or replacing\nstrings containing multiple whitespace characters (that was triggering the\ncrash handler). Thanks to lostnbronx for the report. Added RAW and PRE\nparagraph styles. Cleaned up HTML import. Add customisability to HTML export.\nRelicensed to MIT.\n\nWordGrinder 0.3.2: 2008-11-03: Fixed a very simple and very stupid typo that\ncaused a crash if you tried to turn autosave on. Added a simple exception\nhandler to try and prevent data loss on error in the future.\n\nWordGrinder 0.3.1: 2008-09-08: Minor bugfix revision to correct a few minor\nbut really embarrassing crashes problems in 0.3: no crash on HTML import, no\ncrash on File-\u003eNew. Also some minor cosmetic fixes I noticed while doing the\nwork.\n\nWordGrinder 0.3: 2008-09-07: Lots more bug fixes. Added LaTeX export; troff\nexport; next/previous word/character; table of contents; autosave; scrapbook;\nWindows console port. Fixed some issues with key binding. Lua bytecode is now\nembedded in the executable, making it self contained. --lua option. General\noverhaulage.\n\nWordGrinder 0.2: 2008-01-13: Lots of bug fixes. Added word count. Added about\ndialogue.\n\nWordGrinder 0.1: 2007-10-14: Initial release.\n\n\n\nTHE AUTHOR\n==========\n\nWordGrinder was written by me, David Given. You may contact me at\ndg@cowlark.com, or visit my website at http://www.cowlark.com. There may or\nmay not be anything interesting there.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidgiven%2Fwordgrinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidgiven%2Fwordgrinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidgiven%2Fwordgrinder/lists"}