dokkit 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +15 -1
- data/LICENSE +673 -19
- data/README +32 -0
- data/Rakefile +59 -25
- data/bin/dokkit +48 -38
- data/lib/dokkit/#render_task_factory.rb# +94 -0
- data/lib/dokkit/app.rb +212 -257
- data/lib/dokkit/deplate/fmt/latex-notemplate.rb +3 -1
- data/lib/dokkit/dokkittasks.rb +45 -15
- data/lib/dokkit/filters/deplate.rb +11 -5
- data/lib/dokkit/hash.rb +41 -0
- data/lib/dokkit/models/Rakefile.tpl +9 -0
- data/lib/dokkit/models/share/builtin.rf +28 -0
- data/lib/dokkit/page.rb +161 -20
- data/lib/dokkit/render_task_factory.rb +91 -0
- data/lib/dokkit.rb +35 -42
- data/tests/data/output/simple_document/README +57 -0
- data/tests/data/output/simple_document/Rakefile +7 -0
- data/tests/data/output/simple_document/doc/config/simple_document.yaml +5 -0
- data/tests/data/output/simple_document/doc/pages/simple_document.dpl +12 -0
- data/{lib/dokkit/projects/website → tests/data/output/website_project}/Rakefile +2 -1
- data/tests/data/projects/simple-document/README +57 -0
- data/tests/data/projects/simple-document/Rakefile +22 -0
- data/tests/data/projects/simple-document/doc/config/author.yaml +4 -0
- data/tests/data/projects/simple-document/doc/config/model.yaml +18 -0
- data/tests/data/projects/simple-document/doc/config/simple_document.yaml +6 -0
- data/tests/data/projects/simple-document/doc/layouts/another_simple_document.html +8 -0
- data/tests/data/projects/simple-document/doc/layouts/another_simple_document.tex +10 -0
- data/tests/data/projects/simple-document/doc/layouts/layout_with_custom_name.html +8 -0
- data/tests/data/projects/simple-document/doc/layouts/semantic.cache +23 -0
- data/tests/data/projects/simple-document/doc/pages/COMMON.yaml +23 -0
- data/tests/data/projects/simple-document/doc/pages/another_simple_document.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/simple_document.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/simple_document_without_layout.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/subdir/COMMON.yaml +4 -0
- data/tests/data/projects/simple-document/doc/pages/subdir/simple_document_in_subdir.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/subdir/simple_document_in_subdir.yaml +3 -0
- data/tests/data/projects/simple-document/doc/pages/subdir/subdir/COMMON.yaml +2 -0
- data/tests/data/projects/simple-document/doc/pages/subdir/subdir/another_simple_document_in_subdir.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/yet_another_simple_document.dpl +12 -0
- data/tests/data/projects/simple-document/doc/pages/yet_another_simple_document.yaml +8 -0
- data/tests/spec_page.rb +25 -0
- data/tests/test.rb +2 -0
- data/tests/test_application.rb +40 -0
- data/tests/test_builtin_tasks.rb +37 -0
- data/tests/test_config.rb +108 -0
- data/tests/test_core.rb +12 -0
- data/tests/test_dokkit_commandline.rb +18 -0
- data/tests/test_exception.rb +7 -0
- data/tests/test_filters.rb +1 -1
- data/tests/test_layout.rb +64 -0
- data/tests/test_options.rb +33 -0
- data/tests/test_project_tasks.rb +48 -0
- data/tests/test_recursive_merge.rb +42 -0
- data/tests/test_task_factory.rb +38 -0
- metadata +138 -94
- data/Rakefile.old +0 -62
- data/lib/dokkit/builtin.rake +0 -55
- data/lib/dokkit/projects/invoice/Rakefile +0 -100
- data/lib/dokkit/projects/invoice/doc/config/company.yaml +0 -12
- data/lib/dokkit/projects/invoice/doc/config/customer.yaml +0 -4
- data/lib/dokkit/projects/invoice/doc/layouts/invoice.dpltex +0 -90
- data/lib/dokkit/projects/invoice/doc/pages/COMMON.rb +0 -12
- data/lib/dokkit/projects/invoice/doc/pages/invoice.rb +0 -5
- data/lib/dokkit/projects/invoice/doc/pages/invoice.yamltex +0 -16
- data/lib/dokkit/projects/invoice/doc/res/tex/deplate.sty +0 -46
- data/lib/dokkit/projects/invoice/doc/res/tex/images/logo.eps +0 -209
- data/lib/dokkit/projects/invoice/doc/res/tex/include/deplate.sty +0 -46
- data/lib/dokkit/projects/invoice/doc/res/tex/include/layout.inc +0 -24
- data/lib/dokkit/projects/invoice/doc/res/tex/include/macro.inc +0 -67
- data/lib/dokkit/projects/invoice/doc/res/tex/include/packages.inc +0 -51
- data/lib/dokkit/projects/invoice/lib/invoice.rb +0 -104
- data/lib/dokkit/projects/tech_report/README +0 -49
- data/lib/dokkit/projects/tech_report/Rakefile +0 -102
- data/lib/dokkit/projects/tech_report/doc/config/company.yaml +0 -13
- data/lib/dokkit/projects/tech_report/doc/config/tech_report.yaml +0 -3
- data/lib/dokkit/projects/tech_report/doc/layouts/report.dpltex +0 -40
- data/lib/dokkit/projects/tech_report/doc/pages/COMMON.rb +0 -12
- data/lib/dokkit/projects/tech_report/doc/pages/report.dpltex +0 -37
- data/lib/dokkit/projects/tech_report/doc/pages/report.inc +0 -2
- data/lib/dokkit/projects/tech_report/doc/pages/report.rb +0 -3
- data/lib/dokkit/projects/tech_report/doc/res/attachments/attachment_2 +0 -0
- data/lib/dokkit/projects/tech_report/doc/res/tex/images/logo.eps +0 -311
- data/lib/dokkit/projects/tech_report/doc/res/tex/include/deplate.sty +0 -46
- data/lib/dokkit/projects/tech_report/doc/res/tex/include/layout.inc +0 -24
- data/lib/dokkit/projects/tech_report/doc/res/tex/include/macro.inc +0 -67
- data/lib/dokkit/projects/tech_report/doc/res/tex/include/packages.inc +0 -48
- data/lib/dokkit/projects/tech_report/doc/res/tex/report.bib +0 -4
- data/lib/dokkit/projects/tech_report/lib/tech_report.rb +0 -17
- data/lib/dokkit/projects/website/README +0 -49
- /data/{lib/dokkit/projects/invoice → tests/data/output/website_project}/README +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/layouts/normal.thtml +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/COMMON.rb +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/deplate.dplhtml +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/index.rb +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/index.thtml +0 -0
- /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/res/images/rote-tiny.png +0 -0
- /data/{lib/dokkit/projects/tech_report/doc/res/attachments/attachment_1 → tests/pages/test.dpltex} +0 -0
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Shared code for all pages below this directory.
|
|
2
|
-
#
|
|
3
|
-
# This is executed for every file transformed, in the binding of
|
|
4
|
-
# the appropriate Rote::Page instance. Individual page sources
|
|
5
|
-
# ([pagename].rb) override anything defined here.
|
|
6
|
-
#
|
|
7
|
-
# Any COMMON.rb files found in directories above this will also
|
|
8
|
-
# be loaded.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# Apply the 'report' layout to all project's document
|
|
12
|
-
layout 'invoice.dpltex'
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
newcommand{customListPrefs}{setlength{parsep}{0cm}setlength{itemsep}{0cm}}
|
|
2
|
-
newenvironment{customList}{begin{list}{}{customListPrefs{}}}{end{list}}
|
|
3
|
-
newcommand{customItem}[2]{item[#1] #2}
|
|
4
|
-
|
|
5
|
-
newenvironment{tasklist}{begin{list}{}{customListPrefs{}}}{end{list}}
|
|
6
|
-
newcommand{task}[2]{item[textbf{#1}] #2}
|
|
7
|
-
|
|
8
|
-
definecolor{taskA}{rgb}{1,.5,.5}
|
|
9
|
-
definecolor{taskB}{rgb}{.5,1,.5}
|
|
10
|
-
definecolor{taskC}{rgb}{.5,.5,1}
|
|
11
|
-
definecolor{taskD}{rgb}{.5,1,1}
|
|
12
|
-
definecolor{taskE}{rgb}{1,.5,1}
|
|
13
|
-
definecolor{taskF}{rgb}{1,1,.5}
|
|
14
|
-
definecolor{taskdone}{rgb}{.5,.5,.5}
|
|
15
|
-
|
|
16
|
-
newcommand{taskdone}[1]{{footnotesizetextcolor{taskdone}{#1}}}
|
|
17
|
-
newcommand{taskA}[1]{colorbox{taskA}{#1}}
|
|
18
|
-
newcommand{taskB}[1]{colorbox{taskB}{#1}}
|
|
19
|
-
newcommand{taskC}[1]{colorbox{taskC}{#1}}
|
|
20
|
-
newcommand{taskD}[1]{colorbox{taskD}{#1}}
|
|
21
|
-
newcommand{taskE}[1]{colorbox{taskE}{#1}}
|
|
22
|
-
newcommand{taskF}[1]{colorbox{taskF}{#1}}
|
|
23
|
-
|
|
24
|
-
newcommand{emphStyle}{em}
|
|
25
|
-
newcommand{emphSpan}[1]{emph{#1}}
|
|
26
|
-
newcommand{boldSpan}[1]{textbf{#1}}
|
|
27
|
-
newcommand{remoteSpan}[1]{#1}
|
|
28
|
-
|
|
29
|
-
newenvironment{overlayBlock}{}{}
|
|
30
|
-
newenvironment{scriptsizeBlock}{scriptsize{}}{}
|
|
31
|
-
newenvironment{boxBlock}{}{}
|
|
32
|
-
newenvironment{footnotesizeBlock}{footnotesize{}}{}
|
|
33
|
-
newenvironment{smallBlock}{small{}}{}
|
|
34
|
-
newenvironment{landscapeBlock}{}{}
|
|
35
|
-
newenvironment{gridBlock}{}{}
|
|
36
|
-
newenvironment{formalBlock}{}{}
|
|
37
|
-
|
|
38
|
-
newenvironment{todoBlock}{}{}
|
|
39
|
-
|
|
40
|
-
newenvironment{bookBlock}{}{}
|
|
41
|
-
newenvironment{booksList}{begin{list}{}{customListPrefs{}}}{end{list}}
|
|
42
|
-
newcommand{booksItem}[2]{item[textbf{#1}] #2}
|
|
43
|
-
|
|
44
|
-
newenvironment{exampleBlock}{bfseries{}}{}
|
|
45
|
-
newenvironment{examplesList}{begin{list}{}{customListPrefs{}}}{end{list}}
|
|
46
|
-
newcommand{examplesItem}[2]{item[#1] #2}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
%!PS-Adobe-3.0 EPSF-3.0
|
|
2
|
-
%%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner
|
|
3
|
-
%%Title: logo_ufficiale.eps
|
|
4
|
-
%%CreationDate: Sat Jan 7 18:00:35 2006
|
|
5
|
-
%%DocumentData: Clean7Bit
|
|
6
|
-
%%LanguageLevel: 2
|
|
7
|
-
%%Pages: 1
|
|
8
|
-
%%BoundingBox: 14 14 94 43
|
|
9
|
-
%%EndComments
|
|
10
|
-
%%BeginProlog
|
|
11
|
-
% Use own dictionary to avoid conflicts
|
|
12
|
-
10 dict begin
|
|
13
|
-
%%EndProlog
|
|
14
|
-
%%Page: 1 1
|
|
15
|
-
% Translate for offset
|
|
16
|
-
14.173228346456694 14.173228346456694 translate
|
|
17
|
-
% Translate to begin of first scanline
|
|
18
|
-
0 28.346456692913389 translate
|
|
19
|
-
78.910406469461591 -28.346456692913389 scale
|
|
20
|
-
% Image geometry
|
|
21
|
-
103 37 8
|
|
22
|
-
% Transformation matrix
|
|
23
|
-
[ 103 0 0 37 0 0 ]
|
|
24
|
-
% Strings to hold RGB-samples per scanline
|
|
25
|
-
/rstr 103 string def
|
|
26
|
-
/gstr 103 string def
|
|
27
|
-
/bstr 103 string def
|
|
28
|
-
{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
|
|
29
|
-
{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
|
|
30
|
-
{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
|
|
31
|
-
true 3
|
|
32
|
-
%%BeginData: 7676 ASCII Bytes
|
|
33
|
-
colorimage
|
|
34
|
-
o)Ajlq""1WY5a"~>
|
|
35
|
-
o)Ajik0W,\Y5a"~>
|
|
36
|
-
o)AjghSRt:Y5a"~>
|
|
37
|
-
pAYR!jkSM=f\+s0f%/pYZN#F~>
|
|
38
|
-
pAYQpU4RN'FaeUUD/5d1ZN#F~>
|
|
39
|
-
pAYQlH;-=C-n[)%.PQ#,ZN#F~>
|
|
40
|
-
q#:otgt1HDj5T(Wi8<GKg=+UG[/YX~>
|
|
41
|
-
q#:oWJT-^CSXc.9Q'7;hIq<?M[/YX~>
|
|
42
|
-
q#:oH9e8S'8Oc'33]/TA+VcTT[/YX~>
|
|
43
|
-
qYpWqhqJ"h%--@,iS`VMh;$`5h#"P[J,~>
|
|
44
|
-
qYq9*Mh%OsUS=HSSXZ"3P)kQYK4f`)[f:j~>
|
|
45
|
-
qYq9'><>b_<)QLc845['1bU:&)\u'4[f:j~>
|
|
46
|
-
qu6`kf&?Pg%c,OYdG!R;hqm2EgY('K\,Us~>
|
|
47
|
-
qu7GfDj7,sVl$;F>utB^Q^!VmMhct4@,&0jJ,~>
|
|
48
|
-
qu7GW1.teT>?Y,t0/5":4ub;K-6F*;)U,\jJ,~>
|
|
49
|
-
r;RW(f&YuUjkeP(c1]]$^YIc)hVHuAg=asB\Gq'~>
|
|
50
|
-
r;RVZCo+,2Ukrn49AjFr)MaWBO,SmKJUCk>\Gq'~>
|
|
51
|
-
r;RVG/m2Lh?;<Ws7,MD[%6?R.0.8"`'FkeK\Gq'~>
|
|
52
|
-
rVlomf`("5d/L][^Y6X*]aE3Hi8<DIgXOd*j1,,>~>
|
|
53
|
-
rVm8bEi?";=VMM_)ga.8'+807P`^r^L2(RFRf9ktJ,~>
|
|
54
|
-
rVm&P2-aR"2#[g`&p>Q"$4A@J3&)m.*>g1^F8i`MJ,~>
|
|
55
|
-
rr30!fB)/Xc2PBV^AGSKd,Ep?hVHcR[Jta~>
|
|
56
|
-
rr3;qDPO569+qsR)#FsO=dbP<Nf%c'[Jta~>
|
|
57
|
-
rr3;k10@ss/IDgm%JpJ;.6opM/0u^Z[Jta~>
|
|
58
|
-
rr3tjj6#Ogh!!e`l/]mu]tD).iS`VMgsF[-f[\mY])R9~>
|
|
59
|
-
rr3s]T;ersKs-rP[%9/h'+bpgR[0+tLfJDEF`!$5])R9~>
|
|
60
|
-
rr3s(;dX*O;fQ>jF(-7!$4%"l69@"U,oA=.2CVc(])R9~>
|
|
61
|
-
s8O,,gZI\_l0@R"lg!`n`PB+!eDfHEhV?l?g=b*/ft.36~>
|
|
62
|
-
s8O+RKVtlRZF.3Q\@/`00HLc=BptBPO+i:@J:)W_H+O$+~>
|
|
63
|
-
s8O+84^;H1DfpASI!B[:)\<8^0ge&\/gVSW&dngD4M(QC~>
|
|
64
|
-
s8O"hjlYail0@U$m-Es!^qIFscf3p@hVHuAg=cJWqYpTm2uY?.L\^rM>lH8Sg[tLKm]VFT2>\p)
|
|
65
|
-
V#()kT`-JC0(8Z:J,~>
|
|
66
|
-
s8O*ZUo:B!Za[NY]=>8G*>9),;k',;O,SmJJ:)WdE;KS8qD\C)!/LCM!*oLS!8I/G"R`IL@5[p5
|
|
67
|
-
!2TJk!20<B!A<j;s*t~>
|
|
68
|
-
s8O)u<aB6OEd<.eJUDTQ&./aT-q$3V0.7q\&dngC/c,JJqD\C)!/LCM!*oLS!8I/G"R`IL@5[p5
|
|
69
|
-
!2TJk!20<B!A<j;s*t~>
|
|
70
|
-
+91``jlYail0I^'m-Erf]tM2<eDfHEhVHuAg=b*/g%t^KVYpJq'_hJ(!':)Z!7UZA!rdfWpAb2U
|
|
71
|
-
qu6]r/,]GJM>I7&~>
|
|
72
|
-
+90*-V5^Q#[(*c`]t(Of',)=IAso!LO,JgIJ:)T`H2@O@VYpJq'_hJ(!':)Z!7UZA!rdfWpAb2U
|
|
73
|
-
qu6]r/,]GJM>I7&~>
|
|
74
|
-
+9/#p='fHSFF/UrKRJ#3$47870ge)^/ghbZ&dngD4o50YVYpJq'_hJ(!':)Z!7UZA!rdfWpAb2U
|
|
75
|
-
qu6]r/,]GJM>I7&~>
|
|
76
|
-
+91-VjlYail0@U$lg*]L]tN%Yj5T"ShVHuAg=Y$+p\Omi4T#0ZTDJQf3rT*Ze+`kCr_N1e!0R0Y
|
|
77
|
-
!5A@2!?h=;s*t~>
|
|
78
|
-
+9-qaV5^Q#[(!WZ]==ja',,J^Sskt/O,JdHJ:)TNiVNQS4T#0ZTDJQf3rT*Ze+`kCr_N1e!0R0Y
|
|
79
|
-
!5A@2!?h=;s*t~>
|
|
80
|
-
+9,25='fHSF*`@hJ9u,H$48pn8jb]u/ghbZ&IJUOeGB1F4T#0ZTDJQf3rT*Ze+`kCr_N1e!0R0Y
|
|
81
|
-
!5A@2!?h=;s*t~>
|
|
82
|
-
#liW>jlYail0A96''dfV]trgkj5JqRhVHuAg"=m6qYpQBqZ$UQqYpOVrVurIp\t5Qr;Zm.:lY@<
|
|
83
|
-
!7LcE!)rap!3lA#J,~>
|
|
84
|
-
*rgJYUo:AuZF.3Q\@,EO'-a9HSXPk-Nf/[FIsZ6tqYpQBqZ$UQqYpOVrVurIp\t5Qr;Zm.:lY@<
|
|
85
|
-
!7LcE!)rap!3lA#J,~>
|
|
86
|
-
*reE"<aB6NE-?PTHZh7R$5-E:8O>Kq/LDPV&.&GMqYpQBqZ$UQqYpOVrVurIp\t5Qr;Zm.:lY@<
|
|
87
|
-
!7LcE!)rap!3lA#J,~>
|
|
88
|
-
#lWB8jQ5Oekir*3!94!k%`[Siio/hQhVHu@g"=mQqYp\0!!!d;rVur=qu6XWrVurIq#:Bg&cMb2
|
|
89
|
-
,M2Pe#ic$f!,Vc;!(?_aJ,~>
|
|
90
|
-
*r0iLUSk,oYd:aF[$_UA'/QDVS=#S(NJ`IBIsZ##qYp\0!!!d;rVur=qu6XWrVurIq#:Bg&cMb2
|
|
91
|
-
,M2Pe#ic$f!,Vc;!(?_aJ,~>
|
|
92
|
-
*qq<_<*NdDD/jZ@FC5I`$6)r=7mK'i.jQ,N%gXKHqYp\0!!!d;rVur=qu6XWrVurIq#:Bg&cMb2
|
|
93
|
-
,M2Pe#ic$f!,Vc;!(?_aJ,~>
|
|
94
|
-
%/&<6jQ5Oekih9qkf`t=%E@Jhio/hQh;$c=g",*Xrrqfu!!%#UrVuq&qu6XWrVurIq#:>lr;Zi8
|
|
95
|
-
o)B#E!!!2e70!;gfDPZ!~>
|
|
96
|
-
%,6'"U8=fhY->1:Yt4j-%5X`MS!TA$N/<7>IWL\Krrqfu!!%#UrVuq&qu6XWrVurIq#:>lr;Zi8
|
|
97
|
-
o)B#E!!!2e70!;gfDPZ!~>
|
|
98
|
-
%*L7r;HR78BP_R)DCb\n%3&/:6p3I_.3]]F%1$PArrqfu!!%#UrVuq&qu6XWrVurIq#:>lr;Zi8
|
|
99
|
-
o)B#E!!!2e70!;gfDPZ!~>
|
|
100
|
-
#41+(j5f=aroX=GiVgG!`8fk9i8<DIgtUQ9e,B.C!07$Y#1<Dt!!!8fr;QaXrVurIq#:>?rVusI
|
|
101
|
-
rq$-oq%s)3:B.<m!!$j5s*t~>
|
|
102
|
-
%(h._TVJB`X0&P-QkfT6%5+<DR?j"sMhct9I:`-KrrA)Y!!^jM-NF,OkktG\3rT*Ze+iqCHN!mF
|
|
103
|
-
./ri<#5K)9!)EQnrVuq7r;V9~>
|
|
104
|
-
%%K+F:/kD'@V0:e>7:E;%2_f05rphS-Qj9>$Q8R4rrA)Y!!^jM-NF,OkktG\3rT*Ze+iqCHN!mF
|
|
105
|
-
./ri<#5K)9!)EQnrVuq7r;V9~>
|
|
106
|
-
#3F_$j5f:_rT4+-rOiW^j5T%Uhqm2Eg=b-4qYpg!,ldp#s8RuU!!%ZLrr>+Z!!(LCrr?:&!!$^'
|
|
107
|
-
rrAqq!!f\,p_3].%eBSuJ,~>
|
|
108
|
-
$_rZMStVsWW2Zes?MtNG6(OI2P`Ul^L4au%Hi!aIr?VFD1B7B3rVuqNr;QaXrVurIq#:=urVuq3
|
|
109
|
-
o)A]erW!2+s7d9.!"SSus*t~>
|
|
110
|
-
$[t'(92JVk?!h#K2>mjj+A"p`2_cd-*>]7n6i-ffr?VFD1B7B3rVuqNr;QaXrVurIq#:=urVuq3
|
|
111
|
-
o)A]erW!2+s7d9.!"SSus*t~>
|
|
112
|
-
#3=Y"ioB+\rT+$urk/cUh;[DOhqm2EgY1?3l2(D[\,H@5P5kRG"TSNBqu-Np3rT*Ze+iqC48o3[
|
|
113
|
-
J+EUE3rf6qq>^J7rVuq_rVqB~>
|
|
114
|
-
$_<9FS=cLMV5C/g0E)Uo*/L)OQ'.2dLkL>-Dm9*<!4Vq-#a55fkQLqd*;f^7!':)Z!7U`C!'C/[
|
|
115
|
-
!.XS>#<Mnc(&@n0EW,q<Pl:W4~>
|
|
116
|
-
$[+Hp7nZZX='8^2)?'sP%R3?G3AW67+W;%(#a"o_!4Vq-#a55fkQLqd*;f^7!':)Z!7U`C!'C/[
|
|
117
|
-
!.XS>#<Mnc(&@n0EW,q<Pl:W4~>
|
|
118
|
-
#41+'iSrnXro=(;rk/fUh;[DOhqm2EgtUN7eb].B"AJjr#42?h!)idr!3?(u!':)Z!7U`C!$(t<
|
|
119
|
-
!1!0U!71WE!,ql:!7^uJ!@e$Is*t~>
|
|
120
|
-
$FtYQR[ftBTqeBJrY#bYM49ltPE:`[L4au'DX@6""AJjr#42?h!)idr!3?(u!':)Z!7U`C!$(t<
|
|
121
|
-
!1!0U!71WE!,ql:!7^uJ!@e$Is*t~>
|
|
122
|
-
$C`S06:ORB;,^FgrX',D5=@^s2(pC'*>]:p+m/Y$"AJjr#42?h!)idr!3?(u!':)Z!7U`C!$(t<
|
|
123
|
-
!1!0U!71WE!,ql:!7^uJ!@e$Is*t~>
|
|
124
|
-
#56[,iSieUro4"1rk/c[a2m2rhqm2EgY1?5fD>LMh?!ZW;uQ^r[Jg.+5Q1T^3rT*Ze+iqC(]FC7
|
|
125
|
-
Re-OZAGuQ/ci*kD3W9!Y]Dhh\~>
|
|
126
|
-
$Jf]eQ^O>6StDZtrY#_q2a*FiOH#-QKRnPtE;KS;h?!ZW;uQ^r[Jg.+5Q1T^3rT*Ze+iqC(]FC7
|
|
127
|
-
Re-OZAGuQ/ci*kD3W9!Y]Dhh\~>
|
|
128
|
-
$I'bS4[DM-8k_r=rX')N)&bOn0InFk)&!Ga0`(ePh?!ZW;uQ^r[Jg.+5Q1T^3rT*Ze+iqC(]FC7
|
|
129
|
-
Re-OZAGuQ/ci*kD3W9!Y]Dhh\~>
|
|
130
|
-
#6*-0i8ESQro*q)r4NKYhr!;HgtUQ9f[njRrr@6A!!")=2ZP]5!!(IHrr>:_!!(@?rr=PJ!!%WC
|
|
131
|
-
rrh`s!!!)u2ZO`p!!#gos*t~>
|
|
132
|
-
$N4Y$Pa7]*S"-!Qr"BGtP)tZ]LkUG1H['i4rr@6A!!")=2ZP]5!!(IHrr>:_!!(@?rr=PJ!!%WC
|
|
133
|
-
rrh`s!!!)u2ZO`p!!#gos*t~>
|
|
134
|
-
$Mto%3'9Dl6q0Wqr!EfK1b^F,+WD.,#m3Bfrr@6A!!")=2ZP]5!!(IHrr>:_!!(@?rr=PJ!!%WC
|
|
135
|
-
rrh`s!!!)u2ZO`p!!#gos*t~>
|
|
136
|
-
"97!0hu;R5i;h$u]aNKLhVHuAg=k64f&$<(!V[9"!!$X1rr?1#!!'h0rr>Rg!!$[(rrA&N!!<>]
|
|
137
|
-
s8RT~>
|
|
138
|
-
$NG(+Ocu&rQ^F.-r=]SRGE7`ALkUG1I!Kdkqu6]k'D)8)B)_f1=T/:#_"dp08,`JgBCu3(NV!2Q
|
|
139
|
-
"5s4ZJ,~>
|
|
140
|
-
$ND_21,_-T5!M:Qr!Ef]0.S@m*#9+o"Thd&rrMj-oDel'rr2t#rVur6q#:=arVuq2o`"oNoDesq
|
|
141
|
-
i;`h-~>
|
|
142
|
-
"9765hYuF3huL^o]aW*@h;-l@gY1?5f@AsZrrA\_!!E\us8R3?!!'"nrr@iR!!*r3pAY0l,kD!;
|
|
143
|
-
GQ7\n~>
|
|
144
|
-
$NGm;Nf]EfPa.Lbr=]T1Nf8jOKnFo(H?X;#qu6Ygo)Jn$n,NE0rVuqtq#:>LrVus9q"F^gr?Ut7
|
|
145
|
-
!dF\EJ,~>
|
|
146
|
-
$NF0T/MJt<2`Nf2r<`rO/L_th*#B4r#6=pMqu6Ygo)Jn$n,NE0rVuqtq#:>LrVus9q"F^gr?Ut7
|
|
147
|
-
!dF\EJ,~>
|
|
148
|
-
"98&Fh>Z:1hZ1Ik]`?%Nh$Mlkg=k64f@SO;qu6XQrVuq1qIopUrW!%\s8S5\!!,Cbq>UKL!WE'!
|
|
149
|
-
EVBD4\,H@-/c'/]>Q+U('_hWX~>
|
|
150
|
-
$NJh!MiEaYOHGYHrY#_pM2R4GKnFo(H['aLZhsb&2#[ITB)63A-2mlHNrT-ArVusbrqZQpg&_0Q
|
|
151
|
-
!-.`4!4Vq-!%n%]!*fF&!YkD/J,~>
|
|
152
|
-
$NJ9l-Rp]$0etKnrX')I.46>^)]'+r#Qb#0Oo,.Y2#[ITB)63A-2mlHNrT-ArVusbrqZQpg&_0Q
|
|
153
|
-
!-.`4!4Vq-!%n%]!*fF&!YkD/J,~>
|
|
154
|
-
s8N,Ph#?./h@.66]trIZgt^Z<g=b-Xf)aCgr;Qc<rVupUq>UGfrW!'HrVu$krW!$GXk*.Co`G-m
|
|
155
|
-
=oA=%7@)!kbQ@&/9`>"lZ24J$rZqIC!MBCB~>
|
|
156
|
-
s8NsXLPh"KNK&r@',)XDM26n>Jq/8rG^"@E^\n*3aSl/>2>R7PT`+oo,lRc+&,lP2,d#YirUg6k
|
|
157
|
-
s&o:#!_&Eqqof-+s%NCl!3uD#!WFAD!!/_lJ,~>
|
|
158
|
-
s8Nrr+XAEa.P!%[$477g,U"0H((gu]!s&E*TD\]haSl/>2>R7PT`+oo,lRc+&,lP2,d#YirUg6k
|
|
159
|
-
s&o:#!_&Eqqof-+s%NCl!3uD#!WFAD!!/_lJ,~>
|
|
160
|
-
s8N,ieGe8&h$_'4]uJj_gY:H8g"?8T!S$B3rr?@(!!&5YrrMa$rW!&/s8S/R!!D?_koo^"#*IaD
|
|
161
|
-
!!!c1q>UGKrVusTs*t~>
|
|
162
|
-
s8NeXC57V%M2I08',*9ZL4t82IslWfrc\BYZMa_&?2ag(PPP4ZoF:d""1J70O7iPUjo=Qgo`,2Y
|
|
163
|
-
h?!ZW(&Ib+!/:CP!Ajb+~>
|
|
164
|
-
s8NeB'cnJA,UF`H$47@f*?#_.&.AdGrW*$%OSo+Y?2ag(PPP4ZoF:d""1J70O7iPUjo=Qgo`,2Y
|
|
165
|
-
h?!ZW(&Ib+!/:CP!Ajb+~>
|
|
166
|
-
rr3)Tg"Y9\g^:p3]t`=Vg=k64f_j>%e`6W."mQ<m!!_carr?R.!!Q!ps8.9Kp](HYs8V"'p&G,U
|
|
167
|
-
FoD@@Dts>5irf8\!60N~>
|
|
168
|
-
rr3RXHA%!,L5.)h',uUWJUi2sHMhsfDk$_*"mQ<m!!_carr?R.!!Q!ps8.9Kp](HYs8V"'p&G,U
|
|
169
|
-
FoD@@Dts>5irf8\!60N~>
|
|
170
|
-
rr3U"()e/5*Zbat$4@^f'G1f^"p4`(!<[6<rrqZm!!!5hq#:>(rW!*os8VtG"S_s"jo>A=-2%<>
|
|
171
|
-
O`gX'!,qZ4!TO:]!!(#h~>
|
|
172
|
-
rr36%f@\g2gY9XF]`?L[g&K_%f)aIYrVlkQrVupqp\t64rVus#g]%3ThcMZMqZ$WXrVlu/9.'i<
|
|
173
|
-
!!/#lrVurCp\t4arVuq&J,~>
|
|
174
|
-
rr36!DL6teK7bWP'*VorIXHKfqf`'_LAh,PL].8R;>:(j`Voi<!o*_S"5d3:(Ae(3jo,2][nA(N
|
|
175
|
-
q>^PT'E.t3c1h5<8H&Sh>CZ~>
|
|
176
|
-
rr35t0,#':(DmV\$3_"Q%LWOFqZ-^!:]::nL].8R;>:(j`Voi<!o*_S"5d3:(Ae(3jo,2][nA(N
|
|
177
|
-
q>^PT'E.t3c1h5<8H&Sh>CZ~>
|
|
178
|
-
rVm*"eC`I.g;O!(#f+m>f?qphd+&$G!8IJP!:KjK!;#parT4+RqYpQpr8n"Wq>UHXqrRnJrT<hR
|
|
179
|
-
!:p-O!9o"~>
|
|
180
|
-
rVlrmB6jK+!&"6a#TdJrG@=TN?#9La!HrqjrrDKdjoG#Hs8D'[pA4dhrqtmYr;$?mkPOBAnGVMC
|
|
181
|
-
rrDWhjoFXr~>
|
|
182
|
-
rVm)n,7b=t&IeRE!=/l."9AT+r;cmdrVllcroO4PpAb*R!;?9h!<2oY!;uZm!9a7A!:]sLpAY-`
|
|
183
|
-
roO4FJ,~>
|
|
184
|
-
r;QrseCW@*`q@"J`RNMfm'cqE~>
|
|
185
|
-
r;QrfA9`KL3;!pf0Pu#C]=.`i~>
|
|
186
|
-
r;QiZ+UR]H":"u/$CeL(J,~>
|
|
187
|
-
qu6ipeC3$e^@f/B^<-!Fo!eXL~>
|
|
188
|
-
qu6l^AS639()6HU";a;Oq9c\OJ,~>
|
|
189
|
-
qu6fP-3jVYo*PR3_thWfs*t~>
|
|
190
|
-
q>UTR_7d_$oXtIJ^uk@jr:@Q#J,~>
|
|
191
|
-
q>USR+;6(DoFhE_*2_Zop=6eTJ,~>
|
|
192
|
-
q>US6%13@IoEkdN'VjRcp!gVRJ,~>
|
|
193
|
-
rVm$!r;"j[pq6dD`65pn]`l=Jp&Fs[]DmB~>
|
|
194
|
-
rVm#ro]fs8p_*`H01QoX'*ToHg]-ok]DmB~>
|
|
195
|
-
rVm#qoBBU)pBgs,"UY)6"XE$\s7=IHs*t~>
|
|
196
|
-
rVlujl,gsD]b8*%a2ZBPf%AX,d`&r7c/\fhkILVC~>
|
|
197
|
-
rVluHYWk#D'+u3J2Dn3<Df^)A?nrH59:GdgWk&.[~>
|
|
198
|
-
rVluFXZ.s3$5*pu()@c2.l'(E:+H__7$dbYVn)hX~>
|
|
199
|
-
qu6lnlJ^FIkj.sB!S@;LrrMc_\c70~>
|
|
200
|
-
qu6lTZB]]QXg[s'!H@l6rrLd"\c70~>
|
|
201
|
-
qu6lSYE<p?WO)<u!G_E/rrL`t\c70~>
|
|
202
|
-
q#CBnV>l&~>
|
|
203
|
-
q#:Bmqka=C~>
|
|
204
|
-
q#:Bmqka=C~>
|
|
205
|
-
%%EndData
|
|
206
|
-
showpage
|
|
207
|
-
%%Trailer
|
|
208
|
-
end
|
|
209
|
-
%%EOF
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
\newcommand{\customListPrefs}{\setlength{\parsep}{0cm}\setlength{\itemsep}{0cm}}
|
|
2
|
-
\newenvironment{customList}{\begin{list}{}{\customListPrefs{}}}{\end{list}}
|
|
3
|
-
\newcommand{\customItem}[2]{\item[#1] #2}
|
|
4
|
-
|
|
5
|
-
\newenvironment{tasklist}{\begin{list}{}{\customListPrefs{}}}{\end{list}}
|
|
6
|
-
\newcommand{\task}[2]{\item[\textbf{#1}] #2}
|
|
7
|
-
|
|
8
|
-
\definecolor{taskA}{rgb}{1,.5,.5}
|
|
9
|
-
\definecolor{taskB}{rgb}{.5,1,.5}
|
|
10
|
-
\definecolor{taskC}{rgb}{.5,.5,1}
|
|
11
|
-
\definecolor{taskD}{rgb}{.5,1,1}
|
|
12
|
-
\definecolor{taskE}{rgb}{1,.5,1}
|
|
13
|
-
\definecolor{taskF}{rgb}{1,1,.5}
|
|
14
|
-
\definecolor{taskdone}{rgb}{.5,.5,.5}
|
|
15
|
-
|
|
16
|
-
\newcommand{\taskdone}[1]{{\footnotesize\textcolor{taskdone}{#1}}}
|
|
17
|
-
\newcommand{\taskA}[1]{\colorbox{taskA}{#1}}
|
|
18
|
-
\newcommand{\taskB}[1]{\colorbox{taskB}{#1}}
|
|
19
|
-
\newcommand{\taskC}[1]{\colorbox{taskC}{#1}}
|
|
20
|
-
\newcommand{\taskD}[1]{\colorbox{taskD}{#1}}
|
|
21
|
-
\newcommand{\taskE}[1]{\colorbox{taskE}{#1}}
|
|
22
|
-
\newcommand{\taskF}[1]{\colorbox{taskF}{#1}}
|
|
23
|
-
|
|
24
|
-
\newcommand{\emphStyle}{\em}
|
|
25
|
-
\newcommand{\emphSpan}[1]{\emph{#1}}
|
|
26
|
-
\newcommand{\boldSpan}[1]{\textbf{#1}}
|
|
27
|
-
\newcommand{\remoteSpan}[1]{#1}
|
|
28
|
-
|
|
29
|
-
\newenvironment{overlayBlock}{}{}
|
|
30
|
-
\newenvironment{scriptsizeBlock}{\scriptsize{}}{}
|
|
31
|
-
\newenvironment{boxBlock}{}{}
|
|
32
|
-
\newenvironment{footnotesizeBlock}{\footnotesize{}}{}
|
|
33
|
-
\newenvironment{smallBlock}{\small{}}{}
|
|
34
|
-
\newenvironment{landscapeBlock}{}{}
|
|
35
|
-
\newenvironment{gridBlock}{}{}
|
|
36
|
-
\newenvironment{formalBlock}{}{}
|
|
37
|
-
|
|
38
|
-
\newenvironment{todoBlock}{}{}
|
|
39
|
-
|
|
40
|
-
\newenvironment{bookBlock}{}{}
|
|
41
|
-
\newenvironment{booksList}{\begin{list}{}{\customListPrefs{}}}{\end{list}}
|
|
42
|
-
\newcommand{\booksItem}[2]{\item[\textbf{#1}] #2}
|
|
43
|
-
|
|
44
|
-
\newenvironment{exampleBlock}{\bfseries{}}{}
|
|
45
|
-
\newenvironment{examplesList}{\begin{list}{}{\customListPrefs{}}}{\end{list}}
|
|
46
|
-
\newcommand{\examplesItem}[2]{\item[#1] #2}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
% Layout
|
|
2
|
-
|
|
3
|
-
\newcommand{\layout}[1][]{
|
|
4
|
-
\geometry{
|
|
5
|
-
left=2cm,
|
|
6
|
-
right=2cm,
|
|
7
|
-
top=2cm,
|
|
8
|
-
bottom=1.7cm,
|
|
9
|
-
headheight=1cm,
|
|
10
|
-
headsep=1cm,
|
|
11
|
-
footskip=1cm,
|
|
12
|
-
includeheadfoot}
|
|
13
|
-
\pagestyle{fancy}
|
|
14
|
-
\fancyhead{}
|
|
15
|
-
\fancyfoot{}
|
|
16
|
-
\lhead{\includegraphics[height=1cm]{images/logo.eps}}
|
|
17
|
-
%\chead{}
|
|
18
|
-
%\rhead{\fontfamily{cmss}\large\textbf{#1}\vspace*{\stretch{1}}\normalsize~\textit{(pag. \thepage\ di \pageref{LastPage})}\vspace*{\stretch{1}}}
|
|
19
|
-
\rhead{\fontfamily{cmss}\large\textbf{#1}\vspace*{\stretch{1}}\normalsize}
|
|
20
|
-
%\cfoot{\fontfamily{cmss}\footnotesize\textbf{Company} $\star$ \textbf{Location} $\star$ \textbf{Tel.} \\\textbf{Fax} $\star$ \textbf{e-mail} $\star$ \textbf{web} $\star$ \normalsize}
|
|
21
|
-
\lfoot{\fontfamily{cmss}\scriptsize\textbf{<%= @company %>} $\star$ \textbf{Location} $\star$ \textbf{Tel.} \\\textbf{Fax} $\star$ \textbf{e-mail} $\star$ \textbf{web} $\star$ \normalsize}
|
|
22
|
-
\rfoot{\fontfamily{cmss}\textit{pag. \thepage\ / \pageref{LastPage}}}
|
|
23
|
-
\renewcommand{\footrulewidth}{0.4pt}
|
|
24
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
% macro.inc
|
|
2
|
-
% ----------
|
|
3
|
-
%
|
|
4
|
-
% Copyright (C)2005 Alca Coop. a r. l.
|
|
5
|
-
%
|
|
6
|
-
% This program is free software; you can redistribute it and/or modify
|
|
7
|
-
% it under the terms of the GNU General Public License as published by
|
|
8
|
-
% the Free Software Foundation; either version 2 of the License, or
|
|
9
|
-
% (at your option) any later version.
|
|
10
|
-
%
|
|
11
|
-
% This program is distributed in the hope that it will be useful,
|
|
12
|
-
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
% GNU General Public License for more details.
|
|
15
|
-
%
|
|
16
|
-
% You should have received a copy of the GNU General Public License
|
|
17
|
-
% along with this program; if not, write to the Free Software
|
|
18
|
-
% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
19
|
-
%
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
% ENVIRONMENT
|
|
23
|
-
% -----------------------------------------------------------------------------
|
|
24
|
-
|
|
25
|
-
% checkboxize
|
|
26
|
-
% ------------
|
|
27
|
-
% Ambiente per creare elenchi con checkbox (ad esempio per i test di valutazione)
|
|
28
|
-
%
|
|
29
|
-
\newenvironment{checkboxize}{\renewcommand{\labelitemi}{\(\Box\)}\begin{itemize}}{\end{itemize}}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
% COMANDI
|
|
33
|
-
% -----------------------------------------------------------------------------
|
|
34
|
-
|
|
35
|
-
% \firma[lunghezza]{firmatario}
|
|
36
|
-
% -------------------
|
|
37
|
-
% Argomenti:
|
|
38
|
-
% - lunghezza (opzionale, default 7cm)
|
|
39
|
-
% - firmatario: ci� che va scritto sopra la linea orizzontale
|
|
40
|
-
%
|
|
41
|
-
\newcommand{\firma}[2][7cm]{\begin{minipage}{#1}\begin{center}{#2}\\\vspace{1cm}\rule{\textwidth}{0.1mm}\end{center}\end{minipage}}
|
|
42
|
-
|
|
43
|
-
% \luogoedata[luogo]
|
|
44
|
-
% -------------------
|
|
45
|
-
% Argomenti:
|
|
46
|
-
% - luogo (opzionale, default linea orizz. di 4 cm)
|
|
47
|
-
%
|
|
48
|
-
\newcommand{\luogoedata}[1][\rule{4cm}{0.1mm}]{{#1}, l� \rule{0.6cm}{0.1mm}/\rule{0.6cm}{0.1mm}/200\rule{0.3cm}{0.1mm}}
|
|
49
|
-
|
|
50
|
-
% \textbox[lunghezza]{testo}
|
|
51
|
-
% --------------------
|
|
52
|
-
% Argomenti:
|
|
53
|
-
% - lunghezza (opzionale, default 7cm)
|
|
54
|
-
% - testo
|
|
55
|
-
%
|
|
56
|
-
\newcommand{\textbox}[2][7cm]{{#2}~\rule{#1}{0.1mm}}
|
|
57
|
-
|
|
58
|
-
% \oggetto{oggetto}
|
|
59
|
-
% ------------------
|
|
60
|
-
% Argomenti:
|
|
61
|
-
% - oggetto: l'oggetto...
|
|
62
|
-
%
|
|
63
|
-
\newcommand{\oggetto}[1]{\noindent\textbf{\underline{OGGETTO: {#1}.}}}
|
|
64
|
-
|
|
65
|
-
% ALTRO
|
|
66
|
-
% -----------------------------------------------------------------------------
|
|
67
|
-
\definecolor{gray50}{gray}{.5}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
% Packages
|
|
2
|
-
% -----------------------------------------------------------------------------
|
|
3
|
-
|
|
4
|
-
% http://www.tug.org/tex-archive/info/italian/fancyhdr/itfancyhdr.pdf
|
|
5
|
-
%
|
|
6
|
-
\usepackage{fancyhdr}
|
|
7
|
-
|
|
8
|
-
% A nice font
|
|
9
|
-
%
|
|
10
|
-
\usepackage{palatino}
|
|
11
|
-
|
|
12
|
-
\usepackage{setspace}
|
|
13
|
-
|
|
14
|
-
% http://www.tug.org/teTeX/tetex-texmfdist/doc/latex/geometry/geometry.pdf
|
|
15
|
-
%
|
|
16
|
-
\usepackage{geometry}
|
|
17
|
-
|
|
18
|
-
% http://www.comp.leeds.ac.uk/andyr/misc/latex/latextutorial4.html
|
|
19
|
-
%
|
|
20
|
-
\usepackage{multirow}
|
|
21
|
-
|
|
22
|
-
% Symbols
|
|
23
|
-
%
|
|
24
|
-
\usepackage{latexsym}
|
|
25
|
-
|
|
26
|
-
\usepackage{lastpage}
|
|
27
|
-
|
|
28
|
-
% http://www.ctan.org/tex-archive/macros/latex/required/graphics/grfguide.ps
|
|
29
|
-
%
|
|
30
|
-
\usepackage{color}
|
|
31
|
-
|
|
32
|
-
\usepackage{longtable}
|
|
33
|
-
|
|
34
|
-
% http://www.linux.it/~salve/TeX-FAQ/TeX-FAQ-tex.html
|
|
35
|
-
%
|
|
36
|
-
\usepackage{graphicx}
|
|
37
|
-
|
|
38
|
-
% Euro symbol
|
|
39
|
-
%
|
|
40
|
-
\usepackage{eurosym}
|
|
41
|
-
|
|
42
|
-
\usepackage{array}
|
|
43
|
-
|
|
44
|
-
% compatibility packages for deplate
|
|
45
|
-
\usepackage{hyperref}
|
|
46
|
-
\usepackage[square,numbers,sort,super]{natbib}
|
|
47
|
-
|
|
48
|
-
\usepackage[italian]{babel}
|
|
49
|
-
\usepackage[latin1]{inputenc}
|
|
50
|
-
|
|
51
|
-
% -----------------------------------------------------------------------------
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#--
|
|
2
|
-
# Invoice class for Dokkit
|
|
3
|
-
# (c)2006 Andrea Fazzi (and contributors)
|
|
4
|
-
#
|
|
5
|
-
# See 'dokkit.rb' or LICENSE for licence information.
|
|
6
|
-
#++
|
|
7
|
-
|
|
8
|
-
require 'rote'
|
|
9
|
-
require 'rote/format'
|
|
10
|
-
require 'dokkit/page'
|
|
11
|
-
|
|
12
|
-
module Rote
|
|
13
|
-
|
|
14
|
-
class Page
|
|
15
|
-
|
|
16
|
-
alias old_initialize initialize
|
|
17
|
-
|
|
18
|
-
def initialize(template_name, pages_dir = '.', layout_dir = pages_dir, config_dir = pages_dir, &block)
|
|
19
|
-
|
|
20
|
-
invoice = YAML::load( File.open(template_name) )
|
|
21
|
-
|
|
22
|
-
@services = invoice['services']
|
|
23
|
-
|
|
24
|
-
@id = invoice['invoice']['id']
|
|
25
|
-
@vat = invoice['invoice']['vat']
|
|
26
|
-
@date = invoice['invoice']['date'] || today
|
|
27
|
-
|
|
28
|
-
@basic_price = 0
|
|
29
|
-
@total_price = 0
|
|
30
|
-
@vat_price = 0
|
|
31
|
-
|
|
32
|
-
old_initialize(template_name, pages_dir, layout_dir, config_dir, &block)
|
|
33
|
-
calc_prices
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def do_render!
|
|
37
|
-
# Render the page content into the @content_for_layout
|
|
38
|
-
unless @template_text.nil?
|
|
39
|
-
render_services_tex
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# FIXME: Quick fix for incorrect COMMON.rb layout nesting.
|
|
43
|
-
# All we do here is reset the layout to be the last layout
|
|
44
|
-
# added.
|
|
45
|
-
#
|
|
46
|
-
# If it turns out that the ability to nest from COMMON/page
|
|
47
|
-
# really is useless, we should remove the layout queue entirely,
|
|
48
|
-
# and then just have the render layout loop run until
|
|
49
|
-
# layout at end == layout at start.
|
|
50
|
-
@layout_names = [@layout_names.last] unless layout_names.empty?
|
|
51
|
-
|
|
52
|
-
# Do layout _after_ page eval. As we go through this, the layouts
|
|
53
|
-
# we load may add to the end of the layout names array, so nested
|
|
54
|
-
# layout is supported by just chasing the end of the array until
|
|
55
|
-
# it's empty. The process is basically
|
|
56
|
-
#
|
|
57
|
-
# Page is loaded, calls 'layout' with it's layout.
|
|
58
|
-
# During render, that fn is taken, and loaded. Layout code
|
|
59
|
-
# again calls 'layout'.
|
|
60
|
-
# On next loop iteration, that new filename is loaded, and it's
|
|
61
|
-
# code is executed ... and so on.
|
|
62
|
-
#
|
|
63
|
-
# Each loop puts the result into @content_for_layout, so that
|
|
64
|
-
# nested layouts can work just the same as regular.
|
|
65
|
-
@layout_names.each do |fn|
|
|
66
|
-
txt = load_layout(fn)
|
|
67
|
-
|
|
68
|
-
@layout_text ||= txt # legacy support vv0.3.2 v-0.4
|
|
69
|
-
|
|
70
|
-
# render into the layout if supplied.
|
|
71
|
-
if txt
|
|
72
|
-
erb = ERB.new(txt)
|
|
73
|
-
erb.filename = fn
|
|
74
|
-
@content_for_layout = erb.result(binding)
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
@result = render_post_filters(@content_for_layout)
|
|
79
|
-
freeze
|
|
80
|
-
|
|
81
|
-
@result
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
private
|
|
85
|
-
|
|
86
|
-
def calc_prices
|
|
87
|
-
@services.each { |service| @basic_price += service['service']['quantity'] * service['service']['price'] }
|
|
88
|
-
@vat_price = @basic_price / 100 * @vat
|
|
89
|
-
@total_price = @basic_price + @vat_price
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def today
|
|
93
|
-
"#{Date.today.day}.#{Date.today.month}.#{Date.today.year}"
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
def render_services_tex
|
|
97
|
-
@content_for_layout = ""
|
|
98
|
-
@services.each do |service|
|
|
99
|
-
@content_for_layout += "#{ render_page_filters(service['service']['description'].to_s)} & #{service['service']['quantity']} & #{service['service']['price']} & #{service['service']['price'] * service['service']['quantity']}\\\\ \\hline "
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
end
|
|
104
|
-
end
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
This is the auto-generated Rote documentation source.
|
|
2
|
-
|
|
3
|
-
To render it using Rote's command-line wrapper (ignoring the included
|
|
4
|
-
Rakefile), type:
|
|
5
|
-
|
|
6
|
-
rote doc
|
|
7
|
-
|
|
8
|
-
from the top-level directory (this one).
|
|
9
|
-
|
|
10
|
-
To render using the included Rakefile (the result is the same in either
|
|
11
|
-
case) type instead:
|
|
12
|
-
|
|
13
|
-
rake doc
|
|
14
|
-
|
|
15
|
-
If you prefer, you can omit the 'doc' task, since it is configured
|
|
16
|
-
as the default.
|
|
17
|
-
|
|
18
|
-
In either case, you should see some output as the pages are rendered
|
|
19
|
-
and resources copied, and get output in a (created) 'html' directory.
|
|
20
|
-
Once you have rendered the site, running the command again will appear
|
|
21
|
-
to do nothing, because only changed resources are re-rendered. To
|
|
22
|
-
start over:
|
|
23
|
-
|
|
24
|
-
(rote|rake) clobber
|
|
25
|
-
|
|
26
|
-
Alternatively, modify the page or resource files, and rerun the first
|
|
27
|
-
command to transform only the modified resource.
|
|
28
|
-
|
|
29
|
-
WHAT NEXT?
|
|
30
|
-
|
|
31
|
-
+ See what else you can do by typing:
|
|
32
|
-
|
|
33
|
-
(rote|rake) --tasks
|
|
34
|
-
|
|
35
|
-
rote --usage ( with the command-line wrapper )
|
|
36
|
-
|
|
37
|
-
+ Modify the included page template and layout to suit your needs.
|
|
38
|
-
|
|
39
|
-
+ Edit the included Rakefile to add or change tasks, or delete it
|
|
40
|
-
if you're sticking with the command-line wrapper.
|
|
41
|
-
|
|
42
|
-
+ Add more pages and layouts.
|
|
43
|
-
|
|
44
|
-
+ Start Rote in monitor mode, and have your changes rendered as
|
|
45
|
-
you work:
|
|
46
|
-
|
|
47
|
-
(rote|rake) doc_monitor
|
|
48
|
-
|
|
49
|
-
|