yet another PreProcessor
Purpose
Developing a LaTeX or HTML document can be a boring process and spend the users precious time, instead of letting them focus on its content.
yaPP is a preprocessor for LaTeX and HTML documents, allowing the user to use the same document to generate both types of document. yaPP offers a simple and clean syntax in order to give the user the experience he wishes for when developing a document. Therefore, the user should be able to focus his thinking only on the document content.
Without giant or indecipherable tags, yaPP allows the user to really enjoy the writing process.
yaPP doesn't want to be a substitute for LaTeX or HTML, but an intermediate platform between the two, simplifying the writing and converting process.
Available Contents
yaPP offers various inline options considered interesting and useful to the normal user of this type of writing process:
-
Title - title using [t titlename];
-
Bold - bold text using [b text];
-
Italic - italic text using [i text];
-
Underline - underlined text using [u text];
-
Strikeout - strikeout text using [stk text];
-
Subscript - subscripts using [sub text];
-
Superscript - superscripts using [sup text];
-
Code Inline - code inline using [c code];
-
HRefs - hrefs using [href srclink [name linkname]];
-
Images - images using [img srclink [name image name] [w width number] [h height number]] (for LaTeX, width and height are not appliable);
-
Special Characters - special characters (as greek letters) using [sp name of the character] (for LaTeX, only use greek letters);
-
Comments - comments using //;
-
Newlines - newlines using two times \n;
-
Escaped Characters - to use [ or ], it's needed to escape it using \ before the desired character;
yaPP also offers the option to write some blocks:
-
Code
-
Code blocks using:
-
[code code lang
-
code goes here
-
to end the block use:
-
code]
-
Raw Block
-
Raw code blocks using:
-
[raw lang
-
raw code goes here
-
to end the block use:
-
raw]
-
Sections
-
Sections and subsections using:
-
[sec section title
-
section text goes here
-
to end the block use:
-
sec]
-
Subsections and sections are controlled automatically
-
Bulleted List
-
Bulleted lists using:
-
[list
-
[item item content goes here]
-
to end the list use:
-
list]
-
Ordered Lists
-
Ordered lists with chars or numbers using:
-
[ordlist (1 or a)
-
[item item content goes here]
-
to end the list use:
-
ordlist]
-
Description Lists
-
Descriptions lists using:
-
[dsclist
-
[obj item name]
-
[dsc description one]
-
[dsc description two]
-
to end the list use:
-
dsclist]
-
Tables
-
Tables using:
-
[table number of columns
-
[row [h A][h B]]
-
[row [e a][e b]]
-
to end the table use:
-
table]
-
Tables with Borders
-
Tables with Borders using:
-
[btable number of columns
-
[row [h A][h B]]
-
[row [e a][e b]]
-
to end the table use:
-
table]
-
This only makes difference to HTML.
How to Use It?
python yapp.py input output -t type where type is html or latex
If -t type is not inserted, the default conversion is HTML.
Authors:
yaPP has been developed as a result of the first practical assigment of the Language Processing class in the Software Engineering Course in University of Minho, Portugal, by the following students: