deplate 0.8.4 → 0.8.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.TXT +118 -0
- data/NEWS.TXT +6 -21
- data/VERSION.TXT +1 -1
- data/etc/deplate.ini +15 -2
- data/lib/action_view/helpers/deplate.rb +0 -0
- data/lib/deplate/abstract-class.rb +3 -2
- data/lib/deplate/bib.rb +3 -2
- data/lib/deplate/builtin.rb +3 -2
- data/lib/deplate/cache.rb +3 -2
- data/lib/deplate/commands.rb +3 -11
- data/lib/deplate/common.rb +7 -2
- data/lib/deplate/compat.rb +21 -0
- data/lib/deplate/compat/parsedate.rb +24 -0
- data/lib/deplate/converter.rb +3 -2
- data/lib/deplate/core.rb +135 -103
- data/lib/deplate/counters.rb +3 -2
- data/lib/deplate/css/article.css +2 -2
- data/lib/deplate/css/doc.css +3 -2
- data/lib/deplate/css/heading-navbar.css +2 -2
- data/lib/deplate/css/highlight.css +0 -0
- data/lib/deplate/css/layout-deplate-print.css +2 -2
- data/lib/deplate/css/layout-deplate.css +2 -2
- data/lib/deplate/css/presentation.css +2 -2
- data/lib/deplate/css/sans-serif.css +2 -2
- data/lib/deplate/css/screenplay.css +0 -0
- data/lib/deplate/css/serif-e.css +2 -2
- data/lib/deplate/css/serif-rel.css +3 -2
- data/lib/deplate/css/serif.css +2 -2
- data/lib/deplate/css/slides.css +3 -2
- data/lib/deplate/css/tabbar-top.css +2 -2
- data/lib/deplate/css/text-sans-serif.css +3 -2
- data/lib/deplate/css/text-serif.css +2 -2
- data/lib/deplate/css/website.css +0 -0
- data/lib/deplate/define.rb +3 -2
- data/lib/deplate/deplate-string.rb +3 -2
- data/lib/deplate/docbook.rb +4 -14
- data/lib/deplate/elements.rb +37 -4
- data/lib/deplate/encoding.rb +57 -0
- data/lib/deplate/etc.rb +7 -5
- data/lib/deplate/external.rb +5 -13
- data/lib/deplate/fmt/dbk-article-4.1.2.rb +3 -2
- data/lib/deplate/fmt/dbk-article.rb +3 -2
- data/lib/deplate/fmt/dbk-book.rb +3 -2
- data/lib/deplate/fmt/dbk-ref.rb +3 -2
- data/lib/deplate/fmt/dbk-slides.rb +3 -2
- data/lib/deplate/fmt/dbk-snippet.rb +3 -2
- data/lib/deplate/fmt/html-snippet.rb +3 -2
- data/lib/deplate/fmt/html.rb +40 -27
- data/lib/deplate/fmt/htmlsite.rb +3 -2
- data/lib/deplate/fmt/htmlslides.rb +3 -2
- data/lib/deplate/fmt/htmlwebsite.rb +3 -2
- data/lib/deplate/fmt/latex-dramatist.rb +2 -1
- data/lib/deplate/fmt/latex-snippet.rb +3 -2
- data/lib/deplate/fmt/latex.rb +88 -67
- data/lib/deplate/fmt/null.rb +3 -2
- data/lib/deplate/fmt/php.rb +3 -2
- data/lib/deplate/fmt/phpsite.rb +3 -2
- data/lib/deplate/fmt/plain.rb +4 -3
- data/lib/deplate/fmt/sweave.rb +104 -0
- data/lib/deplate/fmt/template.rb +3 -2
- data/lib/deplate/fmt/xhtml10t.rb +82 -2
- data/lib/deplate/fmt/xhtml11m.rb +3 -2
- data/lib/deplate/formatter-snippet.rb +3 -2
- data/lib/deplate/formatter.rb +203 -29
- data/lib/deplate/guesslanguage.rb +3 -2
- data/lib/deplate/input.rb +9 -8
- data/lib/deplate/input/deplate-headings.rb +3 -2
- data/lib/deplate/input/deplate-restricted.rb +3 -2
- data/lib/deplate/input/deplate.rb +3 -2
- data/lib/deplate/input/play.rb +3 -2
- data/lib/deplate/input/rdoc.rb +3 -2
- data/lib/deplate/input/template.rb +3 -2
- data/lib/deplate/lib/Makefile.config +8 -0
- data/lib/deplate/locale/de.latin1 +6 -0
- data/lib/deplate/macros.rb +4 -2
- data/lib/deplate/messages.rb +9 -5
- data/lib/deplate/metadata.rb +3 -2
- data/lib/deplate/metadata/marshal.rb +3 -2
- data/lib/deplate/metadata/xml.rb +3 -2
- data/lib/deplate/metadata/yaml.rb +3 -2
- data/lib/deplate/mod/anyword.rb +3 -2
- data/lib/deplate/mod/babelfish.rb +3 -2
- data/lib/deplate/mod/code-coderay.rb +3 -2
- data/lib/deplate/mod/code-gvim.rb +3 -2
- data/lib/deplate/mod/code-gvim71.rb +3 -2
- data/lib/deplate/mod/code-highlight.rb +3 -2
- data/lib/deplate/mod/colored-log.rb +3 -2
- data/lib/deplate/mod/encode.rb +33 -0
- data/lib/deplate/mod/endnotes.rb +3 -2
- data/lib/deplate/mod/entities-decode.rb +2 -1
- data/lib/deplate/mod/entities-encode.rb +2 -1
- data/lib/deplate/mod/guesslanguage.rb +3 -2
- data/lib/deplate/mod/html-asciimath.rb +3 -2
- data/lib/deplate/mod/html-deplate-button.rb +3 -2
- data/lib/deplate/mod/html-headings-navbar.rb +3 -2
- data/lib/deplate/mod/html-highstep.rb +3 -2
- data/lib/deplate/mod/html-jsmath.rb +3 -2
- data/lib/deplate/mod/html-mathml.rb +2 -1
- data/lib/deplate/mod/html-obfuscate-email.rb +3 -2
- data/lib/deplate/mod/html-sidebar.rb +3 -2
- data/lib/deplate/mod/htmlslides-navbar-fh.rb +3 -2
- data/lib/deplate/mod/iconv.rb +3 -2
- data/lib/deplate/mod/imgurl.rb +4 -3
- data/lib/deplate/mod/inlatex-compound.rb +3 -2
- data/lib/deplate/mod/koma.rb +3 -2
- data/lib/deplate/mod/lang-de.rb +3 -2
- data/lib/deplate/mod/lang-en.rb +3 -2
- data/lib/deplate/mod/lang-ru-koi8-r.rb +3 -2
- data/lib/deplate/mod/lang-ru.rb +3 -2
- data/lib/deplate/mod/lang-zh_CN-autospace.rb +3 -2
- data/lib/deplate/mod/lang-zh_CN.rb +3 -2
- data/lib/deplate/mod/latex-emph-table-head.rb +3 -2
- data/lib/deplate/mod/latex-styles.rb +3 -2
- data/lib/deplate/mod/latex-verbatim-small.rb +3 -2
- data/lib/deplate/mod/linkmap.rb +2 -1
- data/lib/deplate/mod/makefile.rb +39 -46
- data/lib/deplate/mod/mark-external-urls.rb +3 -2
- data/lib/deplate/mod/markup-1-warn.rb +3 -2
- data/lib/deplate/mod/markup-1.rb +3 -2
- data/lib/deplate/mod/navbar-png.rb +3 -2
- data/lib/deplate/mod/noindent.rb +3 -2
- data/lib/deplate/mod/numpara.rb +3 -2
- data/lib/deplate/mod/particle-math.rb +3 -2
- data/lib/deplate/mod/php-extra.rb +3 -2
- data/lib/deplate/mod/pstoedit.rb +3 -2
- data/lib/deplate/mod/recode.rb +3 -2
- data/lib/deplate/mod/smart-dash.rb +3 -2
- data/lib/deplate/mod/smiley.rb +3 -2
- data/lib/deplate/mod/soffice.rb +3 -2
- data/lib/deplate/mod/symbols-latin1.rb +8 -2
- data/lib/deplate/mod/symbols-od-utf-8.rb +3 -2
- data/lib/deplate/mod/symbols-plain.rb +3 -2
- data/lib/deplate/mod/symbols-sgml.rb +6 -5
- data/lib/deplate/mod/symbols-utf-8.rb +6 -5
- data/lib/deplate/mod/symbols-xml.rb +3 -2
- data/lib/deplate/mod/syntax-region-alt.rb +3 -2
- data/lib/deplate/mod/utf8.rb +3 -2
- data/lib/deplate/mod/validate-html.rb +3 -2
- data/lib/deplate/mod/xmlrpc.rb +3 -2
- data/lib/deplate/nukumi2.rb +3 -2
- data/lib/deplate/once-method.rb +3 -2
- data/lib/deplate/output.rb +3 -2
- data/lib/deplate/particles.rb +12 -6
- data/lib/{ps2ppm.rb → deplate/ps2ppm.rb} +11 -11
- data/lib/deplate/regions.rb +75 -52
- data/lib/deplate/skeletons.rb +3 -2
- data/lib/deplate/structured.rb +8 -24
- data/lib/deplate/template.rb +3 -2
- data/lib/deplate/themes/presentation.html/css/presentation.css +2 -2
- data/lib/deplate/themes/presentation.html/prelude.txt +1 -1
- data/lib/deplate/themes/presentation.html/resources/spacer.png +0 -0
- data/lib/deplate/themes/s5.xhtml/README.TXT +2 -0
- data/lib/deplate/themes/s5.xhtml/templates/s5.xhtml +42 -0
- data/lib/deplate/themes/s5.xhtml/theme.ini +11 -0
- data/lib/deplate/variables.rb +12 -2
- data/lib/deplate/wiki-markup.rb +3 -2
- data/lib/deplate/xml.rb +19 -21
- data/lib/deplate/zh_CN.rb +3 -2
- data/man/man1/deplate.1 +83 -128
- metadata +16 -4
data/lib/deplate/fmt/null.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# null.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 17-M�r-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.3749
|
8
9
|
|
9
10
|
require 'deplate/formatter'
|
10
11
|
|
data/lib/deplate/fmt/php.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# php.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 17-M�r-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.916
|
8
9
|
|
9
10
|
require 'deplate/fmt/html'
|
10
11
|
require 'deplate/mod/php-extra'
|
data/lib/deplate/fmt/phpsite.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# phpsite.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 17-M�r-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.920
|
8
9
|
|
9
10
|
require 'deplate/fmt/htmlsite'
|
10
11
|
require 'deplate/mod/php-extra'
|
data/lib/deplate/fmt/plain.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# fmt-html.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 17-M�r-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.3597
|
8
9
|
|
9
10
|
require "deplate/formatter"
|
10
11
|
|
@@ -65,7 +66,7 @@ class Deplate::Formatter::Plain < Deplate::Formatter
|
|
65
66
|
end
|
66
67
|
end
|
67
68
|
|
68
|
-
def
|
69
|
+
def include_image_general(invoker, file, args, inline=false)
|
69
70
|
file = args['file'] if args['file']
|
70
71
|
if inline or !@deplate.variables['asciiArt']
|
71
72
|
return "[#{args["alt"] || @deplate.variables['imgAlt'] || file}]"
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# encoding: ISO-8859-1
|
2
|
+
#!/usr/bin/env ruby
|
3
|
+
# @Last Change: 2009-01-17.
|
4
|
+
# Author:: Thomas Link (micathom AT gmail com)
|
5
|
+
# License:: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
6
|
+
# Created:: 2008-11-24.
|
7
|
+
|
8
|
+
|
9
|
+
require 'deplate/fmt/latex.rb'
|
10
|
+
|
11
|
+
|
12
|
+
class Deplate::Formatter::Sweave < Deplate::Formatter::LaTeX
|
13
|
+
self.myname = 'sweave'
|
14
|
+
self.rx = /(la)?tex|sweave/i
|
15
|
+
self.related = ['latex']
|
16
|
+
self.suffix = ".Rnw"
|
17
|
+
|
18
|
+
self.latexDocClass = 'article'
|
19
|
+
# self.latexVariables = ['11pt', 'a4paper']
|
20
|
+
|
21
|
+
|
22
|
+
def prepare
|
23
|
+
super
|
24
|
+
sweave = @deplate.variables['sweaveOpts']
|
25
|
+
if sweave
|
26
|
+
output_at(:pre, :doc_def, "\\SweaveOpts{#{sweave}}")
|
27
|
+
end
|
28
|
+
sweavePath = @deplate.variables['sweavePath']
|
29
|
+
if sweavePath
|
30
|
+
# add_package('Sweave')
|
31
|
+
add_package(sweavePath)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
def img_R(invoker, body)
|
37
|
+
if invoker.args['noFloat']
|
38
|
+
pre = post = nil
|
39
|
+
else
|
40
|
+
pre = with_agent(:figure_top, String, invoker)
|
41
|
+
post = with_agent(:figure_bottom, String, invoker).strip
|
42
|
+
end
|
43
|
+
opts = sweave_options(invoker, 'fig=TRUE')
|
44
|
+
return join_blocks([pre, "<<#{opts}>>=", body, '@', post].compact)
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
def region_R(invoker, body)
|
49
|
+
opts = sweave_options(invoker)
|
50
|
+
return join_blocks(["<<#{opts}>>=", body, '@'])
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def sweave_options(invoker, rest=nil)
|
57
|
+
opts = [invoker.args['sweave'], rest]
|
58
|
+
if (id = invoker.args[:id])
|
59
|
+
opts << "label=#{id}"
|
60
|
+
end
|
61
|
+
if invoker.args[:hide]
|
62
|
+
opts << 'results=hide'
|
63
|
+
end
|
64
|
+
['print', 'echo', 'results', 'height', 'width', 'engine'].each do |arg|
|
65
|
+
if invoker.args.has_key?(arg)
|
66
|
+
opts << "#{arg}=#{sweave_value(invoker.args[arg])}"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
if invoker.args['swallow'] or invoker.args['drop']
|
70
|
+
opts << 'echo=FALSE,print=FALSE,results=hide'
|
71
|
+
end
|
72
|
+
return opts.compact.join(',')
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
def sweave_value(value)
|
77
|
+
case value
|
78
|
+
when TrueClass
|
79
|
+
return 'TRUE'
|
80
|
+
when FalseClass
|
81
|
+
return 'FALSE'
|
82
|
+
else
|
83
|
+
return value
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
class Deplate::Macro::Sweave < Deplate::Macro::Insert
|
91
|
+
register_as 'sweave'
|
92
|
+
register_as 'r'
|
93
|
+
|
94
|
+
def setup(text)
|
95
|
+
super
|
96
|
+
@text = "\\Sexpr{#{@text}}"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
# Local Variables:
|
103
|
+
# revisionRx: REVISION\s\+=\s\+\'
|
104
|
+
# End:
|
data/lib/deplate/fmt/template.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# template.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 25-M�r-2005.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.23
|
8
9
|
#
|
9
10
|
# = Description
|
10
11
|
# The formatter for templates
|
data/lib/deplate/fmt/xhtml10t.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# fmt-xhtml.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 03-Aug-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.48
|
8
9
|
|
9
10
|
require "deplate/fmt/html"
|
10
11
|
|
@@ -37,5 +38,84 @@ class Deplate::Formatter::XHTML10transitional < Deplate::Formatter::HTML
|
|
37
38
|
def head_link_tag(text)
|
38
39
|
return %Q{<link #{text} />}
|
39
40
|
end
|
41
|
+
|
42
|
+
def include_image_svg(invoker, file, args, inline=false)
|
43
|
+
if args['include']
|
44
|
+
|
45
|
+
svg = File.read(file)
|
46
|
+
svg.sub!(/^.*?<\?xml .*?\?>[^<]*/, '')
|
47
|
+
svg.sub!(/^<!DOCTYPE .*?>[^<]*/, '')
|
48
|
+
return svg
|
49
|
+
|
50
|
+
else
|
51
|
+
|
52
|
+
acc = ['type="image/svg+xml"']
|
53
|
+
|
54
|
+
file = args['file'] if args['file']
|
55
|
+
file = img_url(use_image_filename(file, args))
|
56
|
+
acc << %{data="#{file}"}
|
57
|
+
|
58
|
+
w = args['w'] || args['width']
|
59
|
+
acc << %{width="#{w}"} if w
|
60
|
+
h = args['h'] || args['heigth']
|
61
|
+
acc << %{height="#{h}"} if h
|
62
|
+
|
63
|
+
# b = args['border'] || '0'
|
64
|
+
# acc << %{border="#{b}"}
|
65
|
+
|
66
|
+
# # f = file[0..-(File.extname(file).size + 1)]
|
67
|
+
# alt = args['alt']
|
68
|
+
# if alt
|
69
|
+
# alt.gsub!(/[\\"&<>]/) do |s|
|
70
|
+
# case s
|
71
|
+
# when '\\'
|
72
|
+
# ''
|
73
|
+
# else
|
74
|
+
# plain_text(s).gsub(/\\([0-9&`'+])/, '\\1')
|
75
|
+
# end
|
76
|
+
# end
|
77
|
+
# else
|
78
|
+
# alt = File.basename(file, '.*')
|
79
|
+
# end
|
80
|
+
# acc << %{alt="#{alt}"}
|
81
|
+
|
82
|
+
style = args['style']
|
83
|
+
if style
|
84
|
+
style = Deplate::Core.split_list(style, ',', '; ', invoker.source)
|
85
|
+
else
|
86
|
+
style = []
|
87
|
+
end
|
88
|
+
style << (inline ? 'inline' : 'figure')
|
89
|
+
acc << %{class="#{class_attr(style)}"}
|
90
|
+
|
91
|
+
img_id = args['id']
|
92
|
+
unless img_id
|
93
|
+
fbase = Deplate::Core.clean_name(File.basename(fbase || 'imgid'))
|
94
|
+
img_id = @deplate.auto_numbered(fbase, :inc => 1, :fmt => %{#{fbase}_%s})
|
95
|
+
end
|
96
|
+
acc << %{id="#{img_id}" name="#{img_id}"}
|
97
|
+
|
98
|
+
# hi = args['hi']
|
99
|
+
# if hi
|
100
|
+
# case hi
|
101
|
+
# when String
|
102
|
+
# hi_img = img_url(use_image_filename(hi, args))
|
103
|
+
# else
|
104
|
+
# hi_img = [File.dirname(file), %{hi-#{File.basename(file)}}]
|
105
|
+
# hi_img = File.join(hi_img.compact)
|
106
|
+
# end
|
107
|
+
#
|
108
|
+
# setup_highlight_image
|
109
|
+
# acc << %{onMouseover="HighlightImage('%s', '%s')" onMouseout="HighlightImage('%s', '%s')"} % [
|
110
|
+
# img_id, img_url(hi_img, args),
|
111
|
+
# img_id, file
|
112
|
+
# ]
|
113
|
+
# end
|
114
|
+
|
115
|
+
return %{<object #{acc.join(' ')} ></object>}
|
116
|
+
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
40
120
|
end
|
41
121
|
|
data/lib/deplate/fmt/xhtml11m.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# @Author: Thomas Link (micathom AT gmail com)
|
2
3
|
# @Website: http://deplate.sf.net/
|
3
4
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
4
5
|
# @Created: 2008-04-14.
|
5
|
-
# @Last Change:
|
6
|
-
# @Revision: 0.
|
6
|
+
# @Last Change: 2009-02-02.
|
7
|
+
# @Revision: 0.44
|
7
8
|
|
8
9
|
require "deplate/fmt/xhtml10t"
|
9
10
|
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# formatter-snippet.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 11-Aug-2005.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-02.
|
8
|
+
# @Revision: 0.5
|
8
9
|
|
9
10
|
module Deplate::Snippet
|
10
11
|
def formatter_initialize_snippet
|
data/lib/deplate/formatter.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
+
# encoding: ASCII
|
1
2
|
# formatter.rb
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
3
4
|
# @Website: http://deplate.sf.net/
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
6
|
# @Created: 31-Okt-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
7
|
+
# @Last Change: 2009-02-05.
|
8
|
+
# @Revision: 0.2062
|
8
9
|
|
9
10
|
require 'deplate/abstract-class'
|
10
11
|
require 'deplate/common'
|
12
|
+
require 'deplate/encoding'
|
11
13
|
require 'strscan'
|
12
14
|
|
13
15
|
# Description:
|
@@ -98,7 +100,7 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
98
100
|
elsif file.nil?
|
99
101
|
options.out = '-'
|
100
102
|
else
|
101
|
-
options.out = Deplate::Core.get_out_fullname(file, options.suffix, options)
|
103
|
+
options.out = Deplate::Core.get_out_fullname(file, options.suffix, options, :raw => true)
|
102
104
|
end
|
103
105
|
end
|
104
106
|
options
|
@@ -254,22 +256,7 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
254
256
|
end
|
255
257
|
|
256
258
|
def canonic_enc_name(enc, table=@encodings)
|
257
|
-
|
258
|
-
when 'latin-1', 'latin1', 'l1', 'isolat1', 'iso-8859-1'
|
259
|
-
cen = 'latin1'
|
260
|
-
when 'latin-9', 'latin9', 'l9', 'isolat9', 'iso-8859-15'
|
261
|
-
cen = 'latin9'
|
262
|
-
when 'gb2312', 'gbk'
|
263
|
-
cen = 'gb2312'
|
264
|
-
when 'koi8-r'
|
265
|
-
cen = 'koi8-r'
|
266
|
-
when 'utf8', 'utf-8'
|
267
|
-
cen = 'utf-8'
|
268
|
-
else
|
269
|
-
log(['Unsupported encoding', enc], :anyway)
|
270
|
-
cen = enc
|
271
|
-
end
|
272
|
-
return table[cen] || cen
|
259
|
+
Deplate::Encoding.canonic_enc_name(enc, table)
|
273
260
|
end
|
274
261
|
|
275
262
|
def output_destination
|
@@ -445,6 +432,8 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
445
432
|
else
|
446
433
|
r = @special_symbols[e]
|
447
434
|
case r
|
435
|
+
when :identity
|
436
|
+
acc << e
|
448
437
|
when String
|
449
438
|
acc << r
|
450
439
|
when Proc
|
@@ -549,10 +538,10 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
549
538
|
@symbol_proxy.nonbreakingspace(invoker)
|
550
539
|
end
|
551
540
|
|
552
|
-
def symbol_paragraph(invoker)
|
553
|
-
|
554
|
-
|
555
|
-
end
|
541
|
+
# def symbol_paragraph(invoker)
|
542
|
+
# check_symbol_proxy
|
543
|
+
# @symbol_proxy.symbol_paragraph(invoker)
|
544
|
+
# end
|
556
545
|
|
557
546
|
def format_symbol(invoker, sym)
|
558
547
|
check_symbol_proxy
|
@@ -716,9 +705,166 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
716
705
|
return %{#{plain_text("{")}#{invoker.elt}#{plain_text("}")}}
|
717
706
|
end
|
718
707
|
|
708
|
+
def format_heading_close(invoker)
|
709
|
+
end
|
710
|
+
|
711
|
+
def close_headings(level, &block)
|
712
|
+
hds = @deplate.options.headings
|
713
|
+
if hds
|
714
|
+
acc = []
|
715
|
+
loop do
|
716
|
+
hd = hds.last
|
717
|
+
if hd and level <= hd.level
|
718
|
+
acc << indent_text(format_heading_close(hd), :mult => hd.level - level)
|
719
|
+
if block
|
720
|
+
acc << block.call(hd.level)
|
721
|
+
end
|
722
|
+
hds.pop
|
723
|
+
else
|
724
|
+
break
|
725
|
+
end
|
726
|
+
end
|
727
|
+
if acc.empty?
|
728
|
+
return nil
|
729
|
+
else
|
730
|
+
return join_blocks(acc)
|
731
|
+
end
|
732
|
+
end
|
733
|
+
end
|
734
|
+
|
735
|
+
|
736
|
+
def canonic_mime(type)
|
737
|
+
case type
|
738
|
+
when 'image/cgm'
|
739
|
+
when 'image/g3fax'
|
740
|
+
when 'image/gif', 'gif'
|
741
|
+
return 'image/gif'
|
742
|
+
when 'image/ief', 'ief'
|
743
|
+
when 'image/jpeg', 'jpeg', 'jpg', 'jpe'
|
744
|
+
return 'image/jpeg'
|
745
|
+
when 'image/naplps'
|
746
|
+
when 'image/pcx', 'pcx'
|
747
|
+
when 'image/png', 'png'
|
748
|
+
return 'image/png'
|
749
|
+
when 'image/prs.btif'
|
750
|
+
when 'image/prs.pti'
|
751
|
+
when 'image/svg'+'xml', 'svg', 'svgz'
|
752
|
+
return 'image/svg+xml'
|
753
|
+
when 'image/tiff', 'tiff', 'tif'
|
754
|
+
return 'image/tiff'
|
755
|
+
when 'image/vnd.cns.inf2'
|
756
|
+
when 'image/vnd.djvu', 'djvu', 'djv'
|
757
|
+
when 'image/vnd.dwg'
|
758
|
+
when 'image/vnd.dxf'
|
759
|
+
when 'image/vnd.fastbidsheet'
|
760
|
+
when 'image/vnd.fpx'
|
761
|
+
when 'image/vnd.fst'
|
762
|
+
when 'image/vnd.fujixerox.edmics-mmr'
|
763
|
+
when 'image/vnd.fujixerox.edmics-rlc'
|
764
|
+
when 'image/vnd.mix'
|
765
|
+
when 'image/vnd.net-fpx'
|
766
|
+
when 'image/vnd.svf'
|
767
|
+
when 'image/vnd.wap.wbmp', 'wbmp'
|
768
|
+
when 'image/vnd.xiff'
|
769
|
+
when 'image/x-cmu-raster', 'ras'
|
770
|
+
when 'image/x-coreldraw', 'cdr'
|
771
|
+
when 'image/x-coreldrawpattern', 'pat'
|
772
|
+
when 'image/x-coreldrawtemplate', 'cdt'
|
773
|
+
when 'image/x-corelphotopaint', 'cpt'
|
774
|
+
when 'image/x-icon', 'ico'
|
775
|
+
when 'image/x-jg', 'art'
|
776
|
+
when 'image/x-jng', 'jng'
|
777
|
+
when 'image/x-ms-bmp', 'bmp'
|
778
|
+
return 'image/x-ms-bmp'
|
779
|
+
when 'image/x-photoshop', 'psd'
|
780
|
+
when 'image/x-portable-anymap', 'pnm'
|
781
|
+
when 'image/x-portable-bitmap', 'pbm'
|
782
|
+
when 'image/x-portable-graymap', 'pgm'
|
783
|
+
when 'image/x-portable-pixmap', 'ppm'
|
784
|
+
when 'image/x-rgb', 'rgb'
|
785
|
+
when 'image/x-xbitmap', 'xbm'
|
786
|
+
when 'image/x-xpixmap', 'xpm'
|
787
|
+
when 'image/x-xwindowdump', 'xwd'
|
788
|
+
# wmf
|
789
|
+
# ps, eps
|
790
|
+
# pdf
|
791
|
+
end
|
792
|
+
end
|
793
|
+
|
794
|
+
|
795
|
+
def canonic_image_type(type)
|
796
|
+
case type
|
797
|
+
when 'image/cgm'
|
798
|
+
when 'image/g3fax'
|
799
|
+
when 'image/gif', 'gif'
|
800
|
+
return 'gif'
|
801
|
+
when 'image/ief', 'ief'
|
802
|
+
when 'image/jpeg', 'jpeg', 'jpg', 'jpe'
|
803
|
+
return 'jpg'
|
804
|
+
when 'image/naplps'
|
805
|
+
when 'image/pcx', 'pcx'
|
806
|
+
when 'image/png', 'png'
|
807
|
+
return 'png'
|
808
|
+
when 'image/prs.btif'
|
809
|
+
when 'image/prs.pti'
|
810
|
+
when 'image/svg'+'xml', 'svg', 'svgz'
|
811
|
+
return 'svg'
|
812
|
+
when 'image/tiff', 'tiff', 'tif'
|
813
|
+
return 'tif'
|
814
|
+
when 'image/vnd.cns.inf2'
|
815
|
+
when 'image/vnd.djvu', 'djvu', 'djv'
|
816
|
+
when 'image/vnd.dwg'
|
817
|
+
when 'image/vnd.dxf'
|
818
|
+
when 'image/vnd.fastbidsheet'
|
819
|
+
when 'image/vnd.fpx'
|
820
|
+
when 'image/vnd.fst'
|
821
|
+
when 'image/vnd.fujixerox.edmics-mmr'
|
822
|
+
when 'image/vnd.fujixerox.edmics-rlc'
|
823
|
+
when 'image/vnd.mix'
|
824
|
+
when 'image/vnd.net-fpx'
|
825
|
+
when 'image/vnd.svf'
|
826
|
+
when 'image/vnd.wap.wbmp', 'wbmp'
|
827
|
+
when 'image/vnd.xiff'
|
828
|
+
when 'image/x-cmu-raster', 'ras'
|
829
|
+
when 'image/x-coreldraw', 'cdr'
|
830
|
+
when 'image/x-coreldrawpattern', 'pat'
|
831
|
+
when 'image/x-coreldrawtemplate', 'cdt'
|
832
|
+
when 'image/x-corelphotopaint', 'cpt'
|
833
|
+
when 'image/x-icon', 'ico'
|
834
|
+
when 'image/x-jg', 'art'
|
835
|
+
when 'image/x-jng', 'jng'
|
836
|
+
when 'image/x-ms-bmp', 'bmp'
|
837
|
+
return 'bmp'
|
838
|
+
when 'image/x-photoshop', 'psd'
|
839
|
+
when 'image/x-portable-anymap', 'pnm'
|
840
|
+
when 'image/x-portable-bitmap', 'pbm'
|
841
|
+
when 'image/x-portable-graymap', 'pgm'
|
842
|
+
when 'image/x-portable-pixmap', 'ppm'
|
843
|
+
when 'image/x-rgb', 'rgb'
|
844
|
+
when 'image/x-xbitmap', 'xbm'
|
845
|
+
when 'image/x-xpixmap', 'xpm'
|
846
|
+
when 'image/x-xwindowdump', 'xwd'
|
847
|
+
# wmf
|
848
|
+
# ps, eps
|
849
|
+
# pdf
|
850
|
+
end
|
851
|
+
end
|
852
|
+
|
853
|
+
|
854
|
+
def include_image(invoker, file, args, *other_args)
|
855
|
+
type = args['type'] || File.extname(file).sub(/^\./, '')
|
856
|
+
type = canonic_image_type(type)
|
857
|
+
meth = "include_image_#{type}"
|
858
|
+
if respond_to?(meth)
|
859
|
+
return send(meth, invoker, file, args, *other_args)
|
860
|
+
else
|
861
|
+
include_image_general(invoker, file, args, *other_args)
|
862
|
+
end
|
863
|
+
end
|
864
|
+
|
719
865
|
|
720
866
|
### General
|
721
|
-
def_abstract :format_label, :format_figure, :
|
867
|
+
def_abstract :format_label, :format_figure, :include_image_general, :image_suffixes
|
722
868
|
|
723
869
|
### Elements
|
724
870
|
def_abstract :format_note, :format_table, :format_heading, :format_list,
|
@@ -804,7 +950,7 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
804
950
|
break_at = args[:break_at]
|
805
951
|
acc = []
|
806
952
|
rx = /(\n|[[:space:]#{break_at}]+)/
|
807
|
-
text.
|
953
|
+
text.each_line do |text|
|
808
954
|
# if text.kind_of?(Array)
|
809
955
|
# log("We shouldn't be here. If you can track down when this happens, please send an example to the author.", :error)
|
810
956
|
# puts caller[0..10].join("\n")
|
@@ -1145,7 +1291,8 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
1145
1291
|
shift = args[:shift]
|
1146
1292
|
hanging = args[:hanging]
|
1147
1293
|
indent = args[:indent] || format_indent(mult, shift)
|
1148
|
-
|
1294
|
+
acc = []
|
1295
|
+
text.each_line do |l|
|
1149
1296
|
rv = '%s%s' % [indent, l.chomp]
|
1150
1297
|
if hanging
|
1151
1298
|
indent = args[:indenttail] || \
|
@@ -1162,8 +1309,9 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
1162
1309
|
end
|
1163
1310
|
hanging = false
|
1164
1311
|
end
|
1165
|
-
rv
|
1166
|
-
end
|
1312
|
+
acc << rv
|
1313
|
+
end
|
1314
|
+
return acc.join("\n")
|
1167
1315
|
end
|
1168
1316
|
end
|
1169
1317
|
|
@@ -1220,12 +1368,38 @@ class Deplate::Formatter < Deplate::CommonObject
|
|
1220
1368
|
end
|
1221
1369
|
|
1222
1370
|
|
1223
|
-
|
1371
|
+
protected
|
1224
1372
|
def initialize_services
|
1225
1373
|
services = {}
|
1226
1374
|
return services
|
1227
1375
|
end
|
1228
1376
|
|
1377
|
+
# def clean_tags(text)
|
1378
|
+
# if text
|
1379
|
+
# t = text.gsub(/\<[^>]*?\>/, '')
|
1380
|
+
# t.gsub!(/^\s*$/, '')
|
1381
|
+
# t.gsub!(/^\n\s*/, '')
|
1382
|
+
# t.gsub!(/\n\s*$/, '')
|
1383
|
+
# t
|
1384
|
+
# end
|
1385
|
+
# end
|
1386
|
+
|
1387
|
+
def clean_tags(text, *tags)
|
1388
|
+
if text
|
1389
|
+
if tags.empty?
|
1390
|
+
t = text.gsub(/\<[^>]*?\>/, '')
|
1391
|
+
else
|
1392
|
+
# tags = tags.empty? ? '\w+' : tags.join('|')
|
1393
|
+
tags = tags.join('|')
|
1394
|
+
t = text.gsub(/<(#{tags}).*?\/>|<(#{tags}).*?>.*?<\/\1>/, '')
|
1395
|
+
end
|
1396
|
+
t.gsub!(/^\s*$/, '')
|
1397
|
+
t.gsub!(/^\n\s*/, '')
|
1398
|
+
t.gsub!(/\n\s*$/, '')
|
1399
|
+
t
|
1400
|
+
end
|
1401
|
+
end
|
1402
|
+
|
1229
1403
|
def format_custom_list(invoker, elt)
|
1230
1404
|
listing = @deplate.options.listings.get(elt, true)
|
1231
1405
|
props = listing[:props]
|