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.
Files changed (207) hide show
  1. checksums.yaml +7 -0
  2. data/bin/sisu +367 -0
  3. data/bin/sisugem +367 -0
  4. data/data/sisu/image/arrow_next_red.png +0 -0
  5. data/data/sisu/image/arrow_prev_red.png +0 -0
  6. data/data/sisu/image/arrow_up_red.png +0 -0
  7. data/data/sisu/image/b_bluebell.png +0 -0
  8. data/data/sisu/image/b_doc.png +0 -0
  9. data/data/sisu/image/b_epub.png +0 -0
  10. data/data/sisu/image/b_home.png +0 -0
  11. data/data/sisu/image/b_info.png +0 -0
  12. data/data/sisu/image/b_odf.png +0 -0
  13. data/data/sisu/image/b_pdf.png +0 -0
  14. data/data/sisu/image/b_search.png +0 -0
  15. data/data/sisu/image/b_toc.png +0 -0
  16. data/data/sisu/image/bullet_08.png +0 -0
  17. data/data/sisu/image/bullet_09.png +0 -0
  18. data/data/sisu/image/bullet_10.png +0 -0
  19. data/data/sisu/image/bullet_11.png +0 -0
  20. data/data/sisu/image/bullet_12.png +0 -0
  21. data/data/sisu/image/bullet_doc.png +0 -0
  22. data/data/sisu/image/bullet_red.png +0 -0
  23. data/data/sisu/image/dot_clear.png +0 -0
  24. data/data/sisu/image/dot_white.png +0 -0
  25. data/data/sisu/image/gplv3.png +0 -0
  26. data/data/sisu/image/gplv3_free_software.png +0 -0
  27. data/data/sisu/image/next.png +0 -0
  28. data/data/sisu/image/previous.png +0 -0
  29. data/data/sisu/image/rb7.ico +0 -0
  30. data/data/sisu/image/sisu.png +0 -0
  31. data/data/sisu/image/toctoc.png +0 -0
  32. data/data/sisu/version.yml +5 -0
  33. data/lib/sisu.rb +94 -0
  34. data/lib/sisu/air.rb +80 -0
  35. data/lib/sisu/ao.rb +590 -0
  36. data/lib/sisu/ao_character_check.rb +102 -0
  37. data/lib/sisu/ao_composite.rb +286 -0
  38. data/lib/sisu/ao_doc_objects.rb +565 -0
  39. data/lib/sisu/ao_doc_str.rb +2269 -0
  40. data/lib/sisu/ao_endnotes.rb +136 -0
  41. data/lib/sisu/ao_expand_insertions.rb +514 -0
  42. data/lib/sisu/ao_hash_digest.rb +174 -0
  43. data/lib/sisu/ao_idx.rb +422 -0
  44. data/lib/sisu/ao_images.rb +187 -0
  45. data/lib/sisu/ao_metadata.rb +86 -0
  46. data/lib/sisu/ao_misc_arrange.rb +207 -0
  47. data/lib/sisu/ao_numbering.rb +720 -0
  48. data/lib/sisu/ao_persist.rb +194 -0
  49. data/lib/sisu/ao_references.rb +502 -0
  50. data/lib/sisu/ao_syntax.rb +640 -0
  51. data/lib/sisu/cgi.rb +84 -0
  52. data/lib/sisu/cgi_pgsql.rb +270 -0
  53. data/lib/sisu/cgi_sql_common.rb +986 -0
  54. data/lib/sisu/cgi_sqlite.rb +244 -0
  55. data/lib/sisu/conf.rb +287 -0
  56. data/lib/sisu/constants.rb +388 -0
  57. data/lib/sisu/css.rb +3484 -0
  58. data/lib/sisu/db_columns.rb +1997 -0
  59. data/lib/sisu/db_create.rb +689 -0
  60. data/lib/sisu/db_dbi.rb +90 -0
  61. data/lib/sisu/db_drop.rb +207 -0
  62. data/lib/sisu/db_import.rb +877 -0
  63. data/lib/sisu/db_indexes.rb +146 -0
  64. data/lib/sisu/db_load_tuple.rb +323 -0
  65. data/lib/sisu/db_remove.rb +182 -0
  66. data/lib/sisu/db_select.rb +230 -0
  67. data/lib/sisu/db_sqltxt.rb +173 -0
  68. data/lib/sisu/db_tests.rb +114 -0
  69. data/lib/sisu/dbi.rb +166 -0
  70. data/lib/sisu/dbi_discrete.rb +206 -0
  71. data/lib/sisu/digests.rb +306 -0
  72. data/lib/sisu/dp.rb +1606 -0
  73. data/lib/sisu/dp_identify_markup.rb +161 -0
  74. data/lib/sisu/dp_make.rb +668 -0
  75. data/lib/sisu/embedded.rb +149 -0
  76. data/lib/sisu/errors.rb +84 -0
  77. data/lib/sisu/generic_parts.rb +131 -0
  78. data/lib/sisu/git.rb +277 -0
  79. data/lib/sisu/html.rb +775 -0
  80. data/lib/sisu/html_concordance.rb +391 -0
  81. data/lib/sisu/html_format.rb +1348 -0
  82. data/lib/sisu/html_harvest.rb +109 -0
  83. data/lib/sisu/html_harvest_author_format.rb +111 -0
  84. data/lib/sisu/html_harvest_authors.rb +466 -0
  85. data/lib/sisu/html_harvest_topics.rb +893 -0
  86. data/lib/sisu/html_lite_shared.rb +324 -0
  87. data/lib/sisu/html_manifest.rb +1032 -0
  88. data/lib/sisu/html_minitoc.rb +230 -0
  89. data/lib/sisu/html_parts.rb +437 -0
  90. data/lib/sisu/html_persist.rb +237 -0
  91. data/lib/sisu/html_promo.rb +440 -0
  92. data/lib/sisu/html_scroll.rb +235 -0
  93. data/lib/sisu/html_segments.rb +716 -0
  94. data/lib/sisu/html_shared.rb +62 -0
  95. data/lib/sisu/html_table.rb +64 -0
  96. data/lib/sisu/html_tune.rb +301 -0
  97. data/lib/sisu/hub.rb +277 -0
  98. data/lib/sisu/hub_actions.rb +1122 -0
  99. data/lib/sisu/hub_loop_markup_files.rb +170 -0
  100. data/lib/sisu/hub_options.rb +1695 -0
  101. data/lib/sisu/i18n.rb +702 -0
  102. data/lib/sisu/manpage.rb +377 -0
  103. data/lib/sisu/manpage_format.rb +85 -0
  104. data/lib/sisu/object_munge.rb +307 -0
  105. data/lib/sisu/prog_text_translation.rb +1702 -0
  106. data/lib/sisu/qrcode.rb +754 -0
  107. data/lib/sisu/relaxng.rb +1153 -0
  108. data/lib/sisu/remote.rb +246 -0
  109. data/lib/sisu/rexml.rb +148 -0
  110. data/lib/sisu/se.rb +158 -0
  111. data/lib/sisu/se_cleanoutput.rb +145 -0
  112. data/lib/sisu/se_clear.rb +105 -0
  113. data/lib/sisu/se_createsite.rb +273 -0
  114. data/lib/sisu/se_css.rb +221 -0
  115. data/lib/sisu/se_date.rb +92 -0
  116. data/lib/sisu/se_db.rb +214 -0
  117. data/lib/sisu/se_envcall.rb +326 -0
  118. data/lib/sisu/se_file_op.rb +2758 -0
  119. data/lib/sisu/se_filemap.rb +247 -0
  120. data/lib/sisu/se_get_init.rb +238 -0
  121. data/lib/sisu/se_hub_particulars.rb +234 -0
  122. data/lib/sisu/se_info_env.rb +2179 -0
  123. data/lib/sisu/se_info_port.rb +70 -0
  124. data/lib/sisu/se_info_system.rb +202 -0
  125. data/lib/sisu/se_load.rb +108 -0
  126. data/lib/sisu/se_processing.rb +659 -0
  127. data/lib/sisu/se_programs.rb +394 -0
  128. data/lib/sisu/se_remotes.rb +553 -0
  129. data/lib/sisu/se_standardise_lang.rb +176 -0
  130. data/lib/sisu/se_version.rb +174 -0
  131. data/lib/sisu/shared_images.rb +137 -0
  132. data/lib/sisu/shared_markup_alt.rb +336 -0
  133. data/lib/sisu/shared_metadata.rb +1361 -0
  134. data/lib/sisu/shared_sem.rb +156 -0
  135. data/lib/sisu/sisu_thor_lib.rb +407 -0
  136. data/lib/sisu/sitemaps.rb +224 -0
  137. data/lib/sisu/src_kdissert_share.rb +102 -0
  138. data/lib/sisu/src_po4a_share.rb +309 -0
  139. data/lib/sisu/src_po4a_shelf.rb +1217 -0
  140. data/lib/sisu/src_po4a_shelf_set.rb +297 -0
  141. data/lib/sisu/src_po4a_sst_ao_sst.rb +893 -0
  142. data/lib/sisu/src_po4a_sst_ao_sst_set.rb +284 -0
  143. data/lib/sisu/src_po4a_sstm.rb +135 -0
  144. data/lib/sisu/src_shared.rb +347 -0
  145. data/lib/sisu/src_sisupod_make.rb +171 -0
  146. data/lib/sisu/src_sisupod_sstm.rb +109 -0
  147. data/lib/sisu/sst_convert_markup.rb +323 -0
  148. data/lib/sisu/sst_do_inline_footnotes.rb +440 -0
  149. data/lib/sisu/sst_from_xml.rb +178 -0
  150. data/lib/sisu/sst_identify_markup.rb +482 -0
  151. data/lib/sisu/sst_to_s_xml_sax.rb +471 -0
  152. data/lib/sisu/termsheet.rb +163 -0
  153. data/lib/sisu/texinfo.rb +430 -0
  154. data/lib/sisu/texinfo_format.rb +541 -0
  155. data/lib/sisu/texpdf.rb +1162 -0
  156. data/lib/sisu/texpdf_format.rb +1689 -0
  157. data/lib/sisu/texpdf_parts.rb +235 -0
  158. data/lib/sisu/txt_asciidoc.rb +354 -0
  159. data/lib/sisu/txt_asciidoc_decorate.rb +207 -0
  160. data/lib/sisu/txt_markdown.rb +389 -0
  161. data/lib/sisu/txt_markdown_decorate.rb +207 -0
  162. data/lib/sisu/txt_orgmode.rb +376 -0
  163. data/lib/sisu/txt_orgmode_decorate.rb +186 -0
  164. data/lib/sisu/txt_output.rb +86 -0
  165. data/lib/sisu/txt_plain.rb +410 -0
  166. data/lib/sisu/txt_plain_decorate.rb +189 -0
  167. data/lib/sisu/txt_read.rb +109 -0
  168. data/lib/sisu/txt_rst.rb +371 -0
  169. data/lib/sisu/txt_rst_decorate.rb +186 -0
  170. data/lib/sisu/txt_shared.rb +241 -0
  171. data/lib/sisu/txt_textile.rb +367 -0
  172. data/lib/sisu/txt_textile_decorate.rb +186 -0
  173. data/lib/sisu/update.rb +141 -0
  174. data/lib/sisu/urls.rb +696 -0
  175. data/lib/sisu/utils.rb +232 -0
  176. data/lib/sisu/utils_composite.rb +115 -0
  177. data/lib/sisu/utils_response.rb +114 -0
  178. data/lib/sisu/utils_screen_text_color.rb +472 -0
  179. data/lib/sisu/utils_spell.rb +99 -0
  180. data/lib/sisu/webrick.rb +191 -0
  181. data/lib/sisu/wikispeak.rb +375 -0
  182. data/lib/sisu/xhtml.rb +472 -0
  183. data/lib/sisu/xhtml_epub2.rb +890 -0
  184. data/lib/sisu/xhtml_epub2_concordance.rb +322 -0
  185. data/lib/sisu/xhtml_epub2_format.rb +2272 -0
  186. data/lib/sisu/xhtml_epub2_persist.rb +278 -0
  187. data/lib/sisu/xhtml_epub2_segments.rb +599 -0
  188. data/lib/sisu/xhtml_epub2_tune.rb +330 -0
  189. data/lib/sisu/xhtml_parts.rb +183 -0
  190. data/lib/sisu/xhtml_shared.rb +62 -0
  191. data/lib/sisu/xhtml_table.rb +97 -0
  192. data/lib/sisu/xml_docbook5.rb +376 -0
  193. data/lib/sisu/xml_dom.rb +624 -0
  194. data/lib/sisu/xml_fictionbook2.rb +389 -0
  195. data/lib/sisu/xml_format.rb +865 -0
  196. data/lib/sisu/xml_md_oai_pmh_dc.rb +229 -0
  197. data/lib/sisu/xml_odf_odt.rb +887 -0
  198. data/lib/sisu/xml_odf_odt_format.rb +674 -0
  199. data/lib/sisu/xml_parts.rb +191 -0
  200. data/lib/sisu/xml_persist.rb +126 -0
  201. data/lib/sisu/xml_sax.rb +521 -0
  202. data/lib/sisu/xml_scaffold_structure_collapsed.rb +198 -0
  203. data/lib/sisu/xml_scaffold_structure_sisu.rb +201 -0
  204. data/lib/sisu/xml_shared.rb +665 -0
  205. data/lib/sisu/xml_tables.rb +261 -0
  206. data/lib/sisu/zap.rb +90 -0
  207. 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__