Skip to content

markdown-like language to generate pdf documents.

Notifications You must be signed in to change notification settings

MAGANER/PdfBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PdfBuilder

markdown-like language to generate pdf documents.

The reason to be created

As you can know the pdf was created as portable format of textual information.
So i prefer to share some documents with .pdf format instead of .txt, .doc, .docx e.t.c
But every .doc/.docx editors are very clumsy in my opinion. So i was inspired by LaTex to
create language to generate pdf generators, because i prefer Emacs above all else.

Current state of language is very minimalistic, but it is able to create simple documents.

How to use

pdfbuilder.exe -sscriptname -doutput -mmacrofile
macrofile is optional.

Syntax

There are 2 elements: regular text and tags, changing rendering state.
Every tag is surrounded with <>, so it looks like <tag>
Also it can have arguments, so it will look like <tag:arg1,argn>

So check list of tag below:

<br> - moves the cursor down to the start of new line.
<rs> - resets state of rendering, setting the default values.
<hr> - sets horizontal line at current place of cursor.(i mean current position along Y axis).
<np> - creates new page. <ss:arg> - takes any natural number and sets spaces.
<str:arg> - takes any number and sets text rise.
<fs:arg> - takes any natural number and sets the size of font.

<fc:red,green,blue> - takes 3 number beetween 0 and 255 and sets the color in RGB-space.
<img:path> - takes the path of image and sets it at current position of cursor
<rt:angle> - takes the angle between 0 and 360 and sets rotation angle of every object on page.
<mx:arg> - takes number between 0% and 100% and moves position from right side to left one along X axis.
<my:arg> - takes number between 0% and 100% and moves position from right side to left one along Y axis.
<sk:arg> - takes real number as a value of kerning.

Macro

Macro acts in the same way like DEFINE from C/C++ programming language. It is used to replace complex anything.
to define macro write - <mac:name#value>
to use macro write anywhere you need @name, so macro value will be put instead of @name

Macro file

Just a regular file, containg a list of predefined macroses.
Before your script is loaded and processed, it reads the macro script and saves all macroses and then
they can be used in your script

About

markdown-like language to generate pdf documents.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages