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.
Files changed (98) hide show
  1. data/CHANGES +15 -1
  2. data/LICENSE +673 -19
  3. data/README +32 -0
  4. data/Rakefile +59 -25
  5. data/bin/dokkit +48 -38
  6. data/lib/dokkit/#render_task_factory.rb# +94 -0
  7. data/lib/dokkit/app.rb +212 -257
  8. data/lib/dokkit/deplate/fmt/latex-notemplate.rb +3 -1
  9. data/lib/dokkit/dokkittasks.rb +45 -15
  10. data/lib/dokkit/filters/deplate.rb +11 -5
  11. data/lib/dokkit/hash.rb +41 -0
  12. data/lib/dokkit/models/Rakefile.tpl +9 -0
  13. data/lib/dokkit/models/share/builtin.rf +28 -0
  14. data/lib/dokkit/page.rb +161 -20
  15. data/lib/dokkit/render_task_factory.rb +91 -0
  16. data/lib/dokkit.rb +35 -42
  17. data/tests/data/output/simple_document/README +57 -0
  18. data/tests/data/output/simple_document/Rakefile +7 -0
  19. data/tests/data/output/simple_document/doc/config/simple_document.yaml +5 -0
  20. data/tests/data/output/simple_document/doc/pages/simple_document.dpl +12 -0
  21. data/{lib/dokkit/projects/website → tests/data/output/website_project}/Rakefile +2 -1
  22. data/tests/data/projects/simple-document/README +57 -0
  23. data/tests/data/projects/simple-document/Rakefile +22 -0
  24. data/tests/data/projects/simple-document/doc/config/author.yaml +4 -0
  25. data/tests/data/projects/simple-document/doc/config/model.yaml +18 -0
  26. data/tests/data/projects/simple-document/doc/config/simple_document.yaml +6 -0
  27. data/tests/data/projects/simple-document/doc/layouts/another_simple_document.html +8 -0
  28. data/tests/data/projects/simple-document/doc/layouts/another_simple_document.tex +10 -0
  29. data/tests/data/projects/simple-document/doc/layouts/layout_with_custom_name.html +8 -0
  30. data/tests/data/projects/simple-document/doc/layouts/semantic.cache +23 -0
  31. data/tests/data/projects/simple-document/doc/pages/COMMON.yaml +23 -0
  32. data/tests/data/projects/simple-document/doc/pages/another_simple_document.dpl +12 -0
  33. data/tests/data/projects/simple-document/doc/pages/simple_document.dpl +12 -0
  34. data/tests/data/projects/simple-document/doc/pages/simple_document_without_layout.dpl +12 -0
  35. data/tests/data/projects/simple-document/doc/pages/subdir/COMMON.yaml +4 -0
  36. data/tests/data/projects/simple-document/doc/pages/subdir/simple_document_in_subdir.dpl +12 -0
  37. data/tests/data/projects/simple-document/doc/pages/subdir/simple_document_in_subdir.yaml +3 -0
  38. data/tests/data/projects/simple-document/doc/pages/subdir/subdir/COMMON.yaml +2 -0
  39. data/tests/data/projects/simple-document/doc/pages/subdir/subdir/another_simple_document_in_subdir.dpl +12 -0
  40. data/tests/data/projects/simple-document/doc/pages/yet_another_simple_document.dpl +12 -0
  41. data/tests/data/projects/simple-document/doc/pages/yet_another_simple_document.yaml +8 -0
  42. data/tests/spec_page.rb +25 -0
  43. data/tests/test.rb +2 -0
  44. data/tests/test_application.rb +40 -0
  45. data/tests/test_builtin_tasks.rb +37 -0
  46. data/tests/test_config.rb +108 -0
  47. data/tests/test_core.rb +12 -0
  48. data/tests/test_dokkit_commandline.rb +18 -0
  49. data/tests/test_exception.rb +7 -0
  50. data/tests/test_filters.rb +1 -1
  51. data/tests/test_layout.rb +64 -0
  52. data/tests/test_options.rb +33 -0
  53. data/tests/test_project_tasks.rb +48 -0
  54. data/tests/test_recursive_merge.rb +42 -0
  55. data/tests/test_task_factory.rb +38 -0
  56. metadata +138 -94
  57. data/Rakefile.old +0 -62
  58. data/lib/dokkit/builtin.rake +0 -55
  59. data/lib/dokkit/projects/invoice/Rakefile +0 -100
  60. data/lib/dokkit/projects/invoice/doc/config/company.yaml +0 -12
  61. data/lib/dokkit/projects/invoice/doc/config/customer.yaml +0 -4
  62. data/lib/dokkit/projects/invoice/doc/layouts/invoice.dpltex +0 -90
  63. data/lib/dokkit/projects/invoice/doc/pages/COMMON.rb +0 -12
  64. data/lib/dokkit/projects/invoice/doc/pages/invoice.rb +0 -5
  65. data/lib/dokkit/projects/invoice/doc/pages/invoice.yamltex +0 -16
  66. data/lib/dokkit/projects/invoice/doc/res/tex/deplate.sty +0 -46
  67. data/lib/dokkit/projects/invoice/doc/res/tex/images/logo.eps +0 -209
  68. data/lib/dokkit/projects/invoice/doc/res/tex/include/deplate.sty +0 -46
  69. data/lib/dokkit/projects/invoice/doc/res/tex/include/layout.inc +0 -24
  70. data/lib/dokkit/projects/invoice/doc/res/tex/include/macro.inc +0 -67
  71. data/lib/dokkit/projects/invoice/doc/res/tex/include/packages.inc +0 -51
  72. data/lib/dokkit/projects/invoice/lib/invoice.rb +0 -104
  73. data/lib/dokkit/projects/tech_report/README +0 -49
  74. data/lib/dokkit/projects/tech_report/Rakefile +0 -102
  75. data/lib/dokkit/projects/tech_report/doc/config/company.yaml +0 -13
  76. data/lib/dokkit/projects/tech_report/doc/config/tech_report.yaml +0 -3
  77. data/lib/dokkit/projects/tech_report/doc/layouts/report.dpltex +0 -40
  78. data/lib/dokkit/projects/tech_report/doc/pages/COMMON.rb +0 -12
  79. data/lib/dokkit/projects/tech_report/doc/pages/report.dpltex +0 -37
  80. data/lib/dokkit/projects/tech_report/doc/pages/report.inc +0 -2
  81. data/lib/dokkit/projects/tech_report/doc/pages/report.rb +0 -3
  82. data/lib/dokkit/projects/tech_report/doc/res/attachments/attachment_2 +0 -0
  83. data/lib/dokkit/projects/tech_report/doc/res/tex/images/logo.eps +0 -311
  84. data/lib/dokkit/projects/tech_report/doc/res/tex/include/deplate.sty +0 -46
  85. data/lib/dokkit/projects/tech_report/doc/res/tex/include/layout.inc +0 -24
  86. data/lib/dokkit/projects/tech_report/doc/res/tex/include/macro.inc +0 -67
  87. data/lib/dokkit/projects/tech_report/doc/res/tex/include/packages.inc +0 -48
  88. data/lib/dokkit/projects/tech_report/doc/res/tex/report.bib +0 -4
  89. data/lib/dokkit/projects/tech_report/lib/tech_report.rb +0 -17
  90. data/lib/dokkit/projects/website/README +0 -49
  91. /data/{lib/dokkit/projects/invoice → tests/data/output/website_project}/README +0 -0
  92. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/layouts/normal.thtml +0 -0
  93. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/COMMON.rb +0 -0
  94. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/deplate.dplhtml +0 -0
  95. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/index.rb +0 -0
  96. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/pages/index.thtml +0 -0
  97. /data/{lib/dokkit/projects/website → tests/data/output/website_project}/doc/res/images/rote-tiny.png +0 -0
  98. /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,5 +0,0 @@
1
- layout 'invoice.dpltex'
2
- config 'company.yaml'
3
- config 'customer.yaml'
4
-
5
-
@@ -1,16 +0,0 @@
1
- invoice:
2
- id: 0
3
- vat: 20
4
-
5
- services:
6
- - service:
7
- description: |
8
- List:
9
- - Product 1a
10
- - Product 1b
11
- quantity: 1
12
- price: 100
13
- - service:
14
- description: Service 2
15
- quantity: 2
16
- price: 200
@@ -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
-