Languages: es - fr - en

frundis: a semantic markup language

1 Overview

The frundis language is a semantic markup language with a simplified roff-like syntax, originally intended for supporting authoring of novels, but it can be used for more varied stuff. It relies on the exporting capabilities of the tool frundis to LaTeX, XHTML, EPUB (2 and 3), markdown and groff mom. Only LaTeX, XHTML and EPUB output formats are considered complete and mature.

The language focuses on simplicity, using a few flexible built-in macros, and strives to provide good error messages, while allowing one to explicitly mess up when needed and finely control output for a specific format.

Here is a list of its main features:

2 Documentation

frundis is documented in its man pages:

For a quick overview, look at the example below.

3 Installation

Follow the README instructions in github. The program is released under a free software license (BSD-like). The last version (0.6) can be found here too.

The old Perl version is still available from CPAN.

Patches or pull requests are welcome!

4 Community

You can subscribe to the frundis users mailling.

5 An example: the code of this page!

Here is the code that was used to generate this page:

.\" This line is a comment
.\"
.\" Tags declarations
.X mtag -f xhtml -t program-name -c span
.X mtag -f xhtml -t code -c code
.X mtag -f xhtml -t voc -c span
.X dtag -f xhtml -t frundis-code -c div
.\" Macro definition to not repeat too much the same
.\" boilerplate
.#de frundis
.\" Semantic markup
.Sm -t program-name frundis \$@
.\" Now we can write .frundis instead of the preceding
.\" line. \$@ is substituted by the list of arguments.
.\" Useful to add punctuation, for example. End of macro
.\" definition:
.#.
.\" Title
.X set document-title "frundis: a semantic markup language"
.\"
.\" Table of Contents
.Tc
.\" "Frundis" image
.Im /images/frundis-mini.jpg
.\" A Section
.Sh Overview
.\" Call to user defined .frundis macro
The
.frundis
language is a semantic markup language with a simplified
roff-like syntax, originally intended for supporting
authoring of novels, but it can be used for more varied
stuff. It relies on the exporting capabilities of the
tool
.Sm -t code frundis
to LaTeX, XHTML, EPUB (2 and 3), markdown and groff mom.
.Bm
Only LaTeX, XHTML and EPUB output formats are considered
complete and mature.
.Em
.P
The language focuses on simplicity, using a few flexible
built-in macros, and strives to provide good error
messages, while allowing one to explicitly mess up when
needed and finely control output for a specific format.
.P
Here is a list of its main features:
.\" Begin list
.Bl
.It
Common elements such as links, images, cross-references,
lists (including verse), simple tables, table of
contents, etc.
.It
EPUB with arbitrary metadata. Indexed html files.
.It
User defined
.Sm -t voc tags
with configurable rendering.
.It
Raw blocks, file inclusion, filters, macros and variables.
.It
Roff-like syntax: simple, clear and friendly to grep and
diff.
.\" End list
.El
.Sh Documentation
.frundis
is documented in its man pages:
.Bl
.It
.Lk /frundis/frundis-1.html frundis(1)
describes command line usage.
.It
.Lk /frundis/frundis_syntax-5.html frundis(5)
describes language syntax.
.El
For a quick overview, look at the
.\" cross-reference with label
.Sx label "example below" .
.Sh Installation
Follow the README instructions in
.Lk https://github.com/anaseto/gofrundis/ github .
The program is released under a free software license
(BSD-like). 
.If version.frundis \" file defining the last version number
The last version (\*[version]) can be found
.Lk /frundis/frundis-\*[version].tar.gz here
too.
.P
The old Perl version is still available
.Lk https://cpan.metacpan.org/authors/id/A/AN/ANASETO/Text-Frundis-2.16.tar.gz "from CPAN" .
.P
Patches or pull requests are welcome!
.Sh Community
You can subscribe to the 
.Lk https://listengine.tuxfamily.org/lists.tuxfamily.org/frundis-users/ \
  "frundis users mailling" .
.Sh -id label An example: the code of this page!
.\" include file defining macros for code block
.\" inclusion
.If ../code.frundis
Here is the code that was used to generate this page:
.Bd -t frundis-code
.\" Code is filtered through a small html coloration
.\" script and included "as-is"
.X ftag -t frundis -shell "perl html_coloration.pl"
.include-code-with-filter frundis intro-en.frundis
.Ed