diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 80 |
1 files changed, 44 insertions, 36 deletions
@@ -1,7 +1,12 @@ -# Groffdown +--- +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 @@ -9,49 +14,52 @@ 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). +one page documents). As a proof of concept, this *README* +pages can be fully compiled using groffdown to then be used by groff. -Groffdown is a script that when ran on a markdown document, +# Example piping workflow +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 output it to a `.ms` file. - -At a later stage, the goal will be to output groffdown -as standard output (sdout). Since I am not aware if the -`refer` groff pre-processor can accept standard input -(sdin), I prefer to keep it at that for the moment. +(using the `ms` macros) to then send it to standard output. +Therefore, it can be piped directly into groff (or +it's related software). Here is an example of a complete piping +command: -## Syntax goals +- groffdown <filename>.gd | refer -PS -e "-p$REFERBIB" | groff -me -ms -kejpt -T pdf > <filename>.pdf -1. Speed -2. Markdown Syntax (with yaml preamble) -3. LaTeX where markdown lacks +# Syntax goals +- Speed +- Markdown Syntax (with yaml preamble) +- LaTeX where markdown lacks ## Existing Syntax -| Description | Command | `.md` | `.tex` | `YAML-like` | -|----------------------|-------------------------------------|-------|--------|-------------| -| Headers (1-5) | `#`-`#####` | X | | | -| Italic | `*text*` | X | | | -| Bold | `**text**` | X | | | -| Bold & Italic | `***text***` | X | | | -| Bullet points | `- text` | X | | | -| Title | `title: `(in preamble) | | | X | -| Author | `author: `(in preamble) | | | X | -| Date | `date: `(in preamble) | | | X | -| Author's Institution | `institution: `(in preamble) | | | X | -| Abstract | `\begin{abstract}`-`\end{abstract}` | | X | | -| Inline equations | `$x+1$` | | X | | -| Centered equations | `\begin{equation}`-`\end{equation}` | | X | | -| Citations | `\cite{reference}` | | X | | - -## Current issues -- Indented bulletted list (sublists) don't work +### Commands similar to markdown +- Headers (1-5) +- *Italic* +- **Bold** +- ***Bold & Italic*** +- Bullet points +- `Code blocks (in a monospaced font)` + +### 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) + 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 +# Needed implementations - Numbered lists -- Tables -- multi-macro compatibility (mom macros for urls) -- Optional output to `sdout` +- multi-macro compatibility (mom macros for urls)
\ No newline at end of file |