Dear all, In my talk https://emacsconf.org/2024/talks/org-update, one of the tasks I announced was moving babel documentation from WORG to Org manual. Here, I would like to details what should be done for that task.
This is a big task, but we can split it into much smaller and simpler tasks. I recommend taking documentation from a single language to get started. Multiple volunteers (if any) may work on other languages in parallel. Please tell us which language you are working on to avoid conflicts. Also, feel free to ask anything here or in any other communication channel (IRC, Matrix, OrgMeetup) if there are difficulties. The general idea is to port files from https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel into Org manual. At the end, we should have all the ob-<lang> files from https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/lisp documented in the manual. The documentation at various stages of completeness is listed in https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/languages (ob-doc-<lang>.org). For each built-in language, we will need to: 1. Find ob-doc-<lang>.org file, if any 2. Make sure that the documentation conforms to https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/languages/ob-doc-template.org 3. If it does not, we at least need to indicate undocumented sections 4. If possible, may also document the missing parts 4.1. Sometimes, the language implementations in lisp/ob-<lang> miss features from the checklist. Such problems should be reported as bugs for easier tracking. 5. The cleaned up documentation should be ported to Org manual. Tentatively, we can follow the structure of export backends as in https://orgmode.org/manual/Exporting.html 6. If there is no documentation at all, it should be written Once we are done with individual languages, we will need to: 1. Review, update, and double check https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/languages/lang-compat.org 2. Write documentation about writing a new backend as in https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/languages/ob-doc-template.org and https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/ob-template.el 3. Refer to (or move) this documentation from Org manual 4. Review https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel/header-args.org and possibly merge it with Org manual 5. There will be some non-builtin language docs available at the end. We will need to move this documentation to relevant packages (is there are), to org-contrib, or obsolete 6. Review the remaining files in https://git.sr.ht/~bzg/worg/tree/master/item/org-contrib/babel List of built-in languages: - [ ] ob-C - [ ] ob-R - [ ] ob-awk - [ ] ob-calc - [ ] ob-clojure - [ ] ob-css Note: This is a stub. We might later discuss if it can be generalized. - [ ] ob-ditaa - [ ] ob-dot - [ ] ob-emacs-lisp - [ ] ob-eshell - [ ] ob-forth - [ ] ob-fortran - [ ] ob-gnuplot - [ ] ob-groovy - [ ] ob-haskell - [ ] ob-java - [ ] ob-js - [ ] ob-julia - [ ] ob-latex - [ ] ob-lilypond - [ ] ob-lisp - [ ] ob-lua - [ ] ob-makefile - [ ] ob-matlab - [ ] ob-maxima - [ ] ob-ocaml - [ ] ob-octave - [ ] ob-org - [ ] ob-perl - [ ] ob-plantuml - [ ] ob-processing - [ ] ob-python - [ ] ob-ruby - [ ] ob-sass - [ ] ob-scheme - [ ] ob-screen - [ ] ob-sed - [ ] ob-shell - [ ] ob-sql - [ ] ob-sqlite -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>