Literate Programming Tool
Project description
Introduction
It’s very simple, art-of-concept literate programming (LP) tool. Main idea is too avoid processing document (LP source) format, so input document format is supported by it’s traditional external tool. So it’s possible to have favourite workflow: WYSIWYG editing/text processing/converting with you favourite tool/suite (OpenOffice/Markdown tool/TeX/etc.).
General workflow schemes are:
local/WEB: ____________ +------------+| | || | LP Library || | |' local/WEB: +------------+ ------->>--------- / | | use | v / | some format with --> 1. extract sources... ^ LP commands --> 2. cross-references ^ | --> 3. use as library | v | EXTERNAL TOOL/OFFICE SUITE | | -------<<---------
and:
local/WEB: ____________ +------------+| | || | LP Library || | |' +------------+ / use / READY TO PUBLISH --> 1. online documentation 'some-lp.html' --> ON WEB --> 2. extract sources... \ --> 3. cross-references \ --> 4. use as library -- PARSE AND MODIFYING: + embeeded Javascript configuration + linked 'nanolp-pub.js' + linked 'nanolp-pub.css'
So, this kind of LP tool knows about LP input format only how to extract LP commands and code chunks - tangle, weaving is not needed, input format is ready for printing, publishing, reading, etc.
At the moment, supported input formats are:
Markdown/MultiMarkdown
OpenOffice/LibreOffice
Creole
reStructuredText
TeX/LaTeX
Txt2Tags
Asciidoc
HTML/XML
… and any compatible
Main features
definition of command (macros) with placeholders in the body (code chunk)
variables dictionaries (for substitution of placeholders)
pasting command code chunk with substitution of placeholders
definition of multiple parts code-chunks (for wrapping, etc.)
joining, ‘ending’, etc. several code chunks
‘globbing’ commands when paste
including one file to another (library)
custom event handlers (filters in chain/pipe manner)
supporting URLs in file names (read via HTTP)
prepare of HTML files (with LP commands) for Web publishing
generating cross-references file
auto-detecting of cycles
configurable via simple .INI like file
works with Python 2.7 - Python 3+
works with Unicode (UTF8)
extendible
Installation
Install Python (2.7 or 3+) first, then run:
$ python setup.py install
Then run:
$ nlp.py -h
or:
$ python path-to-scripts/nlp.py -h
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nanolp-1.0i.zip
.
File metadata
- Download URL: nanolp-1.0i.zip
- Upload date:
- Size: 188.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a708c3ad1ce5cafd1c4e9fac99dbe805847fc36def54fc117d43761346e488 |
|
MD5 | 1b9147f4b6f605a976893773d6d73e22 |
|
BLAKE2b-256 | bc04832c2c2db710ad7f273b53b556ad6ba819c4a39f4e8ae238f4e96eca153a |