{"id":17086111,"url":"https://github.com/kach/lowtex","last_synced_at":"2025-04-12T21:37:26.911Z","repository":{"id":17665268,"uuid":"20469929","full_name":"kach/lowtex","owner":"kach","description":"Low-tech text processing","archived":false,"fork":false,"pushed_at":"2014-08-26T01:29:52.000Z","size":425,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T02:17:30.164Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kach.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-04T04:17:18.000Z","updated_at":"2023-04-22T00:32:58.000Z","dependencies_parsed_at":"2022-09-10T17:51:09.876Z","dependency_job_id":null,"html_url":"https://github.com/kach/lowtex","commit_stats":null,"previous_names":["hardmath123/lowtex"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Flowtex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Flowtex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Flowtex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Flowtex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kach","download_url":"https://codeload.github.com/kach/lowtex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248637773,"owners_count":21137537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-10-14T13:27:25.266Z","updated_at":"2025-04-12T21:37:26.887Z","avatar_url":"https://github.com/kach.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"                               The LowTeX Manual                                \n                               --- ------ ------                                \n                                 By Hardmath123                                 \n                                                                                \n   LowTeX--pronounced \"low-tech\"--is a small text transformation package that   \ngenerates pretty monospace outputs, specifically for READMEs, licenses, or even \nlarge block comments. This documentation was generated by LowTeX, and its       \nsource is bundled with the package. We will walk through the basics of LowTeX   \nhere. The source for this tutorial is in `example.lt`.                          \n                                                                                \n                                Monospace is nice.                              \n                             Everything is scriptable.                          \n                                 Readable sources.                              \n                                                                                \n                                 Make it a filter.                              \n                          Write small, powerful modules.                        \n                                Format haikus well.                             \n                                                                                \nGetting started                                                                 \n------- -------                                                                 \n   Install LowTeX with `npm install -g      A setting is declared with the line \nlowtex`. Create a new document in your   `@set \u003cname\u003e \u003cvalue\u003e`. LowTeX mantains \nfavorite text editor, preferably set     an internal stack of settings. To      \nto a mode that wraps lines of text. To   restore a setting to its previous      \ncompile, use the `lowtex` command.       value, use `@unset \u003cname\u003e`.            \n                                            A block is declared with the line   \n   A LowTeX document consists of text,   `@begin \u003cname\u003e \u003carguments\u003e`, and       \nwith interspersed DIRECTIVES, which      terminated with the line `@end`.       \nare prefixed with an `@`. A directive    Blocks transform the text inside them. \nis either a SETTING, a BLOCK, or a       An example of a block is the UNDERLINE \nCOMMAND. Text is processed               block, which underlines the text       \nline-by-line, being wrapped and          inside it.                             \naligned according to the settings. A        A command is simply `@\u003cname\u003e        \nblank line (or directive) indicates      \u003carguments\u003e`. For example, @VSPACE N   \nthe end of a paragraph. A line           adds `n` blank lines.                  \nprefixed with `#` is a comment and is       `begin` and `end` can be            \nskipped silently.                        abbreviated to `!` and `/`,            \n                                         respectively.                          \n                                                                                \nPlanned features                                                                \n------- --------                                                                \n                                                                                \n 1. Embedded tables                                                             \n 2. Figlet support for headers, etc.                                            \n 3. Better documentation                                                        \n 4. More ordered list styles, such as alphabetized and roman.                   \n 5. Better error catching and messages                                          \n                                                                                \nModules                                                                         \n-------                                                                         \nNOTE: LowTeX is now INCOMPATIBLE with the old module system implemented by @sl. \nLowTeX is highly configurable. You can (and should!) write your own modules for \nyour documents. Modules are nodejs-style. Your module exports a function, which \naccepts a converter instance as an argument, and modifies it somehow.           \nModules are imported using the `@require \u003cpath\u003e` syntax, where the path is      \nrelative to the current working directory.                                      \n                                                                                \n    module.exports = function(converter) {\n      converter.commands.banana = function() {\n        this.feedLines([\"Banana\" + this.nspace(this.get(\"width\") - 6)]);\n      };\n    };\n                                                                                \nConverters expose the @ syntax with methods such as set(name, value),           \nget(name), unset(name), begin_filter(name, args), and end_filter().             \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkach%2Flowtex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkach%2Flowtex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkach%2Flowtex/lists"}