{"id":18267679,"url":"https://github.com/nat-418/manumatic","last_synced_at":"2025-07-02T20:33:22.260Z","repository":{"id":158908452,"uuid":"432698010","full_name":"nat-418/manumatic","owner":"nat-418","description":"A documentation generator for Tcl/Tk","archived":false,"fork":false,"pushed_at":"2021-11-28T13:11:00.000Z","size":123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T02:32:27.003Z","etag":null,"topics":["pollen","racket","tcl","tcl-tk","tk"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nat-418.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-11-28T11:51:04.000Z","updated_at":"2021-11-28T13:13:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"94ee4b0d-26ab-4acf-86c9-6dfff2d030e3","html_url":"https://github.com/nat-418/manumatic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nat-418%2Fmanumatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nat-418%2Fmanumatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nat-418%2Fmanumatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nat-418%2Fmanumatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nat-418","download_url":"https://codeload.github.com/nat-418/manumatic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nat-418%2Fmanumatic/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259143703,"owners_count":22811909,"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":["pollen","racket","tcl","tcl-tk","tk"],"created_at":"2024-11-05T11:28:18.977Z","updated_at":"2025-06-10T20:06:20.326Z","avatar_url":"https://github.com/nat-418.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Manumatic\n\nThis repository contains an example\n[Pollen](https://docs.racket-lang.org/pollen/) project that generates\nTcl/Tk documentation structured according to the established conventions\nof the [Tcl manual](https://www.tcl.tk/man/tcl8.6.11/TclCmd/Tcl.html)\nwith a clean web design.\n\n## Example Output\n\n![A screenshot of a generated manual page](screenshot.png)\n\n## Dependencies\n\n* Make, etc.\n* [Racket](https://www.racket-lang.org)\n* Pollen\n\n## Usage\n\nTo create new documentation simply clone this repository and modify the\ncontents of `src/manual/starpackage`. For most use cases the only changes\nrequired are:\n\n1. Rename the directory from `src/manual/starpackage` to whatever else.\n2. Rename the `src/manual/starpackage/starpackage-v0.1.0.html.pm` file.\n3. Edit that `.html.pm` Pollen preprocessor file.\n4. `$ make`\n5. Look in `dist/` for the processed manual files (HTML, CSS, etc).\n\nTo start live-reloading local development server, type `$ make dev`\nand browse `http://localhost:8080/index.ptree`.\n\n## Why Racket? Why Pollen?\n\nRacket is a programming language for programming programming languages.\nIn other words, it is a Scheme dialect particularly well-suited for creating\ndomain-specific languages. \n\nPollen is a web publishing system written in Racket. Programming Pollen\nrequires some basic knowledge of Racket, but once Pollen is programmed\nfor a given purpose, authoring new documents is straightforward. In the\ncase of Tcl/Tk documentation, the established convention is to write\na few sections of content per manual page:\n\n* Name\n* Synopsis\n* Description\n* Examples\n* See Also\n* Keywords\n\nIn our Pollen preprocessor file, to begin a new section we simpy type\nthe following:\n\n```\n◊section[\"Name\"]{\n  Starpackage — Build standalone executables from Tcl source files.\n}\n```\n\nPollen uses the lozenge (◊) to mark its functions. Manumatic defines\na number of template functions for sections, commands, parameters, lists, etc. In the above code we can see that to\ndefine a section we call `◊section` followed a name parameter `\"Name\"`\nin square brackets and the main text of the secton in curly braces.\nThese functions are defined in `src/pollen.rkt`, but authors of\ndocumentation do not need to understand the implementation details.\nAll that is required to use the interface is to modify the values\nwrapped in braces or quotes. For more, see the\n[Pollen manual](https://docs.racket-lang.org/pollen/).\n\n## License\n\nThis code is free and open source software available under the terms\nof the Zero-Clause BSD (0BSD) License. See `./LICENSE` for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnat-418%2Fmanumatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnat-418%2Fmanumatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnat-418%2Fmanumatic/lists"}