Table of Contents
This is a clojure library designed to extend the clojure syntax so it can load org file as source file directly.
This library is provided to make litrate programming more happy in clojure,without pain of tangling code from org files.
This library contains the following files:
The implementation and documentation and literate clojure reader.
The tangled codes of literate clojure reader, generated from ./src/literate_clojure/core.clj.
The weaved documentation, generated from ./src/literate_clojure/core.clj by org mode’s publish feature.
The testcase of literate-clojure.
The bootstrap file of test cases.
The usage and introduction of literate-clojure.
the lein project file of literate-clojure.
the lein project file of a demo of how to use literate-clojure.
The demo documentation and codes.
the bootstrap file to load ./demo/src/demo/core.org.
The config file used by Web service travis ci to test this library.
install polymode in emacs
It’s better to edit the org file with polymode,which will make code block use its native file mode. The following elisp scripts in .emacs will install it.
(use-package poly-org :ensure t)
Add dependence in project.clj
To use this library, please add dependence in your project.clj:
:dependencies [[literate-clojure "0.1.1"]]
Load org file
Then in one of your source file,add the following codes to install the org syntax for clojure reader:
(require 'literate-clojure.core) (literate-clojure.core/install-org-dispatcher) (load-file "src/demo/core.org")
The special requirement for org files
The org files must start with a sharp and a space, for example I usually add the following line to the beginning of an org file:
# -*- encoding:utf-8 Mode: POLY-ORG; -*- ---
It will use Emacs library poly-org-mode which is a lightweight library to support multiple major mode in one file, so you can edit clojure code natively in an org file.
a new code block header argument
Copyright © 2018 Jingtao Xu
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.