{"id":26119480,"url":"https://github.com/mmontone/cl-docweaver","last_synced_at":"2025-10-14T05:37:07.188Z","repository":{"id":138623736,"uuid":"365381361","full_name":"mmontone/cl-docweaver","owner":"mmontone","description":"Common Lisp Documentation Weaver","archived":false,"fork":false,"pushed_at":"2024-05-23T15:59:12.000Z","size":1954,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-20T09:47:38.190Z","etag":null,"topics":["common-lisp","documentation","documentation-tool","lisp","texinfo"],"latest_commit_sha":null,"homepage":"https://mmontone.github.io/cl-docweaver/","language":"Common Lisp","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/mmontone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2021-05-08T00:14:15.000Z","updated_at":"2024-05-23T15:59:16.000Z","dependencies_parsed_at":"2024-05-05T18:26:30.638Z","dependency_job_id":"5f152447-601b-42d5-a75c-cd19c785843a","html_url":"https://github.com/mmontone/cl-docweaver","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mmontone/cl-docweaver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Fcl-docweaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Fcl-docweaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Fcl-docweaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Fcl-docweaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmontone","download_url":"https://codeload.github.com/mmontone/cl-docweaver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Fcl-docweaver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018012,"owners_count":26086235,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["common-lisp","documentation","documentation-tool","lisp","texinfo"],"created_at":"2025-03-10T12:55:11.141Z","updated_at":"2025-10-14T05:37:07.171Z","avatar_url":"https://github.com/mmontone.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CL-DOCWEAVER\n\nCL-DOCWEAVER is a document weaver for Common Lisp.\n\nDocumentation for a Lisp project is written with the user's tool of choice (like Texinfo, Markdown, etc). Then, Common Lisp definitions are expanded into the documentation source using DocWeaver commands.\n\nDOCWEAVER commands give the user control on how definitions are to be expanded, either via command options or by choosing a different set of commands.\n\nCL-DOCWEAVER is easy to extend to support different documentation tools.\n\nTexinfo and Markdown are the ones with best support at this moment.\n\n## Usage\n\nPlease have a look at the [manual](docs/cl-docweaver.pdf \"manual\").\n\n### cl-docweaver command line command\n\nBuild the cl-docweaver command line command:\n\n```\nmake\nsudo make install\n```\n\nAfter that, `cl-docweaver` command is available: \n```\ncl-docweaver - Common Lisp Documentation Weaver\n\nUSAGE: sbcl [OPTIONS] INPUTFILE\n\nWeave Common Lisp documentation in INPUTFILE.\n\nOptions:\n  --version             display version information and exit\n  -h, --help            display help information and exit\n  -d, --debug           debug\n  -o FILE, --output FILE\n                        output file\n  -s DOCSYSTEM, --docsystem DOCSYSTEM\n                        the documentation system to use. either texinfo or\n                        markdown. if not specified, the documentation system\n                        used is inferred by looking at input file extension.\n  -m MODULES, --modules MODULES\n                        the list of modules to REQUIRE\n  -c COMMAND-PREFIX, --command-prefix COMMAND-PREFIX\n                        the command prefix character to use. Default is @\n  --parse-docstrings    When enabled, parse docstrings and format them. This is\n                        enabled by default.\n  --escape-docstrings   When enabled, escape the docstrings depending on the\n                        output. This is enabled by default.\n\nExamples:\n\n  Weave texinfo file and visualize weaved output\n\n      cl-docweaver my-documentation.texi\n\n  Weave texinfo file into a file\n\n      cl-docweaver my-documentation.texi -o my-documentation.weaved.texi\n\n```\n\n## API\n\n## DOCWEAVER\n\n- [function] **DOCWEAVER:WEAVE-FILE** *(file output-file \u0026key docsystem modules command-prefix (parse-docstrings t) (escape-docstrings t))*\n\n    Weaves documentation source in FILE and writes the result to OUTPUT-FILE.\n    \n    Arguments:\n    \n    - DOCSYSTEM : specify the documentation tool that is being used (:texinfo, :markdown, etc.).\n    - MODULES : is the list of modules (or ASDF system names) that need to be loaded to be able to read definition descriptions.\n    - COMMAND-PREFIX : is the character to use as prefix for commands. The character `at` is the default.\n    - PARSE-DOCSTRINGS : if T, then docstrings are parsed and highlighted and references to code from it created.\n    - ESCAPE-DOCSTRINGS: if T, then docstrings are escaped by the documentation system. Escaping allows the use of special documentation system characters in docstring sources. If the escaping of docstrings is turned off, then that allows to use documentation system markup in docstrings.\n    Category: TopLevel\n\n\n\n- [function] **DOCWEAVER:DEF-WEAVER-COMMAND-HANDLER** *(command-name args (\u0026key docsystem) \u0026body body)*\n\n    Define a weaver command handler.\n    COMMAND-NAME is the name of the command, without the prefix (like 'clvariable', 'clfunction', etc.)\n    ARGS is the list of arguments for that command in the DOCSYSTEM implementation.\n    DOCSYSTEM is a specializer for the documentation system. For example, (eql :texinfo).\n    BODY should write to an implicit STREAM variable, to expand the command.\n    \n    This is implemented as a wraper over PROCESS-WEAVER-COMMAND .\n\n\n\n- [function] **DOCWEAVER:PROCESS-WEAVER-COMMAND** *(docsystem command args stream)*\n\n    The generic function to specialize for implementing weaving commands for the different documentation systems.\n    \n    See: DEF-WEAVER-COMMAND-HANDLER\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmontone%2Fcl-docweaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmontone%2Fcl-docweaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmontone%2Fcl-docweaver/lists"}