dyndoc-ruby 1.3.6 → 1.4.5
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 +4 -4
- data/bin/dyn-ctl +17 -5
- data/lib/dyndoc-html-servers.rb +30 -18
- data/lib/dyndoc-servers-cfg.rb +24 -0
- data/lib/dyndoc-tasks.rb +13 -5
- data/lib/dyndoc-world.rb +74 -4
- data/lib/dyndoc/cli/interactive-client.rb +2 -1
- data/lib/dyndoc/srv/interactive-server.rb +2 -1
- data/share/html-srv/dyn-html-srv.ru +7 -11
- metadata +6 -12
- data/bin/dyn-site +0 -7
- data/share/dyn-site/docker/dyn-site.sh +0 -54
- data/share/dyn-site/docker/files/Dockerfile-dyndoc +0 -31
- data/share/dyn-site/docker/files/Dockerfile-website +0 -9
- data/share/dyn-site/docker/files/docker-compose.yml +0 -21
- data/share/dyn-site/dyn-site.sh +0 -167
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d255842b28ec56165e4afeaa4365023f907564018686c100ddaaa51a5da082d8
|
|
4
|
+
data.tar.gz: 0cfcbc668b436f90246754c516b2c6fe3ab7c8db9a1c0fa25f308fafbb994440
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d31008fa44284347b7cb449547b070c3fadff5d46502add8d765da72add3306d8b9aeb2395534e51b6f64be18cc7a7e6e94431f97c5ecc50c74e20e580b8d1e
|
|
7
|
+
data.tar.gz: cb6cdaac3ac2f79261eed45e915d1ca55adf438a27858fb302462466a34c1c0ee5c43e6bcdfcf6fb091330834c0b2ae586b3d9d42a4a7ca8b16fffe827a46a42
|
data/bin/dyn-ctl
CHANGED
|
@@ -6,6 +6,15 @@ SRVS=["dyn-srv","dyn-html","dyn-http","dyn-task"]
|
|
|
6
6
|
CMD="dyn-ctl"
|
|
7
7
|
DYNCTL_PLIST=File.expand_path("~/Library/LaunchAgents/local.dyn-ctl.plist")
|
|
8
8
|
|
|
9
|
+
def srvs?(srvs)
|
|
10
|
+
if srvs
|
|
11
|
+
srvs=srvs.split(",",-1).map{|e| "dyn-"+e}
|
|
12
|
+
else
|
|
13
|
+
srvs=SRVS.dup
|
|
14
|
+
end
|
|
15
|
+
return srvs
|
|
16
|
+
end
|
|
17
|
+
|
|
9
18
|
case (ARGV[0] || "start").downcase
|
|
10
19
|
when "init"
|
|
11
20
|
rodasrv=File.expand_path("~/RodaSrv")
|
|
@@ -58,7 +67,8 @@ when "unwatch"
|
|
|
58
67
|
end
|
|
59
68
|
|
|
60
69
|
when "start"
|
|
61
|
-
|
|
70
|
+
srvs=srvs?(ARGV[1])
|
|
71
|
+
status=srvs.map do |srv|
|
|
62
72
|
`#{srv} status`.empty?
|
|
63
73
|
end
|
|
64
74
|
if status.any?
|
|
@@ -69,16 +79,18 @@ when "start"
|
|
|
69
79
|
`osascript -e '#{cmd_to_display}'`
|
|
70
80
|
end
|
|
71
81
|
puts message
|
|
72
|
-
status.each_with_index { |e,i| `#{
|
|
82
|
+
status.each_with_index { |e,i| `#{srvs[i]} start` if e }
|
|
73
83
|
end
|
|
74
84
|
|
|
75
85
|
when "stop"
|
|
76
|
-
|
|
86
|
+
srvs=srvs?(ARGV[1])
|
|
87
|
+
srvs.each {|srv| `#{srv} stop`}
|
|
77
88
|
|
|
78
89
|
when "status"
|
|
79
|
-
|
|
90
|
+
srvs=srvs?(ARGV[1])
|
|
91
|
+
srvs.each {|srv| puts srv+(`#{srv} status`.empty? ? "stopped" : "running")}
|
|
80
92
|
|
|
81
|
-
when "new"
|
|
93
|
+
when "new"
|
|
82
94
|
|
|
83
95
|
if RUBY_PLATFORM =~ /darwin/
|
|
84
96
|
## launchctl seems to work but actually: dyn-srv, dyn-html and dyn-http started but noit properly
|
data/lib/dyndoc-html-servers.rb
CHANGED
|
@@ -2,6 +2,7 @@ require 'dyndoc/init/home'
|
|
|
2
2
|
require 'pathname'
|
|
3
3
|
require 'yaml'
|
|
4
4
|
require 'filewatcher'
|
|
5
|
+
require 'dyndoc-servers-cfg'
|
|
5
6
|
|
|
6
7
|
#if RUBY_VERSION >= "2.4"
|
|
7
8
|
class FileWatcher < Filewatcher
|
|
@@ -228,12 +229,16 @@ module Dyndoc
|
|
|
228
229
|
|
|
229
230
|
def HtmlServers.dyn_http_server(host=nil,port=nil)
|
|
230
231
|
require 'thin'
|
|
231
|
-
dyn_html_srv_ru=File.
|
|
232
|
+
dyn_html_srv_ru=File.join(ENV["HOME"],"RodaSrv","public","users",".dyn-html","srv.ru")
|
|
233
|
+
dyn_html_srv_ru="/home/ubuntu/tools/dyn-html/srv.ru" unless File.exists? dyn_html_srv_ru # DyndocDockerSite guest-tools folder
|
|
234
|
+
dyn_html_srv_ru=File.join(ENV["HOME"],"dyndoc","html-srv","dyn.ru") unless File.exists? dyn_html_srv_ru
|
|
235
|
+
dyn_html_srv_ru=File.expand_path("../../share/html-srv/dyn-html-srv.ru",__FILE__) unless File.exists? dyn_html_srv_ru
|
|
236
|
+
|
|
232
237
|
arg=["-R",dyn_html_srv_ru]
|
|
233
238
|
if HtmlServers.cfg["html-srv-port"]
|
|
234
239
|
arg += ["-p",HtmlServers.cfg["html-srv-port"].to_s]
|
|
235
240
|
else
|
|
236
|
-
arg += ["-p",port ||
|
|
241
|
+
arg += ["-p",(port || DyndocServers.dyn_http_port? || 9294).to_s]
|
|
237
242
|
end
|
|
238
243
|
if host
|
|
239
244
|
arg += ["-a",host]
|
|
@@ -245,6 +250,23 @@ module Dyndoc
|
|
|
245
250
|
Thin::Runner.new(arg).run!
|
|
246
251
|
end
|
|
247
252
|
|
|
253
|
+
def HtmlServers.create_html_page(dyn_file,html_file,opts,pages_root)
|
|
254
|
+
|
|
255
|
+
Dyndoc.cli_convert_from_file(dyn_file[1..-1],html_file, opts)
|
|
256
|
+
## fix html_file for _rmd, _adoc and _ttm
|
|
257
|
+
if html_file =~ /^(.*)_(rmd|adoc|ttm)\.html$/
|
|
258
|
+
html_file = $1+".html"
|
|
259
|
+
end
|
|
260
|
+
if html_file =~ /^(.*)_erb\.html$/
|
|
261
|
+
erb_page=File.join(pages_root,$1)
|
|
262
|
+
if File.exists? erb_page+"_erb.html"
|
|
263
|
+
FileUtils.mv erb_page+"_erb.html",erb_page+".erb"
|
|
264
|
+
end
|
|
265
|
+
html_file = "erb"+$1
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
end
|
|
269
|
+
|
|
248
270
|
def HtmlServers.dyn_html_filewatcher(cfg={}) #cfg
|
|
249
271
|
require 'dyndoc-convert'
|
|
250
272
|
require 'dyndoc-edit'
|
|
@@ -254,14 +276,14 @@ module Dyndoc
|
|
|
254
276
|
$VERBOSE = nil
|
|
255
277
|
options={first: true}
|
|
256
278
|
## To put inside yaml config file!
|
|
257
|
-
root ||= cfg["root"] || HtmlServers.cfg["root"] || File.join(ENV["HOME"],"
|
|
279
|
+
root ||= cfg["root"] || HtmlServers.cfg["root"] || File.join(ENV["HOME"],"RodaSrv")
|
|
258
280
|
dyn_root = cfg["dyn_root"] || HtmlServers.cfg["dyn_root"] || File.join(root ,"edit")
|
|
259
281
|
public_root = cfg["public_root"] || HtmlServers.cfg["public_root"] || File.join(root ,"public")
|
|
260
282
|
dyn_public_edit_root = File.join(public_root,"users","*",".edit","**","*.dyn")
|
|
261
283
|
pages_root = File.join(public_root ,"pages")
|
|
262
284
|
current_email = cfg["email"] || HtmlServers.cfg["email"] || "rdrouilh@gmail.com" #default email user can be overriden by -u option
|
|
263
285
|
host=(cfg["html-srv-host"] || HtmlServers.cfg["html-srv-host"] || "http://localhost").to_s
|
|
264
|
-
port=(cfg["html-srv-port"] || HtmlServers.cfg["html-srv-port"] || "9294").to_s
|
|
286
|
+
port=(cfg["html-srv-port"] || HtmlServers.cfg["html-srv-port"] || DyndocServers.dyn_http_port? || "9294").to_s
|
|
265
287
|
base_url= host+":"+port
|
|
266
288
|
|
|
267
289
|
opts = {
|
|
@@ -307,18 +329,8 @@ module Dyndoc
|
|
|
307
329
|
##p [:opts,opts,:current_doc_tag,opts[:current_doc_tag]]
|
|
308
330
|
state=""
|
|
309
331
|
begin
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
if html_file =~ /^(.*)_(rmd|adoc|ttm)\.html$/
|
|
313
|
-
html_file = $1+".html"
|
|
314
|
-
end
|
|
315
|
-
if html_file =~ /^(.*)_erb\.html$/
|
|
316
|
-
erb_page=File.join(pages_root,$1)
|
|
317
|
-
if File.exists? erb_page+"_erb.html"
|
|
318
|
-
FileUtils.mv erb_page+"_erb.html",erb_page+".erb"
|
|
319
|
-
end
|
|
320
|
-
html_file = "erb"+$1
|
|
321
|
-
end
|
|
332
|
+
HtmlServers.create_html_page(dyn_file,html_file,opts,pages_root)
|
|
333
|
+
|
|
322
334
|
puts dyn_file[1..-1]+(dyn_public_edit_file.empty? ? "" : "*")+" processed => "+html_file+" created!"
|
|
323
335
|
options[:first] = html_file != old_html_file
|
|
324
336
|
if html_file != old_html_file
|
|
@@ -329,8 +341,8 @@ module Dyndoc
|
|
|
329
341
|
else
|
|
330
342
|
Dyndoc::Browser.reload
|
|
331
343
|
end
|
|
332
|
-
rescue
|
|
333
|
-
state="error: "
|
|
344
|
+
rescue => e
|
|
345
|
+
state="error: #{e.message} =>"
|
|
334
346
|
ensure
|
|
335
347
|
notify_file=filename.split("/")
|
|
336
348
|
if (ind=notify_file.index ".edit")
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'yaml'
|
|
2
|
+
module DyndocServers
|
|
3
|
+
@@cfg=nil
|
|
4
|
+
@@servers_cfg_file=File.join(ENV["HOME"],".dyndoc-servers.yml")
|
|
5
|
+
def DyndocServers.cfg
|
|
6
|
+
unless @@cfg
|
|
7
|
+
@@cfg=(File.exist? @@servers_cfg_file) ? ::YAML::load_file(@@servers_cfg_file) : {}
|
|
8
|
+
end
|
|
9
|
+
@@cfg
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def DyndocServers.dyn_cli_port?
|
|
13
|
+
DyndocServers.cfg["ports"] ? @@cfg["ports"]["dyn-cli"] : nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def DyndocServers.dyn_srv_port?
|
|
17
|
+
DyndocServers.cfg["ports"] ? @@cfg["ports"]["dyn-srv"] : nil
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def DyndocServers.dyn_http_port?
|
|
21
|
+
DyndocServers.cfg["ports"] ? @@cfg["ports"]["dyn-http"] : nil
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
data/lib/dyndoc-tasks.rb
CHANGED
|
@@ -98,9 +98,9 @@ def DyndocTasks.dyn_yml(doc)
|
|
|
98
98
|
end
|
|
99
99
|
if is_dyntask
|
|
100
100
|
dynfile=docname+".dyn"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
FileUtils.cp dyntaskpath, dynfile
|
|
102
|
+
$params=cfg_yml["params"]
|
|
103
|
+
$dyntask=dyntaskname
|
|
104
104
|
cfg_yml["params"].each do |key,val|
|
|
105
105
|
Settings["cfg_dyn.user_input"] << [key,val]
|
|
106
106
|
end
|
|
@@ -126,8 +126,16 @@ def DyndocTasks.filewatcher(cfg={}) #cfg
|
|
|
126
126
|
::FileWatcher.new(dyntasks_root).watch() do |filename, event|
|
|
127
127
|
##DEBUG:
|
|
128
128
|
puts filename + "->" + event.to_s+"\n"
|
|
129
|
-
if [:changed,:updated,:new].include? event
|
|
130
|
-
|
|
129
|
+
if [:changed,:updated,:new].include? event
|
|
130
|
+
case File.extname(filename)
|
|
131
|
+
when ".yml"
|
|
132
|
+
DyndocTasks.dyn_yml filename
|
|
133
|
+
when ".rb"
|
|
134
|
+
system("/usr/bin/env ruby "+filename)
|
|
135
|
+
when ".sh"
|
|
136
|
+
system("/usr/bin/env bash "+filename)
|
|
137
|
+
end
|
|
138
|
+
|
|
131
139
|
end
|
|
132
140
|
end
|
|
133
141
|
end
|
data/lib/dyndoc-world.rb
CHANGED
|
@@ -1,11 +1,81 @@
|
|
|
1
|
+
require 'yaml'
|
|
2
|
+
|
|
1
3
|
module DyndocWorld
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
@@root=nil
|
|
6
|
+
@@public=nil
|
|
7
|
+
|
|
8
|
+
def DyndocWorld.root(root=nil)
|
|
9
|
+
@@root=root if root
|
|
10
|
+
return @@root
|
|
5
11
|
end
|
|
6
12
|
|
|
7
|
-
def DyndocWorld.
|
|
8
|
-
|
|
13
|
+
def DyndocWorld.public_root(public_root=nil)
|
|
14
|
+
@@public=public_root if public_root
|
|
15
|
+
return @@public
|
|
9
16
|
end
|
|
10
17
|
|
|
18
|
+
def DyndocWorld.cfg(admin=nil)
|
|
19
|
+
cfg={}
|
|
20
|
+
secret = File.join(DyndocWorld.root,admin ? ".admin.yml" : ".secret.yml")
|
|
21
|
+
cfg = YAML::load_file(secret) if DyndocWorld.root and File.exists? secret
|
|
22
|
+
return cfg
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
## access ##
|
|
26
|
+
## prj is to give access for a user or a group of users
|
|
27
|
+
## if prj or prj/secret is undefined it is accessible
|
|
28
|
+
def DyndocWorld.prj_file?(yml)
|
|
29
|
+
prj=yml["prj"] || yml["project"] || "default"
|
|
30
|
+
admin=(prj=="admin")
|
|
31
|
+
cfg=DyndocWorld.cfg(admin)
|
|
32
|
+
cfg=cfg[prj] unless admin
|
|
33
|
+
return nil unless cfg and yml["file"]
|
|
34
|
+
parts=yml["file"].split("/")
|
|
35
|
+
p [:parts,parts]
|
|
36
|
+
root=parts.shift
|
|
37
|
+
p [:root,root]
|
|
38
|
+
user=parts.shift
|
|
39
|
+
##DEBUG: p [:"yml?", cfg, yml, (cfg and yml and ((cfg["secret"] || "none") == (yml["secret"] || "none")) and yml["file"] and !(yml["file"].include? "../"))]
|
|
40
|
+
if (cfg and yml and ((cfg["secret"] || "none") == (yml["secret"] || "none")) and yml["file"] and !(yml["file"].include? "../")) and ((cfg["users"] || []).include? user)
|
|
41
|
+
prj_file=nil
|
|
42
|
+
if ["public","edit","dynworld"].include? root
|
|
43
|
+
prj_subdir=cfg["subdir"] || ""
|
|
44
|
+
case root
|
|
45
|
+
when "public"
|
|
46
|
+
prj_file=File.join(DyndocWorld.public_root,"users",user)
|
|
47
|
+
prj_file=(Dir.exists? prj_file) ? File.join(prj_file,prj_subdir,parts) : ""
|
|
48
|
+
when "edit"
|
|
49
|
+
prj_file=File.join(DyndocWorld.public_root,"users",user,".edit")
|
|
50
|
+
prj_file=(Dir.exists? prj_file) ? File.join(prj_file,prj_subdir,parts) : ""
|
|
51
|
+
when "dynworld"
|
|
52
|
+
prj_file=File.join(DyndocWorld.root,user,prj_subdir,parts)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
p [:prj_file,prj_file]
|
|
57
|
+
return prj_file
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
## file ##
|
|
62
|
+
## from yml
|
|
63
|
+
## ex: public/<user>/<pathname>
|
|
64
|
+
## edit/<user>/<pathname>
|
|
65
|
+
## dynworld/<user>/<pathname>
|
|
66
|
+
def DyndocWorld.save_prj_file(prj_file,content)
|
|
67
|
+
FileUtils.mkdir_p File.dirname prj_file
|
|
68
|
+
File.open(prj_file,"w") {|f|
|
|
69
|
+
f << content.strip
|
|
70
|
+
}
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def DyndocWorld.open_prj_file(prj_file)
|
|
74
|
+
res={success: false}
|
|
75
|
+
if File.exists? prj_file
|
|
76
|
+
res[:content]=File.read(prj_file)
|
|
77
|
+
res[:success]=true
|
|
78
|
+
end
|
|
79
|
+
return res
|
|
80
|
+
end
|
|
11
81
|
end
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "socket"
|
|
2
|
+
require 'dyndoc-servers-cfg'
|
|
2
3
|
|
|
3
4
|
module Dyndoc
|
|
4
5
|
|
|
@@ -11,7 +12,7 @@ module Dyndoc
|
|
|
11
12
|
## reinit is an array
|
|
12
13
|
def initialize(cmd,tmpl_filename,addr="127.0.0.1",reinit=[],port=7777)
|
|
13
14
|
|
|
14
|
-
@addr,@port,@cmd,@tmpl_filename=addr,port,cmd,tmpl_filename
|
|
15
|
+
@addr,@port,@cmd,@tmpl_filename=addr,DyndocServers.dyn_cli_port? || port,cmd,tmpl_filename
|
|
15
16
|
##p [:tmpl_filename,@tmpl_filename,@cmd]
|
|
16
17
|
## The layout needs to be reintailized for new dyndoc file but not for the layout (of course)!
|
|
17
18
|
dyndoc_cmd="dyndoc"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
require 'socket' # Get sockets from stdlib
|
|
2
2
|
require "dyndoc-core"
|
|
3
3
|
require 'dyndoc-converter'
|
|
4
|
+
require 'dyndoc-servers-cfg'
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
module Dyndoc
|
|
@@ -67,7 +68,7 @@ module Dyndoc
|
|
|
67
68
|
end
|
|
68
69
|
|
|
69
70
|
def init_server
|
|
70
|
-
@server = TCPServer.new('0.0.0.0',7777)
|
|
71
|
+
@server = TCPServer.new('0.0.0.0',DyndocServers.dyn_srv_port? || 7777)
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
def run
|
|
@@ -10,9 +10,10 @@ cfg.merge! YAML::load_file(cfg_yml) if File.exist? cfg_yml
|
|
|
10
10
|
root = cfg["root"] || File.join(ENV["HOME"],"RCqls","RodaServer")
|
|
11
11
|
$public_root = cfg["public_root"] || File.join(root ,"public")
|
|
12
12
|
##p [:public_root,$public_root]
|
|
13
|
-
$dynworld_root=cfg["dynworld_root"] || File.join(ENV["HOME"],".dyndoc-world")
|
|
14
13
|
|
|
15
14
|
require 'dyndoc-world'
|
|
15
|
+
DyndocWorld.root(cfg["dynworld_root"] || File.join(ENV["HOME"],".dyndoc-world"))
|
|
16
|
+
DyndocWorld.public_root($public_root)
|
|
16
17
|
|
|
17
18
|
class App < Roda
|
|
18
19
|
use Rack::Session::Cookie, :secret => (secret="Thanks like!")
|
|
@@ -42,24 +43,19 @@ class App < Roda
|
|
|
42
43
|
|
|
43
44
|
r.post "file-save" do
|
|
44
45
|
puts "file-save"
|
|
45
|
-
prj,yml,@
|
|
46
|
-
p [prj,yml,@
|
|
46
|
+
prj,yml,@content=r['prj'].strip,r['yml'].strip,r['content']
|
|
47
|
+
p [prj,yml,@content]
|
|
47
48
|
success=false
|
|
48
49
|
unless yml.empty?
|
|
49
50
|
yml="---\n" + yml unless yml[0,4] == "---\n"
|
|
50
51
|
yml=YAML::load(yml)
|
|
51
52
|
p [:yml, yml]
|
|
52
53
|
require 'fileutils'
|
|
53
|
-
if
|
|
54
|
-
|
|
55
|
-
prj_dir=DyndocWorld.prj_dir(prj,yml)
|
|
56
|
-
dynworld_file=File.join($dynworld_root,prj_dir,@file)
|
|
57
|
-
FileUtils.mkdir_p File.dirname dynworld_file
|
|
58
|
-
File.open(dynworld_file,"w") {|f| f << @content.strip}
|
|
59
|
-
success=true
|
|
60
|
-
end
|
|
54
|
+
if DyndocWorld.yml?(prj,yml)
|
|
55
|
+
success=DyndocWorld.prj_file(yml,@content)
|
|
61
56
|
end
|
|
62
57
|
end
|
|
58
|
+
p [:success, "{success: " + success.to_s + "}"]
|
|
63
59
|
"{success: " + success.to_s + "}"
|
|
64
60
|
end
|
|
65
61
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dyndoc-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- RCqls
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-11-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: R4rb
|
|
@@ -188,7 +188,6 @@ executables:
|
|
|
188
188
|
- dyn-4ever
|
|
189
189
|
- dyn-yml
|
|
190
190
|
- dyn-rebase-url
|
|
191
|
-
- dyn-site
|
|
192
191
|
extensions: []
|
|
193
192
|
extra_rdoc_files: []
|
|
194
193
|
files:
|
|
@@ -204,7 +203,6 @@ files:
|
|
|
204
203
|
- bin/dyn-lint
|
|
205
204
|
- bin/dyn-rebase-url
|
|
206
205
|
- bin/dyn-scan
|
|
207
|
-
- bin/dyn-site
|
|
208
206
|
- bin/dyn-srv
|
|
209
207
|
- bin/dyn-task
|
|
210
208
|
- bin/dyn-x
|
|
@@ -216,6 +214,7 @@ files:
|
|
|
216
214
|
- lib/dyndoc-edit.rb
|
|
217
215
|
- lib/dyndoc-html-servers.rb
|
|
218
216
|
- lib/dyndoc-linter.rb
|
|
217
|
+
- lib/dyndoc-servers-cfg.rb
|
|
219
218
|
- lib/dyndoc-tasks.rb
|
|
220
219
|
- lib/dyndoc-world.rb
|
|
221
220
|
- lib/dyndoc/cli/interactive-client.rb
|
|
@@ -230,11 +229,6 @@ files:
|
|
|
230
229
|
- share/demo/testBeamer.dyn
|
|
231
230
|
- share/demo/testBeamer_lib.dyn
|
|
232
231
|
- share/demo/test_atom.dyn
|
|
233
|
-
- share/dyn-site/docker/dyn-site.sh
|
|
234
|
-
- share/dyn-site/docker/files/Dockerfile-dyndoc
|
|
235
|
-
- share/dyn-site/docker/files/Dockerfile-website
|
|
236
|
-
- share/dyn-site/docker/files/docker-compose.yml
|
|
237
|
-
- share/dyn-site/dyn-site.sh
|
|
238
232
|
- share/dyndoc.yml/README.md
|
|
239
233
|
- share/dyndoc.yml/example.dyndoc.yml
|
|
240
234
|
- share/dyntasks/clean_task.dyn
|
|
@@ -499,7 +493,7 @@ licenses:
|
|
|
499
493
|
- MIT
|
|
500
494
|
- GPL-2.0
|
|
501
495
|
metadata: {}
|
|
502
|
-
post_install_message:
|
|
496
|
+
post_install_message:
|
|
503
497
|
rdoc_options: []
|
|
504
498
|
require_paths:
|
|
505
499
|
- lib
|
|
@@ -516,7 +510,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
516
510
|
requirements:
|
|
517
511
|
- none
|
|
518
512
|
rubygems_version: 3.0.6
|
|
519
|
-
signing_key:
|
|
513
|
+
signing_key:
|
|
520
514
|
specification_version: 4
|
|
521
515
|
summary: R and Ruby in text document
|
|
522
516
|
test_files: []
|
data/bin/dyn-site
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
cmd=$1
|
|
4
|
-
script="bin/.action.sh"
|
|
5
|
-
|
|
6
|
-
RootSrv=/home/ubuntu/RodaSrv
|
|
7
|
-
|
|
8
|
-
echo "## do not modify since automatically generated" > $script
|
|
9
|
-
|
|
10
|
-
case $cmd in
|
|
11
|
-
first)
|
|
12
|
-
## Not necessary for docker
|
|
13
|
-
#mkdir -p ../../RodaSrv/edit
|
|
14
|
-
#mkdir -p ../../RodaSrv/public/users
|
|
15
|
-
;;
|
|
16
|
-
init)
|
|
17
|
-
## Create the RodaSrv folder
|
|
18
|
-
echo "mkdir -p /home/ubuntu/RodaSrv/edit" >> $script
|
|
19
|
-
echo "mkdir -p /home/ubuntu/RodaSrv/public" >> $script
|
|
20
|
-
echo "mkdir -p /home/ubuntu/RodaSrv/system" >> $script
|
|
21
|
-
## Config file
|
|
22
|
-
echo "echo '---' > /home/ubuntu/dyndoc/etc/dyn-html.yml" >> $script
|
|
23
|
-
echo "echo 'root: /home/ubuntu/RodaSrv' >> /home/ubuntu/dyndoc/etc/dyn-html.yml" >> $script
|
|
24
|
-
docker-compose exec --user ubuntu website bash /home/ubuntu/bin/.action.sh
|
|
25
|
-
;;
|
|
26
|
-
add)
|
|
27
|
-
# get RodaWebUser from environment variable
|
|
28
|
-
RodaWebUser=$2
|
|
29
|
-
if [ "$RodaWebUser" != "" ]; then
|
|
30
|
-
echo "mkdir -p ${RootSrv}/edit/${RodaWebUser}" >> $script
|
|
31
|
-
echo "mkdir -p ${RootSrv}/public/pages" >> $script
|
|
32
|
-
echo "mkdir -p ${RootSrv}/public/users/${RodaWebUser}/pages/${RodaWebUser}" >> $script
|
|
33
|
-
echo "cd ${RootSrv}/public/pages" >> $script
|
|
34
|
-
echo "ln -s ../users/${RodaWebUser}/pages/${RodaWebUser} ${RodaWebUser}" >> $script
|
|
35
|
-
docker-compose exec --user ubuntu website bash /home/ubuntu/bin/.action.sh
|
|
36
|
-
fi
|
|
37
|
-
;;
|
|
38
|
-
status | start | stop)
|
|
39
|
-
docker-compose exec --user ubuntu website bash -c "/usr/local/bin/dyn-ctl $cmd"
|
|
40
|
-
;;
|
|
41
|
-
bash)
|
|
42
|
-
docker-compose exec --user ubuntu website bash
|
|
43
|
-
;;
|
|
44
|
-
build)
|
|
45
|
-
docker-compose build dyndoc-ruby
|
|
46
|
-
docker-compose build website
|
|
47
|
-
;;
|
|
48
|
-
up)
|
|
49
|
-
docker-compose up -d website
|
|
50
|
-
;;
|
|
51
|
-
down)
|
|
52
|
-
docker-compose down
|
|
53
|
-
;;
|
|
54
|
-
esac
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
FROM ubuntu:$DyndocRubyUbuntu$
|
|
2
|
-
MAINTAINER "Cqls Team"
|
|
3
|
-
|
|
4
|
-
RUN groupadd -r ubuntu && useradd -r -g ubuntu ubuntu
|
|
5
|
-
|
|
6
|
-
RUN apt-get update && \
|
|
7
|
-
apt-get -y install sudo
|
|
8
|
-
|
|
9
|
-
RUN apt-get install -y curl wget locales
|
|
10
|
-
|
|
11
|
-
RUN locale-gen fr_FR.UTF-8
|
|
12
|
-
ENV LANG fr_FR.UTF-8
|
|
13
|
-
ENV LANGUAGE fr_FR:fr
|
|
14
|
-
ENV LC_ALL fr_FR.UTF-8
|
|
15
|
-
|
|
16
|
-
RUN bash -c "$(curl -fs https://cqls.dyndoc.fr/users/RCqls/Dyndoc/install/install-ubuntu16.sh)"
|
|
17
|
-
|
|
18
|
-
EXPOSE 9294
|
|
19
|
-
|
|
20
|
-
WORKDIR /home/ubuntu
|
|
21
|
-
|
|
22
|
-
VOLUME ["/home/ubuntu/bin"]
|
|
23
|
-
|
|
24
|
-
RUN chown -R ubuntu:ubuntu /home/ubuntu
|
|
25
|
-
|
|
26
|
-
USER ubuntu
|
|
27
|
-
|
|
28
|
-
RUN dyn-init
|
|
29
|
-
|
|
30
|
-
RUN dpm install rcqls/DyndocWebTools.dyn
|
|
31
|
-
RUN dpm link rcqls/DyndocWebTools.dyn
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
version: '2'
|
|
2
|
-
|
|
3
|
-
services:
|
|
4
|
-
dyndoc-ruby:
|
|
5
|
-
build:
|
|
6
|
-
context: DockerFiles
|
|
7
|
-
dockerfile: Dockerfile-dyndoc
|
|
8
|
-
image: rcqls/dyndoc-ruby-$DyndocRubyUbuntu$
|
|
9
|
-
|
|
10
|
-
website:
|
|
11
|
-
build:
|
|
12
|
-
context: DockerFiles
|
|
13
|
-
dockerfile: Dockerfile-website
|
|
14
|
-
restart: always
|
|
15
|
-
volumes:
|
|
16
|
-
- $RodaSrvPublic$:/home/ubuntu/RodaSrv/public
|
|
17
|
-
- $RodaSrvSystem$:/home/ubuntu/RodaSrv/install
|
|
18
|
-
- ./bin:/home/ubuntu/bin
|
|
19
|
-
ports:
|
|
20
|
-
- $RodaSrvPort$:9294
|
|
21
|
-
tty: true
|
data/share/dyn-site/dyn-site.sh
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
RootSrv=$HOME/RodaSrv
|
|
5
|
-
|
|
6
|
-
if [ "$1" = "--root" ];then
|
|
7
|
-
shift
|
|
8
|
-
RootSrv=$1
|
|
9
|
-
if [ $RootSrv = "cfg" ]; then
|
|
10
|
-
RootSrv=`ruby -e 'require "yaml";puts YAML::load_file(File.join(ENV["HOME"],"dyndoc/etc/dyn-html.yml"))["root"]'`
|
|
11
|
-
fi
|
|
12
|
-
shift
|
|
13
|
-
fi
|
|
14
|
-
|
|
15
|
-
Cmd=$1
|
|
16
|
-
|
|
17
|
-
#echo "Command: $Cmd"
|
|
18
|
-
|
|
19
|
-
if [ "$Cmd" = "" ]; then
|
|
20
|
-
Cmd="help"
|
|
21
|
-
fi
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
case $Cmd in
|
|
25
|
-
set-root)
|
|
26
|
-
new-root=$2
|
|
27
|
-
## Config file
|
|
28
|
-
echo "---" > $HOME/dyndoc/etc/dyn-html.yml
|
|
29
|
-
echo "root: $new-root" >> $HOME/dyndoc/etc/dyn-html.yml
|
|
30
|
-
;;
|
|
31
|
-
help)
|
|
32
|
-
echo "Aide:"
|
|
33
|
-
echo "----"
|
|
34
|
-
echo " dyn-site [--root <cfg|ROOT>] first (création de l'arborescence de base)"
|
|
35
|
-
echo " dyn-site [--root <cfg|ROOT>] init [zip|link <PATH>](installation de tools et system)"
|
|
36
|
-
echo " dyn-site [--root <cfg|ROOT>] add <User> (ajout d'un utilisateur <User>)"
|
|
37
|
-
echo " dyn-site [--root <cfg|ROOT>] rebase <Conf> (cas de workshop où <Conf>=<User>)"
|
|
38
|
-
echo " dyn-site [--root <cfg|ROOT>] rebase-subdir <Subdir> <Prj> (Subdir=<User>/<PrjPath>)"
|
|
39
|
-
echo " dyn-site vscode [--update] (install vscode plugin for dyndoc)"
|
|
40
|
-
## DANGEROUS!: echo " dyn-site set-root <new-root>"
|
|
41
|
-
;;
|
|
42
|
-
first)
|
|
43
|
-
## Not necessary for docker
|
|
44
|
-
mkdir -p $RootSrv/edit
|
|
45
|
-
mkdir -p $RootSrv/public/users
|
|
46
|
-
;;
|
|
47
|
-
init)
|
|
48
|
-
installmode=$2
|
|
49
|
-
case $installmode in
|
|
50
|
-
zip)
|
|
51
|
-
## Install Specfic stuff inside
|
|
52
|
-
mkdir -p $RootSrv/install/RodaSrvTools
|
|
53
|
-
cd ${RootSrv}/install
|
|
54
|
-
if ! [ -d DynRodaSystem ]; then git clone https://toltex-gogs.dyndoc.fr/rcqls/DynRodaSystem.git; fi
|
|
55
|
-
if ! [ -f RodaSrvTools.zip ]; then
|
|
56
|
-
wget https://toltex-seafile.dyndoc.fr/f/128ced4435/?raw=1 -O RodaSrvTools.zip
|
|
57
|
-
cd RodaSrvTools
|
|
58
|
-
unzip ../RodaSrvTools.zip
|
|
59
|
-
fi
|
|
60
|
-
## Create links
|
|
61
|
-
cd ${RootSrv}
|
|
62
|
-
ln -sf install/DynRodaSystem system
|
|
63
|
-
cd public
|
|
64
|
-
ln -sf ../install/RodaSrvTools tools
|
|
65
|
-
;;
|
|
66
|
-
link)
|
|
67
|
-
rodatools_path=$2
|
|
68
|
-
## Create links
|
|
69
|
-
cd ${RootSrv}
|
|
70
|
-
ln -sf $rodatools_path/system system
|
|
71
|
-
cd public
|
|
72
|
-
ln -sf $rodatools_path/tools tools
|
|
73
|
-
esac
|
|
74
|
-
;;
|
|
75
|
-
add)
|
|
76
|
-
RodaWebUser=$2
|
|
77
|
-
if [ "$RodaWebUser" != "" ]; then
|
|
78
|
-
mkdir -p ${RootSrv}/edit/${RodaWebUser}
|
|
79
|
-
mkdir -p ${RootSrv}/public/pages
|
|
80
|
-
mkdir -p ${RootSrv}/public/users/${RodaWebUser}/.pages
|
|
81
|
-
cd ${RootSrv}/public/pages
|
|
82
|
-
ln -s ../users/${RodaWebUser}/.pages ${RodaWebUser}
|
|
83
|
-
fi
|
|
84
|
-
;;
|
|
85
|
-
rebase)
|
|
86
|
-
Conf=$2
|
|
87
|
-
if [ "${Conf}" = "" ]; then
|
|
88
|
-
exit
|
|
89
|
-
fi
|
|
90
|
-
PUBLIC_ROOT="$HOME/RodaSrv/public/users/${Conf}"
|
|
91
|
-
SITE_ROOT="$HOME/RodaSrv/.site/$Conf"
|
|
92
|
-
PAGES_ROOT="$SITE_ROOT/pages"
|
|
93
|
-
mkdir -p ${SITE_ROOT}
|
|
94
|
-
cp -R ${PUBLIC_ROOT}/* ${SITE_ROOT}/
|
|
95
|
-
cd ${PAGES_ROOT}
|
|
96
|
-
pages=$(ls *.html)
|
|
97
|
-
echo "pages to process: $pages"
|
|
98
|
-
for html in $pages
|
|
99
|
-
do
|
|
100
|
-
rebase_url --from /users/$Conf/ --to / $html
|
|
101
|
-
rebase_url --from /$Conf/ --to / $html
|
|
102
|
-
mv $html ..
|
|
103
|
-
done
|
|
104
|
-
cd $SITE_ROOT
|
|
105
|
-
rm -fr pages
|
|
106
|
-
;;
|
|
107
|
-
rebase-subdir)
|
|
108
|
-
Subdir=$2
|
|
109
|
-
if [ "${Subdir}" = "" ]; then
|
|
110
|
-
echo "Subdir doit être non vide!"
|
|
111
|
-
exit
|
|
112
|
-
fi
|
|
113
|
-
Prj=$3
|
|
114
|
-
if [ "${Prj}" = "" ]; then
|
|
115
|
-
echo "Prj doit être non vide!"
|
|
116
|
-
exit
|
|
117
|
-
fi
|
|
118
|
-
PUBLIC_ASSETS="$HOME/RodaSrv/public/users/${Subdir}/${Prj}"
|
|
119
|
-
PUBLIC_PAGES="$HOME/RodaSrv/public/pages/${Subdir}/${Prj}"
|
|
120
|
-
SITE_ROOT="$HOME/RodaSrv/.site/$Prj"
|
|
121
|
-
PAGES_ROOT="$SITE_ROOT/pages"
|
|
122
|
-
if [ -d ${SITE_ROOT} ]; then
|
|
123
|
-
rm -fr ${SITE_ROOT}
|
|
124
|
-
fi
|
|
125
|
-
mkdir -p ${PAGES_ROOT}
|
|
126
|
-
cp -R ${PUBLIC_PAGES}/* ${PAGES_ROOT}/
|
|
127
|
-
cp -R ${PUBLIC_ASSETS}/* ${SITE_ROOT}/
|
|
128
|
-
cd ${PAGES_ROOT}
|
|
129
|
-
pages=$(find . -name '*.html')
|
|
130
|
-
echo "pages to process: $pages"
|
|
131
|
-
for html in $pages
|
|
132
|
-
do
|
|
133
|
-
rebase_url --from /users/${Subdir}/${Prj}/ --to / $html
|
|
134
|
-
rebase_url --from /${Subdir}/${Prj}/ --to / $html
|
|
135
|
-
done
|
|
136
|
-
cd $SITE_ROOT
|
|
137
|
-
mv pages/* .
|
|
138
|
-
rm -fr pages
|
|
139
|
-
;;
|
|
140
|
-
vscode)
|
|
141
|
-
if [ -d ~/.vscode/extensions ]; then
|
|
142
|
-
cd ~/.vscode/extensions
|
|
143
|
-
mkdir tmp
|
|
144
|
-
cd tmp
|
|
145
|
-
git clone https://github.com/rcqls/dyndoc-syntax
|
|
146
|
-
cd ..
|
|
147
|
-
if [ -d dyndoc ]; then
|
|
148
|
-
if [ "$2" = "--update" ]; then
|
|
149
|
-
rm -fr dyndoc
|
|
150
|
-
mv tmp/dyndoc-syntax/vscode/dyndoc dyndoc
|
|
151
|
-
rm -fr tmp
|
|
152
|
-
fi
|
|
153
|
-
else
|
|
154
|
-
mv tmp/dyndoc-syntax/vscode/dyndoc dyndoc
|
|
155
|
-
rm -fr tmp
|
|
156
|
-
fi
|
|
157
|
-
fi
|
|
158
|
-
;;
|
|
159
|
-
# deploy)
|
|
160
|
-
# Conf=$2
|
|
161
|
-
# url="sfdsmqrk@ftp.sfds.asso.fr:$Conf/"
|
|
162
|
-
# if [ "$3" != "" ]; then
|
|
163
|
-
# url="$3"
|
|
164
|
-
# fi
|
|
165
|
-
# rsync -az $SITE_ROOT/* $url
|
|
166
|
-
# ;;
|
|
167
|
-
esac
|