greghendershott / frog

Frog is a static blog generator implemented in Racket, targeting Bootstrap and able to use Pygments.
919 stars 96 forks source link

reStructuredText #254

Open ghost opened 4 years ago

ghost commented 4 years ago

I see that Markdown is supported:

https://docs.racket-lang.org/frog/Posts.html

Is reStructuredText supported?

https://docutils.sourceforge.io/docs/user/rst/quickref.html

ZelphirKaltstahl commented 4 years ago

reStructuredText is a whole different beast. It has document internal linking with sources and sinks and linking to other documents as well as custom roles and uses indentation for some things. As far as I know, the reference implementation of reStructuredText is the only implementation in existence, that supports all reStructuredText features and uses a custom parser, not a complete grammar. This is a pity, as a grammar could be translated and used in other languages or parser libraries, to allow easier support in other languages, for such a great format. In other languages developers often struggle with the task of writing a reStructuredText parser, I think for this very reason, that there is no reference grammar.

Pandoc can translate it reasonably well to LaTeX. I used reStructuredText a few years ago to write a thesis and found it working quite well for that, in comparison to most (all?) Markdown dialects, which do not support document internal linking, except for linking to headings. Although by inclusion of LaTeX code in Pandoc Markdown, one can also achieve most things. However, I wanted to use as little LaTeX as possible in my source for the thesis, to make writing not more complicated than necessary. In the end I had to write 3 filters to translate citations and references the way I wanted to, but I think Pandoc by now has sorted out document internal linking of reStructuredText when converting to another capable format.

I don't think that frog supports reStructuredText, but I would love to be corrected. Perhaps if it made calls to an installed Pandoc, it could achieve a lot of the features of the reference implementation.

greghendershott commented 4 years ago

Frog supports markdown and scribble formats.

Currently I don't have enough time/enthusiasm to add/debug/support additional formats. (Or any new features. The maintenance mode is only to try to fix bugs.)