deplate 0.7.3 → 0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS.TXT +3 -0
- data/CHANGES.TXT +248 -175
- data/LICENSE.TXT +0 -0
- data/NEWS.TXT +28 -24
- data/README.TXT +0 -0
- data/TODO.TXT +174 -88
- data/VERSION.TXT +1 -1
- data/bin/deplate +0 -0
- data/bin/deplate.bat +0 -0
- data/etc/deplate.ini +91 -3
- data/lib/action_view/helpers/deplate.rb +45 -0
- data/lib/deplate.rb +6 -1
- data/lib/deplate/abstract-class.rb +0 -0
- data/lib/deplate/bib.rb +576 -0
- data/lib/deplate/builtin.rb +0 -0
- data/lib/deplate/cache.rb +55 -5
- data/lib/deplate/commands.rb +346 -183
- data/lib/deplate/common.rb +209 -48
- data/lib/deplate/converter.rb +12 -6
- data/lib/deplate/core.rb +777 -378
- data/lib/deplate/counters.rb +254 -0
- data/lib/deplate/css/article.css +4 -3
- data/lib/deplate/css/deplate.css +121 -5
- data/lib/deplate/css/heading-navbar.css +0 -0
- data/lib/deplate/css/layout-deplate-print.css +0 -0
- data/lib/deplate/css/layout-deplate.css +0 -0
- data/lib/deplate/css/sans-serif.css +0 -0
- data/lib/deplate/css/serif-e.css +0 -0
- data/lib/deplate/css/serif-rel.css +0 -0
- data/lib/deplate/css/serif.css +9 -3
- data/lib/deplate/css/slides.css +0 -0
- data/lib/deplate/css/tabbar-left.css +0 -0
- data/lib/deplate/css/tabbar-right-ie.css +3 -9
- data/lib/deplate/css/tabbar-right.css +51 -18
- data/lib/deplate/css/tabbar-top.css +7 -1
- data/lib/deplate/css/tabbar.css +0 -0
- data/lib/deplate/css/text-sans-serif.css +0 -0
- data/lib/deplate/css/text-serif.css +0 -0
- data/lib/deplate/define.rb +183 -177
- data/lib/deplate/deplate-string.rb +82 -0
- data/lib/deplate/docbook.rb +236 -128
- data/lib/deplate/elements.rb +584 -417
- data/lib/deplate/etc.rb +163 -101
- data/lib/deplate/external.rb +42 -11
- data/lib/deplate/fmt/dbk-article-4.1.2.rb +0 -0
- data/lib/deplate/fmt/dbk-article.rb +0 -0
- data/lib/deplate/fmt/dbk-book.rb +0 -0
- data/lib/deplate/fmt/dbk-ref.rb +3 -3
- data/lib/deplate/fmt/dbk-slides.rb +0 -0
- data/lib/deplate/fmt/dbk-snippet.rb +0 -0
- data/lib/deplate/fmt/html-snippet.rb +0 -0
- data/lib/deplate/fmt/html.rb +783 -550
- data/lib/deplate/fmt/htmlsite.rb +192 -199
- data/lib/deplate/fmt/htmlslides.rb +0 -0
- data/lib/deplate/fmt/htmlwebsite.rb +3 -3
- data/lib/deplate/fmt/latex-snippet.rb +0 -0
- data/lib/deplate/fmt/latex.rb +242 -83
- data/lib/deplate/fmt/null.rb +32 -0
- data/lib/deplate/fmt/php.rb +4 -4
- data/lib/deplate/fmt/phpsite.rb +6 -5
- data/lib/deplate/fmt/plain.rb +160 -106
- data/lib/deplate/fmt/template.rb +0 -0
- data/lib/deplate/fmt/xhtml10t.rb +0 -0
- data/lib/deplate/formatter-snippet.rb +0 -0
- data/lib/deplate/formatter.rb +613 -301
- data/lib/deplate/input.rb +202 -142
- data/lib/deplate/input/deplate-headings.rb +4 -6
- data/lib/deplate/input/deplate-restricted.rb +15 -9
- data/lib/deplate/input/deplate.rb +2 -4
- data/lib/deplate/input/rdoc.rb +39 -38
- data/lib/deplate/input/template.rb +0 -0
- data/lib/deplate/lib/Makefile.config +29 -0
- data/lib/deplate/lib/latex/deplate.sty +54 -0
- data/lib/deplate/lib/latex/highlight-extra.sty +0 -0
- data/lib/deplate/lib/latex/highlight-typical.sty +0 -0
- data/lib/deplate/lib/php/page-comment.inc.php +216 -0
- data/lib/deplate/lib/tabmenu.js +0 -0
- data/lib/deplate/locale/de.latin1 +155 -17
- data/lib/deplate/locale/ru.koi8-r +0 -0
- data/lib/deplate/locale/zh_cn.gb2312 +0 -0
- data/lib/deplate/macros.rb +133 -82
- data/lib/deplate/messages.rb +6 -4
- data/lib/deplate/metadata.rb +0 -0
- data/lib/deplate/metadata/marshal.rb +0 -0
- data/lib/deplate/metadata/xml.rb +0 -0
- data/lib/deplate/metadata/yaml.rb +0 -0
- data/lib/deplate/mod/anyword.rb +3 -3
- data/lib/deplate/mod/babelfish.rb +4 -4
- data/lib/deplate/mod/code-gvim.rb +8 -4
- data/lib/deplate/mod/code-highlight.rb +3 -3
- data/lib/deplate/mod/colored-log.rb +0 -0
- data/lib/deplate/mod/de.rb +2 -2
- data/lib/deplate/mod/en.rb +0 -0
- data/lib/deplate/mod/endnotes.rb +0 -0
- data/lib/deplate/mod/fr.rb +0 -0
- data/lib/deplate/mod/html-asciimath.rb +0 -0
- data/lib/deplate/mod/html-deplate-button.rb +0 -0
- data/lib/deplate/mod/html-headings-navbar.rb +5 -13
- data/lib/deplate/mod/html-jsmath.rb +39 -0
- data/lib/deplate/mod/html-obfuscate-email.rb +3 -3
- data/lib/deplate/mod/html-sidebar.rb +0 -0
- data/lib/deplate/mod/htmlslides-navbar-fh.rb +3 -3
- data/lib/deplate/mod/iconv.rb +0 -0
- data/lib/deplate/mod/imgurl.rb +4 -4
- data/lib/deplate/mod/inlatex-compound.rb +7 -10
- data/lib/deplate/mod/koma.rb +0 -0
- data/lib/deplate/mod/latex-emph-table-head.rb +0 -0
- data/lib/deplate/mod/latex-styles.rb +7 -4
- data/lib/deplate/mod/latex-verbatim-small.rb +0 -0
- data/lib/deplate/mod/makefile.rb +23 -7
- data/lib/deplate/mod/mark-external-urls.rb +3 -3
- data/lib/deplate/mod/markup-1-warn.rb +10 -10
- data/lib/deplate/mod/markup-1.rb +0 -0
- data/lib/deplate/mod/navbar-png.rb +24 -8
- data/lib/deplate/mod/noindent.rb +0 -0
- data/lib/deplate/mod/numpara.rb +0 -0
- data/lib/deplate/mod/particle-math.rb +4 -4
- data/lib/deplate/mod/php-extra.rb +46 -6
- data/lib/deplate/mod/pstoedit.rb +0 -0
- data/lib/deplate/mod/recode.rb +0 -0
- data/lib/deplate/mod/ru_koi8-r.rb +0 -0
- data/lib/deplate/mod/smart-dash.rb +26 -0
- data/lib/deplate/mod/smiley.rb +69 -7
- data/lib/deplate/mod/soffice.rb +0 -0
- data/lib/deplate/mod/symbols-latin1.rb +14 -23
- data/lib/deplate/mod/symbols-od-utf-8.rb +5 -3
- data/lib/deplate/mod/symbols-plain.rb +5 -35
- data/lib/deplate/mod/symbols-sgml.rb +8 -9
- data/lib/deplate/mod/symbols-utf-8.rb +8 -9
- data/lib/deplate/mod/symbols-xml.rb +5 -9
- data/lib/deplate/mod/syntax-region-alt.rb +5 -5
- data/lib/deplate/mod/utf8.rb +0 -0
- data/lib/deplate/mod/validate-html.rb +0 -0
- data/lib/deplate/mod/xmlrpc.rb +0 -0
- data/lib/deplate/mod/zh-cn-autospace.rb +18 -20
- data/lib/deplate/mod/zh-cn.rb +4 -6
- data/lib/deplate/nukumi2.rb +71 -0
- data/lib/deplate/once-method.rb +0 -0
- data/lib/deplate/output.rb +19 -21
- data/lib/deplate/particles.rb +178 -116
- data/lib/deplate/regions.rb +99 -58
- data/lib/deplate/skeletons.rb +122 -0
- data/lib/deplate/structured.rb +164 -106
- data/lib/deplate/template.rb +67 -43
- data/lib/deplate/templates/html-doc.html +0 -0
- data/lib/deplate/templates/html-left-tabbar-js.html +0 -0
- data/lib/deplate/templates/html-left-tabbar.html +0 -0
- data/lib/deplate/templates/html-tabbar-right-pcomments.php +22 -0
- data/lib/deplate/templates/html-tabbar-right-step.html +24 -0
- data/lib/deplate/templates/html-tabbar-right-table.html +0 -0
- data/lib/deplate/templates/html-tabbar-right.html +2 -4
- data/lib/deplate/templates/html-tabbar-top.html +0 -9
- data/lib/deplate/templates/html-tabbar.html +0 -0
- data/lib/deplate/variables.rb +127 -0
- data/lib/deplate/wiki-markup.rb +99 -33
- data/lib/deplate/xml.rb +18 -18
- data/lib/deplate/zh-cn.rb +0 -0
- data/lib/ps2ppm.rb +0 -0
- data/man/man1/deplate.1 +564 -474
- metadata +201 -186
data/lib/deplate/css/serif.css
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
/* Text style: sans-serif */
|
2
2
|
/* @Author: Thomas Link (samul AT web.de) */
|
3
3
|
/* @Created: 13-Apr-2004. */
|
4
|
-
/* @Last Change:
|
5
|
-
/* @Revision: 0.
|
4
|
+
/* @Last Change: 23-Apr-2006. */
|
5
|
+
/* @Revision: 0.626 */
|
6
6
|
|
7
7
|
body, table, div {
|
8
8
|
/* font-family: Georgia, Bookman, Times, Serif; */
|
9
|
-
font-family: Georgia, Minion Web, Palatino, Book Antiqua, Utopia, "Times New Roman", serif;
|
9
|
+
font-family: Georgia, Minion Web, Palatino, "Book Antiqua", Utopia, "Times New Roman", serif;
|
10
10
|
/* font-size-adjust: .5; */
|
11
11
|
font-size: 14px;
|
12
12
|
}
|
@@ -188,3 +188,9 @@ span.progress {
|
|
188
188
|
font-size: 10px;
|
189
189
|
}
|
190
190
|
|
191
|
+
input, textarea {
|
192
|
+
font-family: Georgia, Minion Web, Palatino, "Book Antiqua", Utopia, "Times New Roman", serif;
|
193
|
+
font-size: 90%;
|
194
|
+
line-height: 135%;
|
195
|
+
}
|
196
|
+
|
data/lib/deplate/css/slides.css
CHANGED
File without changes
|
File without changes
|
@@ -1,14 +1,8 @@
|
|
1
1
|
@media screen {
|
2
|
-
#
|
3
|
-
margin: 0px 40px 40px 240px;
|
4
|
-
padding: 20px;
|
5
|
-
}
|
6
|
-
#tabBar {
|
2
|
+
#tabBarRight {
|
7
3
|
position: relative;
|
8
|
-
top: 10px;
|
4
|
+
/* top: 10px; */
|
9
5
|
left: 10px;
|
10
|
-
|
11
|
-
table.tabBarRight {
|
12
|
-
border-collapse: collapse;
|
6
|
+
width: 160px;
|
13
7
|
}
|
14
8
|
}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
@import url(deplate.css);
|
2
2
|
|
3
3
|
body {
|
4
|
-
background-color: #
|
4
|
+
background-color: #d9e0f0;
|
5
5
|
}
|
6
6
|
|
7
7
|
#tabFrame {
|
8
8
|
/* display: table; */
|
9
9
|
/* border-spacing: 0; */
|
10
|
-
background-color: #
|
10
|
+
background-color: #d9e0f0;
|
11
11
|
border-spacing: 0;
|
12
12
|
border-collapse: collapse;
|
13
13
|
border: 0;
|
@@ -25,7 +25,7 @@ body {
|
|
25
25
|
border: 0;
|
26
26
|
padding: 10px 0 0 0;
|
27
27
|
margin: 0;
|
28
|
-
background-color: #
|
28
|
+
background-color: #d9e0f0;
|
29
29
|
}
|
30
30
|
#tabBodyFrame {
|
31
31
|
/* display: table-cell; */
|
@@ -35,7 +35,7 @@ body {
|
|
35
35
|
float: left;
|
36
36
|
text-align: left;
|
37
37
|
vertical-align: top;
|
38
|
-
background-color: #
|
38
|
+
background-color: #d9e0f0;
|
39
39
|
width: 750px;
|
40
40
|
padding: 0;
|
41
41
|
margin: 0;
|
@@ -56,12 +56,12 @@ body {
|
|
56
56
|
|
57
57
|
.tabFrameRow {
|
58
58
|
/* display: table-row; */
|
59
|
-
background-color: #
|
59
|
+
background-color: #d9e0f0;
|
60
60
|
border: 0;
|
61
61
|
}
|
62
62
|
.tabFrameCell {
|
63
63
|
/* display: table-cell; */
|
64
|
-
background-color: #
|
64
|
+
background-color: #d9e0f0;
|
65
65
|
border: 0;
|
66
66
|
}
|
67
67
|
|
@@ -73,36 +73,65 @@ table.tabBarRight {
|
|
73
73
|
margin: 0;
|
74
74
|
/* padding: 10px; */
|
75
75
|
border-spacing: 0;
|
76
|
-
max-width:
|
76
|
+
/* max-width: 160px; */
|
77
|
+
width: 160px;
|
78
|
+
/* min-width: 140px; */
|
77
79
|
}
|
78
80
|
tr.tabBarRight {
|
79
81
|
}
|
80
82
|
td.tabBarRight {
|
81
83
|
}
|
82
84
|
|
83
|
-
|
85
|
+
*[class|=tabBarRightActive] {
|
84
86
|
background-color: #fafafa;
|
85
87
|
}
|
86
|
-
tr
|
88
|
+
tr[class|=tabBarRightActive] {
|
87
89
|
}
|
88
|
-
td
|
89
|
-
border:
|
90
|
-
|
91
|
-
/* border-right: 4px solid #afafaf; */
|
90
|
+
td[class|=tabBarRightActive] {
|
91
|
+
border-top: 0;
|
92
|
+
border-bottom: 0;
|
92
93
|
padding: 2px;
|
93
94
|
}
|
94
95
|
|
95
|
-
.
|
96
|
+
tr.tabBarRightActive-Level1 {
|
97
|
+
border-top: 0;
|
98
|
+
border-bottom: 0;
|
99
|
+
}
|
100
|
+
tr.tabBarRightActive-Level2 {
|
101
|
+
border-top: 0;
|
102
|
+
border-bottom: 0;
|
103
|
+
}
|
104
|
+
|
105
|
+
td.tabBarRightActive-Level1 {
|
106
|
+
border-top: 1px solid #555555;
|
107
|
+
border-left: 1px solid #555555;
|
108
|
+
border-bottom: 0 none;
|
109
|
+
background-color: #fff3d0;
|
110
|
+
margin: 5px;
|
111
|
+
}
|
112
|
+
td.tabBarRightActive-Level2 {
|
113
|
+
border-left: 1px solid #555555;
|
114
|
+
border-top: 0 none;
|
115
|
+
border-bottom: 0 none;
|
116
|
+
background-color: #ffffff;
|
117
|
+
margin: 5px;
|
118
|
+
}
|
119
|
+
|
120
|
+
*[class|=tabBarRightInactive] {
|
96
121
|
background-color: #f0f0f0;
|
97
122
|
}
|
98
|
-
tr
|
123
|
+
tr[class|=tabBarRightInactive] {
|
99
124
|
}
|
100
|
-
td
|
125
|
+
td[class|=tabBarRightInactive] {
|
101
126
|
border: 1px solid #fafafa;
|
102
|
-
/* border-left: 4px solid #afafaf; */
|
103
|
-
/* border-right: 4px solid #e0e0e0; */
|
104
127
|
padding: 2px;
|
105
128
|
}
|
129
|
+
td.tabBarRightInactive-Level1 {
|
130
|
+
border-top: 0 none;
|
131
|
+
border-bottom: 0 none;
|
132
|
+
background-color: #f0f0f0;
|
133
|
+
margin: 5px;
|
134
|
+
}
|
106
135
|
|
107
136
|
.tabBarRightButtons {
|
108
137
|
}
|
@@ -116,3 +145,7 @@ td.tabBarRightButtons {
|
|
116
145
|
text-align: center;
|
117
146
|
}
|
118
147
|
|
148
|
+
table.comment_form, td.comment_form {
|
149
|
+
background-color: #d9e0f0;
|
150
|
+
}
|
151
|
+
|
@@ -1,5 +1,9 @@
|
|
1
1
|
@import url(deplate.css);
|
2
2
|
|
3
|
+
body {
|
4
|
+
background-color: #d9e0f0;
|
5
|
+
}
|
6
|
+
|
3
7
|
#tabFrame {
|
4
8
|
position: absolute;
|
5
9
|
top: 0;
|
@@ -11,7 +15,7 @@
|
|
11
15
|
padding: 0;
|
12
16
|
border: 0;
|
13
17
|
margin: 10px 0 0 0;
|
14
|
-
background-color: #
|
18
|
+
background-color: #d9e0f0;
|
15
19
|
}
|
16
20
|
#tabBodyFrame {
|
17
21
|
/* text-align: left; */
|
@@ -35,11 +39,13 @@ table.tabBarTop {
|
|
35
39
|
border-spacing: 0;
|
36
40
|
position: relative;
|
37
41
|
top: 1px;
|
42
|
+
text-align: center;
|
38
43
|
}
|
39
44
|
tr.tabBarTop {
|
40
45
|
border: 0;
|
41
46
|
margin: 0;
|
42
47
|
padding: 0;
|
48
|
+
text-align: center;
|
43
49
|
}
|
44
50
|
td.tabBarTopActive {
|
45
51
|
margin: 0;
|
data/lib/deplate/css/tabbar.css
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/lib/deplate/define.rb
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
# @Website: http://deplate.sf.net/
|
4
4
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
5
5
|
# @Created: 19-Okt-2004.
|
6
|
-
# @Last Change:
|
7
|
-
# @Revision: 0.
|
6
|
+
# @Last Change: 29-Apr-2006.
|
7
|
+
# @Revision: 0.500
|
8
8
|
|
9
|
-
require
|
10
|
-
require
|
9
|
+
require 'deplate/commands'
|
10
|
+
require 'deplate/macros'
|
11
11
|
|
12
12
|
module Deplate::DefRegions; end
|
13
13
|
module Deplate::DefElements; end
|
@@ -24,14 +24,12 @@ module Deplate::DefMacro; end
|
|
24
24
|
# CHANGES:
|
25
25
|
#
|
26
26
|
class Deplate::Define < Deplate::Region
|
27
|
-
@line_cont = true
|
28
|
-
|
29
27
|
class << self
|
30
28
|
def let_variables(deplate, args, &block)
|
31
29
|
unset = []
|
32
30
|
saved = {}
|
33
31
|
begin
|
34
|
-
|
32
|
+
args.each do |key, val|
|
35
33
|
if key.kind_of?(String)
|
36
34
|
opt = deplate.variables[key]
|
37
35
|
if opt
|
@@ -42,12 +40,12 @@ class Deplate::Define < Deplate::Region
|
|
42
40
|
deplate.variables[key] = val
|
43
41
|
end
|
44
42
|
end
|
45
|
-
block.call
|
43
|
+
return block.call
|
46
44
|
ensure
|
47
|
-
|
45
|
+
unset.each do |key|
|
48
46
|
deplate.variables.delete(key)
|
49
47
|
end
|
50
|
-
|
48
|
+
saved.each do |key, val|
|
51
49
|
deplate.variables[key] = val
|
52
50
|
end
|
53
51
|
end
|
@@ -57,7 +55,7 @@ class Deplate::Define < Deplate::Region
|
|
57
55
|
if mandatory
|
58
56
|
diff = mandatory.split(/\s+/) - args.keys
|
59
57
|
unless diff.empty?
|
60
|
-
Deplate::Core.log([
|
58
|
+
Deplate::Core.log(['Missing arguments', diff], :error, source)
|
61
59
|
end
|
62
60
|
end
|
63
61
|
end
|
@@ -71,7 +69,7 @@ class Deplate::Define < Deplate::Region
|
|
71
69
|
|
72
70
|
def valid_id?(id)
|
73
71
|
if id =~ /\W/
|
74
|
-
log([
|
72
|
+
log(['Invalid ID', id], :error)
|
75
73
|
return false
|
76
74
|
else
|
77
75
|
return true
|
@@ -93,16 +91,16 @@ end
|
|
93
91
|
|
94
92
|
# class Deplate::Define::Region < Deplate::Region::SecondOrder
|
95
93
|
class Deplate::Define::Region < Deplate::Region
|
96
|
-
@line_cont = true
|
97
94
|
def finish
|
98
95
|
finish_accum
|
99
96
|
setup_template
|
100
|
-
@args[
|
101
|
-
@args[
|
97
|
+
@args['@body'] = @accum.join("\n")
|
98
|
+
@args['@note'] = @regNote
|
102
99
|
Deplate::Define.check_arguments(@mandatory, @args, @source)
|
103
100
|
@expected = Deplate::Element
|
104
101
|
@elt = []
|
105
102
|
Deplate::Define.let_variables(@deplate, @args) do
|
103
|
+
# p "DBG DefineRegion: #{@deplate.options.counters.inspect}"
|
106
104
|
@elt = @deplate.parsed_array_from_strings(@template, @source.begin, @source.file)
|
107
105
|
end
|
108
106
|
unless @elt.empty?
|
@@ -113,122 +111,133 @@ class Deplate::Define::Region < Deplate::Region
|
|
113
111
|
end
|
114
112
|
|
115
113
|
class Deplate::Regions::DefRegion < Deplate::Define
|
116
|
-
@@regions[
|
117
|
-
@@regions[
|
118
|
-
@@regions[
|
114
|
+
@@regions['DefRegion'] = self
|
115
|
+
@@regions['DefineRegion'] = self
|
116
|
+
@@regions['Defr'] = self
|
119
117
|
|
120
118
|
def define
|
121
|
-
id = @args[
|
119
|
+
id = @args['id'] ||= @regNote
|
122
120
|
if valid_id?(id)
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
121
|
+
# if @args['lineCont'] == false
|
122
|
+
line_cont = 'set_line_cont false'
|
123
|
+
# else
|
124
|
+
# line_cont = ''
|
125
|
+
# end
|
126
|
+
body = <<-EOR
|
127
|
+
#{line_cont}
|
128
|
+
def setup_template
|
129
|
+
@template = #{@accum.inspect}
|
130
|
+
@mandatory = #{@args['args'].inspect}
|
130
131
|
end
|
131
|
-
|
132
|
-
|
132
|
+
EOR
|
133
|
+
@args[:register] = true
|
134
|
+
@args[:super] = Deplate::Define::Region
|
135
|
+
cls = Deplate::Cache.region(@deplate, body, @args)
|
133
136
|
end
|
134
137
|
end
|
135
138
|
end
|
136
139
|
|
140
|
+
class Deplate::Define::Element < Deplate::Element
|
141
|
+
def finish
|
142
|
+
m = self.class.match(@accum.join(' '))
|
143
|
+
if m
|
144
|
+
m.captures.each_with_index do |e, i|
|
145
|
+
@args[(i + 1).to_s] = e
|
146
|
+
end
|
147
|
+
@expected = Deplate::Element
|
148
|
+
tmpl = Deplate::Template.new(:template => self.class.tpl,
|
149
|
+
:source => @source,
|
150
|
+
:container => self)
|
151
|
+
Deplate::Define.let_variables(@deplate, @args) do
|
152
|
+
@accum = tmpl.fill_in(@deplate, :source => @source)
|
153
|
+
end
|
154
|
+
@accum.flatten!
|
155
|
+
@accum.collect! {|l| l.split("\n")}
|
156
|
+
@accum.flatten!
|
157
|
+
else
|
158
|
+
raise 'Internal error!'
|
159
|
+
end
|
160
|
+
@elt = @deplate.parsed_array_from_strings(@accum, @source.begin, @source.file)
|
161
|
+
return @elt
|
162
|
+
end
|
163
|
+
end
|
137
164
|
|
138
165
|
class Deplate::Regions::DefElement < Deplate::Define
|
139
|
-
@@regions[
|
140
|
-
@@regions[
|
141
|
-
@@regions[
|
166
|
+
@@regions['DefElement'] = self
|
167
|
+
@@regions['DefineElement'] = self
|
168
|
+
@@regions['Defe'] = self
|
142
169
|
@@def_element_counter = 0
|
143
170
|
|
144
|
-
|
171
|
+
set_line_cont false
|
145
172
|
|
146
173
|
def define
|
147
|
-
rx = @args['rx']
|
174
|
+
rx = @args['rx'] ||= @regNote
|
148
175
|
if rx
|
149
176
|
@@def_element_counter += 1
|
150
|
-
template = @accum.join("\n").gsub(/\'/, "\\\\\'")
|
151
|
-
|
177
|
+
# template = @accum.join("\n").gsub(/\'/, "\\\\\'")
|
178
|
+
template = @accum.join("\n")
|
179
|
+
# rx = Regexp.new(rx).source.gsub(/\//, '\\\\/')
|
180
|
+
rx = %r{^#{rx}}
|
152
181
|
multiline = valid_switch(@args['multiline'], 'true')
|
153
182
|
collapse = valid_switch(@args['collapse'], 'false')
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
@multiliner = #{multiline}
|
162
|
-
@collapse = #{collapse}
|
163
|
-
@accum = [@match[0]]
|
164
|
-
end
|
165
|
-
|
166
|
-
def finish
|
167
|
-
m = self.class.match(@accum.join(' '))
|
168
|
-
if m
|
169
|
-
m.captures.each_with_index do |e, i|
|
170
|
-
@args[(i + 1).to_s] = e
|
171
|
-
end
|
172
|
-
@expected = Deplate::Element
|
173
|
-
tmpl = Deplate::Template.new(:template => TPL,
|
174
|
-
:source => @source,
|
175
|
-
:container => self)
|
176
|
-
Deplate::Define.let_variables(@deplate, @args) do
|
177
|
-
@accum = tmpl.fill_in(@deplate, :source => @source)
|
178
|
-
end
|
179
|
-
@accum.flatten!
|
180
|
-
@accum.collect! {|l| l.split("\n")}
|
181
|
-
@accum.flatten!
|
182
|
-
else
|
183
|
-
raise 'Internal error!'
|
184
|
-
end
|
185
|
-
@elt = @deplate.parsed_array_from_strings(@accum, @source.begin, @source.file)
|
186
|
-
return @elt
|
187
|
-
end
|
183
|
+
body = <<-EOR
|
184
|
+
set_rx(#{rx.inspect})
|
185
|
+
class_attribute :tpl, #{template.inspect}
|
186
|
+
def setup
|
187
|
+
@multiliner = #{multiline}
|
188
|
+
@collapse = #{collapse}
|
189
|
+
@accum = [@match[0]]
|
188
190
|
end
|
189
|
-
|
191
|
+
EOR
|
192
|
+
@args[:register] = true
|
193
|
+
@args[:super] = Deplate::Define::Element
|
194
|
+
cls = Deplate::Cache.element(@deplate, body, @args)
|
190
195
|
end
|
191
196
|
end
|
192
197
|
end
|
193
198
|
|
199
|
+
class Deplate::Define::Particle < Deplate::Particle
|
200
|
+
def setup
|
201
|
+
@match.captures.each_with_index do |e, i|
|
202
|
+
@args[(i + 1).to_s] = e
|
203
|
+
end
|
204
|
+
@expected = Deplate::Particle
|
205
|
+
tmpl = Deplate::Template.new(:template => self.class.tpl,
|
206
|
+
:source => @source,
|
207
|
+
:container => self)
|
208
|
+
Deplate::Define.let_variables(@deplate, @args) do
|
209
|
+
@elt = tmpl.fill_in(@deplate, :source => @source)
|
210
|
+
end
|
211
|
+
@elt = @deplate.parse(@container, @elt.join(' '))
|
212
|
+
end
|
213
|
+
|
214
|
+
def process
|
215
|
+
@elt = @deplate.format_particles(@elt)
|
216
|
+
end
|
217
|
+
end
|
194
218
|
|
195
219
|
class Deplate::Regions::DefParticle < Deplate::Define
|
196
|
-
@@regions[
|
197
|
-
@@regions[
|
198
|
-
@@regions[
|
220
|
+
@@regions['DefParticle'] = self
|
221
|
+
@@regions['DefineParticle'] = self
|
222
|
+
@@regions['Defp'] = self
|
199
223
|
@@def_particle_counter = 0
|
200
224
|
|
201
225
|
def define
|
202
|
-
|
203
|
-
if
|
204
|
-
template = @accum.join("\n").gsub(/\'/, "\\\\\'")
|
205
|
-
|
226
|
+
rs = @args['rx'] ||= @regNote
|
227
|
+
if rs
|
228
|
+
# template = @accum.join("\n").gsub(/\'/, "\\\\\'")
|
229
|
+
template = @accum.join("\n")
|
230
|
+
rx = %r{^#{rs}}
|
206
231
|
multiline = valid_switch(@args['multiline'], 'true')
|
207
232
|
collapse = valid_switch(@args['collapse'], 'false')
|
208
|
-
cls = @deplate.formatter.retrieve_particle(rx, template)
|
233
|
+
# cls = @deplate.formatter.retrieve_particle(rx.source, template)
|
209
234
|
body = <<-EOR
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
def setup
|
214
|
-
@match.captures.each_with_index do |e, i|
|
215
|
-
@args[(i + 1).to_s] = e
|
216
|
-
end
|
217
|
-
@expected = Deplate::Particle
|
218
|
-
tmpl = Deplate::Template.new(:template => TPL,
|
219
|
-
:source => @source,
|
220
|
-
:container => self)
|
221
|
-
Deplate::Define.let_variables(@deplate, @args) do
|
222
|
-
@elt = tmpl.fill_in(@deplate, :source => @source)
|
223
|
-
end
|
224
|
-
@elt = @deplate.parse(@container, @elt.join(' '))
|
225
|
-
end
|
226
|
-
|
227
|
-
def process
|
228
|
-
@elt = @deplate.format_particles(@elt)
|
229
|
-
end
|
235
|
+
set_rx(#{rx.inspect})
|
236
|
+
class_attribute :tpl, #{template.inspect}
|
230
237
|
EOR
|
231
|
-
|
238
|
+
@args[:register] = true
|
239
|
+
@args[:super] = Deplate::Define::Particle
|
240
|
+
cls = Deplate::Cache.particle(deplate, body, @args)
|
232
241
|
end
|
233
242
|
end
|
234
243
|
end
|
@@ -239,7 +248,7 @@ class Deplate::Define::Command < Deplate::Command
|
|
239
248
|
def accumulate(source, array, deplate, text, match, args, cmd)
|
240
249
|
Deplate::Core.log("%s: %s" % [cmd, text], :debug)
|
241
250
|
template, mandatory = setup_template(text, deplate)
|
242
|
-
args[
|
251
|
+
args['@body'] = text
|
243
252
|
Deplate::Define.check_arguments(mandatory, args, source)
|
244
253
|
Deplate::Define.let_variables(deplate, args) do
|
245
254
|
deplate.include_stringarray(template, array, source.begin, source.file)
|
@@ -250,34 +259,33 @@ end
|
|
250
259
|
|
251
260
|
|
252
261
|
class Deplate::Regions::DefCommand < Deplate::Define
|
253
|
-
@@regions[
|
254
|
-
@@regions[
|
255
|
-
@@regions[
|
256
|
-
@@regions[
|
262
|
+
@@regions['DefCommand'] = self
|
263
|
+
@@regions['DefCmd'] = self
|
264
|
+
@@regions['DefineCommand'] = self
|
265
|
+
@@regions['Defc'] = self
|
257
266
|
|
258
267
|
def define
|
259
|
-
id = @args[
|
268
|
+
id = @args['id'] ||= @regNote
|
260
269
|
if valid_id?(id)
|
261
|
-
|
262
|
-
class
|
263
|
-
|
264
|
-
|
265
|
-
def setup_template(text, deplate)
|
266
|
-
[#{@accum.inspect}, #{@args["args"].inspect}]
|
267
|
-
end
|
270
|
+
body = <<-EOR
|
271
|
+
class << self
|
272
|
+
def setup_template(text, deplate)
|
273
|
+
[#{@accum.inspect}, #{@args['args'].inspect}]
|
268
274
|
end
|
269
275
|
end
|
270
|
-
|
276
|
+
EOR
|
277
|
+
@args[:register] = true
|
278
|
+
@args[:super] = Deplate::Define::Command
|
279
|
+
cls = Deplate::Cache.command(@deplate, body, @args)
|
271
280
|
end
|
272
281
|
end
|
273
282
|
end
|
274
283
|
|
275
284
|
|
276
285
|
class Deplate::Define::Macro < Deplate::Macro
|
277
|
-
@line_cont = true
|
278
286
|
def setup(text)
|
279
287
|
setup_template(text)
|
280
|
-
@args[
|
288
|
+
@args['@body'] = text
|
281
289
|
Deplate::Define.check_arguments(@mandatory, @args, @container.source)
|
282
290
|
tmpl = Deplate::Template.new(:master => @deplate,
|
283
291
|
:template => @template,
|
@@ -293,23 +301,22 @@ end
|
|
293
301
|
|
294
302
|
|
295
303
|
class Deplate::Regions::DefMacro < Deplate::Define
|
296
|
-
@@regions[
|
297
|
-
@@regions[
|
298
|
-
@@regions[
|
304
|
+
@@regions['DefMacro'] = self
|
305
|
+
@@regions['DefineMacro'] = self
|
306
|
+
@@regions['Defm'] = self
|
299
307
|
def define
|
300
|
-
id = @args[
|
308
|
+
id = @args['id'] ||= @regNote
|
301
309
|
if valid_id?(id)
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
@mandatory = #{@args["args"].inspect}
|
308
|
-
@macro_id = #{id.inspect}
|
309
|
-
end
|
310
|
+
body = <<-EOR
|
311
|
+
def setup_template(text)
|
312
|
+
@template = #{@accum.join("\n").inspect}
|
313
|
+
@mandatory = #{@args['args'].inspect}
|
314
|
+
@macro_id = #{id.inspect}
|
310
315
|
end
|
311
|
-
|
312
|
-
|
316
|
+
EOR
|
317
|
+
@args[:register] = true
|
318
|
+
@args[:super] = Deplate::Define::Macro
|
319
|
+
cls = Deplate::Cache.macro(@deplate, body, @args)
|
313
320
|
end
|
314
321
|
end
|
315
322
|
end
|
@@ -318,15 +325,15 @@ end
|
|
318
325
|
|
319
326
|
class Deplate::Regions::Native
|
320
327
|
def expand_template
|
321
|
-
@args[
|
322
|
-
@args[
|
328
|
+
@args['@note'] = @regNote
|
329
|
+
@args['@body'] = @accum.join("\n")
|
323
330
|
tmpl = Deplate::Template.new(:master => @deplate,
|
324
331
|
:template => @template,
|
325
332
|
:source => @source,
|
326
333
|
:container => self)
|
327
334
|
rv = nil
|
328
335
|
Deplate::Define.let_variables(@deplate, @args) do
|
329
|
-
rv = tmpl.fill_in(@deplate, :body => @args[
|
336
|
+
rv = tmpl.fill_in(@deplate, :body => @args['@body'], :source => @source)
|
330
337
|
end
|
331
338
|
return rv
|
332
339
|
end
|
@@ -334,24 +341,24 @@ end
|
|
334
341
|
|
335
342
|
|
336
343
|
class Deplate::Regions::DefRegionN < Deplate::Define
|
337
|
-
@@regions[
|
338
|
-
@@regions[
|
339
|
-
@@regions[
|
344
|
+
@@regions['DefRegionN'] = self
|
345
|
+
@@regions['DefineRegionN'] = self
|
346
|
+
@@regions['Defrn'] = self
|
340
347
|
def define
|
341
|
-
id = @args[
|
348
|
+
id = @args['id'] ||= @regNote
|
342
349
|
if valid_id?(id)
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
@elt = [ expand_template ]
|
351
|
-
return self
|
352
|
-
end
|
350
|
+
body = <<-EOR
|
351
|
+
def finish
|
352
|
+
finish_accum
|
353
|
+
@template = #{@accum.join("\n").inspect}
|
354
|
+
@mandatory = #{@args['args'].inspect}
|
355
|
+
@elt = [ expand_template ]
|
356
|
+
return self
|
353
357
|
end
|
354
|
-
|
358
|
+
EOR
|
359
|
+
@args[:register] = true
|
360
|
+
@args[:super] = Deplate::Regions::Native
|
361
|
+
cls = Deplate::Cache.region(@deplate, body, @args)
|
355
362
|
end
|
356
363
|
end
|
357
364
|
end
|
@@ -359,7 +366,7 @@ end
|
|
359
366
|
|
360
367
|
class Deplate::Define::CommandNative < Deplate::Command
|
361
368
|
def expand_template
|
362
|
-
@args[
|
369
|
+
@args['@body'] = @accum.join(' ')
|
363
370
|
tmpl = Deplate::Template.new(:master => @deplate,
|
364
371
|
:template => @template,
|
365
372
|
:source => @source,
|
@@ -378,24 +385,24 @@ end
|
|
378
385
|
|
379
386
|
|
380
387
|
class Deplate::Regions::DefCommandN < Deplate::Define
|
381
|
-
@@regions[
|
382
|
-
@@regions[
|
383
|
-
@@regions[
|
384
|
-
@@regions[
|
388
|
+
@@regions['DefCommandN'] = self
|
389
|
+
@@regions['DefCmdN'] = self
|
390
|
+
@@regions['DefineCommandN'] = self
|
391
|
+
@@regions['Defcn'] = self
|
385
392
|
def define
|
386
|
-
id = @args[
|
393
|
+
id = @args['id'] ||= @regNote
|
387
394
|
if valid_id?(id)
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
@elt = [ expand_template ]
|
395
|
-
return self
|
396
|
-
end
|
395
|
+
body = <<-EOR
|
396
|
+
def finish
|
397
|
+
@template = #{@accum.join("\n").inspect}
|
398
|
+
@mandatory = #{@args['args'].inspect}
|
399
|
+
@elt = [ expand_template ]
|
400
|
+
return self
|
397
401
|
end
|
398
|
-
|
402
|
+
EOR
|
403
|
+
@args[:register] = true
|
404
|
+
@args[:super] = Deplate::Define::CommandNative
|
405
|
+
cls = Deplate::Cache.command(@deplate, body, @args)
|
399
406
|
end
|
400
407
|
end
|
401
408
|
end
|
@@ -404,7 +411,7 @@ end
|
|
404
411
|
class Deplate::Define::MacroNative < Deplate::Macro
|
405
412
|
def setup(text)
|
406
413
|
setup_template
|
407
|
-
@args[
|
414
|
+
@args['@body'] = text
|
408
415
|
tmpl = Deplate::Template.new(:master => @deplate,
|
409
416
|
:template => @template,
|
410
417
|
:source => @source,
|
@@ -417,22 +424,21 @@ end
|
|
417
424
|
|
418
425
|
|
419
426
|
class Deplate::Regions::DefMacroN < Deplate::Define
|
420
|
-
@@regions[
|
421
|
-
@@regions[
|
422
|
-
@@regions[
|
427
|
+
@@regions['DefMacroN'] = self
|
428
|
+
@@regions['DefineMacroN'] = self
|
429
|
+
@@regions['Defmn'] = self
|
423
430
|
def define
|
424
|
-
id = @args[
|
431
|
+
id = @args['id'] ||= @regNote
|
425
432
|
if valid_id?(id)
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
@template = #{@accum.join(" ").inspect}
|
431
|
-
@mandatory = #{@args["args"].inspect}
|
432
|
-
end
|
433
|
+
body = <<-EOR
|
434
|
+
def setup_template
|
435
|
+
@template = #{@accum.join(' ').inspect}
|
436
|
+
@mandatory = #{@args['args'].inspect}
|
433
437
|
end
|
434
|
-
|
435
|
-
|
438
|
+
EOR
|
439
|
+
@args[:register] = true
|
440
|
+
@args[:super] = Deplate::Define::MacroNative
|
441
|
+
cls = Deplate::Cache.macro(@deplate, body, @args)
|
436
442
|
end
|
437
443
|
end
|
438
444
|
end
|