Ultra-lightweight literate programming[1] for Clojure and ClojureScript inspired by docco
Marginalia 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.
To get a quick look at what the 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/gdeer81/lein-marginalia
To use Marginalia with Leiningen add the following code to the project's project.clj
file:
With Leiningen 1.x, add [lein-marginalia "0.9.1"]
to your project.clj's :dev-dependencies
argument of the defproject
function, then run lein deps
.
With Leiningen 2.x, add [[lein-marginalia "0.9.1"]]
to the :plugins
entry in either your project.clj file or your :user
profile.
See the lein-marginalia page for more details.
Once installed, you can generate your complete source documentation with the command:
lein marg <options> <files>
Marginalia accepts options as described below:
docs
)uberdoc.html
)project.clj
)project.clj
)project.clj
)<group1>:<artifact1>:<version1>;<group2>...
(if not given will be taken from project.clj
)<resource1>;<resource2>;...
(if not given will be taken from project.clj
)<jsfile1>;<jsfile2>;...
(if not given will be taken from project.clj
)<file1>;<file2>;...
(if not given will be taken from project.clj
)The zi plugin supports Marginalia.
<plugin>
<groupId>org.cloudhoist.plugin</groupId>
<artifactId>zi</artifactId>
<version>0.5.0</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.
[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
Copyright (C) 2010-2017 Gary, Fogus and contributors.
Distributed under the Eclipse Public License, the same as Clojure.
Can you improve this documentation? These fine people already did:
fogus, Fogus, Gary Deer, zkim, Zachary Kim, Ben Bader, Hugo Duncan, Anthony Grimes, Frederick Giasson, Nicolas Buduroi, Gary D, Ryan Macy, Yann Esposito, Matt Hoffman, Sam Ritchie & Paul DormanEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close