Skip to content

mahmoodsh36/cltpt

Repository files navigation

dependencies

the project depends on the following packages which could be installed using quicklisp.

  • cl-ppcre
  • uiop
  • clingon
  • ironclad
  • fiveam
  • local-time

the code uses some sbcl-specific libraries for now, so it is unlikely that it will run on other dialects.

example usage

convert a single file from org to html (the % part is for “formatting” with lisp code):

./run.sh convert -f 'test.org' -d html -o '/tmp/%(identity basename).html'

convert a bunch of files from org to html:

./run.sh convert -r '(:path "/home/mahmooz/brain/notes/1684594232.org" :regex ".*\\.org" :format "org-mode")' -d html -o '/tmp/%(identity basename).html'

convert a bunch of files from org to latex:

./run.sh convert -r '(:path "/home/mahmooz/brain/daily/" :regex ".*\\.org" :format "org-mode")' -d latex -o '/tmp/%(identity title).tex'

roam (query) files

./run.sh roam -r '(:path "/home/mahmooz/brain/daily/" :regex ".*\\.org" :format "org-mode")' -o 'title: %title, id: %id, file: %file'

goals

  • [ ] an org-mode-like experience for lem - this is one of the main goals, it is essential that the project supports most if not all features of org so that people can just try lem with org-mode (if they wish to do so) without much hassle.
  • [ ] org-agenda support
  • [ ] org-babel support
  • [ ] use a unified interface for both markdown and org (and perhaps even other formats)
  • [ ] org-roam-like functionality (links by ids, navigation by titles), as well as transclusions.
  • [ ] an ideal way of mixing inline common lisp code with arbitrary text, and the ability to have custom definitions of syntax.
  • [ ] a commandline interface for your text files that supports actions such as exporting to latex and fetching various kinds of metadata for external use.

i should note that i am yet not very familiar with lem and i expect that porting this to lem will take more time than the other tasks.

contributions

  • contributions are welcome.
  • the code is subject to heavy changes.
  • the code as it is right now handles some of org-mode’s syntax and allows for partially functional exports to latex, my idea was to not write an “org parser”, but a parser that parses different types of text that follows certain patterns, and use this functionality to provide a builtin org-mode functionality, so that we may easily choose to parse different formats aswell and have a partially uniform interface for both markdown and org-mode in the future.

About

common lisp text processing tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages