diff options
Diffstat (limited to 'README.l')
-rw-r--r-- | README.l | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/README.l b/README.l new file mode 100644 index 0000000..3c92fa6 --- /dev/null +++ b/README.l @@ -0,0 +1,62 @@ +<!-- -*- mode: lightroff; mode: olivetti -*- --> + + +<ss 12 0> +<nr PI 0> +<nr PD 0.5v> +<if n .nr PD 1v> +<de i>\\fI\\$*\\fR<.> +<de bi>\\f(BI\\$*\\fB<.> +<de cw>\\f(CW\\$*\\fR<.> +<de cwb>\\f(CB\\$*\\fR<.> + + +<TL><bi Lightroff>, an alternative troff syntax +<AU>John Ankarström +<DA 10 June 2022> + + +<SH 1>Introduction +<LP><i Lightroff> is an alternative syntax for troff, visually inspired by SGML/XML. It differs from troff's default syntax in the following ways: + +<IP 1. 3>Lightroff requests begin with a less-than sign and end with a greater-than sign, e.g., <cw <SH 1\>>. These symbols may be escaped with a backslash.* +<IP 2.>Lightroff requests may be used inline. The following works as expected: <cw "(<ft B\>bold<ft R\>)">.** +<IP 3.>Lightroff ignores empty lines. +<IP 4.>Default troff syntax may be used between <cw <![> and <cw ]\>>. + +<LP>The similarities with XML end at the visual level. Unlike XML, lightroff is unstructured and imperative. There is no concept of closing tags. + +<FS *>For comparison, default troff requests begin with a newline and a control character, usually a period or an apostrophe, and end with another newline.<FE> + +<FS **>Before an inline request, <cw lightroff> automatically inserts a <cw \\\\c> escape when appropriate.<FE> + + +<SH 1>Example +<IP "" 3><nf><eo><![ +<de b>\\fB\\$*\\fR<.> + +<TL>Example document +<AU>John Doe + +<AB>Pellentesque dapibus suscipit ligula. Donec posuere augue in quam. +Etiam vel tortor sodales tellus ultricies commodo. Suspendisse +potenti. Aenean in sem ac leo mollis blandit. Donec neque quam, +dignissim in, mollis nec, sagittis eu, wisi.<AE> + +<SH 1>Introduction +<LP><b Nullam eu ante> vel est convallis dignissim. Fusce suscipit, +wisi nec facilisis facilisis, est dui fermentum leo, quis tempor +ligula erat quis odio. Nunc porta vulputate tellus. +]><ec> + + +<SH 1><cwb Lightroff> +<PP>The program <cw lightroff> translates lightroff source to troff source. + + +<SH 1><cwb Lightroff-mode> +<PP>For Emacs users, there is a major mode named <cw lightroff-mode> that provides syntax highlighting for lightroff source. To further improve the writing experience, I also recommend <cw olivetti-mode>. + + +<SH 1>Caveats +<LP>Lightroff does not treat indented lines specially. As such, indentation cannot be used to convey structure. |