From 9baaeac2f1eb7e5553e17a83e980985644a198be Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Thu, 19 Sep 2019 21:52:25 -0400 Subject: Testing groffdown support by gh syntax --- README.gd | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 README.gd (limited to 'README.gd') diff --git a/README.gd b/README.gd new file mode 100644 index 0000000..1cf90e9 --- /dev/null +++ b/README.gd @@ -0,0 +1,62 @@ +--- +title: Groffdown +author: Benjamin Chausse +date: 2019-09-19 +Markdown syntax with GNU/Troff-like compilation speeds. +--- + + +# What is Groffdown? +Groffdown aims to take the already existing (and well-known) +markdown syntax and make it compile at speed similar to the +ones of groff. The main compiler for markdown to pdf usually +being `pandoc`, it can be quite long to compile a document (up +to four seconds for one page documents +in some cases) unlike Groff which is known +to usually compile very quickly (0.1 second on average for +one page documents). + +Groffdown is a script which when run on a markdown document, +will convert the most typical markdown syntax into groff +(using the `ms` macros) to then send it to standard output. +Therefore, it can be piped directly into groff (or +it's related software). + +# Example piping workflow +groffdown .gd | refer -PS -e "-p$REFERBIB" | groff -me -ms -kejpt -T pdf > .pdf + +# Syntax goals +- Speed +- Markdown Syntax (with yaml preamble) +- LaTeX where markdown lacks + + +## Existing Syntax + +### Commands similar to markdown +- Headers (1-5) +- Italic +- Bold +- Bold & Italic +- Bullet points + +### Commands similar to LaTeX +- Abstract +- Inline equations +- Centered equations +- Citations + +### Commands similar to YAML +- Titles +- Authors +- Dates +- Author's Institution + +# Current issues +- All text formatings need to be on the same line (you can't start bold + on one line and finish on the other) Doing otherwise seems to trigger + an unescapable recursive loop on the groff side of things. + +# Needed implementations +- Numbered lists +- multi-macro compatibility (mom macros for urls) -- cgit v1.2.3