deplate 0.8 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
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