4 The program is uncomplete (but work)
5 The program is more a Bash exercize then a application
8 Create a template system to produce multi-format/multi-language documents from a single
10 As test the template system is used to produce a curriculum vitae.
13 The basic idea behind this program is the possibility to have three type of files:
14 - an infrastructural template (one for each format)
15 - a user-independent multi-language content template file
16 - a user-dependent multi-language content file
17 and combine them to produce all the output matrix [ formats X languages ] using a single file
18 as content description with all the languages inside.
21 - copy cv_exa_mple.data to cv_<your-name>_<your-surname>.data
22 - edit it to describe your curriculum
23 - run ./populate.sh cv_<your-name>_<your-surname>
24 - at the end you will find
25 cv_<your-name>_<your-surname>.tex
26 cv_<your-name>_<your-surname>_eng.tex
27 cv_<your-name>_<your-surname>.htm
28 cv_<your-name>_<your-surname>_eng.htm
30 SUPPORTED FILE FORMATS
31 Currently html and latex are supported.
34 populate.sh havn't limitation but the europecv module (included in the texlive-latex-extra package)
35 have some language limitation.
38 UTF-8 is the only supported charset.
42 Definition: "#T_<tagname>#"
43 Description: Each simple tag will be substitute by the content of T_<tagname> variable for the main
44 language and of T_<tagname>_<lang> for the others languages; if the T_<tagname>_<lang>
45 is not defined the program fault-back to the T_<tagname> var.
48 Definition: "##T_<blkname>:start## ... ##T_<blkname>:stop##"
49 Description: Each block will be replaced by N occurences of itself with valorized tags (see below
50 for the policy to define N)
53 Definition: (start of a block) ... "#T_<tagname>_X#" ... (stop of a block)
54 Description: Each indexed row tag is substitute with the T_<blkname>_<tagname>_1 variable in the first line,
55 with the T_<blkname>_<tagname>_2 variable in the second and so on.
56 The number of blocks row (N) is defined by the index of the variable associated with
57 the first indexed row tag in the alphabetical order (in the group of index row tags
58 of the current block).
61 Definition: (start of a block) ... "#T_<tagname>#" ... (stop of a block)
62 Description: Each simple row tag is substitute with the T_<blkname>_<tagname> variable for each line
66 Definition: ..[#T_[#T_]]#T_<tagname>#[#[#]]..
67 Description: If a tag substitution produce a new tag this tag will be substitute with the relate var value.
68 Recursive tags can be found in or out blocks.