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,176 @@
|
|
|
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/se_standardise_lang.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
@@lang_info=nil
|
|
58
|
+
module SiSU_Standardise_Lang
|
|
59
|
+
class StandardiseLanguage
|
|
60
|
+
require_relative 'i18n' # i18n.rb
|
|
61
|
+
def initialize(l='')
|
|
62
|
+
@language=(l.nil? || l.empty?) \
|
|
63
|
+
? SiSU_Env::InfoEnv.new.language_default_set
|
|
64
|
+
: l
|
|
65
|
+
@r=%{(?:#{Px[:lng_lst_rgx]})}
|
|
66
|
+
@lang_info=SiSU_i18n::Languages.new
|
|
67
|
+
end
|
|
68
|
+
def lang_lst # from i18n
|
|
69
|
+
@@lang_info ||=@lang_info.language.list
|
|
70
|
+
end
|
|
71
|
+
def lang(l='') # from i18n
|
|
72
|
+
if l =~/^#{@r}$/
|
|
73
|
+
@lang_info.language.list[l]
|
|
74
|
+
elsif @language =~/^#{@r}$/
|
|
75
|
+
@lang_info.language.list[@language]
|
|
76
|
+
else nil
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
def language
|
|
80
|
+
lng={}
|
|
81
|
+
case @language
|
|
82
|
+
when /^am$|Amharic/i then d,c,l=false,lang_lst['am'][:c], lang_lst['am'][:n]
|
|
83
|
+
when /^bg$|Bulgarian/i then d,c,l=false,lang_lst['bg'][:c], lang_lst['bg'][:n]
|
|
84
|
+
when /^bn$|Bengali/i then d,c,l=false,lang_lst['bn'][:c], lang_lst['bn'][:n]
|
|
85
|
+
when /^br$|Breton/i then d,c,l=false,lang_lst['br'][:c], lang_lst['br'][:n]
|
|
86
|
+
when /^ca$|Catalan/i then d,c,l=false,lang_lst['ca'][:c], lang_lst['ca'][:n]
|
|
87
|
+
when /^cs$|Czech/i then d,c,l=false,lang_lst['cs'][:c], lang_lst['cs'][:n]
|
|
88
|
+
when /^cy$|Welsh/i then d,c,l=false,lang_lst['cy'][:c], lang_lst['cy'][:n]
|
|
89
|
+
when /^da$|Danish|Dansk/i then d,c,l=false,lang_lst['da'][:c], lang_lst['da'][:n]
|
|
90
|
+
when /^de$|German/i then d,c,l=false,lang_lst['de'][:c], lang_lst['de'][:n]
|
|
91
|
+
when /^el$|Greek/i then d,c,l=false,lang_lst['el'][:c], lang_lst['el'][:n]
|
|
92
|
+
when /^en$|English/i then d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n]
|
|
93
|
+
when /^eo$|Esperanto/i then d,c,l=false,lang_lst['eo'][:c], lang_lst['eo'][:n]
|
|
94
|
+
when /^es$|Spanish|Espanol/i then d,c,l=false,lang_lst['es'][:c], lang_lst['es'][:n]
|
|
95
|
+
when /^et$|Estonian/i then d,c,l=false,lang_lst['et'][:c], lang_lst['et'][:n]
|
|
96
|
+
when /^eu$|Basque/i then d,c,l=false,lang_lst['eu'][:c], lang_lst['eu'][:n]
|
|
97
|
+
when /^fi$|Finnish|Finsk|Suomi/i then d,c,l=false,lang_lst['fi'][:c], lang_lst['fi'][:n]
|
|
98
|
+
when /^fr$|French|Francais/i then d,c,l=false,lang_lst['fr'][:c], lang_lst['fr'][:n]
|
|
99
|
+
when /^ga$|Irish/i then d,c,l=false,lang_lst['ga'][:c], lang_lst['ga'][:n]
|
|
100
|
+
when /^gl$|Galician/i then d,c,l=false,lang_lst['gl'][:c], lang_lst['gl'][:n]
|
|
101
|
+
when /^he$|Hebrew/i then d,c,l=false,lang_lst['he'][:c], lang_lst['he'][:n]
|
|
102
|
+
when /^hi$|Hindi/i then d,c,l=false,lang_lst['hi'][:c], lang_lst['hi'][:n]
|
|
103
|
+
when /^hr$|Croatian/i then d,c,l=false,lang_lst['hr'][:c], lang_lst['hr'][:n]
|
|
104
|
+
when /^hy$|Armenian/i then d,c,l=false,lang_lst['hy'][:c], lang_lst['hy'][:n]
|
|
105
|
+
when /^ia$|Interlingua/i then d,c,l=false,lang_lst['ia'][:c], lang_lst['ia'][:n]
|
|
106
|
+
when /^is$|Icelandic/i then d,c,l=false,lang_lst['is'][:c], lang_lst['is'][:n]
|
|
107
|
+
when /^it$|Italian/i then d,c,l=false,lang_lst['it'][:c], lang_lst['it'][:n]
|
|
108
|
+
when /^la$|Latin/i then d,c,l=false,lang_lst['la'][:c], lang_lst['la'][:n]
|
|
109
|
+
when /^lo$|Lao/i then d,c,l=false,lang_lst['lo'][:c], lang_lst['lo'][:n]
|
|
110
|
+
when /^lt$|Lithuanian/i then d,c,l=false,lang_lst['lt'][:c], lang_lst['lt'][:n]
|
|
111
|
+
when /^lv$|Latvian/i then d,c,l=false,lang_lst['lv'][:c], lang_lst['lv'][:n]
|
|
112
|
+
when /^ml$|Malayalam/i then d,c,l=false,lang_lst['ml'][:c], lang_lst['ml'][:n]
|
|
113
|
+
when /^mr$|Marathi/i then d,c,l=false,lang_lst['mr'][:c], lang_lst['mr'][:n]
|
|
114
|
+
when /^nl$|Dutch/i then d,c,l=false,lang_lst['nl'][:c], lang_lst['nl'][:n]
|
|
115
|
+
when /^no$|Norwegian|Norsk/i then d,c,l=false,lang_lst['no'][:c], lang_lst['no'][:n]
|
|
116
|
+
when /^nn$|Norwegian Nynorsk/i then d,c,l=false,lang_lst['nn'][:c], lang_lst['nn'][:n]
|
|
117
|
+
when /^oc$|Occitan/i then d,c,l=false,lang_lst['oc'][:c], lang_lst['oc'][:n]
|
|
118
|
+
when /^pl$|Polish/i then d,c,l=false,lang_lst['pl'][:c], lang_lst['pl'][:n]
|
|
119
|
+
when /^pt$|Portuguese/i then d,c,l=false,lang_lst['pt'][:c], lang_lst['pt'][:n]
|
|
120
|
+
when /^pt_BR$|Portuguese Brazil/i then d,c,l=false,lang_lst['pt_BR'][:c], lang_lst['pt_BR'][:n]
|
|
121
|
+
when /^ro$|Romanian/i then d,c,l=false,lang_lst['ro'][:c], lang_lst['ro'][:n]
|
|
122
|
+
when /^ru$|Russian/i then d,c,l=false,lang_lst['ru'][:c], lang_lst['ru'][:n]
|
|
123
|
+
when /^sa$|Sanskrit/i then d,c,l=false,lang_lst['sa'][:c], lang_lst['sa'][:n]
|
|
124
|
+
when /^se$|Sami/i then d,c,l=false,lang_lst['se'][:c], lang_lst['se'][:n]
|
|
125
|
+
when /^sk$|Slovak/i then d,c,l=false,lang_lst['sk'][:c], lang_lst['sk'][:n]
|
|
126
|
+
when /^sl$|Slovenian/i then d,c,l=false,lang_lst['sl'][:c], lang_lst['sl'][:n]
|
|
127
|
+
when /^sq$|Albanian/i then d,c,l=false,lang_lst['sq'][:c], lang_lst['sq'][:n]
|
|
128
|
+
when /^sr$|Serbian/i then d,c,l=false,lang_lst['sr'][:c], lang_lst['sr'][:n]
|
|
129
|
+
when /^sv$|Swedish|Svensk/i then d,c,l=false,lang_lst['sv'][:c], lang_lst['sv'][:n]
|
|
130
|
+
when /^ta$|Tamil/i then d,c,l=false,lang_lst['ta'][:c], lang_lst['ta'][:n]
|
|
131
|
+
when /^te$|Telugu/i then d,c,l=false,lang_lst['te'][:c], lang_lst['te'][:n]
|
|
132
|
+
when /^th$|Thai/i then d,c,l=false,lang_lst['th'][:c], lang_lst['th'][:n]
|
|
133
|
+
when /^tk$|Turkmen/i then d,c,l=false,lang_lst['tk'][:c], lang_lst['tk'][:n]
|
|
134
|
+
when /^tr$|Turkish/i then d,c,l=false,lang_lst['tr'][:c], lang_lst['tr'][:n]
|
|
135
|
+
when /^uk$|Ukranian/i then d,c,l=false,lang_lst['uk'][:c], lang_lst['uk'][:n]
|
|
136
|
+
when /^ur$|Urdu/i then d,c,l=false,lang_lst['ur'][:c], lang_lst['ur'][:n]
|
|
137
|
+
when /^us|American$|/i then d,c,l=false,lang_lst['en'][:c], lang_lst['en'][:n]
|
|
138
|
+
when /^vi$|Vietnamese/i then d,c,l=false,lang_lst['vi'][:c], lang_lst['vi'][:n]
|
|
139
|
+
else d,c,l=true, lang_lst['en'][:c], lang_lst['en'][:n] #default
|
|
140
|
+
end
|
|
141
|
+
lng[:d],lng[:c],lng[:n]=d,c,l
|
|
142
|
+
lng
|
|
143
|
+
end
|
|
144
|
+
def name
|
|
145
|
+
language[:n].downcase
|
|
146
|
+
end
|
|
147
|
+
def title
|
|
148
|
+
language[:n]
|
|
149
|
+
end
|
|
150
|
+
def code
|
|
151
|
+
language[:c]
|
|
152
|
+
end
|
|
153
|
+
def tex_name
|
|
154
|
+
language[:xlp]
|
|
155
|
+
end
|
|
156
|
+
def file_to_language(file) # used, fix and remove
|
|
157
|
+
m=/.+?\~(\w{2,3})\.(?:-|ssm\.)?sst$/
|
|
158
|
+
@language=if file =~m ; file[m,1]
|
|
159
|
+
else ''
|
|
160
|
+
end
|
|
161
|
+
language
|
|
162
|
+
end
|
|
163
|
+
def codes
|
|
164
|
+
# Language List po4a
|
|
165
|
+
# <http://www.debian.org/international/l10n/po/>
|
|
166
|
+
# Px[:lng_lst] see constants.rb
|
|
167
|
+
# see polyglossia for subset
|
|
168
|
+
# <http://mirrors.ctan.org/macros/xetex/latex/polyglossia/polyglossia.pdf>
|
|
169
|
+
# also note ISO_639-2
|
|
170
|
+
# <http://en.wikipedia.org/wiki/ISO_639-2>
|
|
171
|
+
# <http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes>
|
|
172
|
+
Px[:lng_lst] # constants.rb
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
__END__
|
|
@@ -0,0 +1,174 @@
|
|
|
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/se_version.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Info_Version
|
|
58
|
+
require_relative 'constants' # constants.rb
|
|
59
|
+
require_relative 'utils' # utils.rb
|
|
60
|
+
require_relative 'se_info_env' # se_info_env.rb
|
|
61
|
+
begin
|
|
62
|
+
require 'singleton'
|
|
63
|
+
rescue LoadError
|
|
64
|
+
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
|
|
65
|
+
error('singleton NOT FOUND (LoadError)')
|
|
66
|
+
end
|
|
67
|
+
class InfoVersion < SiSU_Info_Env::InfoEnv # se_info_env.rb
|
|
68
|
+
include Singleton
|
|
69
|
+
begin
|
|
70
|
+
require 'rbconfig'
|
|
71
|
+
require 'yaml'
|
|
72
|
+
rescue LoadError
|
|
73
|
+
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
|
|
74
|
+
error('rbconfig or yaml NOT FOUND (LoadError)')
|
|
75
|
+
end
|
|
76
|
+
@@lib_path=nil
|
|
77
|
+
def get_version
|
|
78
|
+
version={}
|
|
79
|
+
@pwd=ENV['PWD']
|
|
80
|
+
lib_path=
|
|
81
|
+
@@lib_path \
|
|
82
|
+
? @@lib_path
|
|
83
|
+
: `echo $RUBYLIB`.split(':')
|
|
84
|
+
@@lib_path ||=lib_path
|
|
85
|
+
if File.exist?(SiSU_is.version_info_path?)
|
|
86
|
+
version=YAML::load(File::open(SiSU_is.version_info_path?))
|
|
87
|
+
end
|
|
88
|
+
version[:install_method]=if SiSU_is.runtime_type? ==:gem_install
|
|
89
|
+
spec = Gem::Specification.find_by_name("sisu")
|
|
90
|
+
gem_root = spec.gem_dir
|
|
91
|
+
(File.dirname(__FILE__.gsub(/\/lib\/sisu}/,'')) == gem_root) \
|
|
92
|
+
? ' (ruby gem install)' : ''
|
|
93
|
+
else ''
|
|
94
|
+
end
|
|
95
|
+
@version=version
|
|
96
|
+
def version_details_hash
|
|
97
|
+
@version
|
|
98
|
+
end
|
|
99
|
+
def project
|
|
100
|
+
version_details_hash[:project]
|
|
101
|
+
end
|
|
102
|
+
def date
|
|
103
|
+
version_details_hash[:date]
|
|
104
|
+
end
|
|
105
|
+
def date_stamp
|
|
106
|
+
version_details_hash[:date_stamp]
|
|
107
|
+
end
|
|
108
|
+
def version
|
|
109
|
+
version_details_hash[:version]
|
|
110
|
+
end
|
|
111
|
+
def version_major
|
|
112
|
+
@version_major=version_details_hash[:version].gsub(/([0-9]+)\.[0-9]+\.[0-9]+/,'\1')
|
|
113
|
+
end
|
|
114
|
+
def install_method
|
|
115
|
+
version_details_hash[:install_method]
|
|
116
|
+
end
|
|
117
|
+
self
|
|
118
|
+
end
|
|
119
|
+
def rbversion
|
|
120
|
+
%x{ruby -v}.strip
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
module SiSU_Info_About
|
|
125
|
+
require_relative 'constants' # constants.rb
|
|
126
|
+
require_relative 'utils' # utils.rb
|
|
127
|
+
begin
|
|
128
|
+
require 'singleton'
|
|
129
|
+
rescue LoadError
|
|
130
|
+
SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).
|
|
131
|
+
error('singleton NOT FOUND (LoadError)')
|
|
132
|
+
end
|
|
133
|
+
class InfoAbout
|
|
134
|
+
def initialize(color='')
|
|
135
|
+
@color=color
|
|
136
|
+
end
|
|
137
|
+
def sisu_version
|
|
138
|
+
version=SiSU_Env::InfoVersion.instance.get_version
|
|
139
|
+
rb_ver=SiSU_Env::InfoVersion.instance.rbversion
|
|
140
|
+
if version.version
|
|
141
|
+
opt_cmd=if defined? @color.cmd \
|
|
142
|
+
and @color.cmd =~/[ck]/
|
|
143
|
+
@color.cmd
|
|
144
|
+
else '-v'
|
|
145
|
+
end
|
|
146
|
+
SiSU_Screen::Ansi.new(
|
|
147
|
+
opt_cmd,
|
|
148
|
+
version.project,
|
|
149
|
+
version.version,
|
|
150
|
+
version.date_stamp,
|
|
151
|
+
version.date,
|
|
152
|
+
version.install_method,
|
|
153
|
+
rb_ver
|
|
154
|
+
).version
|
|
155
|
+
else puts 'SiSU (version information not available)'
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
def sisu_about
|
|
159
|
+
puts <<-WOK
|
|
160
|
+
sisu: documents; markup, structuring, publishing in multiple standard formats, & search
|
|
161
|
+
most (not all) useful commands (are made in a directory containing a sisu markup file &) take the form:
|
|
162
|
+
sisu [action(s)] [filename(s)]
|
|
163
|
+
where filename refers to a valid sisu marked up file, e.g.:
|
|
164
|
+
cd /usr/share/doc/sisu/markup-samples/sisu_manual
|
|
165
|
+
sisu --html --verbose sisu_commands.sst
|
|
166
|
+
sisu --txt --html --epub --odt --pdf --sqlite --manpage --texinfo --concordance --qrcode --verbose sisu.ssm
|
|
167
|
+
cd -
|
|
168
|
+
See output produced, or see man pages: man sisu
|
|
169
|
+
<http://www.sisudoc.org/> <http://www.jus.uio.no/sisu/>
|
|
170
|
+
WOK
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
__END__
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
=begin
|
|
3
|
+
|
|
4
|
+
* Name: SiSU
|
|
5
|
+
|
|
6
|
+
** Description: documents, structuring, processing, publishing, search
|
|
7
|
+
*** common file for xml generation
|
|
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/shared_images.rb;hb=HEAD>
|
|
55
|
+
|
|
56
|
+
=end
|
|
57
|
+
module SiSU_Images
|
|
58
|
+
require_relative 'se_hub_particulars' # se_hub_particulars.rb
|
|
59
|
+
class Source
|
|
60
|
+
def initialize(opt)
|
|
61
|
+
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
|
|
62
|
+
end
|
|
63
|
+
def read
|
|
64
|
+
SiSU_Images::Source::Place.new(@particulars).songsheet
|
|
65
|
+
end
|
|
66
|
+
class Place
|
|
67
|
+
def initialize(particulars)
|
|
68
|
+
@particulars=particulars
|
|
69
|
+
@md=@particulars.md
|
|
70
|
+
@env=@particulars.env
|
|
71
|
+
@o_str ||=SiSU_Env::ProcessingSettings.new(@md).output_dir_structure
|
|
72
|
+
end
|
|
73
|
+
def songsheet
|
|
74
|
+
images_set.select_sisu_base
|
|
75
|
+
images_set.select_with_document
|
|
76
|
+
end
|
|
77
|
+
def images_set
|
|
78
|
+
@pwd=(/(\S+?)(?:\/(?:#{Px[:lng_lst_rgx]}))?$/).match(Dir.pwd)[1]
|
|
79
|
+
def copy(src_path,dest_path,images=nil)
|
|
80
|
+
if FileTest.directory?(src_path)
|
|
81
|
+
FileUtils::cd(src_path)
|
|
82
|
+
unless images
|
|
83
|
+
images=Dir.glob("*.{png,jpg,gif,ico}")
|
|
84
|
+
end
|
|
85
|
+
unless FileTest.directory?(dest_path) \
|
|
86
|
+
or FileTest.symlink?(dest_path)
|
|
87
|
+
FileUtils::mkdir_p(dest_path)
|
|
88
|
+
FileUtils::chmod(0755,dest_path)
|
|
89
|
+
end
|
|
90
|
+
if images.length > 0
|
|
91
|
+
images.each do |i|
|
|
92
|
+
if FileTest.file?(i)
|
|
93
|
+
FileUtils::cp_r(i,"#{dest_path}/#{i}")
|
|
94
|
+
FileUtils::chmod(0644,"#{dest_path}/#{i}")
|
|
95
|
+
else STDERR.puts %{\t*WARN* did not find image - "#{i}" [#{__FILE__}:#{__LINE__}]}
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
FileUtils::cd(@pwd)
|
|
100
|
+
else STDERR.puts %{\t*WARN* did not find - "#{src_path}" [#{__FILE__}:#{__LINE__}]}
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
def dest_path(image_type)
|
|
104
|
+
pth=if image_type==:image_sys
|
|
105
|
+
pth=(@o_str.dump_or_redirect?) \
|
|
106
|
+
? "#{@md.file.output_path.html.dir}/image"
|
|
107
|
+
: "#{@md.file.output_path.base.dir}/_sisu/image_sys"
|
|
108
|
+
elsif image_type==:image
|
|
109
|
+
pth=(@o_str.dump_or_redirect?) \
|
|
110
|
+
? "#{@md.file.output_path.html.dir}/image"
|
|
111
|
+
: "#{@md.file.output_path.base.dir}/_sisu/image"
|
|
112
|
+
end
|
|
113
|
+
pth
|
|
114
|
+
end
|
|
115
|
+
def select_with_document
|
|
116
|
+
images=@md.ec[:image]
|
|
117
|
+
src_path=unless @md.opt.f_pth[:pth] =~/\/\S+?\/sisupod\/\S+?\/sisupod\/doc/
|
|
118
|
+
"#{@pwd}/_sisu/image"
|
|
119
|
+
else #sisupod
|
|
120
|
+
pt=/(\/\S+?\/sisupod\/\S+?\/sisupod)\/doc/.match(@md.opt.f_pth[:pth])[1]
|
|
121
|
+
pt + '/image'
|
|
122
|
+
end
|
|
123
|
+
dest=dest_path(:image)
|
|
124
|
+
copy(src_path,dest,images)
|
|
125
|
+
end
|
|
126
|
+
def select_sisu_base
|
|
127
|
+
images=%w[arrow_next_red.png arrow_prev_red.png arrow_up_red.png dot_clear.png dot_white.png b_doc.png b_epub.png b_odf.png b_pdf.png b_toc.png]
|
|
128
|
+
src_path="#{SiSU_is.path_base_system_data?}/image"
|
|
129
|
+
dest=dest_path(:image_sys)
|
|
130
|
+
copy(src_path,dest,images)
|
|
131
|
+
end
|
|
132
|
+
self
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
__END__
|