{"id":13591884,"url":"https://github.com/clj-commons/marginalia","last_synced_at":"2025-12-18T06:02:45.825Z","repository":{"id":1144768,"uuid":"1026449","full_name":"clj-commons/marginalia","owner":"clj-commons","description":"Ultra-lightweight literate programming for clojure inspired by docco","archived":false,"fork":false,"pushed_at":"2024-07-05T10:39:03.000Z","size":11046,"stargazers_count":838,"open_issues_count":46,"forks_count":79,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-12-13T04:28:42.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://clj-commons.org/marginalia/","language":"Clojure","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/clj-commons.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2010-10-26T19:02:48.000Z","updated_at":"2025-11-14T12:58:48.000Z","dependencies_parsed_at":"2024-03-25T05:26:53.366Z","dependency_job_id":"c32960c8-fb78-4f44-9a70-477d5bf0d52e","html_url":"https://github.com/clj-commons/marginalia","commit_stats":{"total_commits":281,"total_committers":41,"mean_commits":6.853658536585366,"dds":0.6370106761565837,"last_synced_commit":"706ba33c27e922fba767021cda5acc5c2a40cca4"},"previous_names":["fogus/marginalia","clj-commons/marginalia","gdeer81/marginalia"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/clj-commons/marginalia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clj-commons%2Fmarginalia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clj-commons%2Fmarginalia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clj-commons%2Fmarginalia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clj-commons%2Fmarginalia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clj-commons","download_url":"https://codeload.github.com/clj-commons/marginalia/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clj-commons%2Fmarginalia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27792204,"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-12-18T02:00:09.725Z","response_time":55,"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":[],"created_at":"2024-08-01T16:01:03.299Z","updated_at":"2025-12-18T06:02:45.456Z","avatar_url":"https://github.com/clj-commons.png","language":"Clojure","funding_links":[],"categories":["Clojure"],"sub_categories":[],"readme":"Marginalia 0.9.2\n================\n\n[![Clojars Project](https://img.shields.io/clojars/v/marginalia.svg)](https://clojars.org/marginalia)\n\n**[Marginalia has a new home](http://blog.fogus.me/2013/08/12/marginalia-has-a-new-home/)**\n\n![marginalia](http://farm8.staticflickr.com/7057/6828224448_32b51e5784_z_d.jpg \"Marginalia\")\n\n*Ultra-lightweight literate programming[1] for [Clojure](http://clojure.org) and ClojureScript inspired by [docco](http://jashkenas.github.io/docco/)*\n\nMarginalia is a source code documentation tool that parses Clojure and ClojureScript code and outputs a side-by-side source view with appropriate comments and docstrings aligned.\n\nTo get a quick look at what the Marginalia output looks like, [visit the official site](https://clj-commons.org/marginalia/).\n\n**[View the release notes for this version of Marginalia](https://github.com/clj-commons/marginalia/releases/tag/v0.9.2)**\n\nUsage\n-----\n\nCurrently Marginalia can be used in a number of ways as described below.\n\n### Leiningen\n\n[https://github.com/clj-commons/lein-marginalia](https://github.com/clj-commons/lein-marginalia)\n\nTo use Marginalia with Leiningen add the following code to the project's `project.clj` file:\n\nWith Leiningen 1.x, add `[lein-marginalia \"0.9.2\"]` to your project.clj's `:dev-dependencies` argument of the\n`defproject` function, then run `lein deps`.\n\nWith Leiningen 2.x, add `[[lein-marginalia \"0.9.2\"]]` to the `:plugins` entry in either your project.clj file or your\n`:user` profile.\n\nSee the [lein-marginalia](https://github.com/clj-commons/lein-marginalia) page for more details.\n\nOnce installed,  you can generate your complete source documentation with the command:\n\n    lein marg \u003coptions\u003e \u003cfiles\u003e\n\n### deps.edn\n\nAdd `marginalia/marginalia {:mvn/version \"0.9.2\"}` as a dep. To use it from the command line, do something like\nthis:\n\n```clojure\n{:aliases\n  {:marginalia\n   {:extra-deps {marginalia/marginalia {:mvn/version \"0.9.2\"}}\n    :main-opts  [\"-m\" \"marginalia.main\" \"-n\" \"YourProjectName\"\n                 \"src\" \"test\"]}}}\n```\n\nAnd invoke it with `clojure -M:marginalia`. Without the alias, you could use `clojure -M -m marginalia.main`.\n\n### Invocation\n\nMarginalia accepts options as described below:\n\n| Flag |             | Default                | Description                                                                       |\n| ---- | ----------- | ---------------------- | ----------------------------------------------------------------------------------|\n| -d   | --dir       | `./docs`               | Directory into which the documentation will be written                            |\n| -f   | --file      | `uberdoc.html`         | File into which the documentation will be written                                 |\n| -n   | --name      | (from `project.clj`)   | Project name                                                                      |\n| -v   | --version   | (from `project.clj`)   | Project version                                                                   |\n| -D   | --desc      | (from `project.clj`)   | Project description                                                               |\n| -a   | --deps      | (from `project.clj`)   | Project dependencies in the form `\u003cgroup1\u003e:\u003cartifact1\u003e:\u003cversion1\u003e;\u003cgroup2\u003e...`    |\n| -c   | --css       | (from `project.clj`)   | Additional css resources `\u003cresource1\u003e;\u003cresource2\u003e;...`                            |\n| -j   | --js        | (from `project.clj`)   | Additional javascript resources `\u003cjsfile1\u003e;\u003cjsfile2\u003e;...`                         |\n| -m   | --multi     | disabled               | Generate each namespace documentation as a separate file                          |\n| -e   | --exclude   | (from `project.clj`)   | Exclude source file(s) from the document generation process `\u003cfile1\u003e;\u003cfile2\u003e;...` |\n| -l   | --leiningen |                        | Generate the documentation for a Leiningen project file                           |\n| -L   | --lift-in-line-comments   | disabled | Lift ;; inline comments to the top of the enclosing form.                         |\n| -X   | --exclude-lifted-comments | disabled | If inline comments are being lifted, then also exclude them from the source code display |\n\nOptions can also be added to `.marginalia/config.edn` (a map with keys taken from the second column of the table).\n\n### Maven\n\nThe [zi plugin](https://github.com/pallet/zi) supports Marginalia.\n\n\u003cdetails\u003e\n  \u003csummary\u003eAdd this code to the project's `pom.xml` file, and run the command `mvn zi:marginalia`.\u003c/summary\u003e\n\n```xml\n    \u003cplugin\u003e\n      \u003cgroupId\u003eorg.cloudhoist.plugin\u003c/groupId\u003e\n      \u003cartifactId\u003ezi\u003c/artifactId\u003e\n      \u003cversion\u003e0.5.0\u003c/version\u003e\n      \u003cconfiguration\u003e\n        \u003cmarginaliaTargetDirectory\u003eautodoc/marginalia\u003c/marginaliaTargetDirectory\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n```\n\nAnd the following to the project's `settings.xml` file.\n\n```xml\n    \u003cpluginGroups\u003e\n      \u003cpluginGroup\u003eorg.cloudhoist.plugin\u003c/pluginGroup\u003e\n    \u003c/pluginGroups\u003e\n\n    \u003cprofiles\u003e\n      \u003cprofile\u003e\n        \u003cid\u003eclojure-dev\u003c/id\u003e\n        \u003cpluginRepositories\u003e\n          \u003cpluginRepository\u003e\n            \u003cid\u003esonatype-snapshots\u003c/id\u003e\n            \u003curl\u003ehttp://oss.sonatype.org/content/repositories/releases\u003c/url\u003e\n          \u003c/pluginRepository\u003e\n        \u003c/pluginRepositories\u003e\n      \u003c/profile\u003e\n    \u003c/profiles\u003e\n\n    \u003cactiveProfiles\u003e\n      \u003cactiveProfile\u003eclojure-dev\u003c/activeProfile\u003e\n    \u003c/activeProfiles\u003e\n```\n\u003c/details\u003e\n\nContributors and thanks\n-----------------------\n\nI would like to thank Zachary Kim for taking a pile of incoherent code and making it something worth using.  Marginalia would be nothing without his hard work and vision.\n\nI would also like to thank Justin Balthrop and Brenton Ashworth for their support and code contributions.\n\nMarginalia is currently maintained by Tim Macdonald.\n\nNotes\n-----\n\n[1] While the phrase *ultra-lightweight literate programming* is used to describe Marginalia, it is in no way a tool for classical literate programming.  That is, Marginalia is a linear documentation generator allowing no out-of-order reassembly of source.\n\nMarginalia is...\n----------------\n\n*sorted by first commit*\n\n- [Fogus](http://fogus.me/fun/)\n- [Zachary Kim](https://github.com/zk)\n- [Justin Balthrop](https://github.com/ninjudd)\n- [Brenton Ashworth](https://github.com/brentonashworth)\n- [Nicolas Buduroi](https://github.com/budu)\n- [Michael Harrison](https://github.com/goodmike)\n- [Anthony Grimes](https://github.com/Raynes)\n- [Sam Ritchie](https://github.com/sritchie)\n- [Hugo Duncan](https://github.com/hugoduncan)\n- [Vadim](https://github.com/dm3)\n- [Meikel Brandmeyer](https://github.com/kotarak)\n- [Paul Dorman](https://github.com/pauldorman)\n- [Deepak Giridharagopal](https://github.com/grimradical)\n- [Tero Parviainen](https://github.com/teropa)\n- [MerelyAPseudonym](https://github.com/MerelyAPseudonym)\n- [Ivan](https://github.com/ivantm)\n- [Benjamin Bader](https://github.com/benjamin-bader)\n- [Frederick Giasson](https://github.com/fgiasson)\n- [Michael Bloom](https://github.com/MichaelBlume)\n- [Tristan Strange](https://github.com/triss)\n- [Sean Corfield](https://github.com/seancorfield)\n- [Tim Macdonald](https://github.com/tsmacdonald)\n\nIf I've missed your name then please ping me.\n\nLicense\n-------\n\nCopyright (C) 2010-2024 Sean Corfield, Gary Deer, Fogus and contributors.\n\nDistributed under the Eclipse Public License, the same as Clojure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclj-commons%2Fmarginalia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclj-commons%2Fmarginalia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclj-commons%2Fmarginalia/lists"}