sisu 7.0.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/sisu +367 -0
- data/bin/sisugem +367 -0
- data/data/sisu/image/arrow_next_red.png +0 -0
- data/data/sisu/image/arrow_prev_red.png +0 -0
- data/data/sisu/image/arrow_up_red.png +0 -0
- data/data/sisu/image/b_bluebell.png +0 -0
- data/data/sisu/image/b_doc.png +0 -0
- data/data/sisu/image/b_epub.png +0 -0
- data/data/sisu/image/b_home.png +0 -0
- data/data/sisu/image/b_info.png +0 -0
- data/data/sisu/image/b_odf.png +0 -0
- data/data/sisu/image/b_pdf.png +0 -0
- data/data/sisu/image/b_search.png +0 -0
- data/data/sisu/image/b_toc.png +0 -0
- data/data/sisu/image/bullet_08.png +0 -0
- data/data/sisu/image/bullet_09.png +0 -0
- data/data/sisu/image/bullet_10.png +0 -0
- data/data/sisu/image/bullet_11.png +0 -0
- data/data/sisu/image/bullet_12.png +0 -0
- data/data/sisu/image/bullet_doc.png +0 -0
- data/data/sisu/image/bullet_red.png +0 -0
- data/data/sisu/image/dot_clear.png +0 -0
- data/data/sisu/image/dot_white.png +0 -0
- data/data/sisu/image/gplv3.png +0 -0
- data/data/sisu/image/gplv3_free_software.png +0 -0
- data/data/sisu/image/next.png +0 -0
- data/data/sisu/image/previous.png +0 -0
- data/data/sisu/image/rb7.ico +0 -0
- data/data/sisu/image/sisu.png +0 -0
- data/data/sisu/image/toctoc.png +0 -0
- data/data/sisu/version.yml +5 -0
- data/lib/sisu.rb +94 -0
- data/lib/sisu/air.rb +80 -0
- data/lib/sisu/ao.rb +590 -0
- data/lib/sisu/ao_character_check.rb +102 -0
- data/lib/sisu/ao_composite.rb +286 -0
- data/lib/sisu/ao_doc_objects.rb +565 -0
- data/lib/sisu/ao_doc_str.rb +2269 -0
- data/lib/sisu/ao_endnotes.rb +136 -0
- data/lib/sisu/ao_expand_insertions.rb +514 -0
- data/lib/sisu/ao_hash_digest.rb +174 -0
- data/lib/sisu/ao_idx.rb +422 -0
- data/lib/sisu/ao_images.rb +187 -0
- data/lib/sisu/ao_metadata.rb +86 -0
- data/lib/sisu/ao_misc_arrange.rb +207 -0
- data/lib/sisu/ao_numbering.rb +720 -0
- data/lib/sisu/ao_persist.rb +194 -0
- data/lib/sisu/ao_references.rb +502 -0
- data/lib/sisu/ao_syntax.rb +640 -0
- data/lib/sisu/cgi.rb +84 -0
- data/lib/sisu/cgi_pgsql.rb +270 -0
- data/lib/sisu/cgi_sql_common.rb +986 -0
- data/lib/sisu/cgi_sqlite.rb +244 -0
- data/lib/sisu/conf.rb +287 -0
- data/lib/sisu/constants.rb +388 -0
- data/lib/sisu/css.rb +3484 -0
- data/lib/sisu/db_columns.rb +1997 -0
- data/lib/sisu/db_create.rb +689 -0
- data/lib/sisu/db_dbi.rb +90 -0
- data/lib/sisu/db_drop.rb +207 -0
- data/lib/sisu/db_import.rb +877 -0
- data/lib/sisu/db_indexes.rb +146 -0
- data/lib/sisu/db_load_tuple.rb +323 -0
- data/lib/sisu/db_remove.rb +182 -0
- data/lib/sisu/db_select.rb +230 -0
- data/lib/sisu/db_sqltxt.rb +173 -0
- data/lib/sisu/db_tests.rb +114 -0
- data/lib/sisu/dbi.rb +166 -0
- data/lib/sisu/dbi_discrete.rb +206 -0
- data/lib/sisu/digests.rb +306 -0
- data/lib/sisu/dp.rb +1606 -0
- data/lib/sisu/dp_identify_markup.rb +161 -0
- data/lib/sisu/dp_make.rb +668 -0
- data/lib/sisu/embedded.rb +149 -0
- data/lib/sisu/errors.rb +84 -0
- data/lib/sisu/generic_parts.rb +131 -0
- data/lib/sisu/git.rb +277 -0
- data/lib/sisu/html.rb +775 -0
- data/lib/sisu/html_concordance.rb +391 -0
- data/lib/sisu/html_format.rb +1348 -0
- data/lib/sisu/html_harvest.rb +109 -0
- data/lib/sisu/html_harvest_author_format.rb +111 -0
- data/lib/sisu/html_harvest_authors.rb +466 -0
- data/lib/sisu/html_harvest_topics.rb +893 -0
- data/lib/sisu/html_lite_shared.rb +324 -0
- data/lib/sisu/html_manifest.rb +1032 -0
- data/lib/sisu/html_minitoc.rb +230 -0
- data/lib/sisu/html_parts.rb +437 -0
- data/lib/sisu/html_persist.rb +237 -0
- data/lib/sisu/html_promo.rb +440 -0
- data/lib/sisu/html_scroll.rb +235 -0
- data/lib/sisu/html_segments.rb +716 -0
- data/lib/sisu/html_shared.rb +62 -0
- data/lib/sisu/html_table.rb +64 -0
- data/lib/sisu/html_tune.rb +301 -0
- data/lib/sisu/hub.rb +277 -0
- data/lib/sisu/hub_actions.rb +1122 -0
- data/lib/sisu/hub_loop_markup_files.rb +170 -0
- data/lib/sisu/hub_options.rb +1695 -0
- data/lib/sisu/i18n.rb +702 -0
- data/lib/sisu/manpage.rb +377 -0
- data/lib/sisu/manpage_format.rb +85 -0
- data/lib/sisu/object_munge.rb +307 -0
- data/lib/sisu/prog_text_translation.rb +1702 -0
- data/lib/sisu/qrcode.rb +754 -0
- data/lib/sisu/relaxng.rb +1153 -0
- data/lib/sisu/remote.rb +246 -0
- data/lib/sisu/rexml.rb +148 -0
- data/lib/sisu/se.rb +158 -0
- data/lib/sisu/se_cleanoutput.rb +145 -0
- data/lib/sisu/se_clear.rb +105 -0
- data/lib/sisu/se_createsite.rb +273 -0
- data/lib/sisu/se_css.rb +221 -0
- data/lib/sisu/se_date.rb +92 -0
- data/lib/sisu/se_db.rb +214 -0
- data/lib/sisu/se_envcall.rb +326 -0
- data/lib/sisu/se_file_op.rb +2758 -0
- data/lib/sisu/se_filemap.rb +247 -0
- data/lib/sisu/se_get_init.rb +238 -0
- data/lib/sisu/se_hub_particulars.rb +234 -0
- data/lib/sisu/se_info_env.rb +2179 -0
- data/lib/sisu/se_info_port.rb +70 -0
- data/lib/sisu/se_info_system.rb +202 -0
- data/lib/sisu/se_load.rb +108 -0
- data/lib/sisu/se_processing.rb +659 -0
- data/lib/sisu/se_programs.rb +394 -0
- data/lib/sisu/se_remotes.rb +553 -0
- data/lib/sisu/se_standardise_lang.rb +176 -0
- data/lib/sisu/se_version.rb +174 -0
- data/lib/sisu/shared_images.rb +137 -0
- data/lib/sisu/shared_markup_alt.rb +336 -0
- data/lib/sisu/shared_metadata.rb +1361 -0
- data/lib/sisu/shared_sem.rb +156 -0
- data/lib/sisu/sisu_thor_lib.rb +407 -0
- data/lib/sisu/sitemaps.rb +224 -0
- data/lib/sisu/src_kdissert_share.rb +102 -0
- data/lib/sisu/src_po4a_share.rb +309 -0
- data/lib/sisu/src_po4a_shelf.rb +1217 -0
- data/lib/sisu/src_po4a_shelf_set.rb +297 -0
- data/lib/sisu/src_po4a_sst_ao_sst.rb +893 -0
- data/lib/sisu/src_po4a_sst_ao_sst_set.rb +284 -0
- data/lib/sisu/src_po4a_sstm.rb +135 -0
- data/lib/sisu/src_shared.rb +347 -0
- data/lib/sisu/src_sisupod_make.rb +171 -0
- data/lib/sisu/src_sisupod_sstm.rb +109 -0
- data/lib/sisu/sst_convert_markup.rb +323 -0
- data/lib/sisu/sst_do_inline_footnotes.rb +440 -0
- data/lib/sisu/sst_from_xml.rb +178 -0
- data/lib/sisu/sst_identify_markup.rb +482 -0
- data/lib/sisu/sst_to_s_xml_sax.rb +471 -0
- data/lib/sisu/termsheet.rb +163 -0
- data/lib/sisu/texinfo.rb +430 -0
- data/lib/sisu/texinfo_format.rb +541 -0
- data/lib/sisu/texpdf.rb +1162 -0
- data/lib/sisu/texpdf_format.rb +1689 -0
- data/lib/sisu/texpdf_parts.rb +235 -0
- data/lib/sisu/txt_asciidoc.rb +354 -0
- data/lib/sisu/txt_asciidoc_decorate.rb +207 -0
- data/lib/sisu/txt_markdown.rb +389 -0
- data/lib/sisu/txt_markdown_decorate.rb +207 -0
- data/lib/sisu/txt_orgmode.rb +376 -0
- data/lib/sisu/txt_orgmode_decorate.rb +186 -0
- data/lib/sisu/txt_output.rb +86 -0
- data/lib/sisu/txt_plain.rb +410 -0
- data/lib/sisu/txt_plain_decorate.rb +189 -0
- data/lib/sisu/txt_read.rb +109 -0
- data/lib/sisu/txt_rst.rb +371 -0
- data/lib/sisu/txt_rst_decorate.rb +186 -0
- data/lib/sisu/txt_shared.rb +241 -0
- data/lib/sisu/txt_textile.rb +367 -0
- data/lib/sisu/txt_textile_decorate.rb +186 -0
- data/lib/sisu/update.rb +141 -0
- data/lib/sisu/urls.rb +696 -0
- data/lib/sisu/utils.rb +232 -0
- data/lib/sisu/utils_composite.rb +115 -0
- data/lib/sisu/utils_response.rb +114 -0
- data/lib/sisu/utils_screen_text_color.rb +472 -0
- data/lib/sisu/utils_spell.rb +99 -0
- data/lib/sisu/webrick.rb +191 -0
- data/lib/sisu/wikispeak.rb +375 -0
- data/lib/sisu/xhtml.rb +472 -0
- data/lib/sisu/xhtml_epub2.rb +890 -0
- data/lib/sisu/xhtml_epub2_concordance.rb +322 -0
- data/lib/sisu/xhtml_epub2_format.rb +2272 -0
- data/lib/sisu/xhtml_epub2_persist.rb +278 -0
- data/lib/sisu/xhtml_epub2_segments.rb +599 -0
- data/lib/sisu/xhtml_epub2_tune.rb +330 -0
- data/lib/sisu/xhtml_parts.rb +183 -0
- data/lib/sisu/xhtml_shared.rb +62 -0
- data/lib/sisu/xhtml_table.rb +97 -0
- data/lib/sisu/xml_docbook5.rb +376 -0
- data/lib/sisu/xml_dom.rb +624 -0
- data/lib/sisu/xml_fictionbook2.rb +389 -0
- data/lib/sisu/xml_format.rb +865 -0
- data/lib/sisu/xml_md_oai_pmh_dc.rb +229 -0
- data/lib/sisu/xml_odf_odt.rb +887 -0
- data/lib/sisu/xml_odf_odt_format.rb +674 -0
- data/lib/sisu/xml_parts.rb +191 -0
- data/lib/sisu/xml_persist.rb +126 -0
- data/lib/sisu/xml_sax.rb +521 -0
- data/lib/sisu/xml_scaffold_structure_collapsed.rb +198 -0
- data/lib/sisu/xml_scaffold_structure_sisu.rb +201 -0
- data/lib/sisu/xml_shared.rb +665 -0
- data/lib/sisu/xml_tables.rb +261 -0
- data/lib/sisu/zap.rb +90 -0
- metadata +251 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
=begin
|
|
3
|
+
|
|
4
|
+
* Name: SiSU
|
|
5
|
+
|
|
6
|
+
** Description: documents, structuring, processing, publishing, search
|
|
7
|
+
*** sitemap created from parameters extracted from input file(s)
|
|
8
|
+
|
|
9
|
+
** Author: Ralph Amissah
|
|
10
|
+
<ralph@amissah.com>
|
|
11
|
+
<ralph.amissah@gmail.com>
|
|
12
|
+
|
|
13
|
+
** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
14
|
+
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
|
|
15
|
+
All Rights Reserved.
|
|
16
|
+
|
|
17
|
+
** License: GPL 3 or later:
|
|
18
|
+
|
|
19
|
+
SiSU, a framework for document structuring, publishing and search
|
|
20
|
+
|
|
21
|
+
Copyright (C) Ralph Amissah
|
|
22
|
+
|
|
23
|
+
This program is free software: you can redistribute it and/or modify it
|
|
24
|
+
under the terms of the GNU General Public License as published by the Free
|
|
25
|
+
Software Foundation, either version 3 of the License, or (at your option)
|
|
26
|
+
any later version.
|
|
27
|
+
|
|
28
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
29
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
30
|
+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
31
|
+
more details.
|
|
32
|
+
|
|
33
|
+
You should have received a copy of the GNU General Public License along with
|
|
34
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
+
|
|
36
|
+
If you have Internet connection, the latest version of the GPL should be
|
|
37
|
+
available at these locations:
|
|
38
|
+
<http://www.fsf.org/licensing/licenses/gpl.html>
|
|
39
|
+
<http://www.gnu.org/licenses/gpl.html>
|
|
40
|
+
|
|
41
|
+
<http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
|
|
42
|
+
|
|
43
|
+
** SiSU uses:
|
|
44
|
+
* Standard SiSU markup syntax,
|
|
45
|
+
* Standard SiSU meta-markup syntax, and the
|
|
46
|
+
* Standard SiSU object citation numbering and system
|
|
47
|
+
|
|
48
|
+
** Hompages:
|
|
49
|
+
<http://www.jus.uio.no/sisu>
|
|
50
|
+
<http://www.sisudoc.org>
|
|
51
|
+
|
|
52
|
+
** Git
|
|
53
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
|
|
54
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/embedded.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Embedded
|
|
58
|
+
require_relative 'dp' # dp.rb
|
|
59
|
+
include SiSU_Param
|
|
60
|
+
require_relative 'se' # se.rb
|
|
61
|
+
include SiSU_Env
|
|
62
|
+
class Source
|
|
63
|
+
def initialize(opt)
|
|
64
|
+
@opt=opt
|
|
65
|
+
@md=SiSU_Param::Parameters.new(@opt).get
|
|
66
|
+
@env=SiSU_Env::InfoEnv.new(@md.fns)
|
|
67
|
+
@rhost=SiSU_Env::InfoRemote.new(@opt).remote_host_base
|
|
68
|
+
@base_src_dir=@opt.f_pth[:pth].sub(/\/#{@opt.f_pth[:lng]}$/,'')
|
|
69
|
+
@f=SiSU_Env::FileOp.new(@md)
|
|
70
|
+
end
|
|
71
|
+
def read
|
|
72
|
+
songsheet
|
|
73
|
+
end
|
|
74
|
+
def songsheet
|
|
75
|
+
images
|
|
76
|
+
audio
|
|
77
|
+
multimedia
|
|
78
|
+
begin
|
|
79
|
+
rescue
|
|
80
|
+
SiSU_Errors::Rescued.new($!,$@,@opt.selections.str,@opt.fns).location do
|
|
81
|
+
__LINE__.to_s + ':' + __FILE__
|
|
82
|
+
end
|
|
83
|
+
ensure
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
def images
|
|
87
|
+
src="#{@base_src_dir}/_sisu/image"
|
|
88
|
+
ldest=@env.path.output
|
|
89
|
+
img_dir="#{@env.path.output}/_sisu/image"
|
|
90
|
+
@rhost.each do |remote_conn|
|
|
91
|
+
if (@md.opt.act[:verbose][:set]==:on \
|
|
92
|
+
|| @md.opt.act[:verbose_plus][:set]==:on \
|
|
93
|
+
|| @md.opt.act[:maintenance][:set]==:on \
|
|
94
|
+
|| @md.opt.act[:rsync][:set]==:on) \
|
|
95
|
+
and FileTest.directory?(src)
|
|
96
|
+
FileUtils::mkdir_p(img_dir) unless FileTest.directory?(img_dir)
|
|
97
|
+
src_ec=@f.place_file.images.rel + '/' + @md.ec[:image].join(" #{@f.output_path.images.rel}/")
|
|
98
|
+
unless @opt.fns =~/\.-sst$/
|
|
99
|
+
SiSU_Env::SystemCall.new(src_ec,ldest,'q').rsync('--relative',@opt.base_path)
|
|
100
|
+
#if @md.opt.selections.str.inspect =~/R/ #rsync to remote image directory
|
|
101
|
+
# SiSU_Env::SystemCall.new(src_ec,remote_rel,'q').rsync('--relative')
|
|
102
|
+
#end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
def audio
|
|
108
|
+
#p @md.ec[:audio]
|
|
109
|
+
src="#{@base_src_dir}/_sisu/mm/audio"
|
|
110
|
+
ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
|
|
111
|
+
@rhost.each do |remote_conn|
|
|
112
|
+
rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/audio"
|
|
113
|
+
if (@md.opt.act[:verbose][:set]==:on \
|
|
114
|
+
|| @md.opt.act[:verbose_plus][:set]==:on \
|
|
115
|
+
|| @md.opt.act[:maintenance][:set]==:on \
|
|
116
|
+
|| @md.opt.act[:rsync][:set]==:on) \
|
|
117
|
+
and FileTest.directory?(src)
|
|
118
|
+
FileUtils::mkdir_p(ldest) unless FileTest.directory?(ldest)
|
|
119
|
+
src_ec="#{src}/" + @md.ec[:audio].join(" #{src}/")
|
|
120
|
+
SiSU_Env::SystemCall.new(src_ec,"#{ldest}/.",'q').rsync
|
|
121
|
+
if @md.opt.act[:rsync][:set]==:on #rsync to remote audio directory
|
|
122
|
+
SiSU_Env::SystemCall.new(src_ec,"#{rdest}/.",'q').rsync
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
def multimedia
|
|
128
|
+
#p @md.ec[:multimedia]
|
|
129
|
+
src="#{@base_src_dir}/_sisu/mm/video"
|
|
130
|
+
ldest="#{@env.path.webserv}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
|
|
131
|
+
@rhost.each do |remote_conn|
|
|
132
|
+
rdest="#{remote_conn[:name]}/#{@env.path.base_markup_dir_stub}/_sisu/mm/video"
|
|
133
|
+
if (@md.opt.act[:verbose][:set]==:on \
|
|
134
|
+
|| @md.opt.act[:verbose_plus][:set]==:on \
|
|
135
|
+
|| @md.opt.act[:maintenance][:set]==:on \
|
|
136
|
+
|| @md.opt.act[:rsync][:set]==:on) \
|
|
137
|
+
and FileTest.directory?(src)
|
|
138
|
+
FileUtils::mkdir_p(ldest) unless FileTest.directory?(ldest)
|
|
139
|
+
src_ec="#{src}/" + @md.ec[:multimedia].join(" #{src}/")
|
|
140
|
+
SiSU_Env::SystemCall.new(src_ec,"#{ldest}/.",'q').rsync
|
|
141
|
+
if @md.opt.act[:rsync][:set]==:on #rsync to remote video directory
|
|
142
|
+
SiSU_Env::SystemCall.new(src_ec,"#{rdest}/.",'q').rsync
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
__END__
|
data/lib/sisu/errors.rb
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
=begin
|
|
3
|
+
|
|
4
|
+
* Name: SiSU
|
|
5
|
+
|
|
6
|
+
** Description: documents, structuring, processing, publishing, search
|
|
7
|
+
*** system environment, error screen reporting
|
|
8
|
+
|
|
9
|
+
** Author: Ralph Amissah
|
|
10
|
+
<ralph@amissah.com>
|
|
11
|
+
<ralph.amissah@gmail.com>
|
|
12
|
+
|
|
13
|
+
** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
14
|
+
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
|
|
15
|
+
All Rights Reserved.
|
|
16
|
+
|
|
17
|
+
** License: GPL 3 or later:
|
|
18
|
+
|
|
19
|
+
SiSU, a framework for document structuring, publishing and search
|
|
20
|
+
|
|
21
|
+
Copyright (C) Ralph Amissah
|
|
22
|
+
|
|
23
|
+
This program is free software: you can redistribute it and/or modify it
|
|
24
|
+
under the terms of the GNU General Public License as published by the Free
|
|
25
|
+
Software Foundation, either version 3 of the License, or (at your option)
|
|
26
|
+
any later version.
|
|
27
|
+
|
|
28
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
29
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
30
|
+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
31
|
+
more details.
|
|
32
|
+
|
|
33
|
+
You should have received a copy of the GNU General Public License along with
|
|
34
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
+
|
|
36
|
+
If you have Internet connection, the latest version of the GPL should be
|
|
37
|
+
available at these locations:
|
|
38
|
+
<http://www.fsf.org/licensing/licenses/gpl.html>
|
|
39
|
+
<http://www.gnu.org/licenses/gpl.html>
|
|
40
|
+
|
|
41
|
+
<http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
|
|
42
|
+
|
|
43
|
+
** SiSU uses:
|
|
44
|
+
* Standard SiSU markup syntax,
|
|
45
|
+
* Standard SiSU meta-markup syntax, and the
|
|
46
|
+
* Standard SiSU object citation numbering and system
|
|
47
|
+
|
|
48
|
+
** Hompages:
|
|
49
|
+
<http://www.jus.uio.no/sisu>
|
|
50
|
+
<http://www.sisudoc.org>
|
|
51
|
+
|
|
52
|
+
** Git
|
|
53
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
|
|
54
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/errors.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Errors
|
|
58
|
+
require_relative 'se' # se.rb
|
|
59
|
+
include SiSU_Env; include SiSU_Screen
|
|
60
|
+
class Rescued <CreateFile
|
|
61
|
+
def initialize(error,errorlist,cmd,fns='')
|
|
62
|
+
@fns,@cmd,@error,@errorlist=fns,cmd,error,errorlist
|
|
63
|
+
@cmd=(cmd \
|
|
64
|
+
&& (cmd =~/c/)) \
|
|
65
|
+
? 'Vc'
|
|
66
|
+
: 'V'
|
|
67
|
+
end
|
|
68
|
+
def location
|
|
69
|
+
file=@fns \
|
|
70
|
+
? (SiSU_Env::CreateFile.new(@fns).file_error)
|
|
71
|
+
: (File.new('/tmp/errorlog.sisu','w+'))
|
|
72
|
+
file << @fns << "\n" << @error << "\n" << @errorlist
|
|
73
|
+
file.close
|
|
74
|
+
if @cmd=~/[vVM]/
|
|
75
|
+
SiSU_Screen::Ansi.new('',$!,$@).rescue do
|
|
76
|
+
(block_given?) ? yield : __LINE__.to_s + ':' + __FILE__
|
|
77
|
+
end
|
|
78
|
+
else
|
|
79
|
+
SiSU_Screen::Ansi.new('',"rescued, exception raised, silenced").puts_grey
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
__END__
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
=begin
|
|
3
|
+
|
|
4
|
+
* Name: SiSU
|
|
5
|
+
|
|
6
|
+
** Description: documents, structuring, processing, publishing, search
|
|
7
|
+
*** shared html parts
|
|
8
|
+
|
|
9
|
+
** Author: Ralph Amissah
|
|
10
|
+
<ralph@amissah.com>
|
|
11
|
+
<ralph.amissah@gmail.com>
|
|
12
|
+
|
|
13
|
+
** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
14
|
+
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
|
|
15
|
+
All Rights Reserved.
|
|
16
|
+
|
|
17
|
+
** License: GPL 3 or later:
|
|
18
|
+
|
|
19
|
+
SiSU, a framework for document structuring, publishing and search
|
|
20
|
+
|
|
21
|
+
Copyright (C) Ralph Amissah
|
|
22
|
+
|
|
23
|
+
This program is free software: you can redistribute it and/or modify it
|
|
24
|
+
under the terms of the GNU General Public License as published by the Free
|
|
25
|
+
Software Foundation, either version 3 of the License, or (at your option)
|
|
26
|
+
any later version.
|
|
27
|
+
|
|
28
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
29
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
30
|
+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
31
|
+
more details.
|
|
32
|
+
|
|
33
|
+
You should have received a copy of the GNU General Public License along with
|
|
34
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
+
|
|
36
|
+
If you have Internet connection, the latest version of the GPL should be
|
|
37
|
+
available at these locations:
|
|
38
|
+
<http://www.fsf.org/licensing/licenses/gpl.html>
|
|
39
|
+
<http://www.gnu.org/licenses/gpl.html>
|
|
40
|
+
|
|
41
|
+
<http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
|
|
42
|
+
|
|
43
|
+
** SiSU uses:
|
|
44
|
+
* Standard SiSU markup syntax,
|
|
45
|
+
* Standard SiSU meta-markup syntax, and the
|
|
46
|
+
* Standard SiSU object citation numbering and system
|
|
47
|
+
|
|
48
|
+
** Hompages:
|
|
49
|
+
<http://www.jus.uio.no/sisu>
|
|
50
|
+
<http://www.sisudoc.org>
|
|
51
|
+
|
|
52
|
+
** Git
|
|
53
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
|
|
54
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/html_parts.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Parts_Generic
|
|
58
|
+
def the_url
|
|
59
|
+
def urify(uri)
|
|
60
|
+
URI.parse(uri)
|
|
61
|
+
end
|
|
62
|
+
def sisu
|
|
63
|
+
'http://www.sisudoc.org/'
|
|
64
|
+
end
|
|
65
|
+
def sisudoc
|
|
66
|
+
'http://www.sisudoc.org'
|
|
67
|
+
end
|
|
68
|
+
def footer_signature
|
|
69
|
+
'http://www.sisudoc.org/'
|
|
70
|
+
end
|
|
71
|
+
def rl_root
|
|
72
|
+
'/sisu' #watch
|
|
73
|
+
end
|
|
74
|
+
def root_http
|
|
75
|
+
'http://www.sisudoc.org/' #watch
|
|
76
|
+
end
|
|
77
|
+
def home
|
|
78
|
+
'http://www.sisudoc.org/' # used in pdf header
|
|
79
|
+
end
|
|
80
|
+
def site #used as stub... where there are subdirectories and is different from home
|
|
81
|
+
home
|
|
82
|
+
end
|
|
83
|
+
def home_txt
|
|
84
|
+
'www.sisudoc.org'
|
|
85
|
+
end
|
|
86
|
+
def sisu_txt
|
|
87
|
+
'www.sisudoc.org'
|
|
88
|
+
end
|
|
89
|
+
self
|
|
90
|
+
end
|
|
91
|
+
def the_text
|
|
92
|
+
def home
|
|
93
|
+
'SiSU'
|
|
94
|
+
end
|
|
95
|
+
def txt_hp
|
|
96
|
+
' SiSU'
|
|
97
|
+
end
|
|
98
|
+
def txt_hp_alias
|
|
99
|
+
'SiSU'
|
|
100
|
+
end
|
|
101
|
+
def txt_home
|
|
102
|
+
'SiSU'
|
|
103
|
+
end
|
|
104
|
+
def txt_signature # used in latex/pdf footer
|
|
105
|
+
'SiSU'
|
|
106
|
+
end
|
|
107
|
+
def url_open
|
|
108
|
+
'<'
|
|
109
|
+
end
|
|
110
|
+
def url_close
|
|
111
|
+
'>'
|
|
112
|
+
end
|
|
113
|
+
self
|
|
114
|
+
end
|
|
115
|
+
def the_icon
|
|
116
|
+
def i_ico
|
|
117
|
+
'rb7.ico'
|
|
118
|
+
end
|
|
119
|
+
def i_home_button
|
|
120
|
+
'sisu.png'
|
|
121
|
+
end
|
|
122
|
+
def i_choice
|
|
123
|
+
'b_choice.png'
|
|
124
|
+
end
|
|
125
|
+
def i_new
|
|
126
|
+
'b_new.png'
|
|
127
|
+
end
|
|
128
|
+
self
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
__END__
|
data/lib/sisu/git.rb
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
=begin
|
|
3
|
+
|
|
4
|
+
* Name: SiSU
|
|
5
|
+
|
|
6
|
+
** Description: documents, structuring, processing, publishing, search
|
|
7
|
+
*** system environment, resource control and configuration details
|
|
8
|
+
|
|
9
|
+
** Author: Ralph Amissah
|
|
10
|
+
<ralph@amissah.com>
|
|
11
|
+
<ralph.amissah@gmail.com>
|
|
12
|
+
|
|
13
|
+
** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
14
|
+
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
|
|
15
|
+
All Rights Reserved.
|
|
16
|
+
|
|
17
|
+
** License: GPL 3 or later:
|
|
18
|
+
|
|
19
|
+
SiSU, a framework for document structuring, publishing and search
|
|
20
|
+
|
|
21
|
+
Copyright (C) Ralph Amissah
|
|
22
|
+
|
|
23
|
+
This program is free software: you can redistribute it and/or modify it
|
|
24
|
+
under the terms of the GNU General Public License as published by the Free
|
|
25
|
+
Software Foundation, either version 3 of the License, or (at your option)
|
|
26
|
+
any later version.
|
|
27
|
+
|
|
28
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
29
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
30
|
+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
31
|
+
more details.
|
|
32
|
+
|
|
33
|
+
You should have received a copy of the GNU General Public License along with
|
|
34
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
35
|
+
|
|
36
|
+
If you have Internet connection, the latest version of the GPL should be
|
|
37
|
+
available at these locations:
|
|
38
|
+
<http://www.fsf.org/licensing/licenses/gpl.html>
|
|
39
|
+
<http://www.gnu.org/licenses/gpl.html>
|
|
40
|
+
|
|
41
|
+
<http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
|
|
42
|
+
|
|
43
|
+
** SiSU uses:
|
|
44
|
+
* Standard SiSU markup syntax,
|
|
45
|
+
* Standard SiSU meta-markup syntax, and the
|
|
46
|
+
* Standard SiSU object citation numbering and system
|
|
47
|
+
|
|
48
|
+
** Hompages:
|
|
49
|
+
<http://www.jus.uio.no/sisu>
|
|
50
|
+
<http://www.sisudoc.org>
|
|
51
|
+
|
|
52
|
+
** Git
|
|
53
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
|
|
54
|
+
<http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/git.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Git
|
|
58
|
+
require_relative 'dp' # dp.rb
|
|
59
|
+
require_relative 'se' # se.rb
|
|
60
|
+
require_relative 'ao' # ao.rb
|
|
61
|
+
class Source
|
|
62
|
+
def initialize(opt,process=:complete)
|
|
63
|
+
@opt,@process=opt,process
|
|
64
|
+
@env=SiSU_Env::InfoEnv.new
|
|
65
|
+
@md=SiSU_Param::Parameters.new(@opt).get
|
|
66
|
+
@file=SiSU_Env::FileOp.new(@md)
|
|
67
|
+
l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language
|
|
68
|
+
unless @opt.lng==l[:c] # @md.i18n[0]==l[:c]
|
|
69
|
+
p "using: #{@opt.lng} (@make: :language:); filename #{@md.fns} filename language: #{l[:c]}, mismatch"
|
|
70
|
+
end
|
|
71
|
+
if @env.output_dir_structure.multilingual?
|
|
72
|
+
m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst|ssm)$/ #watch added match for sss
|
|
73
|
+
fnb,fnt=@opt.fns[m,2],@opt.fns[m,3]
|
|
74
|
+
else m=/(.+?)\.((?:-|ssm\.)?sst|ssm)$/
|
|
75
|
+
fnb=@fnn=@opt.fns[m,1]
|
|
76
|
+
fnt=@opt.fns[m,2]
|
|
77
|
+
end
|
|
78
|
+
git_path_fnb=@env.processing_path.git + '/' + fnb
|
|
79
|
+
lng=(@md.opt.lng) ? (@md.opt.lng) : (@md.i18n[0])
|
|
80
|
+
@git_path={
|
|
81
|
+
fnb: git_path_fnb,
|
|
82
|
+
doc: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:doc] + '/' + lng,
|
|
83
|
+
po: git_path_fnb + '/' + Gt[:po] + '/' + lng,
|
|
84
|
+
pot: git_path_fnb + '/' + Gt[:pot],
|
|
85
|
+
conf: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf],
|
|
86
|
+
image: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:image],
|
|
87
|
+
audio: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:audio],
|
|
88
|
+
video: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:video],
|
|
89
|
+
conf: git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf]
|
|
90
|
+
}
|
|
91
|
+
SiSU_AO::Source.new(@opt,nil,@process).read # -m
|
|
92
|
+
end
|
|
93
|
+
def create_file_structure_git
|
|
94
|
+
make_dir_fnb
|
|
95
|
+
if program_found?
|
|
96
|
+
git_init
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
def read
|
|
100
|
+
create_file_structure_git
|
|
101
|
+
populate.sisusrc_files
|
|
102
|
+
#if program_found?
|
|
103
|
+
# git_commit
|
|
104
|
+
#end
|
|
105
|
+
unless @opt.act[:quiet][:set]==:on
|
|
106
|
+
(@opt.act[:verbose][:set]==:on \
|
|
107
|
+
|| @opt.act[:verbose_plus][:set]==:on \
|
|
108
|
+
|| @opt.act[:maintenance][:set]==:on) \
|
|
109
|
+
? SiSU_Screen::Ansi.new(
|
|
110
|
+
@opt.act[:color_state][:set],
|
|
111
|
+
'Git path',
|
|
112
|
+
@git_path[:fnb]
|
|
113
|
+
).green_hi_blue
|
|
114
|
+
: SiSU_Screen::Ansi.new(
|
|
115
|
+
@opt.act[:color_state][:set],
|
|
116
|
+
'Git path',
|
|
117
|
+
@git_path[:fnb]
|
|
118
|
+
).green_title_hi
|
|
119
|
+
if (@opt.act[:verbose][:set]==:on \
|
|
120
|
+
|| @opt.act[:verbose_plus][:set]==:on \
|
|
121
|
+
|| @opt.act[:maintenance][:set]==:on)
|
|
122
|
+
SiSU_Screen::Ansi.new(
|
|
123
|
+
@opt.act[:color_state][:set],
|
|
124
|
+
"Git path",
|
|
125
|
+
"#{@opt.fns} -> #{@git_path[:fnb]}"
|
|
126
|
+
).warn
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
def program_found?
|
|
131
|
+
found=`whereis git`
|
|
132
|
+
(found =~/bin\/git\b/) ? true : false
|
|
133
|
+
end
|
|
134
|
+
def make_dir_fnb
|
|
135
|
+
FileUtils::mkdir_p(@git_path[:fnb]) \
|
|
136
|
+
unless FileTest.directory?(@git_path[:fnb])
|
|
137
|
+
FileUtils::mkdir_p(@git_path[:doc]) \
|
|
138
|
+
unless FileTest.directory?(@git_path[:doc])
|
|
139
|
+
FileUtils::mkdir_p(@git_path[:po]) \
|
|
140
|
+
unless FileTest.directory?(@git_path[:po])
|
|
141
|
+
FileUtils::mkdir_p(@git_path[:pot]) \
|
|
142
|
+
unless FileTest.directory?(@git_path[:pot])
|
|
143
|
+
FileUtils::mkdir_p(@git_path[:conf]) \
|
|
144
|
+
unless FileTest.directory?(@git_path[:conf])
|
|
145
|
+
FileUtils::mkdir_p(@git_path[:image]) \
|
|
146
|
+
unless FileTest.directory?(@git_path[:image])
|
|
147
|
+
#FileUtils::mkdir_p(@git_path[:audio]) \
|
|
148
|
+
# unless FileTest.directory?(@git_path[:audio])
|
|
149
|
+
#FileUtils::mkdir_p(@git_path[:video]) \
|
|
150
|
+
# unless FileTest.directory?(@git_path[:video])
|
|
151
|
+
end
|
|
152
|
+
def git_init
|
|
153
|
+
unless FileTest.directory?("#{@git_path[:fnb]}/.git")
|
|
154
|
+
pwd=Dir.pwd
|
|
155
|
+
Dir.chdir(@git_path[:fnb])
|
|
156
|
+
system("git init ")
|
|
157
|
+
Dir.chdir(pwd)
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
def git_commit
|
|
161
|
+
if program_found?
|
|
162
|
+
if FileTest.directory?("#{@git_path[:fnb]}")
|
|
163
|
+
pwd=Dir.pwd
|
|
164
|
+
Dir.chdir(@git_path[:fnb])
|
|
165
|
+
system("
|
|
166
|
+
git add . \
|
|
167
|
+
&& git commit -a
|
|
168
|
+
")
|
|
169
|
+
Dir.chdir(pwd)
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
def populate
|
|
174
|
+
def identify_language_versions
|
|
175
|
+
print __FILE__ + ':'
|
|
176
|
+
p __LINE__
|
|
177
|
+
end
|
|
178
|
+
def copy_src_head
|
|
179
|
+
if @opt.f_pth[:lng] \
|
|
180
|
+
and File.exist?("#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}")
|
|
181
|
+
FileUtils::cp_r(
|
|
182
|
+
"#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}",
|
|
183
|
+
@git_path[:doc]
|
|
184
|
+
)
|
|
185
|
+
elsif @opt.fns =~/\.ssm\.sst/
|
|
186
|
+
ssm=@opt.fns.gsub(/\.ssm\.sst/,'.ssm')
|
|
187
|
+
FileUtils::cp_r(
|
|
188
|
+
"#{@env.path.pwd}/#{ssm}",
|
|
189
|
+
@git_path[:doc]
|
|
190
|
+
)
|
|
191
|
+
elsif File.exist?("#{@env.path.pwd}/#{@opt.fns}")
|
|
192
|
+
FileUtils::cp_r(
|
|
193
|
+
"#{@env.path.pwd}/#{@opt.fns}",
|
|
194
|
+
@git_path[:doc]
|
|
195
|
+
)
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
def copy_related_sst_ssi
|
|
199
|
+
doc_import=[]
|
|
200
|
+
@rgx_doc_import=/^<<\s(\S+?\.ss[ti])/
|
|
201
|
+
file_array=IO.readlines(@opt.fns,'')
|
|
202
|
+
file_array.each do |f|
|
|
203
|
+
if f =~@rgx_doc_import
|
|
204
|
+
doc_import = doc_import \
|
|
205
|
+
+ f.scan(@rgx_doc_import).uniq.flatten
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
doc_import.each do |f|
|
|
209
|
+
if @opt.f_pth[:lng]
|
|
210
|
+
FileUtils::cp_r(
|
|
211
|
+
"#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{f}",
|
|
212
|
+
@git_path[:doc]
|
|
213
|
+
)
|
|
214
|
+
else
|
|
215
|
+
FileUtils::cp_r(
|
|
216
|
+
"#{@env.path.pwd}/#{f}",
|
|
217
|
+
@git_path[:doc]
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
def locate_parse_file
|
|
223
|
+
composite_src=@opt.fns=~/\.ssm$/ ? true : false
|
|
224
|
+
if composite_src \
|
|
225
|
+
and not @opt.act[:ao][:set]==:on
|
|
226
|
+
##SiSU_Assemble::Composite.new(@opt).read
|
|
227
|
+
#SiSU_AO::Source.new(@opt).read # -m
|
|
228
|
+
@env.processing_path.composite_file \
|
|
229
|
+
+ '/' \
|
|
230
|
+
+ @opt.fnb \
|
|
231
|
+
+ '.ssm.sst'
|
|
232
|
+
elsif composite_src
|
|
233
|
+
@env.processing_path.composite_file \
|
|
234
|
+
+ '/' \
|
|
235
|
+
+ @opt.fnb \
|
|
236
|
+
+ '.ssm.sst'
|
|
237
|
+
else
|
|
238
|
+
@env.path.pwd
|
|
239
|
+
+ '/' \
|
|
240
|
+
+ @opt.fns
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
def read_composite
|
|
244
|
+
#print __FILE__ + ':'
|
|
245
|
+
#p __LINE__
|
|
246
|
+
end
|
|
247
|
+
def sisuyaml_rc
|
|
248
|
+
sisurc=@env.path.sisurc_path
|
|
249
|
+
if FileTest.file?(sisurc)
|
|
250
|
+
FileUtils::cp_r(sisurc,@git_path[:conf])
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
def read_src
|
|
254
|
+
print __FILE__ + ':'
|
|
255
|
+
p __LINE__
|
|
256
|
+
end
|
|
257
|
+
def composite_src?
|
|
258
|
+
@opt.fns=~/\.ssm$/ ? true : false
|
|
259
|
+
end
|
|
260
|
+
def sisusrc_files
|
|
261
|
+
populate.copy_src_head
|
|
262
|
+
if composite_src?
|
|
263
|
+
populate.copy_related_sst_ssi
|
|
264
|
+
end
|
|
265
|
+
#parse_file_name=locate_parse_file
|
|
266
|
+
#parse_file=IO.readlines(parse_file_name,'')
|
|
267
|
+
populate.sisuyaml_rc #(parse_file)
|
|
268
|
+
#populate.extract_composite_source
|
|
269
|
+
#populate.read_composite # or read_each_composite
|
|
270
|
+
populate.identify_language_versions
|
|
271
|
+
end
|
|
272
|
+
self
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
__END__
|
|
277
|
+
@file.output_path.sisugit
|