{"id":13760549,"url":"https://github.com/mmontone/erudite","last_synced_at":"2025-12-25T03:08:50.950Z","repository":{"id":29867667,"uuid":"33412786","full_name":"mmontone/erudite","owner":"mmontone","description":":green_book: Literate Programming System for Common Lisp","archived":false,"fork":false,"pushed_at":"2023-12-27T12:20:35.000Z","size":2945,"stargazers_count":78,"open_issues_count":1,"forks_count":11,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-16T17:41:13.330Z","etag":null,"topics":["common-lisp","lisp","literate-programming"],"latest_commit_sha":null,"homepage":"http://mmontone.github.io/erudite","language":"Common Lisp","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/mmontone.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":"2015-04-04T16:54:32.000Z","updated_at":"2024-11-15T01:30:35.000Z","dependencies_parsed_at":"2024-05-02T11:07:39.638Z","dependency_job_id":"4d4e8efc-0d39-49a3-abda-63c19d953184","html_url":"https://github.com/mmontone/erudite","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/mmontone%2Ferudite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Ferudite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Ferudite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmontone%2Ferudite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmontone","download_url":"https://codeload.github.com/mmontone/erudite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242855901,"owners_count":20196357,"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":["common-lisp","lisp","literate-programming"],"created_at":"2024-08-03T13:01:12.686Z","updated_at":"2025-12-25T03:08:45.924Z","avatar_url":"https://github.com/mmontone.png","language":"Common Lisp","funding_links":[],"categories":["Common Lisp","Online editors ##"],"sub_categories":["Third-party APIs"],"readme":"# ERUDITE\n\n[![Quicklisp](http://quickdocs.org/badge/erudite.svg)](http://quickdocs.org/erudite/)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n## Introduction\n\nErudite is a [Literate Programming](http://en.wikipedia.org/wiki/Literate_programming) System for Common Lisp\n\n## Features\n\n* Interactive development. No tangling phase in which code is extracted from documentation. Documentation is written in Common Lisp comments. This allows for incremental development: you can load your code, work from SLIME, etc, directly, as in any other Lisp project.\n\n* Multiple syntaxes. Multiple type of literate syntax are supported. It is possible to choose from the default Erudite syntax, or use plain Latex or Sphinx syntax, and potentially others.\n\n* Multiple outputs. Like Latex, Sphinx, Markdown, HTML, etc.\n\n* Automatic indexing and cross-references.\n\n* A command line interface.\n\n* It is portable. You can compile and use in several CL systems (has been tested on SBCL, CCL, CLISP, ECL, so far)\n\n## Quickstart\n\nWrite your embedded documentation in lisp comments (`;;` and `#| … |#` are supported). Use either\n`erudite`, `latex` or `sphinx` syntax, and produce output to one of\nthem or `markdown`.\n\nExample in the built-in `erudite` syntax:\n\n```\n#|\n@title Erudite\n@subtitle Literate Programming System for Common Lisp\n\n@author Mariano Montone\n@syntax erudite\n\n@section Introduction\n\n@ignore\n|#\n(in-package #:erudite)\n\n#|\n@end ignore\n```\n\nFor a full example, see [erudite.lisp](erudite.lisp).\n\nRun `make` to build erudite command line if you want to run it from there, and then `sudo make install` to install.\n\n```\nUsage: erudite [-hvd] [+vd] [OPTIONS] FILES...\n\nErudite is a Literate Programming System for Common Lisp\n  -h, --help                  Print this help and exit.\n  --version                   Print Erudite version\n  -(+)v, --verbose[=yes/no]   Run in verbose mode\n                              Fallback: yes\n                              Default: no\n                              Environment: VERBOSE\n  -(+)d, --debug[=on/off]     Turn debugging on or off.\n                              Fallback: on\n                              Default: off\n                              Environment: DEBUG\n  -(+)id, --implicit-doc[=yes/no] Treat all comments as documentation\n                              Fallback: yes\n                              Default: yes\n  -(+)ic, --implicit-code[=yes/no] Include all code in documentation\n                              Fallback: yes\n                              Default: yes\n  -o, --output=OUTPUT         The output file. If none is used, result is \n                              printed to stdout\n  --output-type=OUTPUT-TYPE   The output type. One of 'latex', \n                              'sphinx','markdown'\n                              Default: latex\n  --syntax=SYNTAX             The syntax used in source files. One of 'erudite',\n                              'latex', 'sphinx', 'markdown'\n                              Default: erudite\n  --author=AUTHOR             The author to appear in the document\n  --title=TITLE               The document title\n```\n\nOr run it from lisp, using the `erudite` function described below.\n\nTo build erudite own documentation, run `make` under the `doc` directory:\n\n```\nmake pdf\nmake sphinx-pdf\nmake sphinx-html\nmake markdown\n```\n\nLook at the `doc` directory for output examples.\n\n## Functions\n### erudite\n\n```lisp\n(pathname files \u0026rest args \u0026key (output-type *output-type*)\n          (syntax *syntax*) \u0026allow-other-keys)\n```\n\nProcesses literate lisp files and creates a document.\n\n- **pathname**: Pathname of the file to generate. If `nil`, output to a string. If `t`, print to standard output.\n- **files**: Literate lisp files to compile\n- **args**: All sort of options passed to the generation functions\n- **output-type**: The kind of document to generate.\n                   One of :latex, :sphinx, :markdown\n                   Default: :latex\n- **syntax**:  The kind of syntax used in the literate source files.\n                   One of: :erudite, :latex, :sphinx, :markdown.\n                   Default: :erudite\n\n## References\n\n* [Literate Programming](http://en.wikipedia.org/wiki/Literate_programming)\n* [Literate Programming in the Large](https://youtu.be/Av0PQDVTP4A)\n* [Erudite: a tool for Literate Programming in Common Lisp](http://mmontone-programming.blogspot.com.ar/2015/05/literate-programming-in-common-lisp.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmontone%2Ferudite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmontone%2Ferudite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmontone%2Ferudite/lists"}