deplate 0.7.3 → 0.8

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 (160) hide show
  1. data/AUTHORS.TXT +3 -0
  2. data/CHANGES.TXT +248 -175
  3. data/LICENSE.TXT +0 -0
  4. data/NEWS.TXT +28 -24
  5. data/README.TXT +0 -0
  6. data/TODO.TXT +174 -88
  7. data/VERSION.TXT +1 -1
  8. data/bin/deplate +0 -0
  9. data/bin/deplate.bat +0 -0
  10. data/etc/deplate.ini +91 -3
  11. data/lib/action_view/helpers/deplate.rb +45 -0
  12. data/lib/deplate.rb +6 -1
  13. data/lib/deplate/abstract-class.rb +0 -0
  14. data/lib/deplate/bib.rb +576 -0
  15. data/lib/deplate/builtin.rb +0 -0
  16. data/lib/deplate/cache.rb +55 -5
  17. data/lib/deplate/commands.rb +346 -183
  18. data/lib/deplate/common.rb +209 -48
  19. data/lib/deplate/converter.rb +12 -6
  20. data/lib/deplate/core.rb +777 -378
  21. data/lib/deplate/counters.rb +254 -0
  22. data/lib/deplate/css/article.css +4 -3
  23. data/lib/deplate/css/deplate.css +121 -5
  24. data/lib/deplate/css/heading-navbar.css +0 -0
  25. data/lib/deplate/css/layout-deplate-print.css +0 -0
  26. data/lib/deplate/css/layout-deplate.css +0 -0
  27. data/lib/deplate/css/sans-serif.css +0 -0
  28. data/lib/deplate/css/serif-e.css +0 -0
  29. data/lib/deplate/css/serif-rel.css +0 -0
  30. data/lib/deplate/css/serif.css +9 -3
  31. data/lib/deplate/css/slides.css +0 -0
  32. data/lib/deplate/css/tabbar-left.css +0 -0
  33. data/lib/deplate/css/tabbar-right-ie.css +3 -9
  34. data/lib/deplate/css/tabbar-right.css +51 -18
  35. data/lib/deplate/css/tabbar-top.css +7 -1
  36. data/lib/deplate/css/tabbar.css +0 -0
  37. data/lib/deplate/css/text-sans-serif.css +0 -0
  38. data/lib/deplate/css/text-serif.css +0 -0
  39. data/lib/deplate/define.rb +183 -177
  40. data/lib/deplate/deplate-string.rb +82 -0
  41. data/lib/deplate/docbook.rb +236 -128
  42. data/lib/deplate/elements.rb +584 -417
  43. data/lib/deplate/etc.rb +163 -101
  44. data/lib/deplate/external.rb +42 -11
  45. data/lib/deplate/fmt/dbk-article-4.1.2.rb +0 -0
  46. data/lib/deplate/fmt/dbk-article.rb +0 -0
  47. data/lib/deplate/fmt/dbk-book.rb +0 -0
  48. data/lib/deplate/fmt/dbk-ref.rb +3 -3
  49. data/lib/deplate/fmt/dbk-slides.rb +0 -0
  50. data/lib/deplate/fmt/dbk-snippet.rb +0 -0
  51. data/lib/deplate/fmt/html-snippet.rb +0 -0
  52. data/lib/deplate/fmt/html.rb +783 -550
  53. data/lib/deplate/fmt/htmlsite.rb +192 -199
  54. data/lib/deplate/fmt/htmlslides.rb +0 -0
  55. data/lib/deplate/fmt/htmlwebsite.rb +3 -3
  56. data/lib/deplate/fmt/latex-snippet.rb +0 -0
  57. data/lib/deplate/fmt/latex.rb +242 -83
  58. data/lib/deplate/fmt/null.rb +32 -0
  59. data/lib/deplate/fmt/php.rb +4 -4
  60. data/lib/deplate/fmt/phpsite.rb +6 -5
  61. data/lib/deplate/fmt/plain.rb +160 -106
  62. data/lib/deplate/fmt/template.rb +0 -0
  63. data/lib/deplate/fmt/xhtml10t.rb +0 -0
  64. data/lib/deplate/formatter-snippet.rb +0 -0
  65. data/lib/deplate/formatter.rb +613 -301
  66. data/lib/deplate/input.rb +202 -142
  67. data/lib/deplate/input/deplate-headings.rb +4 -6
  68. data/lib/deplate/input/deplate-restricted.rb +15 -9
  69. data/lib/deplate/input/deplate.rb +2 -4
  70. data/lib/deplate/input/rdoc.rb +39 -38
  71. data/lib/deplate/input/template.rb +0 -0
  72. data/lib/deplate/lib/Makefile.config +29 -0
  73. data/lib/deplate/lib/latex/deplate.sty +54 -0
  74. data/lib/deplate/lib/latex/highlight-extra.sty +0 -0
  75. data/lib/deplate/lib/latex/highlight-typical.sty +0 -0
  76. data/lib/deplate/lib/php/page-comment.inc.php +216 -0
  77. data/lib/deplate/lib/tabmenu.js +0 -0
  78. data/lib/deplate/locale/de.latin1 +155 -17
  79. data/lib/deplate/locale/ru.koi8-r +0 -0
  80. data/lib/deplate/locale/zh_cn.gb2312 +0 -0
  81. data/lib/deplate/macros.rb +133 -82
  82. data/lib/deplate/messages.rb +6 -4
  83. data/lib/deplate/metadata.rb +0 -0
  84. data/lib/deplate/metadata/marshal.rb +0 -0
  85. data/lib/deplate/metadata/xml.rb +0 -0
  86. data/lib/deplate/metadata/yaml.rb +0 -0
  87. data/lib/deplate/mod/anyword.rb +3 -3
  88. data/lib/deplate/mod/babelfish.rb +4 -4
  89. data/lib/deplate/mod/code-gvim.rb +8 -4
  90. data/lib/deplate/mod/code-highlight.rb +3 -3
  91. data/lib/deplate/mod/colored-log.rb +0 -0
  92. data/lib/deplate/mod/de.rb +2 -2
  93. data/lib/deplate/mod/en.rb +0 -0
  94. data/lib/deplate/mod/endnotes.rb +0 -0
  95. data/lib/deplate/mod/fr.rb +0 -0
  96. data/lib/deplate/mod/html-asciimath.rb +0 -0
  97. data/lib/deplate/mod/html-deplate-button.rb +0 -0
  98. data/lib/deplate/mod/html-headings-navbar.rb +5 -13
  99. data/lib/deplate/mod/html-jsmath.rb +39 -0
  100. data/lib/deplate/mod/html-obfuscate-email.rb +3 -3
  101. data/lib/deplate/mod/html-sidebar.rb +0 -0
  102. data/lib/deplate/mod/htmlslides-navbar-fh.rb +3 -3
  103. data/lib/deplate/mod/iconv.rb +0 -0
  104. data/lib/deplate/mod/imgurl.rb +4 -4
  105. data/lib/deplate/mod/inlatex-compound.rb +7 -10
  106. data/lib/deplate/mod/koma.rb +0 -0
  107. data/lib/deplate/mod/latex-emph-table-head.rb +0 -0
  108. data/lib/deplate/mod/latex-styles.rb +7 -4
  109. data/lib/deplate/mod/latex-verbatim-small.rb +0 -0
  110. data/lib/deplate/mod/makefile.rb +23 -7
  111. data/lib/deplate/mod/mark-external-urls.rb +3 -3
  112. data/lib/deplate/mod/markup-1-warn.rb +10 -10
  113. data/lib/deplate/mod/markup-1.rb +0 -0
  114. data/lib/deplate/mod/navbar-png.rb +24 -8
  115. data/lib/deplate/mod/noindent.rb +0 -0
  116. data/lib/deplate/mod/numpara.rb +0 -0
  117. data/lib/deplate/mod/particle-math.rb +4 -4
  118. data/lib/deplate/mod/php-extra.rb +46 -6
  119. data/lib/deplate/mod/pstoedit.rb +0 -0
  120. data/lib/deplate/mod/recode.rb +0 -0
  121. data/lib/deplate/mod/ru_koi8-r.rb +0 -0
  122. data/lib/deplate/mod/smart-dash.rb +26 -0
  123. data/lib/deplate/mod/smiley.rb +69 -7
  124. data/lib/deplate/mod/soffice.rb +0 -0
  125. data/lib/deplate/mod/symbols-latin1.rb +14 -23
  126. data/lib/deplate/mod/symbols-od-utf-8.rb +5 -3
  127. data/lib/deplate/mod/symbols-plain.rb +5 -35
  128. data/lib/deplate/mod/symbols-sgml.rb +8 -9
  129. data/lib/deplate/mod/symbols-utf-8.rb +8 -9
  130. data/lib/deplate/mod/symbols-xml.rb +5 -9
  131. data/lib/deplate/mod/syntax-region-alt.rb +5 -5
  132. data/lib/deplate/mod/utf8.rb +0 -0
  133. data/lib/deplate/mod/validate-html.rb +0 -0
  134. data/lib/deplate/mod/xmlrpc.rb +0 -0
  135. data/lib/deplate/mod/zh-cn-autospace.rb +18 -20
  136. data/lib/deplate/mod/zh-cn.rb +4 -6
  137. data/lib/deplate/nukumi2.rb +71 -0
  138. data/lib/deplate/once-method.rb +0 -0
  139. data/lib/deplate/output.rb +19 -21
  140. data/lib/deplate/particles.rb +178 -116
  141. data/lib/deplate/regions.rb +99 -58
  142. data/lib/deplate/skeletons.rb +122 -0
  143. data/lib/deplate/structured.rb +164 -106
  144. data/lib/deplate/template.rb +67 -43
  145. data/lib/deplate/templates/html-doc.html +0 -0
  146. data/lib/deplate/templates/html-left-tabbar-js.html +0 -0
  147. data/lib/deplate/templates/html-left-tabbar.html +0 -0
  148. data/lib/deplate/templates/html-tabbar-right-pcomments.php +22 -0
  149. data/lib/deplate/templates/html-tabbar-right-step.html +24 -0
  150. data/lib/deplate/templates/html-tabbar-right-table.html +0 -0
  151. data/lib/deplate/templates/html-tabbar-right.html +2 -4
  152. data/lib/deplate/templates/html-tabbar-top.html +0 -9
  153. data/lib/deplate/templates/html-tabbar.html +0 -0
  154. data/lib/deplate/variables.rb +127 -0
  155. data/lib/deplate/wiki-markup.rb +99 -33
  156. data/lib/deplate/xml.rb +18 -18
  157. data/lib/deplate/zh-cn.rb +0 -0
  158. data/lib/ps2ppm.rb +0 -0
  159. data/man/man1/deplate.1 +564 -474
  160. metadata +201 -186
@@ -3,10 +3,12 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 27-Aug-2004.
6
- # @Last Change: 01-Nov-2005.
7
- # @Revision: 0.25
6
+ # @Last Change: 07-Jun-2006.
7
+ # @Revision: 0.31
8
+
9
+ class Deplate::Symbols::Plain < Deplate::Symbols
10
+ self.myname = 'plain'
8
11
 
9
- module Deplate::Symbols::Plain
10
12
  def symbol_quote(invoker)
11
13
  "&#34;" #"&quot;"
12
14
  end
@@ -22,37 +24,5 @@ module Deplate::Symbols::Plain
22
24
  def symbol_amp(invoker)
23
25
  "&#38;" #"&amp;"
24
26
  end
25
-
26
- def doublequote_open(invoker)
27
- %{"}
28
- end
29
-
30
- def doublequote_close(invoker)
31
- %{"}
32
- end
33
-
34
- def singlequote_open(invoker)
35
- %{'}
36
- end
37
-
38
- def singlequote_close(invoker)
39
- %{'}
40
- end
41
-
42
- def nonbreakingspace(invoker)
43
- %{ }
44
- end
45
-
46
- def symbol_paragraph(invoker)
47
- %{§}
48
- end
49
-
50
- def format_symbol(invoker, sym)
51
- return plain_text(sym)
52
- end
53
- end
54
-
55
- class Deplate::Core
56
- @@symbols["plain"] = Deplate::Symbols::Plain
57
27
  end
58
28
 
@@ -3,10 +3,12 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 27-Aug-2004.
6
- # @Last Change: 01-Nov-2005.
7
- # @Revision: 0.41
6
+ # @Last Change: 26-Nov-2005.
7
+ # @Revision: 0.45
8
8
 
9
- module Deplate::Symbols::SGML
9
+ class Deplate::Symbols::SGML < Deplate::Symbols
10
+ self.myname = :sgml
11
+
10
12
  def symbol_quote(invoker)
11
13
  "&#34;" #"&quot;"
12
14
  end
@@ -72,7 +74,8 @@ module Deplate::Symbols::SGML
72
74
  when "=="
73
75
  return "&#8801;" #"&equiv;"
74
76
  when "+++", "###", "???", "!!!"
75
- m = formatted_inline("sidebar", formatted_inline("para", plain_text(sym)))
77
+ p = @formatter.formatted_inline("para", @formatter.plain_text(sym))
78
+ m = @formatter.formatted_inline("sidebar", p)
76
79
  if defined?(invoker.epilogue)
77
80
  invoker.epilogue << m
78
81
  return ""
@@ -86,12 +89,8 @@ module Deplate::Symbols::SGML
86
89
  # when "<~>"
87
90
  # return ""
88
91
  else
89
- return plain_text(sym)
92
+ super
90
93
  end
91
94
  end
92
95
  end
93
96
 
94
- class Deplate::Core
95
- @@symbols[:sgml] = Deplate::Symbols::SGML
96
- end
97
-
@@ -3,10 +3,12 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 27-Aug-2004.
6
- # @Last Change: 01-Nov-2005.
7
- # @Revision: 0.35
6
+ # @Last Change: 26-Nov-2005.
7
+ # @Revision: 0.37
8
+
9
+ class Deplate::Symbols::Utf8 < Deplate::Symbols
10
+ self.myname = "utf-8"
8
11
 
9
- module Deplate::Symbols::Utf8
10
12
  def doublequote_open(invoker)
11
13
  %{“}
12
14
  end
@@ -56,7 +58,8 @@ module Deplate::Symbols::Utf8
56
58
  when "=="
57
59
  return "≡"
58
60
  when "+++", "###", "???", "!!!"
59
- m = formatted_inline("sidebar", formatted_inline("para", plain_text(sym)))
61
+ p = @formatter.formatted_inline("para", @formatter.plain_text(sym))
62
+ m = @formatter.formatted_inline("sidebar", p)
60
63
  if defined?(invoker.epilogue)
61
64
  invoker.epilogue << m
62
65
  return ""
@@ -70,12 +73,8 @@ module Deplate::Symbols::Utf8
70
73
  # when "<~>"
71
74
  # return ""
72
75
  else
73
- return plain_text(sym)
76
+ super
74
77
  end
75
78
  end
76
79
  end
77
80
 
78
- class Deplate::Core
79
- @@symbols["utf-8"] = Deplate::Symbols::Utf8
80
- end
81
-
@@ -3,14 +3,14 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 27-Aug-2004.
6
- # @Last Change: 01-Nov-2005.
7
- # @Revision: 0.29
6
+ # @Last Change: 26-Nov-2005.
7
+ # @Revision: 0.31
8
8
 
9
9
  require "deplate/mod/symbols-utf-8"
10
10
 
11
- module Deplate::Symbols::XML
12
- include Deplate::Symbols::Utf8
13
-
11
+ class Deplate::Symbols::XML < Deplate::Symbols::Utf8
12
+ self.myname = :xml
13
+
14
14
  def symbol_quote(invoker)
15
15
  "&quot;"
16
16
  end
@@ -28,7 +28,3 @@ module Deplate::Symbols::XML
28
28
  end
29
29
  end
30
30
 
31
- class Deplate::Core
32
- @@symbols[:xml] = Deplate::Symbols::XML
33
- end
34
-
@@ -3,8 +3,8 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 27-Aug-2004.
6
- # @Last Change: 23-Okt-2005.
7
- # @Revision: 0.15
6
+ # @Last Change: 12-Nov-2005.
7
+ # @Revision: 0.19
8
8
  #
9
9
  # Description:
10
10
  # This module provides an alternative syntax for regions, like:
@@ -15,11 +15,11 @@
15
15
  #
16
16
 
17
17
  class Deplate::Element::RegionSyntaxAlt < Deplate::Element::Region
18
- @@elements << self
19
- @rx = /^(\s*)(={4,})\s*([A-Z][A-Za-z]*)(.*)$/
18
+ register_element
19
+ set_rx(/^(\s*)(={4,})\s*([A-Z][A-Za-z]*)(.*)$/)
20
20
 
21
21
  def get_endrx
22
- /^#{Regexp.escape(@match[1])}\s*\b.*$/
22
+ /^#{get_indent}#{Regexp.escape(@match[2])}(\s+.*)?$/
23
23
  end
24
24
 
25
25
  def get_name
File without changes
File without changes
File without changes
@@ -3,30 +3,30 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 01-Aug-2004.
6
- # @Last Change: 23-Okt-2005.
7
- # @Revision: 0.222
6
+ # @Last Change: 31-Mai-2006.
7
+ # @Revision: 0.225
8
8
 
9
- require "deplate/zh-cn"
9
+ require 'deplate/zh-cn'
10
10
 
11
11
  class Deplate::Formatter
12
12
  attr_reader :cjk_space, :cjk_nospace
13
13
  def hook_pre_setup_zh_cn_autospace
14
- @cjk_space = " "
15
- @cjk_nospace = ""
14
+ @cjk_space = ' '
15
+ @cjk_nospace = ''
16
16
  end
17
17
  end
18
18
 
19
19
  class Deplate::Formatter::LaTeX
20
20
  def hook_pre_setup_zh_cn_autospace
21
- @cjk_space = "~"
22
- @cjk_nospace = " "
21
+ @cjk_space = '~'
22
+ @cjk_nospace = ' '
23
23
  end
24
24
  end
25
25
 
26
26
  class Deplate::Core
27
- @cjk_nonchars = "%c-%c" % [33, 0xA0]
28
- @cjk_rx_C = Regexp.new("[^%s]" % @cjk_nonchars)
29
- @cjk_rx_a = Regexp.new("[%s]" % @cjk_nonchars)
27
+ @cjk_nonchars = '%c-%c' % [33, 0xA0]
28
+ @cjk_rx_C = Regexp.new('[^%s]' % @cjk_nonchars)
29
+ @cjk_rx_a = Regexp.new('[%s]' % @cjk_nonchars)
30
30
  class << self
31
31
  attr_reader :cjk_nonchars, :cjk_rx_a, :cjk_rx_C
32
32
  end
@@ -35,13 +35,13 @@ class Deplate::Core
35
35
  class << self
36
36
  def join_particles(particles)
37
37
  acc = []
38
- prev = ""
38
+ prev = ''
39
39
  prev_cjk = false
40
- particles.delete("")
40
+ particles.delete('')
41
41
  particles.each_with_index do |e, i|
42
- if e == " "
42
+ if e == ' '
43
43
  enext = particles[i + 1]
44
- if prev == " " or enext == " "
44
+ if prev == ' ' or enext == ' '
45
45
  elsif @formatter.cjk_smart_blanks and prev =~ Deplate::Core.cjk_rx_C and enext =~ Deplate::Core.cjk_rx_C
46
46
  acc << @formatter.cjk_nospace
47
47
  else
@@ -70,21 +70,19 @@ end
70
70
 
71
71
  class Deplate::Element
72
72
  def join_lines(accum)
73
- accum.join(" ")
73
+ accum.join(' ')
74
74
  end
75
75
  end
76
76
 
77
77
  class Deplate::Particle::Space < Deplate::Particle
78
- # @@particles << self
79
- @rx = /^ /
78
+ set_rx(/^ /)
80
79
  def setup
81
- @elt = " "
80
+ @elt = ' '
82
81
  end
83
82
  end
84
83
 
85
84
  class Deplate::Particle::NonCJK < Deplate::Particle
86
- # @@particles << self
87
- @rx = /^([#{Deplate::Core.cjk_nonchars}])/o
85
+ set_rx(/^([#{Deplate::Core.cjk_nonchars}])/o)
88
86
  @part = nil
89
87
 
90
88
  class << self
@@ -3,8 +3,8 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 01-Aug-2004.
6
- # @Last Change: 23-Okt-2005.
7
- # @Revision: 0.161
6
+ # @Last Change: 12-Nov-2005.
7
+ # @Revision: 0.163
8
8
 
9
9
  require "deplate/zh-cn"
10
10
 
@@ -20,8 +20,7 @@ class Deplate::Element
20
20
  end
21
21
 
22
22
  class Deplate::Particle::SwallowedSpace < Deplate::Particle
23
- # @@particles << self
24
- @rx = /^ +/
23
+ set_rx(/^ +/)
25
24
 
26
25
  def setup
27
26
  @elt = @deplate.formatter.cjk_smart_blanks ? "" : " "
@@ -29,8 +28,7 @@ class Deplate::Particle::SwallowedSpace < Deplate::Particle
29
28
  end
30
29
 
31
30
  class Deplate::Particle::Space < Deplate::Particle
32
- # @@particles << self
33
- @rx = /^~/
31
+ set_rx(/^~/)
34
32
 
35
33
  def setup
36
34
  @elt = "~"
@@ -0,0 +1,71 @@
1
+ # nukumi2.rb
2
+ # @Author: Thomas Link (samul AT web de)
3
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
4
+ # @Created: 31-Dez-2005.
5
+ # @Last Change: 31-Dez-2005.
6
+ # @Revision: 0.33
7
+ #
8
+ # = Usage
9
+ # Add require 'deplate/nukumi2' to your nukumi2 config.rb.
10
+ #
11
+ # = TODO
12
+ # - check inline latex etc. (set the directory for auxiliary files)
13
+
14
+ require 'deplate/deplate-string'
15
+
16
+ if Nukumi2::VERSION != '0.5'
17
+ Deplate::Core.log('deplate support was created for Nukumi2 0.5 and is not guaranteed to work with other versions', :anyway)
18
+ end
19
+
20
+ Nukumi2::Entry::DEFAULT_ENCODING.replace 'DeplateString'
21
+
22
+ o = DeplateString.deplate_options
23
+ o.variables['levelshift'] = '4'
24
+ o.variables['headings'] = 'plain'
25
+ o.variables['auxiliaryDir'] = 'data'
26
+ o.variables['mandatoryID'] = true
27
+
28
+ class FileBackend
29
+ class Parser
30
+ def self.parse(io)
31
+ entry = Nukumi2::Entry.new
32
+
33
+ metadata = []
34
+
35
+ while line = io.gets
36
+ break if line.chomp.empty?
37
+ metadata << line
38
+ end
39
+
40
+ meta = DeplateString.new(metadata.join)
41
+ meta.to_html
42
+
43
+ date = meta.deplate_converter.get_clip('date')
44
+ entry.time = Time.parse(date.elt) if date
45
+
46
+ subject = meta.deplate_converter.get_clip('title')
47
+ entry.title = subject.elt if subject
48
+
49
+ meta.deplate_variables.each do |field, value|
50
+ if value
51
+ case field
52
+ when 'keywords'
53
+ entry.categories.concat value.split(/\s*[,;]\s*/)
54
+ when 'encoding'
55
+ else
56
+ if entry.respond_to? field + "="
57
+ entry.send field + "=", value
58
+ else
59
+ entry.fields[field] = value
60
+ end
61
+ end
62
+ end
63
+ end
64
+
65
+ entry.content = io.read
66
+
67
+ entry
68
+ end
69
+ end
70
+ end
71
+
File without changes
@@ -3,8 +3,8 @@
3
3
  # @Website: http://deplate.sf.net/
4
4
  # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
5
  # @Created: 04-Dez-2004.
6
- # @Last Change: 02-Nov-2005.
7
- # @Revision: 0.245
6
+ # @Last Change: 28-Apr-2006.
7
+ # @Revision: 0.257
8
8
 
9
9
  require 'forwardable'
10
10
  require 'deplate/metadata'
@@ -24,6 +24,7 @@ class Deplate::Output
24
24
  attr_accessor :pre_matter, :body, :post_matter
25
25
  attr_accessor :top_heading, :index
26
26
  attr_accessor :destination
27
+ attr_reader :attributes
27
28
  # , :metadata
28
29
 
29
30
  def_delegator(:@deplate, :slot_by_name)
@@ -55,9 +56,11 @@ class Deplate::Output
55
56
  @variables = deplate.variables
56
57
  @templates = deplate.templates
57
58
  @meta = Deplate::Metadata.new(deplate, self)
59
+ @attributes = {}
58
60
  # @metadata = {}
59
61
  @destination = nil
60
62
  @index = nil
63
+ @output = nil
61
64
  if inherited_output
62
65
  @pre_matter = inherited_output.pre_matter.dup
63
66
  @body = @@body_template.dup
@@ -74,15 +77,13 @@ class Deplate::Output
74
77
  def body_flush
75
78
  call_methods_matching(@formatter, /^hook_pre_body_flush_/)
76
79
  save!
77
- log(["Flushing formatted elements", @destination], :debug)
80
+ log(['Flushing formatted elements', @destination], :debug)
78
81
  process
79
82
  call_methods_matching(@formatter, /^hook_post_body_flush_/)
80
83
  end
81
84
 
82
85
  def save!
83
- if do_i_feel_empty?
84
- @output = nil
85
- else
86
+ unless do_i_feel_empty?
86
87
  call_methods_matching(@formatter, /^hook_pre_output_save_/)
87
88
  @index ||= @top_heading.top_index
88
89
  @destination ||= @top_heading.destination
@@ -91,25 +92,24 @@ class Deplate::Output
91
92
  @post_matter = @post_matter.dup
92
93
  call_methods_matching(@formatter, /^hook_post_output_save_/)
93
94
  end
94
- log(["Save output", destination], :debug)
95
+ log(['Save output', destination], :debug)
95
96
  end
96
97
 
97
98
  def process
98
99
  if @options.included
99
100
  peel!
100
101
  else
101
- tmpl = @options.template || @variables["template"]
102
+ tmpl = @options.template || @variables['template']
102
103
  if tmpl
103
- @variables["@idx"] = @index[0].to_s
104
104
  if File.exist?(tmpl)
105
105
  fill_in_template(tmpl)
106
106
  else
107
107
  template_file = @templates[tmpl]
108
108
  if template_file
109
- log(["Using template", template_file], :debug)
109
+ log(['Using template', template_file], :debug)
110
110
  fill_in_template(template_file)
111
111
  else
112
- log(["Unknown template", tmpl], :error)
112
+ log(['Unknown template', tmpl], :error)
113
113
  flatten!
114
114
  end
115
115
  end
@@ -133,7 +133,7 @@ class Deplate::Output
133
133
  body_empty?
134
134
  end
135
135
  end
136
- private :do_i_feel_empty?
136
+ # private :do_i_feel_empty?
137
137
 
138
138
  def peel!
139
139
  unless do_i_feel_empty?
@@ -148,14 +148,12 @@ class Deplate::Output
148
148
  end
149
149
 
150
150
  def fill_in_template(template_file)
151
- @deplate.maintain_current_top(@top_heading) do
152
- unless do_i_feel_empty?
153
- t = Deplate::Template.new(:file => template_file)
154
- @output = t.fill_in(@deplate,
155
- :pre => @pre_matter,
156
- :body => @body,
157
- :post => @post_matter)
158
- end
151
+ unless do_i_feel_empty?
152
+ t = Deplate::Template.new(:file => template_file)
153
+ @output = t.fill_in(@deplate,
154
+ :pre => @pre_matter,
155
+ :body => @body,
156
+ :post => @post_matter)
159
157
  end
160
158
  end
161
159
 
@@ -170,7 +168,7 @@ class Deplate::Output
170
168
  else
171
169
  pos = slot_by_name(pos)
172
170
  unless pos or pos == 0
173
- log(["Undefined slot", pos, type, text], :error) if pos.nil?
171
+ log(["Undefined slot", pos, type], :error) if pos.nil?
174
172
  return
175
173
  end
176
174
  case type