dyndoc-ruby 0.2.0
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.
- checksums.yaml +7 -0
- data/bin/dpm.rb +63 -0
- data/bin/dyn-cli.rb +199 -0
- data/bin/dyn-srv.rb +101 -0
- data/bin/dyn.rb +77 -0
- metadata +110 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d7eeb3e8011928ea05a217fc5fb86739d3e1f850
|
4
|
+
data.tar.gz: 0d159d16d786d226a0fb702b8757a21dbb275c22
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 767b79488cf97184e55be93be8a65f6b496aec8ad6cc93fa388cc3d047efc9ba7ae1df06f3bf4910921c9b98e6ca82e119b4bdc8fb70fdd3bdf83e6550d000f1
|
7
|
+
data.tar.gz: 84fdb41d1bf4ab542a432f55558e7dd3ca08fd1b9c5b515ebce208df87cb374502846fdc5c5bbb139d41f62b032f4e2276910b8fd6fbeeba4d39ed5b7ffb8b05
|
data/bin/dpm.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
require 'dyndoc/init/home'
|
5
|
+
dyndoc_home = Dyndoc.home
|
6
|
+
#p Dyndoc.home
|
7
|
+
|
8
|
+
lib_dir = ENV["DYNDOC_LIBRARY"] || File.join(dyndoc_home,"library")
|
9
|
+
repo_dir = File.join(lib_dir,".repository")
|
10
|
+
|
11
|
+
old_pwd = Dir.pwd
|
12
|
+
|
13
|
+
cmd = ARGV[0].to_sym
|
14
|
+
case cmd
|
15
|
+
|
16
|
+
# dyndoc-package install rcqls/dyndoc-share
|
17
|
+
when :install #default is github from now!
|
18
|
+
owner,package=File.split(ARGV[1])
|
19
|
+
package = package[0...-4] if package =~ /\.git$/
|
20
|
+
package_dir = File.join(repo_dir,owner)
|
21
|
+
FileUtils.mkdir_p package_dir
|
22
|
+
FileUtils.cd package_dir
|
23
|
+
`git clone https://github.com/#{owner}/#{package}.git`
|
24
|
+
|
25
|
+
# dyndoc-package update rcqls/dyndoc-share
|
26
|
+
when :update
|
27
|
+
FileUtils.cd File.join(repo_dir,ARGV[1])
|
28
|
+
`git pull`
|
29
|
+
|
30
|
+
# dyndoc-package link rcqls/dyndoc-share/library/RCqls (default to RCqls)
|
31
|
+
# dyndoc-package link rcqls/dyndoc-share/library/RCqls RCqls
|
32
|
+
# dyndoc-package link <real local path to expand>
|
33
|
+
when :link
|
34
|
+
path = File.expand_path(ARGV[1])
|
35
|
+
unless (local = (File.directory? path) )
|
36
|
+
path = ARGV[1] # not expanded
|
37
|
+
end
|
38
|
+
path,package = File.split(path)
|
39
|
+
target = ARGV[2] || package
|
40
|
+
target = File.join(lib_dir,target)
|
41
|
+
FileUtils.rm target if File.symlink? target #unlink first
|
42
|
+
source = local ? path : File.join(repo_dir,path,package)
|
43
|
+
FileUtils.ln_sf source,target
|
44
|
+
|
45
|
+
# dyndoc-package unlink RCqls
|
46
|
+
when :unlink
|
47
|
+
package = ARGV[1]
|
48
|
+
if RUBY_PLATFORM =~ /(?:msys|mingw)/
|
49
|
+
FileUtils.rm_rf File.join(lib_dir,package)
|
50
|
+
else
|
51
|
+
FileUtils.rm File.join(lib_dir,package)
|
52
|
+
end
|
53
|
+
when :ls
|
54
|
+
FileUtils.cd lib_dir
|
55
|
+
Dir["*"].each_with_index{|e,i| puts "#{i+1}) #{e}"}
|
56
|
+
|
57
|
+
when :repo
|
58
|
+
FileUtils.cd repo_dir
|
59
|
+
Dir[File.join("*","*")].each_with_index{|e,i| puts "#{i+1}) #{e}"}
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
FileUtils.cd old_pwd
|
data/bin/dyn-cli.rb
ADDED
@@ -0,0 +1,199 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "socket"
|
4
|
+
|
5
|
+
module Dyndoc
|
6
|
+
|
7
|
+
class Client
|
8
|
+
|
9
|
+
attr_reader :content
|
10
|
+
|
11
|
+
@@end_token="__[[END_TOKEN]]__"
|
12
|
+
|
13
|
+
## reinit is an array
|
14
|
+
def initialize(cmd,tmpl_filename,addr="127.0.0.1",reinit=[],port=7777)
|
15
|
+
|
16
|
+
@addr,@port,@cmd,@tmpl_filename=addr,port,cmd,tmpl_filename
|
17
|
+
##p [:tmpl_filename,@tmpl_filename,@cmd]
|
18
|
+
## The layout needs to be reintailized for new dyndoc file but not for the layout (of course)!
|
19
|
+
dyndoc_cmd="dyndoc"
|
20
|
+
dyndoc_cmd += "_with_tag_tmpl" if reinit.include? :dyndoc_tag_tmpl
|
21
|
+
dyndoc_cmd += "_with_libs_reinit" if reinit.include? :dyndoc_libs
|
22
|
+
dyndoc_cmd += "_with_layout_reinit" if reinit.include? :dyndoc_layout
|
23
|
+
|
24
|
+
Socket.tcp(addr, 7777) {|sock|
|
25
|
+
sock.print '__send_cmd__[['+dyndoc_cmd+'|'+@tmpl_filename+']]__' + @cmd + @@end_token
|
26
|
+
sock.close_write
|
27
|
+
@result=sock.read
|
28
|
+
}
|
29
|
+
|
30
|
+
data=@result.split(@@end_token,-1)
|
31
|
+
last=data.pop
|
32
|
+
resCmd=decode_cmd(data.join(""))
|
33
|
+
##p [:resCmd,resCmd]
|
34
|
+
if resCmd and resCmd[:cmd] != "windows_platform"
|
35
|
+
@content=resCmd[:content]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def decode_cmd(res)
|
40
|
+
if res =~ /^__send_cmd__\[\[([a-zA-Z0-9_]*)\]\]__([\s\S]*)/m
|
41
|
+
return {cmd: $1, content: $2}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# def listen
|
46
|
+
# ##@response = Thread.new do
|
47
|
+
# result=""
|
48
|
+
# @content=nil
|
49
|
+
# msg=""
|
50
|
+
# loop {
|
51
|
+
# msg=@server.recv(1024)
|
52
|
+
# ##p msg
|
53
|
+
# if msg
|
54
|
+
# msg.chomp!
|
55
|
+
# ##puts "#{msg}"
|
56
|
+
# data=msg.split(@@end_token,-1)
|
57
|
+
# ##p data
|
58
|
+
# last=data.pop
|
59
|
+
# result += data.join("")
|
60
|
+
# #p "last:<<"+last+">>"
|
61
|
+
# if last == ""
|
62
|
+
# #console.log("<<"+result+">>")
|
63
|
+
# resCmd = decode_cmd(result)
|
64
|
+
# ##p resCmd
|
65
|
+
# if resCmd[:cmd] != "windows_platform"
|
66
|
+
# #console.log("data: "+resCmd["content"])
|
67
|
+
# @content=resCmd[:content]
|
68
|
+
# @server.close
|
69
|
+
# break
|
70
|
+
# end
|
71
|
+
# else
|
72
|
+
# result += last if last
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
# }
|
76
|
+
# #end
|
77
|
+
# end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# USAGE:
|
82
|
+
# dyndoc-ruby-client.rb|dyn-cli test.dyn[@127.0.0.1] [output_filename.html]
|
83
|
+
# dyndoc-ruby-client.rb|dyn-cli test.dyn,layout.dyn[@127.0.0.1] [output_filename.html]
|
84
|
+
|
85
|
+
next_i=0
|
86
|
+
dyn_tag_tmpl=nil
|
87
|
+
## very limited tags system
|
88
|
+
if ARGV[0] =~ /\-t\=/
|
89
|
+
next_i=1
|
90
|
+
dyn_tag_tmpl="[#<]{#opt]"+ARGV[0][3..-1].strip+"[#opt}"
|
91
|
+
end
|
92
|
+
|
93
|
+
arg=ARGV[next_i]
|
94
|
+
dyn_output=ARGV[next_i + 1]
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
if arg.include? "@"
|
99
|
+
arg,addr=arg.split("@")
|
100
|
+
else
|
101
|
+
addr="127.0.0.1"
|
102
|
+
end
|
103
|
+
|
104
|
+
dyn_file,dyn_layout,dyn_libs,dyn_pre_code,dyn_post_code=nil,nil,nil,nil,nil
|
105
|
+
|
106
|
+
if arg.include? ","
|
107
|
+
dyn_file,dyn_layout=arg.split(",")
|
108
|
+
else
|
109
|
+
dyn_file=arg
|
110
|
+
if i=(dyn_file =~ /\_?(?:html|tex)?\.dyn$/)
|
111
|
+
dyn_layout=dyn_file[0...i]+"_layout.dyn" if File.exist? dyn_file[0...i]+"_layout.dyn"
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
if !dyn_layout and File.exist? ".dyn_layout"
|
116
|
+
dyn_layout=File.read(".dyn_layout").strip
|
117
|
+
end
|
118
|
+
|
119
|
+
if !dyn_layout and File.exist?(etc_dyn_layout=File.join(ENV["HOME"],".dyndocker","etc","dyn_cli_layout"))
|
120
|
+
dyn_layout=File.read(etc_dyn_layout).strip
|
121
|
+
end
|
122
|
+
|
123
|
+
# dyn library to require automatically
|
124
|
+
if !dyn_libs and File.exist? ".dynlibs"
|
125
|
+
dyn_libs=File.read(".dynlibs").strip
|
126
|
+
end
|
127
|
+
|
128
|
+
if !dyn_libs and File.exist?(etc_dyn_libs=File.join(ENV["HOME"],".dyndocker","etc","dyn-cli","dyn_libs"))
|
129
|
+
dyn_libs=File.read(etc_dyn_libs).strip
|
130
|
+
end
|
131
|
+
|
132
|
+
# very similar to dyn_libs but can preload any dyndoc
|
133
|
+
if i=(dyn_file =~ /\_?(?:html|tex)?\.dyn$/)
|
134
|
+
dyn_pre_code=File.read(dyn_file[0...i]+"_pre.dyn") if File.exist? dyn_file[0...i]+"_pre.dyn"
|
135
|
+
dyn_post_code=File.read(dyn_file[0...i]+"_post.dyn") if File.exist? dyn_file[0...i]+"_post.dyn"
|
136
|
+
end
|
137
|
+
|
138
|
+
if !dyn_pre_code and File.exist?(etc_dyn_pre_code=".dyn_pre_code")
|
139
|
+
etc_dyn_pre_code=File.read(etc_dyn_pre_code).strip
|
140
|
+
dyn_pre_code=File.read(etc_dyn_pre_code) if File.exist? etc_dyn_pre_code
|
141
|
+
end
|
142
|
+
|
143
|
+
if !dyn_libs and File.exist?(etc_dyn_pre_code=File.join(ENV["HOME"],".dyndocker","etc","dyn-cli","dyn_pre_code"))
|
144
|
+
etc_dyn_pre_code=File.read(etc_dyn_pre_code).strip
|
145
|
+
dyn_pre_code=File.read(etc_dyn_pre_code) if File.exist? etc_dyn_pre_code
|
146
|
+
end
|
147
|
+
|
148
|
+
# very similar to dyn_libs but can preload any dyndoc
|
149
|
+
if i=(dyn_file =~ /\_?(?:html|tex)?\.dyn$/)
|
150
|
+
dyn_pre_code=File.read(dyn_file[0...i]+"_pre.dyn") if File.exist? dyn_file[0...i]+"_pre.dyn"
|
151
|
+
dyn_post_code=File.read(dyn_file[0...i]+"_post.dyn") if File.exist? dyn_file[0...i]+"_post.dyn"
|
152
|
+
end
|
153
|
+
|
154
|
+
# similar to pre_code but for post_code
|
155
|
+
if !dyn_post_code and File.exist?(etc_dyn_post_code=".dyn_post_code")
|
156
|
+
etc_dyn_post_code=File.read(etc_dyn_post_code).strip
|
157
|
+
dyn_post_code=File.read(etc_dyn_post_code) if File.exist? etc_dyn_post_code
|
158
|
+
end
|
159
|
+
|
160
|
+
if !dyn_post_code and File.exist?(etc_dyn_post_code=File.join(ENV["HOME"],".dyndocker","etc","dyn-cli","dyn_post_code"))
|
161
|
+
etc_dyn_post_code=File.read(etc_dyn_post_code).strip
|
162
|
+
dyn_post_code=File.read(etc_dyn_post_code) if File.exist? etc_dyn_post_code
|
163
|
+
end
|
164
|
+
|
165
|
+
|
166
|
+
dyn_file=nil unless File.exist? dyn_file
|
167
|
+
dyn_layout=nil if dyn_layout and !File.exist? dyn_layout
|
168
|
+
|
169
|
+
if dyn_file
|
170
|
+
code=File.read(dyn_file)
|
171
|
+
if dyn_libs or dyn_pre_code
|
172
|
+
code_pre = ""
|
173
|
+
code_pre += dyn_pre_code + '\n' if dyn_pre_code
|
174
|
+
code_pre += '[#require]\n'+dyn_libs if dyn_libs
|
175
|
+
code = code_pre + '[#main][#>]' + code
|
176
|
+
end
|
177
|
+
code += '\n' + dyn_post_code if dyn_post_code
|
178
|
+
code = dyn_tag_tmpl+code if dyn_tag_tmpl
|
179
|
+
dyndoc_start=[:dyndoc_libs,:dyndoc_layout]
|
180
|
+
## tag tmpl attempt to communicate to the server
|
181
|
+
if dyn_tag_tmpl
|
182
|
+
##TODO: :dyndoc_tag_tmpl to add to dyndoc_start
|
183
|
+
## but also to dyndoc-server-simple.rb
|
184
|
+
end
|
185
|
+
|
186
|
+
cli=Dyndoc::Client.new(code,File.expand_path(dyn_file),addr,dyndoc_start)
|
187
|
+
|
188
|
+
if dyn_layout
|
189
|
+
cli=Dyndoc::Client.new(File.read(dyn_layout),"",addr) #File.expand_path(dyn_layout),addr)
|
190
|
+
end
|
191
|
+
|
192
|
+
if dyn_output and Dir.exist? File.dirname(dyn_output)
|
193
|
+
File.open(dyn_output,"w") do |f|
|
194
|
+
f << cli.content
|
195
|
+
end
|
196
|
+
else
|
197
|
+
puts cli.content
|
198
|
+
end
|
199
|
+
end
|
data/bin/dyn-srv.rb
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
require 'socket' # Get sockets from stdlib
|
4
|
+
require "dyndoc-core"
|
5
|
+
|
6
|
+
|
7
|
+
module Dyndoc
|
8
|
+
|
9
|
+
class InteractiveServer
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
@tmpl_mngr=nil
|
13
|
+
@tmpl_filename=nil
|
14
|
+
init_dyndoc
|
15
|
+
init_server
|
16
|
+
end
|
17
|
+
|
18
|
+
def init_dyndoc
|
19
|
+
unless @tmpl_mngr
|
20
|
+
Dyndoc.cfg_dyn['dyndoc_session']=:interactive
|
21
|
+
@tmpl_mngr = Dyndoc::Ruby::TemplateManager.new({})
|
22
|
+
##is it really well-suited for interactive mode???
|
23
|
+
end
|
24
|
+
reinit_dyndoc
|
25
|
+
end
|
26
|
+
|
27
|
+
def reinit_dyndoc
|
28
|
+
if @tmpl_mngr
|
29
|
+
@tmpl_mngr.init_doc({:format_output=> "html"})
|
30
|
+
@tmpl_mngr.require_dyndoc_libs("DyndocWebTools")
|
31
|
+
puts "InteractiveServer (re)initialized!\n"
|
32
|
+
@tmpl_mngr.as_default_tmpl_mngr! #=> Dyndoc.tmpl_mngr activated!
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def process_dyndoc(content)
|
38
|
+
##p [:process_dyndoc_content,content]
|
39
|
+
@content=@tmpl_mngr.parse(content)
|
40
|
+
##Dyndoc.warn :content, @content
|
41
|
+
@tmpl_mngr.filterGlobal.envir["body.content"]=@content
|
42
|
+
if @tmpl_filename
|
43
|
+
@tmpl_mngr.filterGlobal.envir["_FILENAME_CURRENT_"]=@tmpl_filename.dup
|
44
|
+
@tmpl_mngr.filterGlobal.envir["_FILENAME_"]=@tmpl_filename.dup #register name of template!!!
|
45
|
+
@tmpl_mngr.filterGlobal.envir["_FILENAME_ORIG_"]=@tmpl_filename.dup #register name of template!!!
|
46
|
+
@tmpl_mngr.filterGlobal.envir["_PWD_"]=File.dirname(@tmpl_filename)
|
47
|
+
end
|
48
|
+
return @content
|
49
|
+
end
|
50
|
+
|
51
|
+
def init_server
|
52
|
+
@server = TCPServer.new('0.0.0.0',7777)
|
53
|
+
end
|
54
|
+
|
55
|
+
def run
|
56
|
+
trap("SIGINT") { @server.close;exit! }
|
57
|
+
loop {
|
58
|
+
socket = @server.accept
|
59
|
+
|
60
|
+
b=socket.recv(100000)
|
61
|
+
##p [:b,b]
|
62
|
+
data=b.to_s.strip
|
63
|
+
##p [:data,data]
|
64
|
+
if data =~ /^__send_cmd__\[\[([a-z,_]*)\|?([^\]]*)?\]\]__(.*)__\[\[END_TOKEN\]\]__$/m
|
65
|
+
cmd,@tmpl_filename,content = $1,$2,$3
|
66
|
+
##p [:cmd,cmd,:content,content,:filename,@tmpl_filename]
|
67
|
+
#p [:tmpl_mngr,@tmpl_filename]
|
68
|
+
unless @tmpl_filename.empty?
|
69
|
+
Question.session_dir(File.dirname(@tmpl_filename))
|
70
|
+
end
|
71
|
+
if content.strip == "__EXIT__"
|
72
|
+
socket.close
|
73
|
+
@server.close
|
74
|
+
break
|
75
|
+
end
|
76
|
+
|
77
|
+
if cmd =~ /(.*)_with_layout_reinit$/
|
78
|
+
LayoutMngr.reinit
|
79
|
+
cmd=$1
|
80
|
+
end
|
81
|
+
|
82
|
+
if cmd =~ /(.*)_with_libs_reinit$/
|
83
|
+
reinit_dyndoc
|
84
|
+
cmd=$1
|
85
|
+
end
|
86
|
+
|
87
|
+
if cmd == "dyndoc"
|
88
|
+
res = process_dyndoc(content)
|
89
|
+
##p [:dyndoc_server,content,res]
|
90
|
+
socket.write "__send_cmd__[[dyndoc]]__"+res+"__[[END_TOKEN]]__"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
socket.close
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
Dyndoc::InteractiveServer.new.run
|
data/bin/dyn.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'dyndoc/document'
|
3
|
+
|
4
|
+
## p Dyndoc.cfg_dir
|
5
|
+
|
6
|
+
args=ARGV.select{|name|
|
7
|
+
if (name[0,2]!="--" and name.include? "=")
|
8
|
+
key,*val=name.split("=")
|
9
|
+
val=val.join("=")
|
10
|
+
Settings["cfg_dyn.user_input"] << [key,val]
|
11
|
+
false
|
12
|
+
else
|
13
|
+
true
|
14
|
+
end
|
15
|
+
}
|
16
|
+
|
17
|
+
require 'optparse'
|
18
|
+
|
19
|
+
OptionParser.new do |opts|
|
20
|
+
opts.banner = "Usage: dyndoc-compile.rb [options]"
|
21
|
+
|
22
|
+
opts.on("-d", "--docs one,two,three", Array, "list of documents to compile") do |list|
|
23
|
+
Settings["cfg_dyn.doc_list"] = list
|
24
|
+
end
|
25
|
+
|
26
|
+
opts.on("-f", "--format ", "format of the dyndoc document") do |format|
|
27
|
+
Settings["cfg_dyn.format_doc"] = format.to_sym
|
28
|
+
end
|
29
|
+
|
30
|
+
opts.on('-t','--tags TAGS',Array,'filter tags') {|t| Settings["cfg_dyn.tag_tmpl"] = t}
|
31
|
+
|
32
|
+
opts.on('-C',"--content-only", "content only mode (no header!)") do
|
33
|
+
Settings["cfg_dyn.model_doc"] = "Content"
|
34
|
+
end
|
35
|
+
|
36
|
+
opts.on('-c', '--cmd COMMAND','[a(rchive old)][r(emove old)][s(ave)][pdf(latex)]') {|c|
|
37
|
+
cmd =[:make_content]
|
38
|
+
cmd << :save_old if c.include? "a"
|
39
|
+
cmd << :rm_old if c.include? "r"
|
40
|
+
cmd << :save if c.include? "s"
|
41
|
+
## cmd << :cat if c.include? "c"
|
42
|
+
cmd << :pdf if c =~ /(E)?pdf([1-3])?/ #if c.include? "pdf"
|
43
|
+
Settings["cfg_dyn.options.pdflatex_echo"]=true if $1 # useable for log sytem (to introduce possibly later)
|
44
|
+
Settings["cfg_dyn.options.pdflatex_nb_pass"]=$2.to_i if $2
|
45
|
+
## cmd << :png if c.include? "png"
|
46
|
+
## cmd << :view if c.include? "v"
|
47
|
+
## cmd << :save << :view if c.include? "x"
|
48
|
+
## cmd =[:cat] if cmd.empty? #and cfg_dyn[:model_doc]=="content"
|
49
|
+
## cmd = [:pdf] if c=="pdf" #only pdflatex
|
50
|
+
Settings["cfg_dyn.cmd_doc"] = cmd
|
51
|
+
}
|
52
|
+
|
53
|
+
opts.on("-l", "--list", "list of documents available") do
|
54
|
+
Settings["cfg_dyn.cmd_doc"] = [:list]
|
55
|
+
end
|
56
|
+
|
57
|
+
opts.on('-D','--debug','debug mode') do
|
58
|
+
Settings['cfg_dyn.debug']=true
|
59
|
+
end
|
60
|
+
|
61
|
+
opts.on("-p", "--pandoc ", "filter for pandoc (tex2docx,...)") do |f|
|
62
|
+
#p [:pandoc,f]
|
63
|
+
Settings["cfg_dyn.pandoc_filter"] = f
|
64
|
+
end
|
65
|
+
|
66
|
+
# opts.on('--docker',"docker mode") do
|
67
|
+
# Settings["cfg_dyn.docker_mode"]=true
|
68
|
+
# end
|
69
|
+
|
70
|
+
end.parse!(args)
|
71
|
+
|
72
|
+
## ARGV is consumed before except
|
73
|
+
doc=args[0]
|
74
|
+
|
75
|
+
d=Dyndoc::TemplateDocument.new(doc)
|
76
|
+
|
77
|
+
d.make_all
|
metadata
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dyndoc-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- CQLS
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: R4rb
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.1.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.1.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dyndoc-ruby-core
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.1.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.1.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: dyndoc-ruby-doc
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.1.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dyndoc-ruby-exec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.1.0
|
69
|
+
description: |2
|
70
|
+
Provide templating in text document.
|
71
|
+
email: rdrouilh@gmail.com
|
72
|
+
executables:
|
73
|
+
- dyn.rb
|
74
|
+
- dyn-cli.rb
|
75
|
+
- dyn-srv.rb
|
76
|
+
- dpm.rb
|
77
|
+
extensions: []
|
78
|
+
extra_rdoc_files: []
|
79
|
+
files:
|
80
|
+
- bin/dpm.rb
|
81
|
+
- bin/dyn-cli.rb
|
82
|
+
- bin/dyn-srv.rb
|
83
|
+
- bin/dyn.rb
|
84
|
+
homepage: http://cqls.upmf-grenoble.fr
|
85
|
+
licenses:
|
86
|
+
- MIT
|
87
|
+
- GPL-2
|
88
|
+
metadata: {}
|
89
|
+
post_install_message:
|
90
|
+
rdoc_options: []
|
91
|
+
require_paths:
|
92
|
+
- lib
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
requirements:
|
104
|
+
- none
|
105
|
+
rubyforge_project:
|
106
|
+
rubygems_version: 2.0.14
|
107
|
+
signing_key:
|
108
|
+
specification_version: 4
|
109
|
+
summary: R and Ruby in text document
|
110
|
+
test_files: []
|