Skip to content

Cordain/org-babel-tangle.py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

org-babel-tangle.py: the same, but faster

This is a reimplementation of the Org-Mode function org-babel-tangle, in Python, and about 100 times faster. I wrote this because it took about 5.5s to Org to tangle three files for a total of ≅650 lines of code, which was becoming more than irritating.

Usage is very simple, put this program somewhere in $PATH, then:

$ org-babel-tangle myfile.org
wyag ................................................................. 4 lines
libwyag.py ......................................................... 598 lines
wyag-tests .......................................................... 75 lines

If no file is passed to command-line, it will read from stdin.

You can pipe file paths inside script, like so:

$ find . -type f -name "*.org"
./README.org
./doc/main.org
$ find . -type f -name "*.org" | ./org-babel-tangle
src/main.c.............................................................6 lines
doc/architecture.puml.................................................14 lines

Limitations

This program is extremely dumb, and lacks quite a few Org-mode features, most notably noweb. But basically, all it does is routing lines of text to output files and fixing indentation — everything else is unsupported.

I’ve done a few tests, and the files this program produces are bit-for-bit identical to the real org-babel-tangle output. If you notice a difference, please open an issue.

About

The same, much faster.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%