dyndoc-ruby-core 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/dyndoc/.DS_Store +0 -0
- data/dyndoc/Dyn/.postload +1 -0
- data/dyndoc/Dyn/.preload +1 -0
- data/dyndoc/Dyn/After.dyn +3 -0
- data/dyndoc/Dyn/Base.dyn +18 -0
- data/dyndoc/Dyn/Minimum.dyn +20 -0
- data/dyndoc/Model/Html/DefaultPost_html.dyn +5 -0
- data/dyndoc/Model/Html/DefaultPre_html.dyn +15 -0
- data/dyndoc/Model/Odt/DefaultPost_content.xml +3 -0
- data/dyndoc/Model/Odt/DefaultPost_tmpl_content.xml +3 -0
- data/dyndoc/Model/Odt/DefaultPre_content.xml +8 -0
- data/dyndoc/Model/Odt/DefaultPre_tmpl_content.xml +8 -0
- data/dyndoc/Model/Tex/ContentPost_tmpl.tex +1 -0
- data/dyndoc/Model/Tex/ContentPre_tmpl.tex +6 -0
- data/dyndoc/Model/Tex/DefaultPost_tmpl.tex +73 -0
- data/dyndoc/Model/Tex/DefaultPre_tmpl.tex +16 -0
- data/dyndoc/Model/Ttm/DefaultPost_tmpl.ttm +3 -0
- data/dyndoc/Model/Ttm/DefaultPre_tmpl.ttm +16 -0
- data/dyndoc/Std/Array.dyn +96 -0
- data/dyndoc/Std/Composer.dyn +38 -0
- data/dyndoc/Std/DevTag.dyn +101 -0
- data/dyndoc/Std/DynVar.dyn +23 -0
- data/dyndoc/Std/File.dyn +55 -0
- data/dyndoc/Std/Git.dyn +34 -0
- data/dyndoc/Std/List.dyn +46 -0
- data/dyndoc/Std/OOP.dyn +32 -0
- data/dyndoc/Std/Signal.dyn +18 -0
- data/dyndoc/Std/String.dyn +22 -0
- data/dyndoc/Std/Styles.dyn +1 -0
- data/dyndoc/Std/Test.dyn +282 -0
- data/dyndoc/Std/Utils.dyn +42 -0
- data/dyndoc/Std/Verb.dyn +5 -0
- data/dyndoc/Style/Notation/Math.dyn +7 -0
- data/dyndoc/Style/Notation/Stat/Classic.dyn +8 -0
- data/dyndoc/Style/Notation/Stat/Cqls.dyn +44 -0
- data/dyndoc/Style/Text/Std.dyn +5 -0
- data/dyndoc/Style/Text/StdAlias.dyn +3 -0
- data/dyndoc/Style/Text/StdTex.dyn +17 -0
- data/dyndoc/Style/Text/Txt.dyn +1 -0
- data/dyndoc/Tex/.postload +1 -0
- data/dyndoc/Tex/.preload +1 -0
- data/dyndoc/Tex/10pt_tmpl.tex +1 -0
- data/dyndoc/Tex/11pt_tmpl.tex +1 -0
- data/dyndoc/Tex/12pt_tmpl.tex +1 -0
- data/dyndoc/Tex/Article_tmpl.tex +1 -0
- data/dyndoc/Tex/Beamer.dyn_tex +35 -0
- data/dyndoc/Tex/BeamerHandout_tmpl.tex +2 -0
- data/dyndoc/Tex/Book_tmpl.tex +1 -0
- data/dyndoc/Tex/DefaultFirst_tmpl.tex +1 -0
- data/dyndoc/Tex/DefaultLast_tmpl.tex +8 -0
- data/dyndoc/Tex/Default_tmpl.tex +9 -0
- data/dyndoc/Tex/First_tmpl.tex +8 -0
- data/dyndoc/Tex/Fr_tmpl.tex +17 -0
- data/dyndoc/Tex/Header_tmpl.tex +3 -0
- data/dyndoc/Tex/InclGraph_tmpl.tex +19 -0
- data/dyndoc/Tex/InclSpatProc_tmpl.tex +70 -0
- data/dyndoc/Tex/InclSumMI_tmpl.tex +4 -0
- data/dyndoc/Tex/LargeA4_tmpl.tex +5 -0
- data/dyndoc/Tex/Last_tmpl.tex +1 -0
- data/dyndoc/Tex/Option_tmpl.tex +8 -0
- data/dyndoc/Tex/Png_tmpl.tex +1 -0
- data/dyndoc/Tex/RefCite2_tmpl.tex +16 -0
- data/dyndoc/Tex/RefCite_tmpl.tex +16 -0
- data/dyndoc/Tex/Report_tmpl.tex +1 -0
- data/dyndoc/Tex/Theorem_tmpl.tex +14 -0
- data/dyndoc/Tools/.DS_Store +0 -0
- data/dyndoc/Tools/Atom.dyn/index.dyn +42 -0
- data/dyndoc/Tools/AtomDyndocker.dyn/index.dyn +43 -0
- data/dyndoc/Tools/R/Fig.dyn +144 -0
- data/dyndoc/Tools/R/Tools.dyn +344 -0
- data/dyndoc/Tools/Tex/Beamer.dyn +204 -0
- data/dyndoc/Tools/Tex/BeamerSlide.dyn_tex +199 -0
- data/dyndoc/Tools/Tex/Pgf.dyn +115 -0
- data/dyndoc/Tools/Tex/Table.dyn +278 -0
- data/dyndoc/Tools/Tex/Tools.dyn +37 -0
- data/dyndoc/Tools/Tex/Verb.dyn +77 -0
- data/dyndoc/Tools/Web/.DS_Store +0 -0
- data/dyndoc/Tools/Web/Ace.dyn +54 -0
- data/dyndoc/Tools/Web/Code.dyn +129 -0
- data/dyndoc/Tools/Web/DHtmlX.dyn +39 -0
- data/dyndoc/Tools/Web/DataTable.dyn_html +354 -0
- data/dyndoc/Tools/Web/Html.dyn +286 -0
- data/dyndoc/Tools/Web/Html/JQuery.dyn +123 -0
- data/dyndoc/Tools/Web/Html/Styles.dyn +4 -0
- data/dyndoc/Tools/Web/JQueryTools.dyn +87 -0
- data/dyndoc/Tools/Web/Layout.dyn +86 -0
- data/dyndoc/Tools/Web/Layout/CQLS.dyn +6 -0
- data/dyndoc/Tools/Web/Layout/LJK.dyn +41 -0
- data/dyndoc/Tools/Web/TabBar.dyn +37 -0
- data/dyndoc/Tools/Web/Ttm.dyn +20 -0
- data/dyndoc/Tools/Web/Txtl.dyn +14 -0
- data/lib/dyndoc-core.rb +59 -0
- data/lib/dyndoc/base/envir.rb +541 -0
- data/lib/dyndoc/base/filter/call.rb +127 -0
- data/lib/dyndoc/base/filter/filter_mngr.rb +637 -0
- data/lib/dyndoc/base/filter/server.rb +882 -0
- data/lib/dyndoc/base/filters.rb +3 -0
- data/lib/dyndoc/base/helpers.rb +9 -0
- data/lib/dyndoc/base/helpers/core.rb +32 -0
- data/lib/dyndoc/base/helpers/parser.rb +188 -0
- data/lib/dyndoc/base/scanner.rb +886 -0
- data/lib/dyndoc/base/tags.rb +4 -0
- data/lib/dyndoc/base/tags/keys_mngr.rb +401 -0
- data/lib/dyndoc/base/tags/part_tag.rb +194 -0
- data/lib/dyndoc/base/tags/tag_mngr.rb +125 -0
- data/lib/dyndoc/base/tags/user_tag.rb +216 -0
- data/lib/dyndoc/base/tmpl.rb +6 -0
- data/lib/dyndoc/base/tmpl/eval.rb +581 -0
- data/lib/dyndoc/base/tmpl/extension.rb +337 -0
- data/lib/dyndoc/base/tmpl/manager.rb +450 -0
- data/lib/dyndoc/base/tmpl/oop.rb +57 -0
- data/lib/dyndoc/base/tmpl/parse_do.rb +2446 -0
- data/lib/dyndoc/base/tmpl/rbenvir.rb +54 -0
- data/lib/dyndoc/base/utils.rb +367 -0
- data/lib/dyndoc/common/dynArray.rb +234 -0
- data/lib/dyndoc/common/file.rb +52 -0
- data/lib/dyndoc/common/init.rb +2 -0
- data/lib/dyndoc/common/tilt.rb +149 -0
- data/lib/dyndoc/common/utils.rb +61 -0
- data/lib/dyndoc/common/uv.rb +163 -0
- data/lib/dyndoc/init/config.rb +296 -0
- data/lib/dyndoc/init/home.rb +9 -0
- data/lib/dyndoc/plugins/tex.rb +4 -0
- data/lib/dyndoc/plugins/tex/beamer.rb +208 -0
- data/lib/dyndoc/plugins/tex/tex_eval.rb +69 -0
- data/lib/dyndoc/plugins/tex/tex_parse_do.rb +25 -0
- data/lib/dyndoc/plugins/tex/tex_user_tag.rb +32 -0
- data/share/R/dyndocMsys2.R +5 -0
- data/share/R/dyndocTools.R +9 -0
- data/share/R/test.R +14 -0
- data/share/R/tools/dynArray.R +34 -0
- data/share/R/tools/dynCapture.R +84 -0
- data/share/R/tools/dynMsys2.R +54 -0
- data/share/julia/dynArray.jl +93 -0
- data/share/julia/dyndoc.jl +110 -0
- data/share/julia/ruby.jl +37 -0
- metadata +202 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3a0378d90d69707e2fc42064ba4e41e731b63290
|
4
|
+
data.tar.gz: 9a8803258b19d2c53ecd52acba5536ada9bb136f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 92495dd0c762ca07b0410ef3cee6bc865c5d8a23f61b6d24c06181871ff315221f5deaeea430d33478b4be5e700f65c5f182130bbc1aab83d50f306ae322ff6a
|
7
|
+
data.tar.gz: 0e3e3cd623e7c45a8a9fd5aefe476da6f89183a9a0268937f54fb74672650d092f735e55a776de59dead29d212573d851bb8ed5c577740e9f2ded979329991fb
|
data/dyndoc/.DS_Store
ADDED
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
Dyn/After
|
data/dyndoc/Dyn/.preload
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
00Dyn/Base
|
data/dyndoc/Dyn/Base.dyn
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
{#require]
|
2
|
+
Std/Utils
|
3
|
+
Std/File
|
4
|
+
Std/OOP
|
5
|
+
Std/DynVar
|
6
|
+
Std/Array
|
7
|
+
Std/List
|
8
|
+
Std/String
|
9
|
+
Std/Verb
|
10
|
+
Std/Signal
|
11
|
+
Std/DevTag
|
12
|
+
Std/Composer
|
13
|
+
Tools/R/Fig
|
14
|
+
Tools/R/Tools
|
15
|
+
Tools/Tex/Table
|
16
|
+
Tools/Tex/Tools
|
17
|
+
Tools/Web/Html
|
18
|
+
Tools/Web/Ttm
|
19
|
+
Tools/Web/Txtl
|
20
|
+
[#}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
[#=]::_DOCUMENTCLASS_+[]
|
2
|
+
[#=]::_PREAMBLE_+[] [#=]::_POSTAMBLE_+[]
|
3
|
+
[#=]::_BEGINDOC_+[] [#=]::_ENDDOC_+[]
|
4
|
+
[#=]::_HEADER_+[] [#=]::_FOOTER_+[]
|
5
|
+
[#=]::_STYLEDOC_+[] [#=]::_JSDOC_+[]
|
6
|
+
[#>]##{_DOCUMENTCLASS_}
|
7
|
+
##{_HEADER_}
|
8
|
+
<!-- Preamble -->
|
9
|
+
##{_PREAMBLE_}
|
10
|
+
<!-- Styles -->
|
11
|
+
##{_STYLEDOC_}
|
12
|
+
<!-- Javascript -->
|
13
|
+
##{_JSDOC_}
|
14
|
+
<body>
|
15
|
+
##{_BEGINDOC_}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{#var]::_STYLEDOC_[+] => [#}
|
2
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
3
|
+
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:field="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:field:1.0" office:version="1.1">
|
4
|
+
<office:automatic-styles>##{_STYLEDOC_}</office:automatic-styles>
|
5
|
+
<office:body>
|
6
|
+
<office:text>
|
7
|
+
<text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
8
|
+
</text:sequence-decls>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{#var]::_STYLEDOC_[+] => [#}
|
2
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
3
|
+
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:field="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:field:1.0" office:version="1.1">
|
4
|
+
<office:automatic-styles>##{_STYLEDOC_}</office:automatic-styles>
|
5
|
+
<office:body>
|
6
|
+
<office:text>
|
7
|
+
<text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
8
|
+
</text:sequence-decls>
|
@@ -0,0 +1 @@
|
|
1
|
+
##{_ENDDOC_}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
##{_ENDDOC_}
|
2
|
+
\end{document}
|
3
|
+
{#set]_OPTCLASS_![#>][[:{_optclass_.uniq.join(",")}]][#}
|
4
|
+
{#rb]#only for tex!!!
|
5
|
+
pkgs,pkg_opts,pkg_modifs={},{},{}
|
6
|
+
nb=-1
|
7
|
+
##p #{=_USEPACKAGE_}
|
8
|
+
#{=_USEPACKAGE_}.split("\n").each {|pkg| #
|
9
|
+
if pkg =~ /([^\\]*)\|?\\usepackage(?:\[([^\{]*)\])?\{(.*)\}/
|
10
|
+
nb+=1
|
11
|
+
##p [$1,$2,$3]
|
12
|
+
if pkgs.keys.include? $3
|
13
|
+
pkgs[$3] << nb #register same categorie!
|
14
|
+
else
|
15
|
+
pkgs[$3] = [nb] #create it if does not exist
|
16
|
+
end
|
17
|
+
pkg_opts[nb],pkg_modifs[nb]=$2,$1 #save options!
|
18
|
+
end
|
19
|
+
}
|
20
|
+
##Dyndoc.warn :pkgs,pkgs
|
21
|
+
#selection between same package.
|
22
|
+
pkgs_to_keep=[nil]*(nb+=1)
|
23
|
+
#run over
|
24
|
+
pkgs.each{|key,inds| #
|
25
|
+
#p [key,inds]
|
26
|
+
if inds.length>1
|
27
|
+
##p inds
|
28
|
+
modifs=inds.map{|i| pkg_modifs[i]}
|
29
|
+
##Dyndoc.warn :modifs,modifs
|
30
|
+
i_sel=nil
|
31
|
+
modifs.each_with_index{|modif,i| #
|
32
|
+
case modif.strip
|
33
|
+
when /\d+/ # select the rank!
|
34
|
+
i_sel=modif.to_i
|
35
|
+
when "-" # remove it if it exists!
|
36
|
+
i_sel=nil
|
37
|
+
break
|
38
|
+
when "!" # this one and not the other
|
39
|
+
i_sel=i
|
40
|
+
break
|
41
|
+
when "?" # only if it does not exist!
|
42
|
+
i_sel=i unless i_sel
|
43
|
+
when "+" # append :opts
|
44
|
+
if i_sel
|
45
|
+
if pkg_opts[inds[i_sel]]
|
46
|
+
pkg_opts[inds[i_sel]]+=","+pkg_opts[inds[i]]
|
47
|
+
else
|
48
|
+
pkg_opts[inds[i_sel]]=pkg_opts[inds[i]]
|
49
|
+
end
|
50
|
+
else
|
51
|
+
i_sel=i
|
52
|
+
end
|
53
|
+
when "" # default is to select
|
54
|
+
i_sel=i if !i_sel or pkg_opts[inds[i_sel]]==pkg_opts[inds[i]]
|
55
|
+
end
|
56
|
+
}
|
57
|
+
#p i_sel
|
58
|
+
pkgs_to_keep[inds[i_sel]]=key if i_sel
|
59
|
+
else
|
60
|
+
pkgs_to_keep[inds[0]]=key
|
61
|
+
end
|
62
|
+
}
|
63
|
+
|
64
|
+
packages=[]
|
65
|
+
#p nb
|
66
|
+
(0...nb).each{|i| #
|
67
|
+
#Dyndoc.warn :opt,[i,pkg_opts[i],pkgs_to_keep[i]]
|
68
|
+
packages << "\\usepackage"+( pkg_opts[i] ? "["+pkg_opts[i]+"]" : "" )+"{"+pkgs_to_keep[i]+"}" if pkgs_to_keep[i]
|
69
|
+
}
|
70
|
+
packages=packages.join("\n")
|
71
|
+
#p packages
|
72
|
+
[#}
|
73
|
+
{#set]_USEPACKAGE_![#>][:{packages}<\n>][#}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{#var] [::_USEPACKAGE_[+],::_PREAMBLE_[+], ::_POSTAMBLE_[+],::_BEGINDOC_[+],::_ENDDOC_[+],::_TITLE_[+]]
|
2
|
+
[#,] [::_DOCUMENTCLASS_[+] => article]
|
3
|
+
[#,] [::_STYLEDOC_[+]=>]
|
4
|
+
[#,] [::_OPTCLASS_[+]=>]
|
5
|
+
[#}{#rb][_optclass_=[]][#}
|
6
|
+
\documentclass##{_OPTCLASS_}{##{_DOCUMENTCLASS_}}
|
7
|
+
%Packages
|
8
|
+
##{_USEPACKAGE_}
|
9
|
+
%Preamble
|
10
|
+
##{_PREAMBLE_}
|
11
|
+
%Styles
|
12
|
+
##{_STYLEDOC_}
|
13
|
+
%Title
|
14
|
+
##{_TITLE_}
|
15
|
+
\begin{document}
|
16
|
+
##{_BEGINDOC_}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{#var] [::_USEPACKAGE_[+],::_PREAMBLE_[+], ::_POSTAMBLE_[+],::_BEGINDOC_[+],::_ENDDOC_[+],::_TITLE_[+]]
|
2
|
+
[#,] [::_DOCUMENTCLASS_[+] => article]
|
3
|
+
[#,] [::_STYLEDOC_[+]=>]
|
4
|
+
[#,] [::_OPTCLASS_[+]=>]
|
5
|
+
[#}{#rb][_optclass_=[]][#}
|
6
|
+
\documentclass##{_OPTCLASS_}{##{_DOCUMENTCLASS_}}
|
7
|
+
%Packages
|
8
|
+
##{_USEPACKAGE_}
|
9
|
+
%Preamble
|
10
|
+
##{_PREAMBLE_}
|
11
|
+
%Styles
|
12
|
+
##{_STYLEDOC_}
|
13
|
+
%Title
|
14
|
+
##{_TITLE_}
|
15
|
+
\begin{document}
|
16
|
+
##{_BEGINDOC_}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
{#meth]each_with_index.Array[#,]fct[]
|
2
|
+
[#?]#{0?fct}[#rb>]
|
3
|
+
@vars.extract_raw(".content").each_with_index do |v,i| #
|
4
|
+
{#>][#=].index[:{i}][#=].value[:{v[:val]}][#yield]default[#>}
|
5
|
+
end
|
6
|
+
[#?]else[#rb>]
|
7
|
+
@vars.extract_raw(".content").each_with_index do |v,i| #
|
8
|
+
{#>][#=].index[:{i}][#=].value[:{v[:val]}][#>]{#call]#{fct}[#,]#{.index}[#,]#{.value}[#call}[#>}
|
9
|
+
end
|
10
|
+
[#meth}
|
11
|
+
|
12
|
+
{#meth]each.Array[#,]fct[]
|
13
|
+
[#?]#{0?fct}[#rb>]
|
14
|
+
@vars.extract_raw(".content").each do |v| #
|
15
|
+
{#>][#=].value[:{v[:val]}][#yield]default[#>}
|
16
|
+
end
|
17
|
+
[#?]else[#rb>]
|
18
|
+
@vars.extract_raw(".content").each do |v| #
|
19
|
+
{#>][#=].value[:{v[:val]}][#>]{#call]#{fct}[#,]#{.value}[#call}[#>}
|
20
|
+
end
|
21
|
+
[#meth}
|
22
|
+
|
23
|
+
{#meth]map.Array[#,]fct[]
|
24
|
+
[#?]#{0?fct}[#rb<]##Dyndoc.warn 'toto'
|
25
|
+
@vars.extract_raw(".content").map! do |v| #
|
26
|
+
res={#>][#=].value[:{v[:val]}][#yield]default[#>}
|
27
|
+
##Dyndoc.warn :res,{val: [res]}
|
28
|
+
{val: [res]}
|
29
|
+
end
|
30
|
+
[#?]else[#rb<]##Dyndoc.warn 'toto2'
|
31
|
+
@vars.extract_raw(".content").map! do |v| #
|
32
|
+
res={#>][#=].value[:{v[:val]}][#>]{#call]#{fct}[#,]#{.value}[#call}[#>}
|
33
|
+
##Dyndoc.warn :res,{val: [res]}
|
34
|
+
{val: [res]}
|
35
|
+
end
|
36
|
+
[#meth}
|
37
|
+
|
38
|
+
{#meth]join.Array[#,]sep[,]
|
39
|
+
[#rb>][@vars.extract("self.content").join(#{=sep})]
|
40
|
+
[#}
|
41
|
+
|
42
|
+
{#meth]add.Array[#,]elt[#,]pos[-1]
|
43
|
+
[#rb<]
|
44
|
+
@vars.extract_raw("self.content").insert(#{pos},@vars.extract_raw("elt"))
|
45
|
+
[#>][{#join]self[#}]
|
46
|
+
[#}
|
47
|
+
|
48
|
+
## OLD STUFF to check!
|
49
|
+
|
50
|
+
{#def]Array[#,]ary[#,]parent
|
51
|
+
[#?]#{+?parent}[#rb<]@vars.extract_raw(#{=parent})[#{=ary}]=[]
|
52
|
+
[#?]else[#rb<]@vars.local[:prev][#{=ary}]=[]
|
53
|
+
[#}
|
54
|
+
|
55
|
+
{#def]length[#,]ary[#>]#{# #{ary}}[#}
|
56
|
+
|
57
|
+
{#meth]compact.Array[#rb<]
|
58
|
+
@vars.extract_raw("self.content").map!{|e| (e[:val][0].empty? ? nil : e )}.compact!
|
59
|
+
[#}
|
60
|
+
|
61
|
+
{#hide]OLD!!!{#meth]join.Array[#,]sep[]
|
62
|
+
[#rb>][#{=self.content}.join(#{=sep})]
|
63
|
+
[#}[#}
|
64
|
+
|
65
|
+
{#meth]apply.Array[#,]_elt_[elt]
|
66
|
+
[#rb>]_elt_[#{=_elt_}.strip]
|
67
|
+
[#rb<]
|
68
|
+
@nb={} unless @nb
|
69
|
+
@nb[#{=_elt_}]=#{#.content}
|
70
|
+
@ind={} unless @ind
|
71
|
+
@ind[#{=_elt_}]=-1
|
72
|
+
[#>]
|
73
|
+
[{#loop][#rb<][@ind[#{=_elt_}]+=1]
|
74
|
+
[#=]#{_elt_}[:self.content.:{@ind[#{=_elt_}]}]
|
75
|
+
[#=]ind_#{_elt_}[:{@ind[#{=_elt_}]}]
|
76
|
+
[#yield]default
|
77
|
+
[#break]:{@ind[#{=_elt_}]==@nb[#{=_elt_}]-1}
|
78
|
+
[#}]
|
79
|
+
[#rb<]@ind[#{=_elt_}]=-1
|
80
|
+
[#}
|
81
|
+
|
82
|
+
{#meth]mapOLD.Array[#,]_elt_[elt]
|
83
|
+
[#rb>]_elt_[#{=_elt_}.strip]
|
84
|
+
[#rb<]
|
85
|
+
@nb={} unless @nb
|
86
|
+
@nb[#{=_elt_}]=#{#.content}
|
87
|
+
@ind={} unless @ind
|
88
|
+
@ind[#{=_elt_}]=-1
|
89
|
+
[#>]
|
90
|
+
[{#loop][#rb<]@ind[#{=_elt_}]+=1
|
91
|
+
[#>]#{_elt_}[#{.content.:{@ind[#{=_elt_}]}}]
|
92
|
+
[#>] updated#{_elt_} [.content.:{@ind[#{=_elt_}]}]
|
93
|
+
[#>] #{updated#{_elt_}} [{#yield]default[#}]
|
94
|
+
[#break]:{@ind[#{=_elt_}]==@nb[#{=_elt_}]-1}
|
95
|
+
[#}]
|
96
|
+
[#}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
example: argument of the #Compose function is of the form
|
2
|
+
list of lines containing "|"-separated list of elements of the form
|
3
|
+
<caseVar in tmplPartDoc> = < tmplPartDoc > : <comma separated list of part>
|
4
|
+
default value for is "docs"
|
5
|
+
|
6
|
+
{#hide]{#def]Compose[#,]list[]
|
7
|
+
[#rb<]docs=#{=list}.split("\n").map{|l| l.split("|")}.flatten.map{|e| e.strip}.flatten
|
8
|
+
#p [:docs,docs]
|
9
|
+
[#>]{#for]doc in docs
|
10
|
+
[#rb<]caseVar,partList=doc.split("=")
|
11
|
+
partList,caseVar=caseVar,"docs" unless partList
|
12
|
+
caseVar.strip!
|
13
|
+
partList.strip!
|
14
|
+
#split on the first ":"
|
15
|
+
docTmpl,*partList=partList.split(":").map{|e| e.strip}
|
16
|
+
partList=partList.join(":").strip
|
17
|
+
#puts caseVar;puts docTmpl;puts partList
|
18
|
+
[#>]:{caseVar}[:{partList}][#<<]:{docTmpl}
|
19
|
+
[#for}
|
20
|
+
[#def}[#hide}
|
21
|
+
|
22
|
+
Version without #for but directly with ruby for and block code!
|
23
|
+
{#def]Compose[#,]list[]
|
24
|
+
[#rb<]docs=#{=list}.split("\n").map{|l| l.split("|")}.flatten.map{|e| e.strip}.flatten
|
25
|
+
#Dyndoc.warn [:docs_in_compose,docs]
|
26
|
+
[#rb>]
|
27
|
+
for doc in docs do
|
28
|
+
caseVar,partList=doc.split("=")
|
29
|
+
partList,caseVar=caseVar,"docs" unless partList
|
30
|
+
caseVar.strip!
|
31
|
+
partList.strip!
|
32
|
+
#split on the first ":"
|
33
|
+
docTmpl,*partList=partList.split(":").map{|e| e.strip}
|
34
|
+
partList=partList.join(":").strip
|
35
|
+
#Dyndoc.warn "caseVar",[caseVar,docTmpl,partList]
|
36
|
+
{#>][#>]:{caseVar}[:{partList}][#<<]:{docTmpl}[#>}
|
37
|
+
end
|
38
|
+
[#def}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
=================================
|
2
|
+
| devtag items-like declaration |
|
3
|
+
=================================
|
4
|
+
|
5
|
+
{#def]dtagNew[#,]dtag![][#,]items![]
|
6
|
+
[#=]do_items[]
|
7
|
+
[#rb<]p @vars.local["items"].keys
|
8
|
+
items=@vars.local["items"].keys-["_order_"]
|
9
|
+
items -= (var_items=items.select{|it| it=~/^var\_/})
|
10
|
+
items -= (pre_items=items.select{|it| it=~/^pre\_/})
|
11
|
+
items -= (post_items=items.select{|it| it=~/^post\_/})
|
12
|
+
[#>]items4rb[:{items.map{|it| ":"+it}.join(",")}]
|
13
|
+
[#>]do_items+[
|
14
|
+
items=[#{items4rb}]
|
15
|
+
blckMngr.next_child_until!(items)
|
16
|
+
]
|
17
|
+
[#rb<]
|
18
|
+
for item in pre_items.sort do
|
19
|
+
{#>]do_items+[
|
20
|
+
#{items.:{item}}
|
21
|
+
]
|
22
|
+
[#>}
|
23
|
+
end
|
24
|
+
[#>]do_items+[begin
|
25
|
+
case blckMngr.next_tag!]
|
26
|
+
[#rb<]
|
27
|
+
for item in items do
|
28
|
+
{#>]do_items+[
|
29
|
+
when ::{item}
|
30
|
+
blckMngr.next_child!
|
31
|
+
#{items.:{item}}
|
32
|
+
]
|
33
|
+
[#>}
|
34
|
+
end
|
35
|
+
[#>]do_items+[
|
36
|
+
else #just in the case where other tags are added but normally this does not make sense!
|
37
|
+
blckMngr.next_child!
|
38
|
+
end
|
39
|
+
end until blckMngr.at_end?
|
40
|
+
]
|
41
|
+
[#rb<]
|
42
|
+
for item in post_items.sort do
|
43
|
+
{#>]do_items+[
|
44
|
+
#{items.:{item}}
|
45
|
+
]
|
46
|
+
[#>}
|
47
|
+
end
|
48
|
+
[#rb<]#puts #{=do_items}
|
49
|
+
[#rb<]<CqlsDoc>#CqlsDoc envir!
|
50
|
+
DYN[:V3].tmpl.add_dtag({
|
51
|
+
:instr=>[#{=dtag}],
|
52
|
+
:keyword_reg=>{
|
53
|
+
:#{dtag}=> '[%.\w,><?=+:-]+'
|
54
|
+
},
|
55
|
+
:blck=>{
|
56
|
+
:instr=>[:#{dtag}],
|
57
|
+
:keyword=>{:#{dtag}=>[#{items4rb}]}
|
58
|
+
}
|
59
|
+
})
|
60
|
+
|
61
|
+
module V3
|
62
|
+
class TemplateManager
|
63
|
+
def do_#{dtag}(tex,blck,filter)
|
64
|
+
##p blck
|
65
|
+
blckMngr=BlckMngr.new(self,blck,tex,filter)
|
66
|
+
## the next code is automatically generated!
|
67
|
+
#{do_items}
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
[#}
|
72
|
+
|
73
|
+
|
74
|
+
===================================
|
75
|
+
| More general devtag declaration |
|
76
|
+
===================================
|
77
|
+
|
78
|
+
{#def]dtag[#,]dtag![][#,]items![][#,]do_items![]
|
79
|
+
[#?]#{+?items}[#rb>]items[#{=items}.split(",").map{|e| ":"+e.strip}.join(",")][#?]end
|
80
|
+
[#rb<]<CqlsDoc>#CqlsDoc envir!
|
81
|
+
DYN[:V3].tmpl.add_dtag({
|
82
|
+
:instr=>[#{=dtag}],
|
83
|
+
:keyword_reg=>{
|
84
|
+
:#{dtag}=> '[%.\w,><?=+:-]+'
|
85
|
+
},
|
86
|
+
:blck=>{
|
87
|
+
:instr=>[:#{dtag}],
|
88
|
+
:keyword=>{:#{dtag}=>[#{items}]}
|
89
|
+
}
|
90
|
+
})
|
91
|
+
|
92
|
+
module V3
|
93
|
+
class TemplateManager
|
94
|
+
def do_#{dtag}(tex,blck,filter)
|
95
|
+
blckMngr=BlckMngr.new(self,blck,tex,filter)
|
96
|
+
items=[#{items}]
|
97
|
+
#{do_items}
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
[#}
|