dyndoc-ruby 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ead83e394d38dcc18626162ada3e9fc5077d1e5673a6992227811bfda153fd5
4
- data.tar.gz: be7ce6c24f93febcfddf6822aaf30e4dad4978cbbc8e88e47c02d6902cff525e
3
+ metadata.gz: 4f13ef78daad4f7cab557c33988cf7da1100320cdb7a19ab211ee99abde8f8bf
4
+ data.tar.gz: af4977f95ec0bc87dde2656419de2168f908cc65433eb0f6e0a2b0f447ab7226
5
5
  SHA512:
6
- metadata.gz: 924604a6f99dd1fc71ec45c2fb7d062b4564ae569bc8d6328ddbf2ae7e1ed88326aa607e8e62f7ba99f95ed68cef0e46732bcbc9468d8caa5ffa0b3abf039524
7
- data.tar.gz: 015316465d1ac2db277a1390e4566a525e5005fdb45b9ea333e89b61014a8f870cdc6305a8301772bf5c8a70e5f0634704410fc26068f365fdd3da5c6356842d
6
+ metadata.gz: 239ba8a18e7282920922051dad37a42a8fc8d3bb836aad7a42bb75176a056db398668d7cfb99afcc4a2f02b9bcb63b852486bfa41b1a453c6b5cd5334885a6ea
7
+ data.tar.gz: 532883f4d9a29d228bdd7169699bad36b7dbe48fe369b535bf5f92dce0486ef683bd254a19de7a3c64d1c036fddc23890d4c34fb4ee18d462fe93e2821fca756
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ cur=0
4
+ opts={mode: :default, to: ""}
5
+
6
+ ##p ARGV
7
+
8
+ while ["--dir","--mode","--from","--to","--help","--ext"].include? ARGV[cur]
9
+ ##p [:cur,ARGV[cur]]
10
+ case ARGV[cur]
11
+ when "--dir","--help"
12
+ opts[ARGV[cur].to_sym]=true
13
+ cur += 1
14
+ when "--mode"
15
+ opts[:mode]==ARGV[cur+1].to_sym if ["default","href"].include? ARGV[cur+1]
16
+ cur += 2
17
+ when "--from","--to"
18
+ opts[ARGV[cur][2..-1].to_sym]=ARGV[cur+1]
19
+ cur += 2
20
+ when "--ext"
21
+ opts[ARGV[cur].to_sym]=ARGV[cur+1]
22
+ cur += 2
23
+ end
24
+ end
25
+
26
+ file=ARGV[cur]
27
+ opts[:help]=true unless file
28
+ if opts[:help]
29
+ puts "rebase_url [--dir] [--from <from_path>] [--to <to_path>] [--ext <extension>] file"
30
+ else
31
+ ext=opts[:ext] ? "."+opts[:ext] : ""
32
+ files=opts[:dir] ? Dir[File.join(file,"*"+ext)] : [file]
33
+ ##p files
34
+ ##p opts
35
+ files.each do |filename|
36
+ content=File.read(filename)
37
+ File.open(filename,"w") do |f|
38
+ case opts[:mode]
39
+ when :href
40
+ f << content.gsub(/\ href="#{opts[:from]}/," href=\""+opts[:to])
41
+ else
42
+ f << content.gsub(/#{opts[:from]}/,opts[:to])
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ cmd=::File.expand_path('../../share/dyn-site/dyn-site.sh', __FILE__)+" "+ARGV.join(" ")
4
+
5
+ out=`/bin/bash -c "#{cmd}"`
6
+
7
+ puts out unless out.empty?
@@ -0,0 +1,167 @@
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dyndoc-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - RCqls
@@ -187,6 +187,8 @@ executables:
187
187
  - dyn-ctl
188
188
  - dyn-4ever
189
189
  - dyn-yml
190
+ - dyn-rebase-url
191
+ - dyn-site
190
192
  extensions: []
191
193
  extra_rdoc_files: []
192
194
  files:
@@ -200,7 +202,9 @@ files:
200
202
  - bin/dyn-http
201
203
  - bin/dyn-init
202
204
  - bin/dyn-lint
205
+ - bin/dyn-rebase-url
203
206
  - bin/dyn-scan
207
+ - bin/dyn-site
204
208
  - bin/dyn-srv
205
209
  - bin/dyn-task
206
210
  - bin/dyn-x
@@ -225,6 +229,7 @@ files:
225
229
  - share/demo/testBeamer.dyn
226
230
  - share/demo/testBeamer_lib.dyn
227
231
  - share/demo/test_atom.dyn
232
+ - share/dyn-site/dyn-site.sh
228
233
  - share/dyndoc.yml/README.md
229
234
  - share/dyndoc.yml/example.dyndoc.yml
230
235
  - share/dyntasks/clean_task.dyn