sisu 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,230 @@
1
+ # encoding: utf-8
2
+ =begin
3
+
4
+ * Name: SiSU
5
+
6
+ ** Description: documents, structuring, processing, publishing, search
7
+ *** html minitoc
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_minitoc.rb;hb=HEAD>
55
+
56
+ =end
57
+ module SiSU_HTML_MiniToc
58
+ require_relative 'html_tune' # html_tune.rb
59
+ include SiSU_HTML_Tune
60
+ class TocMini
61
+ @@seg_mini=nil
62
+ @@seg_url=''
63
+ @@firstseg=nil
64
+ def initialize(md,data)
65
+ @md,@data=md,data
66
+ @pat_strip_heading_name=/<a name="h?\d.*?">(.+?)<\/a>/
67
+ @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md
68
+ end
69
+ def songsheet
70
+ if (@md.opt.act[:verbose][:set]==:on \
71
+ || @md.opt.act[:verbose_plus][:set]==:on \
72
+ || @md.opt.act[:maintenance][:set]==:on)
73
+ SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set],'Toc').txt_grey
74
+ end
75
+ toc=nil
76
+ @toc=[]
77
+ @data.each do |txt|
78
+ if txt.is ==:heading \
79
+ || txt.is ==:heading_insert
80
+ txt.obj=txt.obj.gsub(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]}).+?(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m,''). #remove endnotes from toc
81
+ gsub(/<a name="-\d+" href="#_\d+">&nbsp;<sup>\d+<\/sup>&nbsp;<\/a>/,'').
82
+ gsub(@pat_strip_heading_name,'\1')
83
+ #gsub(/(.*?)<a name="(\d+)"><\/a>(.*)/,'\1') #2002w42 altered gsub - problematic? - suspect
84
+ toc=case txt.ln
85
+ when 0 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_0
86
+ when 1 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_1
87
+ when 2 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_2
88
+ when 3 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_3
89
+ when 4 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_4
90
+ when 5 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_5
91
+ when 6 then SiSU_HTML_MiniToc::TocMini.new(@md,txt).level_6
92
+ else
93
+ end
94
+ @toc << toc
95
+ end
96
+ end
97
+ @toc
98
+ end
99
+ protected
100
+ def level_concordance
101
+ format_head_toc=SiSU_HTML_Format::HeadToc.new(@md)
102
+ @@seg_mini << format_head_toc.mini_seg_concordance
103
+ end
104
+ def level_metadata
105
+ format_head_toc=SiSU_HTML_Format::HeadToc.new(@md)
106
+ @@seg_mini << format_head_toc.mini_seg_metadata
107
+ end
108
+ def level_word_index
109
+ format_head_toc=SiSU_HTML_Format::HeadToc.new(@d0c)
110
+ @@seg_mini << format_head_toc.mini_concordance
111
+ end
112
+ def level_0
113
+ txt=@data
114
+ if (txt.is ==:heading \
115
+ || txt.is ==:heading_insert) \
116
+ && txt.ocn !=0
117
+ txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
118
+ end
119
+ txt_obj={ txt: txt.obj }
120
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
121
+ toc_mini=format_toc.mini_lev0
122
+ toc_mini
123
+ end
124
+ def level_1
125
+ txt=@data
126
+ if (txt.is ==:heading \
127
+ || txt.is ==:heading_insert) \
128
+ && txt.ocn !=0
129
+ txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
130
+ end
131
+ title=unless txt.obj =~/Document Information/ then txt.obj
132
+ else
133
+ link='metadata'
134
+ %{<b><a href="#{link}#{@md.lang_code_insert}#{Sfx[:html]}">#{txt.obj}</a></b>}
135
+ end
136
+ txt_obj={ txt: title }
137
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
138
+ toc_mini=if txt.name =~/^meta/ \
139
+ and txt.obj=~/Document Information/
140
+ format_toc.mini_tail
141
+ else format_toc.mini_lev1
142
+ end
143
+ toc_mini
144
+ end
145
+ def level_2
146
+ txt=@data
147
+ if (txt.is ==:heading \
148
+ || txt.is ==:heading_insert) \
149
+ && txt.ocn !=0
150
+ txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
151
+ end
152
+ txt_obj={ txt: txt.obj }
153
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
154
+ toc_mini=format_toc.mini_lev2
155
+ toc_mini
156
+ end
157
+ def level_3
158
+ txt=@data
159
+ txt_obj={ txt: txt.obj }
160
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
161
+ toc_mini=format_toc.mini_lev3
162
+ toc_mini
163
+ end
164
+ def level_4
165
+ txt=@data
166
+ unless txt =~/~metadata/
167
+ if txt.ln ==4
168
+ fnh={
169
+ fn: txt.name,
170
+ }
171
+ f=@md.file.base_filename.html_seg(fnh)
172
+ seg_link=%{ <a href="#{f}" target="_top">
173
+ #{txt.obj}
174
+ </a> }
175
+ @@seg_url=txt.name
176
+ elsif txt.obj =~/\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+/
177
+ fn,hd=/^(\d+.\d+.\d+.\d+|\d+.\d+.\d+|\d+.\d+|\d+)(.*)/.match(dob.obj)[1,2]
178
+ fnh={
179
+ fn: fn,
180
+ }
181
+ f=@md.file.base_filename.html_seg(fnh)
182
+ seg_link=%{<a href="#{f}" target="_top">#{fn} #{hd}</a> }
183
+ end
184
+ txt_obj={ txt: seg_link }
185
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
186
+ toc_mini=format_toc.mini_lev4
187
+ toc_mini
188
+ end
189
+ end
190
+ def level_5
191
+ txt=@data
192
+ if (txt.is ==:heading \
193
+ || txt.is ==:heading_insert) \
194
+ && txt.ocn !=0
195
+ txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
196
+ end
197
+ fnh={
198
+ fn: @@seg_url,
199
+ }
200
+ f=@md.file.base_filename.html_seg(fnh)
201
+ lnk_n_txt=%{ <a href="#{f}##{txt.ocn}">
202
+ #{txt.obj}
203
+ </a>}
204
+ txt_obj={ txt: lnk_n_txt }
205
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
206
+ toc_mini=format_toc.mini_lev5
207
+ toc_mini
208
+ end
209
+ def level_6
210
+ txt=@data
211
+ if (txt.is ==:heading \
212
+ || txt.is ==:heading_insert) \
213
+ && txt.ocn !=0
214
+ txt.obj=txt.obj.gsub(@pat_strip_heading_name,'\1')
215
+ end
216
+ fnh={
217
+ fn: @@seg_url,
218
+ }
219
+ f=@md.file.base_filename.html_seg(fnh)
220
+ lnk_n_txt=%{ <a href="#{f}##{txt.ocn}">
221
+ #{txt.obj}
222
+ </a>}
223
+ txt_obj={ txt: lnk_n_txt }
224
+ format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
225
+ toc_mini=format_toc.mini_lev6
226
+ toc_mini
227
+ end
228
+ end
229
+ end
230
+ __END__
@@ -0,0 +1,437 @@
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_HTML
58
+ require_relative 'generic_parts' # generic_parts.rb
59
+ include SiSU_Parts_Generic
60
+ def the_line_break
61
+ '<br>'
62
+ end
63
+ def the_table_close
64
+ '</td></tr>
65
+ </table>'
66
+ end
67
+ def the_table_cellpad_box
68
+ '"20"'
69
+ end
70
+ def the_color
71
+ def white
72
+ '#ffffff'
73
+ end
74
+ def black
75
+ '#000000'
76
+ end
77
+ def grey_pale
78
+ '#eeeeee'
79
+ end
80
+ def grey_medium
81
+ '#cccccc'
82
+ end
83
+ def grey
84
+ '#999999'
85
+ end
86
+ def blue_ink
87
+ '#003399'
88
+ end
89
+ def blue_tinge
90
+ '#e3ecef'
91
+ end
92
+ def yellow_light
93
+ '#fff3b6'
94
+ end
95
+ def table1
96
+ 'ffffcc'
97
+ end
98
+ def table2
99
+ 'c0d0f0'
100
+ end
101
+ def band1
102
+ %{"#{white}"}
103
+ end
104
+ def band2
105
+ %{"#{white}"}
106
+ end
107
+ self
108
+ end
109
+ def the_url_decoration
110
+ #def tex_open #'{\UseTextSymbol{OML}{<}}'
111
+ # Dx[:url_o]
112
+ #end
113
+ #def tex_close #'{\UseTextSymbol{OML}{>}}'
114
+ # Dx[:url_c]
115
+ #end
116
+ def xml_open #'&lt;'
117
+ Dx[:url_o]
118
+ end
119
+ def xml_close #'&gt;'
120
+ Dx[:url_c]
121
+ end
122
+ def txt_open
123
+ '<'
124
+ end
125
+ def txt_close
126
+ '>'
127
+ end
128
+ self
129
+ end
130
+ def the_width
131
+ def table1
132
+ '"100%"'
133
+ end
134
+ def table2
135
+ '"99%"'
136
+ end
137
+ def table_txt
138
+ '"94%"'
139
+ end
140
+ def table_txt_r
141
+ '"96%"'
142
+ end
143
+ self
144
+ end
145
+ def the_png
146
+ def _url_path_image_base #used for html image display
147
+ "#{Xx[:html_relative2]}_sisu/image"
148
+ end
149
+ def ico
150
+ %{ <link rel="shortcut icon" href="../_sisu/image/#{the_icon.i_ico}" />}
151
+ end
152
+ def png_home
153
+ %{<img border="0" src="#{_url_path_image_base}/#{the_icon.home_button}" alt="#{the_text.home} --&gt;" />}
154
+ end
155
+ def png_home_button
156
+ rel=@dir.path_rel_links.html_scroll_2
157
+ %{<img border="0" src="#{rel}/#{the_icon.home_button}" alt="#{the_text.home} --&gt;" />}
158
+ end
159
+ self
160
+ end
161
+ def the_font
162
+ def set_fonts
163
+ 'verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman'
164
+ #'verdana, arial, georgia, tahoma, sans-serif, helvetica, "times new roman", times, roman'
165
+ end
166
+ def set_face
167
+ %{face="#{set_fonts}"}
168
+ end
169
+ def set_color
170
+ 'color="#000000"'
171
+ end
172
+ def set_size_endnote
173
+ 'size="3"'
174
+ end
175
+ def set_small
176
+ 'size="3"'
177
+ end
178
+ def set_tiny
179
+ 'size="2"'
180
+ end
181
+ def paragraph_font_tiny
182
+ %{<font #{set_tiny} #{set_face}>}
183
+ end
184
+ def paragraph_font_small
185
+ %{<font #{set_small} #{set_face}>}
186
+ end
187
+ self
188
+ end
189
+ def the_nav
190
+ def txt_homepage
191
+ %{ <font face="#{the_font.set_fonts}" size="2">
192
+ &nbsp;home&nbsp;
193
+ </font> }
194
+ end
195
+ def txt_toc_link
196
+ %{ <font face="#{the_font.set_fonts}" size="2">
197
+ &nbsp;&nbsp;toc&nbsp;
198
+ </font> }
199
+ end
200
+ def txt_doc_link
201
+ %{ <font face="#{the_font.set_fonts}" size="2">
202
+ &nbsp;scroll&nbsp;
203
+ </font> }
204
+ end
205
+ def txt_manifest
206
+ #{png_manifest}&nbsp;document&nbsp;manifest
207
+ %{ <font face="#{the_font.set_fonts}" size="2">
208
+ [&nbsp;document&nbsp;manifest&nbsp;]
209
+ </font> }
210
+ end
211
+ def txt_concordance
212
+ %{ <font face="#{the_font.set_fonts}" size="2">
213
+ &nbsp;&nbsp;A-Z&nbsp;
214
+ </font> }
215
+ end
216
+ self
217
+ end
218
+ def the_banner
219
+ def home_button_only
220
+ %{<a href="#{url.site}/">
221
+ #{the_png.png_home_button}
222
+ </a>}
223
+ end
224
+ def banner_band
225
+ %{<table summary="home button" width="100%" border="0" cellpadding="3" align="center">
226
+ <tr><td align="left" valign="middle">
227
+ <a href="#{url.site}/" target="_top">
228
+ #{the_png.png_home}
229
+ </a>
230
+ </td>
231
+ <td width="90%">
232
+ #{the_table_close}}
233
+ end
234
+ def instrument_cover_band_scr
235
+ '<table summary="scroll instrument cover band" width="100%" border="0" cellpadding="8" align="center">
236
+ <tr><td align="center">'
237
+ end
238
+ def instrument_cover_band_seg
239
+ '<table summary="segment instrument cover band, title, author, location" width="100%" border="0" cellpadding="8" align="center">
240
+ <tr><td align="center">'
241
+ end
242
+ self
243
+ end
244
+ def the_margin
245
+ def txt_0
246
+ %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center">
247
+ <tr><td width=#{indent_level_0} align="right">
248
+ </td><td valign="top" align="justify">}
249
+ end
250
+ def txt_1
251
+ %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center">
252
+ <tr><td width=#{indent_level_1} align="right"></td><td valign="top" align="justify">}
253
+ end
254
+ def txt_2
255
+ %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center">
256
+ <tr><td width=#{indent_level_2} align="right">
257
+ </td>
258
+ <td valign="top" align="justify">}
259
+ end
260
+ def txt_3
261
+ %{<table summary="" width=#{the_width.table_txt} border="0" cellpadding="2" align="center">
262
+ <tr><td width=#{indent_level_3} align="right">
263
+ </td>
264
+ <td valign="top" align="justify">}
265
+ end
266
+ def css
267
+ '<table summary="normal text css" width="100%" border="0" cellpadding="2" align="center">
268
+ <tr><td valign="top" align="justify"> '
269
+ end
270
+ def num
271
+ '</p> </td><td width="4%" align="right" valign="top">'
272
+ end
273
+ def numless
274
+ '</td><td width="4%" align="right" valign="top">'
275
+ end
276
+ def num_css
277
+ '</td>
278
+ <td width="2%" align="right" valign="top"> '
279
+ end
280
+ self
281
+ end
282
+ end
283
+ module SiSU_Proj_HTML
284
+ require_relative 'se' # se.rb
285
+ include SiSU_Env
286
+ #require_relative 'css' # css.rb
287
+ # include SiSU_Style
288
+ class Bits
289
+ include SiSU_Parts_HTML
290
+ def initialize
291
+ @v=SiSU_Env::InfoVersion.instance.get_version
292
+ #@dir=SiSU_Env::InfoEnv.new
293
+ #@date=SiSU_Env::InfoDate.new #{@date.year}
294
+ end
295
+ def txt_generator
296
+ %{ <meta name="generator" content="#{@v.project} #{@v.version} of #{@v.date_stamp} (#{@v.date}) (n*x and Ruby!)" />
297
+ <link rel="generator" href="http://www.sisudoc.org/" />}
298
+ end
299
+ def widget_sisu_text
300
+ <<WOK
301
+ <p class="tiny"><font color="#666666" size="2">
302
+ Output generated by
303
+ <a href="#{the_url.sisu}">
304
+ #{@v.project}
305
+ </a>
306
+ #{@v.version} #{@v.date} (#{@v.date_stamp})
307
+ </font></p>
308
+ WOK
309
+ end
310
+ def credits_sisu_manifest
311
+ widget_sisu_text
312
+ end
313
+ def widget_sisu
314
+ <<WOK
315
+ <!-- widget sisu -->
316
+ <tr><td valign="top" width="100%">
317
+ <!-- SiSU Rights -->
318
+ #{widget_sisu_text}
319
+ </td></tr>
320
+ WOK
321
+ end
322
+ def credits_sisu
323
+ %{<div class="substance">
324
+ <table summary="SiSU summary" cellpadding="4" border="0">
325
+ <tr><td>
326
+ #{widget_sisu}
327
+ </table></div>}
328
+ ''
329
+ end
330
+ def widget_promo # Array used to build promo from list.yml and promo.yml
331
+ # ['sisu_icon','sisu','sisu_search_libre','open_society','fsf','ruby']
332
+ end
333
+ end
334
+ class Home
335
+ def initialize
336
+ @v=SiSU_Env::InfoVersion.instance.get_version
337
+ @dir=SiSU_Env::InfoEnv.new
338
+ @date=SiSU_Env::InfoDate.new #{@date.year}
339
+ end
340
+ def redirect
341
+ <<WOK
342
+ <html><head>
343
+ <title>SiSU</title>
344
+ <meta http-equiv="refresh" content="0, url=http://www.sisudoc.org/sisu/SiSU/">
345
+ </head>
346
+ <body>
347
+ SiSU informtion provided at <a href="http://www.sisudoc.org/sisu/SiSU/">www.sisudoc.org/sisu/SiSU</a><p />
348
+ If your browser supports redirection, you will be escorted there shortly.
349
+ </body>
350
+ </html>
351
+ WOK
352
+ end
353
+ def homepage
354
+ <<WOK
355
+ <html xmlns="http://www.w3.org/1999/xhtml">
356
+ <head>
357
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
358
+ <title>SiSU information Structuring Universe - Structured information, Serialized Units - software for electronic texts, documents, books, digital libraries in plaintext, HTML, EPUB, XHTML, XML, ODF (OpenDocument), LaTeX, PDF, SQL (PostgreSQL and SQLite), and for search</title>
359
+ <meta name="dc.title" content="SiSU - SiSU information Structuring Universe, Structured information Serialised Units, #{@date.year_static}" />
360
+ <meta name="dc.creator" content="Ralph Amissah" />
361
+ <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, EPUB, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />
362
+ <meta name="dc.publisher" content= "SiSU http://www.sisudoc.org/" />
363
+ <meta name="dc.language" content="en" />
364
+ <meta name="dc.rights" content="Copyright Ralph Amissah" />
365
+ <meta name="generator" content="#{@v.project} #{@v.version} of #{@v.date_stamp} (#{@v.date}) (n*x and Ruby!)" />
366
+ <link rel="generator" href="http://www.sisudoc.org/" />
367
+ <link rel="stylesheet" href="./#{@dir.path.style}/harvest.css" type="text/css" />
368
+ <link rel="shortcut icon" href="./_sisu/image/rb7.ico" />
369
+ </head>
370
+
371
+ <body lang="en" xml:lang="en">
372
+ <a name="top" id="top"></a>
373
+ <a name="up" id="up"></a>
374
+ <a name="start" id="start"></a>
375
+
376
+ <h1>SiSU</h1>
377
+ <p>
378
+ [<a href="http://sisudoc.org/sisu_manual/en/html/sisu/toc.html">Manual</a>]
379
+ </p>
380
+ <p>
381
+ [<a href="http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary">Source</a>]
382
+ [<a href="http://lists.sisudoc.org/listinfo/sisu">List Info (sisu@lists.sisudoc.org)</a>]
383
+ </p>
384
+
385
+ <h1>SiSU Markup Samples</h1>
386
+ <p>
387
+ [<a href="http://git.sisudoc.org/gitweb/?p=doc/sisu-markup-samples.git;a=summary">Source</a>]
388
+ [<a href="http://sisudoc.org/sisu_markup_samples.html">Output</a>]
389
+ </p>
390
+
391
+ <hr />
392
+
393
+ <h2 class="top_band_tiny">
394
+ Structured information, Serialized Units
395
+ &nbsp;&nbsp;
396
+ <a href="http://www.sisudoc.org" target="_top">
397
+ &lt;www.sisudoc.org&gt;
398
+ </a>
399
+ &nbsp;&nbsp;or&nbsp;&nbsp;
400
+ <a href="http://www.jus.uio.no/sisu/" target="_top">
401
+ &lt;www.jus.uio.no/sisu/&gt;
402
+ </a>
403
+ software for electronic texts, document collections, books, digital libraries &amp; search, with "atomic search" &amp; text locating system (shared object citation numbering: "<i>ocn</i>").
404
+ Outputs include: plaintext, HTML, EPUB, ODT (OpenDocumentText), (XHTML, XML,) LaTeX, PDF, SQL (PostgreSQL and SQLite).
405
+ </h2>
406
+ <p class="small">
407
+ <a href="mailto:sisu@lists.sisudoc.org">
408
+ &lt;sisu@lists.sisudoc.org&gt;
409
+ </a>
410
+ <a href="http://lists.sisudoc.org/listinfo/sisu">
411
+ &lt;http://lists.sisudoc.org/listinfo/sisu&gt;
412
+ </a>
413
+ </p>
414
+ <p class="small">
415
+ <a href="mailto:ralph@amissah.com">
416
+ &lt;ralph@amissah.com&gt;
417
+ </a>
418
+ <a href="mailto:ralph.amissah@gmail.com">
419
+ &lt;ralph.amissah@gmail.com&gt;
420
+ </a>
421
+ </p>
422
+ <p class="tiny">
423
+ #{@v.project} #{@v.version} of #{@v.date_stamp} (#{@v.date}) (n*x and Ruby!), #{@date.year_static}.
424
+ </p>
425
+ <p class="tiny">
426
+ w3 since October 3 1993.
427
+ </p>
428
+ </body>
429
+ </html>
430
+ WOK
431
+ end
432
+ def home_toc
433
+ ' '
434
+ end
435
+ end
436
+ end
437
+ __END__