Evaluate the code written in your documents with Pandoc and Lua
Go to file
perro tuerto ee1d86dc86 Autoformat 2023-07-01 10:03:35 -07:00
dist Fixed workflow with checks; added (incomplete) call function 2023-07-01 09:56:06 -07:00
man Renaming 2023-03-16 08:52:04 -07:00
opt Update of lua-dog to 1.1.0-1 2023-06-16 19:58:43 -07:00
scripts Fixed workflow with checks; added (incomplete) call function 2023-07-01 09:56:06 -07:00
src Autoformat 2023-07-01 10:03:35 -07:00
tests Fixed workflow with checks; added (incomplete) call function 2023-07-01 09:56:06 -07:00
LICENSE.txt Repo ordering 2023-03-08 19:05:42 -08:00
README.md Distribution now are two: bundle and minimal 2023-05-25 12:56:03 -07:00

README.md

👾 Computable Pandoc

Computable Pandoc is a Pandoc filter written in Lua for literate and natural programming (LIN programming), i.e.: "Programming [...] as the process of creating works of literature".

Requirements

if you decide to use lin.min.lua instead of lin.bundle.lua, you need to install and preload the following rocks:

Install

  1. Go to Releases.
  2. Download the latest version of lin.bundle.lua or lin.min.lua.
  3. Done!

Usage

With lin.bundle.lua or lin.min.lua downloaded and Pandoc installed, do:

pandoc -L PATH/TO/lin.bundle.lua -t FORMAT DOC

For example, if DOC is source.md and the output FORMAT is HTML, do:

pandoc -L PATH/TO/lin.bundle.lua -t html source.md

Manual

Learn how to do LIN programming here.

Develop

Clone this repo:

git clone https://git.cuates.net/perro/computable-pandoc.git

Enter the repo:

cd computable-pandoc

Inside, do the tests:

pandoc lua scripts/test.lua

For other kind of tests, do:

pandoc lua scripts/test.lua -h

For make distribution filter, do:

pandoc lua scripts/make_dist.lua

For make JSON (intented for testing asserts), do:

pandoc lua scripts/make_jsons.lua

For update Lua modules (needs luarocks), do:

sh scripts/get_rocks.sh

Contribute!

Acknowledgments

This wouldn't be possible without these projects and their collaborators:

  • Pandoc: universal document converter and parser; handles the requirements for LIN.
  • Lua: programming language; enables LIN.
  • Fennel: Lisp dialect with full Lua compatibility; allows native evals for Lisp.

License

Computable Pandoc is under GPLv3.

Happy hacking :)