Ultra-lightweight literate programming[1] for Clojure inspired by docco
Marginalia is a source code documentation tool that parses Clojure code and outputs a side-by-side source view with appropriate comments and docstrings aligned.
To get a quick look at what marginalia output looks like, visit the official site.
View the release notes for this version of Marginalia
Currently Marginalia can be used in a number of ways as described below.
http://github.com/fogus/lein-marginalia
To use Marginalia with Leiningen add the following code to the project's project.clj
file, in the :dev-dependencies
argument of the defproject
function:
:dev-dependencies [lein-marginalia "0.7.0"]
After executing lein deps
you can generate your complete source documentation with the command:
lein marg
Marginalia accepts other options as described in the Command Line section above.
The zi plugin supports Marginalia.
Add this code to the project's pom.xml
file, and run the command mvn zi:marginalia
.
<plugin>
<groupId>org.cloudhoist.plugin</groupId>
<artifactId>zi</artifactId>
<version>0.3.1</version>
<configuration>
<marginaliaTargetDirectory>autodoc/marginalia</marginaliaTargetDirectory>
</configuration>
</plugin>
And the following to the project's settings.xml
file.
<pluginGroups>
<pluginGroup>org.cloudhoist.plugin</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>clojure-dev</id>
<pluginRepositories>
<pluginRepository>
<id>sonatype-snapshots</id>
<url>http://oss.sonatype.org/content/repositories/releases</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>clojure-dev</activeProfile>
</activeProfiles>
I 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.
I would also like to thank Justin Balthrop and Brenton Ashworth for their support and code contributions.
Copyright (C) 2010, 2011 Fogus and contributors.
Distributed under the Eclipse Public License, the same as Clojure.
[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.
sorted by first commit
- Fogus
- Zachary Kim
- Justin Balthrop
- Brenton Ashworth
- Nicolas Buduroi
- Michael Harrison
- Anthony Grimes
- Sam Ritchie
- Hugo Duncan
- Vadim
- Meikel Brandmeyer
- Paul Dorman
- Deepak Giridharagopal
- Tero Parviainen
If I've missed your name then please ping me.