deplate 0.8 → 0.8.1

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 (163) hide show
  1. data/AUTHORS.TXT +19 -16
  2. data/CHANGES.TXT +214 -248
  3. data/NEWS.TXT +47 -30
  4. data/README.TXT +0 -1
  5. data/TODO.TXT +93 -20
  6. data/VERSION.TXT +1 -1
  7. data/bin/deplate.exy +192 -0
  8. data/etc/deplate.ini +70 -9
  9. data/lib/action_view/helpers/deplate.rb +33 -33
  10. data/lib/deplate.rb +2 -2
  11. data/lib/deplate/bib.rb +72 -41
  12. data/lib/deplate/builtin.rb +1 -1
  13. data/lib/deplate/cache.rb +1 -1
  14. data/lib/deplate/commands.rb +161 -102
  15. data/lib/deplate/common.rb +93 -7
  16. data/lib/deplate/converter.rb +10 -4
  17. data/lib/deplate/core.rb +215 -108
  18. data/lib/deplate/counters.rb +23 -8
  19. data/lib/deplate/css/article.css +9 -5
  20. data/lib/deplate/css/deplate.css +37 -3
  21. data/lib/deplate/css/heading-navbar.css +1 -1
  22. data/lib/deplate/css/highstep.css +18 -0
  23. data/lib/deplate/css/htmldoc.css +43 -0
  24. data/lib/deplate/css/layout-deplate-print.css +1 -1
  25. data/lib/deplate/css/layout-deplate.css +1 -1
  26. data/lib/deplate/css/play.css +101 -0
  27. data/lib/deplate/css/sans-serif.css +1 -1
  28. data/lib/deplate/css/serif-e.css +1 -1
  29. data/lib/deplate/css/serif-rel.css +1 -1
  30. data/lib/deplate/css/serif.css +1 -1
  31. data/lib/deplate/css/slides.css +1 -1
  32. data/lib/deplate/css/styles.css +4 -0
  33. data/lib/deplate/css/tabbar-right.css +54 -8
  34. data/lib/deplate/css/tabbar-top.css +28 -9
  35. data/lib/deplate/css/text-sans-serif.css +1 -1
  36. data/lib/deplate/css/text-serif.css +1 -1
  37. data/lib/deplate/define.rb +71 -38
  38. data/lib/deplate/deplate-string.rb +3 -3
  39. data/lib/deplate/docbook.rb +9 -9
  40. data/lib/deplate/elements.rb +173 -84
  41. data/lib/deplate/etc.rb +6 -8
  42. data/lib/deplate/external.rb +9 -5
  43. data/lib/deplate/fmt/dbk-article-4.1.2.rb +4 -3
  44. data/lib/deplate/fmt/dbk-article.rb +9 -8
  45. data/lib/deplate/fmt/dbk-book.rb +4 -3
  46. data/lib/deplate/fmt/dbk-ref.rb +5 -4
  47. data/lib/deplate/fmt/dbk-slides.rb +4 -3
  48. data/lib/deplate/fmt/dbk-snippet.rb +4 -3
  49. data/lib/deplate/fmt/html-snippet.rb +1 -1
  50. data/lib/deplate/fmt/html.rb +186 -46
  51. data/lib/deplate/fmt/htmlsite.rb +19 -9
  52. data/lib/deplate/fmt/htmlslides.rb +1 -1
  53. data/lib/deplate/fmt/htmlwebsite.rb +1 -1
  54. data/lib/deplate/fmt/latex-dramatist.rb +175 -0
  55. data/lib/deplate/fmt/latex-snippet.rb +1 -1
  56. data/lib/deplate/fmt/latex.rb +132 -80
  57. data/lib/deplate/fmt/null.rb +1 -1
  58. data/lib/deplate/fmt/php.rb +1 -1
  59. data/lib/deplate/fmt/phpsite.rb +1 -1
  60. data/lib/deplate/fmt/plain.rb +16 -9
  61. data/lib/deplate/fmt/template.rb +1 -1
  62. data/lib/deplate/fmt/xhtml10t.rb +1 -1
  63. data/lib/deplate/formatter-snippet.rb +1 -1
  64. data/lib/deplate/formatter.rb +272 -81
  65. data/lib/deplate/guesslanguage.rb +57 -0
  66. data/lib/deplate/input.rb +205 -50
  67. data/lib/deplate/input/deplate-headings.rb +9 -11
  68. data/lib/deplate/input/deplate-restricted.rb +3 -23
  69. data/lib/deplate/input/deplate.rb +1 -1
  70. data/lib/deplate/input/play.rb +208 -0
  71. data/lib/deplate/input/rdoc.rb +37 -15
  72. data/lib/deplate/input/template.rb +6 -11
  73. data/lib/deplate/lib/Makefile.config +53 -4
  74. data/lib/deplate/lib/html/parbreak +3 -0
  75. data/lib/deplate/lib/javascript/StepwiseNextPage.js +8 -0
  76. data/lib/deplate/lib/javascript/StepwiseNextPage_confirm.js +8 -0
  77. data/lib/deplate/lib/latex/deplate.sty +36 -0
  78. data/lib/deplate/lib/latex/parbreak +6 -0
  79. data/lib/deplate/lib/php/page-comment.inc.php +5 -5
  80. data/lib/deplate/lib/plain/parbreak +6 -0
  81. data/lib/deplate/locale/de.latin1 +87 -15
  82. data/lib/deplate/locale/de.latin1_data +60 -0
  83. data/lib/deplate/locale/en.latin1_data +46 -0
  84. data/lib/deplate/locale/fr.latin1_data +74 -0
  85. data/lib/deplate/locale/ru.koi8-r_data +63 -0
  86. data/lib/deplate/locale/{zh_cn.gb2312 → zh_CN.GB2312} +0 -0
  87. data/lib/deplate/macros.rb +106 -32
  88. data/lib/deplate/messages.rb +22 -8
  89. data/lib/deplate/metadata.rb +1 -1
  90. data/lib/deplate/metadata/marshal.rb +1 -1
  91. data/lib/deplate/metadata/xml.rb +1 -1
  92. data/lib/deplate/metadata/yaml.rb +1 -1
  93. data/lib/deplate/mod/anyword.rb +4 -4
  94. data/lib/deplate/mod/babelfish.rb +1 -1
  95. data/lib/deplate/mod/code-gvim.rb +14 -8
  96. data/lib/deplate/mod/code-gvim71.rb +52 -0
  97. data/lib/deplate/mod/code-highlight.rb +35 -19
  98. data/lib/deplate/mod/colored-log.rb +1 -1
  99. data/lib/deplate/mod/endnotes.rb +1 -1
  100. data/lib/deplate/mod/guesslanguage.rb +75 -0
  101. data/lib/deplate/mod/html-asciimath.rb +1 -1
  102. data/lib/deplate/mod/html-deplate-button.rb +1 -1
  103. data/lib/deplate/mod/html-headings-navbar.rb +1 -1
  104. data/lib/deplate/mod/html-highstep.rb +43 -0
  105. data/lib/deplate/mod/html-jsmath.rb +1 -1
  106. data/lib/deplate/mod/html-obfuscate-email.rb +1 -1
  107. data/lib/deplate/mod/html-sidebar.rb +1 -1
  108. data/lib/deplate/mod/iconv.rb +1 -1
  109. data/lib/deplate/mod/imgurl.rb +1 -1
  110. data/lib/deplate/mod/inlatex-compound.rb +1 -1
  111. data/lib/deplate/mod/koma.rb +4 -4
  112. data/lib/deplate/mod/{de.rb → lang-de.rb} +1 -1
  113. data/lib/deplate/mod/{en.rb → lang-en.rb} +1 -1
  114. data/lib/deplate/mod/{ru_koi8-r.rb → lang-ru-koi8-r.rb} +1 -1
  115. data/lib/deplate/mod/lang-ru.rb +9 -0
  116. data/lib/deplate/mod/{zh-cn-autospace.rb → lang-zh_CN-autospace.rb} +3 -3
  117. data/lib/deplate/mod/{zh-cn.rb → lang-zh_CN.rb} +8 -8
  118. data/lib/deplate/mod/latex-emph-table-head.rb +1 -1
  119. data/lib/deplate/mod/latex-styles.rb +6 -6
  120. data/lib/deplate/mod/latex-verbatim-small.rb +1 -1
  121. data/lib/deplate/mod/linkmap.rb +128 -0
  122. data/lib/deplate/mod/makefile.rb +23 -22
  123. data/lib/deplate/mod/mark-external-urls.rb +13 -7
  124. data/lib/deplate/mod/markup-1-warn.rb +1 -1
  125. data/lib/deplate/mod/markup-1.rb +1 -1
  126. data/lib/deplate/mod/navbar-png.rb +5 -4
  127. data/lib/deplate/mod/noindent.rb +1 -1
  128. data/lib/deplate/mod/numpara.rb +1 -1
  129. data/lib/deplate/mod/particle-math.rb +1 -1
  130. data/lib/deplate/mod/php-extra.rb +1 -1
  131. data/lib/deplate/mod/pstoedit.rb +1 -1
  132. data/lib/deplate/mod/recode.rb +1 -1
  133. data/lib/deplate/mod/smart-dash.rb +1 -1
  134. data/lib/deplate/mod/smiley.rb +1 -1
  135. data/lib/deplate/mod/soffice.rb +1 -1
  136. data/lib/deplate/mod/symbols-latin1.rb +1 -1
  137. data/lib/deplate/mod/symbols-od-utf-8.rb +1 -1
  138. data/lib/deplate/mod/symbols-plain.rb +1 -1
  139. data/lib/deplate/mod/symbols-sgml.rb +1 -1
  140. data/lib/deplate/mod/symbols-utf-8.rb +1 -1
  141. data/lib/deplate/mod/symbols-xml.rb +1 -1
  142. data/lib/deplate/mod/syntax-region-alt.rb +1 -1
  143. data/lib/deplate/mod/utf8.rb +1 -1
  144. data/lib/deplate/mod/validate-html.rb +1 -1
  145. data/lib/deplate/mod/xmlrpc.rb +37 -36
  146. data/lib/deplate/nukumi2.rb +4 -4
  147. data/lib/deplate/once-method.rb +1 -1
  148. data/lib/deplate/output.rb +12 -4
  149. data/lib/deplate/particles.rb +52 -22
  150. data/lib/deplate/regions.rb +160 -90
  151. data/lib/deplate/skeletons.rb +4 -3
  152. data/lib/deplate/structured.rb +19 -13
  153. data/lib/deplate/template.rb +17 -9
  154. data/lib/deplate/templates/html-doc.html +8 -11
  155. data/lib/deplate/templates/html-tabbar-right.html +1 -1
  156. data/lib/deplate/templates/html-tabbar-top.html +3 -3
  157. data/lib/deplate/variables.rb +25 -9
  158. data/lib/deplate/wiki-markup.rb +14 -3
  159. data/lib/deplate/xml.rb +3 -4
  160. data/lib/deplate/{zh-cn.rb → zh_CN.rb} +16 -16
  161. data/man/man1/deplate.1 +80 -65
  162. metadata +72 -48
  163. data/lib/deplate/mod/fr.rb +0 -46
@@ -0,0 +1,74 @@
1
+ http://fsffrance.org/gpl/gpl-fr.fr.html
2
+
3
+ Les licences de la plupart des logiciels sont con�ues pour vous enlever
4
+ toute libert� de les partager et de les modifier.
5
+
6
+ A contrario, la Licence Publique G�n�rale est destin�e � garantir votre
7
+ libert� de partager et de modifier les logiciels libres, et � assurer
8
+ que ces logiciels soient libres pour tous leurs utilisateurs.
9
+
10
+ La pr�sente Licence Publique G�n�rale s'applique � la plupart des
11
+ logiciels de la Free Software Foundation, ainsi qu'� tout autre
12
+ programme pour lequel ses auteurs s'engagent � l'utiliser.
13
+
14
+ (Certains autres logiciels de la Free Software Foundation sont couverts
15
+ par la GNU Lesser General Public License � la place.)
16
+
17
+ Vous pouvez aussi l'appliquer aux programmes qui sont les v�tres.
18
+
19
+ Quand nous parlons de logiciels libres, nous parlons de libert�, non de
20
+ prix.
21
+
22
+ Nos licences publiques g�n�rales sont con�ues pour vous donner
23
+ l'assurance d'�tre libres de distribuer des copies des logiciels libres
24
+ (et de facturer ce service, si vous le souhaitez), de recevoir le code
25
+ source ou de pouvoir l'obtenir si vous le souhaitez, de pouvoir modifier
26
+ les logiciels ou en utiliser des �l�ments dans de nouveaux programmes
27
+ libres et de savoir que vous pouvez le faire.
28
+
29
+ Pour prot�ger vos droits, il nous est n�cessaire d'imposer des
30
+ limitations qui interdisent � quiconque de vous refuser ces droits ou de
31
+ vous demander d'y renoncer.
32
+
33
+ Certaines responsabilit�s vous incombent en raison de ces limitations si
34
+ vous distribuez des copies de ces logiciels, ou si vous les modifiez.
35
+
36
+ Par exemple, si vous distribuez des copies d'un tel programme, � titre
37
+ gratuit ou contre une r�mun�ration, vous devez accorder aux
38
+ destinataires tous les droits dont vous disposez.
39
+
40
+ Vous devez vous assurer qu'eux aussi re�oivent ou puissent disposer du
41
+ code source.
42
+
43
+ Et vous devez leur montrer les pr�sentes conditions afin qu'ils aient
44
+ connaissance de leurs droits.
45
+
46
+ Nous prot�geons vos droits en deux �tapes : (1) nous sommes titulaires
47
+ des droits d'auteur du logiciel, et (2) nous vous d�livrons cette
48
+ licence, qui vous donne l'autorisation l�gale de copier, distribuer
49
+ et/ou modifier le logiciel.
50
+
51
+ En outre, pour la protection de chaque auteur ainsi que la n�tre, nous
52
+ voulons nous assurer que chacun comprenne que ce logiciel libre ne fait
53
+ l'objet d'aucune garantie.
54
+
55
+ Si le logiciel est modifi� par quelqu'un d'autre puis transmis � des
56
+ tiers, nous voulons que les destinataires soient mis au courant que ce
57
+ qu'ils ont re�u n'est pas le logiciel d'origine, de sorte que tout
58
+ probl�me introduit par d'autres ne puisse entacher la r�putation de
59
+ l'auteur originel.
60
+
61
+ En d�finitive, un programme libre restera � la merci des brevets de
62
+ logiciels.
63
+
64
+ Nous souhaitons �viter le risque que les redistributeurs d'un programme
65
+ libre fassent des demandes individuelles de licence de brevet, ceci
66
+ ayant pour effet de rendre le programme propri�taire.
67
+
68
+ Pour �viter cela, nous �tablissons clairement que toute licence de
69
+ brevet doit �tre conc�d�e de fa�on � ce que l'usage en soit libre pour
70
+ tous ou bien qu'aucune licence ne soit conc�d�e.
71
+
72
+ Les termes exacts et les conditions de copie, distribution et
73
+ modification sont les suivants:
74
+
@@ -0,0 +1,63 @@
1
+ ����������� �������� �� ����������� ����������� ����e� ��� �����
2
+ �������������� � ������� ��������� � ��� ����������� �����������.
3
+ ����������� ������������ �������� GNU, ��������, ����������� � �����
4
+ ������������� ��� ����� ��������� ������������ � ������� ��������� �
5
+ ��������� ����������� �����������, �.�. ���������� ��������� ������ �
6
+ ������������ ����������� ��� ���� �������������. ������� ���������
7
+ ����������� ������������ �������� ����������� � ������� �����
8
+ ������������ ����������� Free Software Foundation, � ����� � ������
9
+ ������� ������������ ����������� �� ������� ��� ������. (� ����������
10
+ ������������ ����������� Free Software Foundation ����������� �������
11
+ ����������� ������������ �������� GNU ��� ���������). �� ����� ������
12
+ ��������� ����������� ������������ �������� � �������������� ����
13
+ ������������ �����������.
14
+
15
+ ������ � ��������� ����������� �����������, �� ����� � ���� �������, �
16
+ �� ���������������. ��������� ����������� ������������ ��������
17
+ ����������� � ����� ������������� ��� ����� �������������� ����������
18
+ ���������� ������������ ����������� (� ��� ������� �������� �� ���
19
+ ��������������), ����� �������� �������� ����� ������������ �����������
20
+ ��� ����� ����������� ��� ��������, ����� ������� ��������� �
21
+ ����������� ����������� ��� ������������ ��� ����� � ����� ���������
22
+ ����������� �����������, � ����� ����� �����, ��� �� ������ ���
23
+ ����������������� �����.
24
+
25
+ ����� �������� ���� �����, �� ������ ��� ����������� � ���, ����� �����
26
+ �� ���� ����������� ������ ��� ���� ���� ��� ���������� � ��� �
27
+ ������������ ���������� �� ���� ����. ������ ����������� �������� �� ���
28
+ ������������ ����������� � ������, ���� �� ��������������� ����������
29
+ ������������ ����������� ��� ������������� ����������� �����������.
30
+
31
+ ��������, ���� �� ��������������� ���������� ������ ������������
32
+ ����������� �� ����� ��� ���������, �� ������� �������� �����
33
+ ����������� ��� ����� � ��� �� ������, � ����� ��� ����������� ���. ��
34
+ ������� ���������� ��������� ������ ������������ ��������� �� ���������
35
+ ������ ��� ����������� ��� ��������. �� ����� ������� ���������� �� �
36
+ ��������� ��������� ��������.
37
+
38
+ ��� ������ ����� ���� ��: (1) ��������� �� ����� ��������� ����� ��
39
+ ����������� ����������� � (2) ���������� ��� ������������ ���������
40
+ ��������, � ������������ � ��������� ������� �� ������ ��������������,
41
+ �������������� �/��� �������������� ����������� �����������.
42
+
43
+ ����� ����, ��� ������ ��� ����� ���������, ��� � ��������� ������
44
+ ������� ������������ �����������, �� ���������� ���� �������������, ���
45
+ �� ������ ����������� ����������� ������� �������� �� ���������������.
46
+ ��, ��� �������� ����������� �����������, � ���������� � ���� ��������
47
+ ������ �����������, ������ �����, ��� ��� �������� �� ��������, � ����
48
+ ���� ����� ��������� �� ����� ��������������� �� ������ � ������
49
+ ������������ �����������, ���������� �������� ������ ��� ��������
50
+ ���������.
51
+
52
+ �������, ����������� ����������� ��������� ���� ��������� � ������, ����
53
+ ���� ����������� �� ���� �������������� ����� [1] <#ref1>. �����������,
54
+ ����� ����, ���������������� ��������� ����������� �����������, �����
55
+ ���������� �������������� ����� �� ������������� ������� ������������
56
+ ����������� � ���������������� �� � ��������� ���������. ����� ��������
57
+ �����, �� ��������, ��� ���������� �������������� ���� ������
58
+ ������������ ������ ���� ����� �� ������������� ������������ �����������
59
+ ���� �� ����������� �������������� ���� ������.
60
+
61
+ ���� �������� ������� ���������������, ��������������� � �����������
62
+ ������������ �����������.
63
+
@@ -1,10 +1,10 @@
1
1
  # macros.rb
2
- # @Author: Thomas Link (samul AT web.de)
2
+ # @Author: Thomas Link (micathom AT gmail com)
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 25-M�r-2004.
6
- # @Last Change: 14-Mai-2006.
7
- # @Revision: 0.1261
6
+ # @Last Change: 2007-09-30.
7
+ # @Revision: 0.1351
8
8
 
9
9
  require 'forwardable'
10
10
 
@@ -54,6 +54,8 @@ class Deplate::Macro < Deplate::BaseParticle
54
54
  end
55
55
  else
56
56
  container.log(['Unknown macro', cmd, args.inspect], :unknown_macro)
57
+ # p "DBG", deplate.formatter.class, @container.class
58
+ # puts caller.join("\n")
57
59
  end
58
60
  end
59
61
  end
@@ -111,7 +113,7 @@ class Deplate::Macro::Unknown < Deplate::Macro
111
113
  def setup(text)
112
114
  text = @args[:match][0][1..-2]
113
115
  # @elt = plain_text(text)
114
- @elt = @deplate.parse(@container, text)
116
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
115
117
  end
116
118
 
117
119
  def process
@@ -135,7 +137,7 @@ class Deplate::Macro::Cite < Deplate::Macro
135
137
 
136
138
  def setup(text)
137
139
  @deplate.options.citations << self
138
- @elt = text.split(/\s*[;, ]\s*/)
140
+ @elt = Deplate::Core.split_list(text, ',', ';', @source)
139
141
  for c in @elt
140
142
  @container.add_metadata(@source,
141
143
  "type" => "citation",
@@ -162,6 +164,15 @@ class Deplate::Macro::Attr < Deplate::Macro
162
164
  end
163
165
 
164
166
 
167
+ class Deplate::Macro::EProp < Deplate::Macro
168
+ register_as 'eprop'
169
+
170
+ def setup(text)
171
+ @container.unify_args(@args)
172
+ end
173
+ end
174
+
175
+
165
176
  class Deplate::Macro::Date < Deplate::Macro
166
177
  register_as 'date'
167
178
 
@@ -243,7 +254,7 @@ class Deplate::Macro::Arg < Deplate::Argument
243
254
  end
244
255
  @text = Deplate::Core.escape_characters(@text, @args)
245
256
  if !@args['asString']
246
- @elt = @deplate.parse(@container, @text)
257
+ @elt = @deplate.parse(@container, @text, @alt, nil, :pcontainer => self)
247
258
  end
248
259
  end
249
260
  end
@@ -259,7 +270,7 @@ class Deplate::Macro::XArg < Deplate::Argument
259
270
  c = @deplate.variables[text] || @args["default"]
260
271
  if c
261
272
  c = Deplate::Core.escape_characters(c, @args)
262
- @elt = @deplate.parse(@container, c)
273
+ @elt = @deplate.parse(@container, c, @alt, nil, :pcontainer => self)
263
274
  else
264
275
  log(["Unknown variable", '{xarg}', text])
265
276
  end
@@ -282,7 +293,7 @@ class Deplate::Macro::Msg < Deplate::Macro
282
293
  register_as 'msg'
283
294
 
284
295
  def setup(text)
285
- @elt = @deplate.parse(@container, @deplate.msg(text))
296
+ @elt = @deplate.parse(@container, @deplate.msg(text), @alt, nil, :pcontainer => self)
286
297
  # @text = @deplate.msg(text)
287
298
  end
288
299
  end
@@ -307,13 +318,13 @@ class Deplate::Macro::Clip < Deplate::Macro
307
318
  return @elt.format_clip(self, Deplate::Particle)
308
319
  # elsif (var = @deplate.variables[@id])
309
320
  # return @deplate.parse_and_format(@container, var.to_s)
310
- elsif (default = @args["default"])
321
+ elsif (default = @args['default'])
311
322
  return default
312
323
  else
313
- log(["Unknown clip", @id], :error) unless @elt
324
+ log(['Unknown clip', @id], :error) unless @elt
314
325
  end
315
326
  else
316
- log(["No ID given", @id], :error)
327
+ log(['No ID given', @id], :error)
317
328
  end
318
329
  end
319
330
  end
@@ -341,7 +352,7 @@ class Deplate::Macro::Ruby < Deplate::Macro
341
352
  if @args['native'] or @args['ins']
342
353
  @text = rv
343
354
  else
344
- @elt = @deplate.parse(self, rv)
355
+ @elt = @deplate.parse(self, rv, @alt, nil, :pcontainer => self)
345
356
  end
346
357
  end
347
358
  end
@@ -362,7 +373,7 @@ class Deplate::Macro::Ref < Deplate::Macro
362
373
  # if id
363
374
  # @text = @deplate.get_label_by_id(self, id)
364
375
  # unless @text
365
- # log(["Can't refer to ID", id], :error)
376
+ # log(["Cannot refer to ID", id], :error)
366
377
  # end
367
378
  # end
368
379
  return format_particle(:format_ref, self)
@@ -428,14 +439,14 @@ class Deplate::Macro::List < Deplate::Macro
428
439
  register_as 'list'
429
440
 
430
441
  def setup(text)
431
- @elt = @deplate.parse(self, text, @alt)
432
- case @args["type"]
433
- when "dl"
434
- @type = "Description"
435
- when "ol"
436
- @type = "Ordered"
442
+ @elt = @deplate.parse(self, text, @alt, nil, :pcontainer => self)
443
+ case @args['type']
444
+ when 'dl'
445
+ @type = 'Description'
446
+ when 'ol'
447
+ @type = 'Ordered'
437
448
  else
438
- @type = "Itemize"
449
+ @type = 'Itemize'
439
450
  end
440
451
  end
441
452
 
@@ -448,7 +459,7 @@ class Deplate::Macro::List < Deplate::Macro
448
459
  if @elt =~ /\S/m
449
460
  return [b, @elt, e].flatten.compact.join
450
461
  else
451
- return ""
462
+ return ''
452
463
  end
453
464
  end
454
465
  end
@@ -458,7 +469,7 @@ class Deplate::Macro::Item < Deplate::Macro
458
469
  register_as 'item'
459
470
 
460
471
  def setup(text)
461
- @elt = @deplate.parse(@container, text, @alt)
472
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
462
473
  end
463
474
 
464
475
  def process
@@ -467,6 +478,7 @@ class Deplate::Macro::Item < Deplate::Macro
467
478
  @elt = Deplate::ListItem.new(nil, @elt, type, type)
468
479
  rv = format_particle(:format_list_item, self, type, 0, @elt)
469
480
  rv.delete(:none)
481
+ rv.delete(:empty)
470
482
  rv
471
483
  end
472
484
  end
@@ -476,7 +488,7 @@ class Deplate::Macro::Term < Deplate::Macro
476
488
  register_as 'term'
477
489
 
478
490
  def setup(text)
479
- @elt = @deplate.parse(@container, text, @alt)
491
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
480
492
  end
481
493
 
482
494
  def process
@@ -495,7 +507,7 @@ class Deplate::Macro::Subscript < Deplate::Macro
495
507
  register_as 'sub'
496
508
 
497
509
  def setup(text)
498
- @elt = @deplate.parse(@container, text, @alt)
510
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
499
511
  end
500
512
 
501
513
  def process
@@ -511,7 +523,7 @@ class Deplate::Macro::Superscript < Deplate::Macro
511
523
  register_as 'super'
512
524
 
513
525
  def setup(text)
514
- @elt = @deplate.parse(@container, text, @alt)
526
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
515
527
  end
516
528
 
517
529
  def process
@@ -526,7 +538,7 @@ class Deplate::Macro::Stacked < Deplate::Macro
526
538
  register_as 'stacked'
527
539
 
528
540
  def setup(text)
529
- @elt = @deplate.parse(@container, text, @alt)
541
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
530
542
  end
531
543
 
532
544
  def process
@@ -543,11 +555,65 @@ class Deplate::Macro::Text < Deplate::Macro
543
555
  register_as 'text'
544
556
 
545
557
  def setup(text)
546
- @elt = @deplate.parse(@container, text, @alt)
558
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
547
559
  end
548
560
 
549
561
  def process
550
- format_particle(:format_void, self, super)
562
+ e = super
563
+ format_particle(:format_void, self, e)
564
+ end
565
+ end
566
+
567
+
568
+ class Deplate::Macro::FirstTimeUppercase < Deplate::Macro::Text
569
+ register_as 'mark1st'
570
+ register_as '~'
571
+ @@uc1st_textbits = []
572
+
573
+ def setup(text)
574
+ anyway = @args['anyway'] || @args['always']
575
+ itext = @args['text'] || text
576
+ if anyway or !@@uc1st_textbits.include?(itext)
577
+ @@uc1st_textbits << itext
578
+ if (style = @deplate.variables['mark1stStyle'])
579
+ push_styles(style)
580
+ else
581
+ text = text.upcase
582
+ end
583
+ elsif (alt = @args['alt'])
584
+ push_styles(alt)
585
+ end
586
+ super(text)
587
+ end
588
+ end
589
+
590
+
591
+ class Deplate::Macro::Upcase < Deplate::Macro::Text
592
+ register_as 'upcase'
593
+
594
+ def setup(text)
595
+ text = text.upcase
596
+ super(text)
597
+ end
598
+ end
599
+
600
+
601
+ class Deplate::Macro::Downcase < Deplate::Macro::Text
602
+ register_as 'downcase'
603
+
604
+ def setup(text)
605
+ text = text.downcase
606
+ super(text)
607
+ end
608
+ end
609
+
610
+
611
+ class Deplate::Macro::Capitalize < Deplate::Macro::Text
612
+ register_as 'capitalize'
613
+
614
+ def setup(text)
615
+ text = text.capitalize
616
+ super(text)
551
617
  end
552
618
  end
553
619
 
@@ -564,12 +630,11 @@ end
564
630
 
565
631
  class Deplate::Macro::FormattedText < Deplate::Macro
566
632
  def setup(text)
567
- @elt = @deplate.parse(@container, text, @alt)
633
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
568
634
  end
569
635
  end
570
636
 
571
637
 
572
-
573
638
  class Deplate::Macro::Emphasize < Deplate::Macro::FormattedText
574
639
  register_as 'em'
575
640
  register_as 'emph'
@@ -615,7 +680,7 @@ class Deplate::Macro::Pagenumber < Deplate::Macro
615
680
  register_as 'pagenum'
616
681
 
617
682
  def setup(text)
618
- @elt = @deplate.parse(@container, text, @alt)
683
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
619
684
  end
620
685
 
621
686
  def process
@@ -657,7 +722,7 @@ class Deplate::Macro::Let < Deplate::Macro
657
722
  args[key] = val1 || val
658
723
  end
659
724
  Deplate::Define.let_variables(@deplate, args) do
660
- @elt = @deplate.parse(@container, text)
725
+ @elt = @deplate.parse(@container, text, @alt, nil, :pcontainer => self)
661
726
  end
662
727
  end
663
728
  end
@@ -672,6 +737,15 @@ class Deplate::Macro::Counter < Deplate::Macro
672
737
  end
673
738
 
674
739
 
740
+ class Deplate::Macro::Nop < Deplate::Macro
741
+ register_as 'nop'
742
+
743
+ def setup(text)
744
+ @text = ''
745
+ end
746
+ end
747
+
748
+
675
749
  class Deplate::Core
676
750
  def self.simple_macro(name, body)
677
751
  cn = name.capitalize
@@ -1,10 +1,10 @@
1
1
  # mod-en.rb -- Standard messages
2
- # @Author: Thomas Link (samul AT web.de)
2
+ # @Author: Thomas Link (micathom AT gmail com)
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 07-Mai-2004.
6
- # @Last Change: 23-Apr-2006.
7
- # @Revision: 0.195
6
+ # @Last Change: 2007-09-15.
7
+ # @Revision: 0.206
8
8
 
9
9
  # The base class for localizations
10
10
  class Deplate::Messages
@@ -50,10 +50,16 @@ class Deplate::Messages
50
50
  # the formatter fmt (e.g., latex_lang instead of lang)
51
51
  def prop(key, fmt=nil)
52
52
  if fmt
53
- fmt_name = fmt.kind_of?(String) ? fmt : fmt.formatter_name
54
- af = [fmt_name, key].join('_')
55
- if has_property?(af)
56
- return @properties[af]
53
+ if fmt.kind_of?(String)
54
+ fmt_names = [fmt]
55
+ else
56
+ fmt_names = fmt.class.formatter_family_members
57
+ end
58
+ for fmt_name in fmt_names
59
+ af = [fmt_name, key].join('_')
60
+ if has_property?(af)
61
+ return @properties[af]
62
+ end
57
63
  end
58
64
  end
59
65
  return @properties[key]
@@ -103,7 +109,15 @@ class Deplate::Messages
103
109
 
104
110
  def initialize(deplate)
105
111
  @deplate = deplate
106
- @deplate.variables['encoding'] = prop('encoding')
112
+ if (encoding = prop('encoding'))
113
+ if (vencoding = @deplate.variables['encoding'])
114
+ if @deplate.canonic_enc_name(vencoding) != @deplate.canonic_enc_name(encoding)
115
+ @deplate.log(['Document encoding does not match message encoding', vencoding, encoding], :error)
116
+ end
117
+ else
118
+ @deplate.variables['encoding'] = encoding
119
+ end
120
+ end
107
121
  @deplate.options.lang = prop('lang', false)
108
122
  end
109
123