diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sisu/v1/sysenv.rb | 4 | ||||
-rw-r--r-- | lib/sisu/v2/concordance.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v2/constants.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v2/css.rb | 5 | ||||
-rw-r--r-- | lib/sisu/v2/dal_syntax.rb | 4 | ||||
-rw-r--r-- | lib/sisu/v2/db_import.rb | 3 | ||||
-rw-r--r-- | lib/sisu/v2/defaults.rb | 14 | ||||
-rw-r--r-- | lib/sisu/v2/epub_format.rb | 5 | ||||
-rw-r--r-- | lib/sisu/v2/epub_tune.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v2/html_promo.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v2/html_tune.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v2/manifest.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v2/manpage.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v2/odf.rb | 27 | ||||
-rw-r--r-- | lib/sisu/v2/plaintext.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v2/shared_html_lite.rb | 6 | ||||
-rw-r--r-- | lib/sisu/v2/shared_xml.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v2/sysenv.rb | 12 | ||||
-rw-r--r-- | lib/sisu/v2/texpdf.rb | 53 | ||||
-rw-r--r-- | lib/sisu/v2/texpdf_format.rb | 9 | ||||
-rw-r--r-- | lib/sisu/v2/urls.rb | 9 |
21 files changed, 98 insertions, 67 deletions
diff --git a/lib/sisu/v1/sysenv.rb b/lib/sisu/v1/sysenv.rb index a55b03cc..519c0f9f 100644 --- a/lib/sisu/v1/sysenv.rb +++ b/lib/sisu/v1/sysenv.rb @@ -2648,10 +2648,10 @@ WOK def get_version @version={} @pwd=ENV['PWD'] - yst_etc="#{defaults[:sisu_etc]}/#{SiSU_version_dir}/version.yml" + yst_ver="#{defaults[:sisu_share]}/#{SiSU_version_dir}/v/version.yml" lib_path=@@lib_path ? @@lib_path : `echo $RUBYLIB`.split(':') @@lib_path ||=lib_path - if File.exist?(yst_etc); @version=YAML::load(File::open(yst_etc)) #unless @@noyaml + if File.exist?(yst_ver); @version=YAML::load(File::open(yst_ver)) #unless @@noyaml end @version end diff --git a/lib/sisu/v2/concordance.rb b/lib/sisu/v2/concordance.rb index 03635cd0..20ab8efa 100644 --- a/lib/sisu/v2/concordance.rb +++ b/lib/sisu/v2/concordance.rb @@ -331,7 +331,7 @@ WOK # special cases endnotes and header levels 1 - 3 end credits=@vz.credits_sisu - @file_concordance << %{</div><div class="content">#{credits}<div></body>\n</html>} # footer + @file_concordance << %{</div></body>\n</html>} # footer SiSU_Screen::Ansi.new(@md.cmd,@md.fns,"#{@env.path.output_tell}/#{@md.fn[:concordance]}").flow if @md.cmd =~/[MV]/ end end diff --git a/lib/sisu/v2/constants.rb b/lib/sisu/v2/constants.rb index 363bc65a..7fe795da 100644 --- a/lib/sisu/v2/constants.rb +++ b/lib/sisu/v2/constants.rb @@ -84,6 +84,7 @@ Mx[:fa_strike_o]= "#{Mx[:fa_o]}del#{Mx[:fa_o_c]}"; Mx[:fa_strike_c]= " Mx[:fa_superscript_o]="#{Mx[:fa_o]}sup#{Mx[:fa_o_c]}"; Mx[:fa_superscript_c]="#{Mx[:fa_c_o]}sup#{Mx[:fa_c]}" Mx[:fa_subscript_o]= "#{Mx[:fa_o]}sub#{Mx[:fa_o_c]}"; Mx[:fa_subscript_c]= "#{Mx[:fa_c_o]}sub#{Mx[:fa_c]}" Mx[:fa_hilite_o]= "#{Mx[:fa_o]}hi#{Mx[:fa_o_c]}"; Mx[:fa_hilite_c]= "#{Mx[:fa_c_o]}hi#{Mx[:fa_c]}" +Mx[:fa_monospace_o]= "#{Mx[:fa_o]}mono#{Mx[:fa_o_c]}"; Mx[:fa_monospace_c]= "#{Mx[:fa_c_o]}mono#{Mx[:fa_c]}" Mx[:gl_bullet]= "#{Mx[:gl_o]}●#{Mx[:gl_c]}" Mx[:pa_non_object_dummy_heading]="#{Mx[:pa_o]}-##{Mx[:pa_c]}" #unnumbered paragraph, delete when not required [used in dummy headings, eg. for segmented html] (place marker at end of paragraph) Mx[:pa_non_object_no_heading]="#{Mx[:pa_o]}~##{Mx[:pa_c]}" #unnumbered paragraph (place marker at end of paragraph) @@ -125,6 +126,7 @@ Px[:strike_o]= '-'; Px[:strike_c]= '-' Px[:superscript_o]='^'; Px[:superscript_c]='^' Px[:subscript_o]= '['; Px[:subscript_c]= ']' Px[:hilite_o]= '*'; Px[:hilite_c]= '*' +Px[:monospace_o]= ''; Px[:monospace_c]= '' Px[:lv1]= '*' Px[:lv2]= '=' Px[:lv3]= '=' diff --git a/lib/sisu/v2/css.rb b/lib/sisu/v2/css.rb index f088c44e..38913431 100644 --- a/lib/sisu/v2/css.rb +++ b/lib/sisu/v2/css.rb @@ -605,6 +605,11 @@ WOK background: #880000; } + tt { + font-family: inconsolata, andale mono, courier new, courier, monospace; + background-color: #eeeeee; + } + label.ocn { width: 2%; float: right; diff --git a/lib/sisu/v2/dal_syntax.rb b/lib/sisu/v2/dal_syntax.rb index 5e04730f..713bc886 100644 --- a/lib/sisu/v2/dal_syntax.rb +++ b/lib/sisu/v2/dal_syntax.rb @@ -253,6 +253,8 @@ module SiSU_Syntax "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}") #subscript dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)6\{(.+?)\}6/, "\\1#{Mx[:fa_subscript_o]}\\2#{Mx[:fa_subscript_c]}") #subscript + dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)#\{(.+?)\}#/, + "\\1#{Mx[:fa_monospace_o]}\\2#{Mx[:fa_monospace_c]}") #monospace text dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)\+\{(.+?)\}\+/, "\\1#{Mx[:fa_insert_o]}\\2#{Mx[:fa_insert_c]}") #inserted text dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s+|['"]|#{Mx[:nbsp]}|#{Mx[:fa_o_c]}|#{Mx[:fa_c]}|\(|\>)v\{(.+?)\}v/, @@ -288,6 +290,7 @@ module SiSU_Syntax # ,{subscript}, <sub>subscript</sub> # +{inserted text}+ <ins>inserted text</ins> # -{deleted text}- <del>deleted text</del> + # #{monospace text}# # # {url address}:url # {image.png}imageurl @@ -447,6 +450,7 @@ module SiSU_Syntax # ,{subscript}, <sub>subscript</sub> # +{inserted text}+ <ins>inserted text</ins> # -{deleted text}- <del>deleted text</del> + # #{monospace text}# # {url address}:url # {image.png}imageurl # {image.png}png diff --git a/lib/sisu/v2/db_import.rb b/lib/sisu/v2/db_import.rb index 3b5c1cc9..4237757f 100644 --- a/lib/sisu/v2/db_import.rb +++ b/lib/sisu/v2/db_import.rb @@ -250,6 +250,7 @@ module SiSU_DB_import data.obj.gsub!(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'\1') data.obj.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'\1') data.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\1') + data.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1') data.obj.gsub!(/#{Mx[:gl_o]}(●)#{Mx[:gl_c]}\s*/,'\1 ') data.obj.gsub!(/#{Mx[:tag_o]}\S+?#{Mx[:tag_c]}/,'') #check @col[:seg]=@@seg @@ -384,6 +385,8 @@ module SiSU_DB_import @en_a_plus,@en_z_plus=@en_pls[0].first,@en_pls[0].last if @en_pls[0] @col[:body]=if data.is=='table' SiSU_Format_Shared::CSS_Format.new(@md,data).html_table + elsif data.is=='code' + SiSU_Format_Shared::CSS_Format.new(@md,data).code elsif defined? data.indent and data.indent =~/[1-9]/ SiSU_Format_Shared::CSS_Format.new(@md,data).indent(data.indent) else diff --git a/lib/sisu/v2/defaults.rb b/lib/sisu/v2/defaults.rb index 849c430c..09a9808b 100644 --- a/lib/sisu/v2/defaults.rb +++ b/lib/sisu/v2/defaults.rb @@ -1649,7 +1649,7 @@ WOK </font> #{table_close*4}} end - def credits_sisu + def credits_sisu_manifest %{<div class="substance"> <table summary="SiSU summary" bgcolor="#ffffff" cellpadding="4" border="0"> <tr><td> @@ -1657,12 +1657,22 @@ WOK #{widget_way_better} </table></div>} end + def credits_sisu + x=%{<div class="substance"> +<table summary="SiSU summary" bgcolor="#ffffff" cellpadding="4" border="0"> +<tr><td> + #{widget_sisu} + #{widget_way_better} +</table></div>} + '' + end def credits_splash end def credits_sisu_epub - %{<div class="substance"> + x=%{<div class="substance"> <p class="center"><a href="http://www.openebook.org"><b>EPUB</b></a> generated by <a href="http://www.sisudoc.org"><b>#{@v[:project]}</b></a> v#{@v[:version]}, GPL3</p> </div>} + '' end #% bottom def bottom_surround diff --git a/lib/sisu/v2/epub_format.rb b/lib/sisu/v2/epub_format.rb index 498912a3..6bbbd668 100644 --- a/lib/sisu/v2/epub_format.rb +++ b/lib/sisu/v2/epub_format.rb @@ -398,6 +398,11 @@ module SiSU_EPUB_Format background: #880000; } + tt { + font-family: inconsolata, andale mono, courier new, courier, monospace; + background-color: #eeeeee; + } + label.ocn { width: 2%; float: right; diff --git a/lib/sisu/v2/epub_tune.rb b/lib/sisu/v2/epub_tune.rb index 035a453b..5da82392 100644 --- a/lib/sisu/v2/epub_tune.rb +++ b/lib/sisu/v2/epub_tune.rb @@ -244,6 +244,7 @@ module SiSU_EPUB_Tune dob.obj.gsub!(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>') dob.obj.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>') dob.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>') + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>') # tt, kbd dob.obj.gsub!(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'') dob.obj.gsub!(/^#{Mx[:gl_bullet]}/m,'● ') dob.obj.gsub!(/#{Mx[:nbsp]}/,' ') diff --git a/lib/sisu/v2/html_promo.rb b/lib/sisu/v2/html_promo.rb index 0b3e500a..290e74f2 100644 --- a/lib/sisu/v2/html_promo.rb +++ b/lib/sisu/v2/html_promo.rb @@ -163,7 +163,7 @@ module SiSU_HTML_promo end form=if action \ and db - 'SiSU search:<br />' + @env.widget.search_form('sisusearch',action,db,table) + @env.widget.search_form('sisusearch',action,db,table) else '' end end diff --git a/lib/sisu/v2/html_tune.rb b/lib/sisu/v2/html_tune.rb index 11b1dbde..d5f3f35e 100644 --- a/lib/sisu/v2/html_tune.rb +++ b/lib/sisu/v2/html_tune.rb @@ -240,6 +240,7 @@ module SiSU_HTML_Tune dob.obj.gsub!(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>') dob.obj.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>') dob.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>') + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>') # tt, kbd dob.obj.gsub!(/#{Mx[:mk_o]}:name#(\S+?)#{Mx[:mk_c]}/,'<a name="\1"></a>') dob.obj.gsub!(/^#{Mx[:gl_bullet]}/m,'● ') dob.obj.gsub!(/#{Mx[:nbsp]}/,' ') diff --git a/lib/sisu/v2/manifest.rb b/lib/sisu/v2/manifest.rb index c8dd3753..7be18b19 100644 --- a/lib/sisu/v2/manifest.rb +++ b/lib/sisu/v2/manifest.rb @@ -677,7 +677,7 @@ WOK </table> </div> <div class="main_column"> -#{vz.credits_sisu} +#{vz.credits_sisu_manifest} </div> </body> </html> diff --git a/lib/sisu/v2/manpage.rb b/lib/sisu/v2/manpage.rb index 48b22fd3..2d13793b 100644 --- a/lib/sisu/v2/manpage.rb +++ b/lib/sisu/v2/manpage.rb @@ -274,6 +274,7 @@ WOK dob.obj.gsub!(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'++\1++') dob.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'--\1--') dob.obj.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'"\1"') + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'\1') dob.obj.gsub!(/\A\s*#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}#{Mx[:br_line]}/m,"#{Mx[:br_line]}.I \\1#{Mx[:br_line]}") dob.obj.gsub!(/\s*#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/m,"#{Mx[:br_line]}.I \\1#{Mx[:br_line]}") dob.obj.gsub!(/\A\s*#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}#{Mx[:br_line]}/m,"#{Mx[:br_line]}.BI \\1#{Mx[:br_line]}") diff --git a/lib/sisu/v2/odf.rb b/lib/sisu/v2/odf.rb index 4eabbba5..2c0e206b 100644 --- a/lib/sisu/v2/odf.rb +++ b/lib/sisu/v2/odf.rb @@ -392,7 +392,7 @@ module SiSU_ODF parablock.gsub!(/^\s*$/,'<br />') parablock.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/, '<text:a xlink:type="simple" xlink:href="\1">\1</text:a>') #http ftp matches escaped, no decoration - parray << %{<text:p text:style-name="P5">#{parablock}</text:p>} if parablock =~/\S+/ + parray << %{<text:p text:style-name="P20">#{parablock}</text:p>} if parablock =~/\S+/ end dob.obj=parray.join + '<text:p text:style-name="Standard"/>' end @@ -485,14 +485,22 @@ module SiSU_ODF dob.obj end dob.obj.gsub!(/#{Mx[:br_line]}/,'<br />') - dob.obj.gsub!(/#{Mx[:br_page]}|#{Mx[:br_page_new]}/,'<text:p text:style-name="P8"> </text:p>') + dob.obj.gsub!(/#{Mx[:br_page]}|#{Mx[:br_page_new]}/, + '<text:p text:style-name="P8"> </text:p>') dob.obj.gsub!(/©/,'©') #too arbitrary dob.obj.gsub!(/.+?<-#>/,'') # remove dummy headings (used by html) #check - dob.obj.gsub!(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/,'<text:span text:style-name="T1">\1</text:span>') - dob.obj.gsub!(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/,'<text:span text:style-name="T2">\1</text:span>') - dob.obj.gsub!(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/,'<text:span text:style-name="T3">\1</text:span>') - dob.obj.gsub!(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'<text:span text:style-name="T4">\1</text:span>') - dob.obj.gsub!(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'<text:span text:style-name="T5">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, + '<text:span text:style-name="T1">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, + '<text:span text:style-name="T2">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, + '<text:span text:style-name="T3">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, + '<text:span text:style-name="T4">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, + '<text:span text:style-name="T5">\1</text:span>') + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + '<text:span text:style-name="T7">\1</text:span>') dob.obj.gsub!(//u,'-') dob.obj.gsub!(/ /u, ' ') # space identify dob.obj.gsub!(/ /u, ' ') # space identify @@ -557,7 +565,7 @@ module SiSU_ODF end @@odf[:head]<<%{<?xml version="1.0" encoding="UTF-8"?>#{@br}} + %{<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0"><office:scripts/>#{@br}} + - %{<office:font-face-decls><style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J', 'MS Mincho', 'HG Mincho J', 'HG Mincho L', 'HG Mincho', Mincho, 'MS PMincho', 'HG Mincho Light J', 'MS Gothic', 'HG Gothic J', 'HG Gothic B', 'HG Gothic', Gothic, 'MS PGothic', 'Andale Sans UI', 'Arial Unicode MS', 'Lucida Sans Unicode', Tahoma" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls>#{@br}} + + %{<office:font-face-decls><style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-adornments="Book" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Inconsolata" svg:font-family="Inconsolata" style:font-adornments="Regular" style:font-pitch="fixed"/><style:font-face style:name="Liberation Mono" svg:font-family="'Liberation Mono'" style:font-adornments="Regular" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="DejaVu Serif" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls>#{@br}} + %{<office:automatic-styles>#{@br}} + %{#{table}#{@br}} + %{<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + @@ -579,13 +587,14 @@ module SiSU_ODF %{<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="7cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + %{<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + %{<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + - + %{<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="9pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + %{<style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/></style:style>#{@br}} + %{<style:style style:name="T2" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/></style:style>#{@br}} + %{<style:style style:name="T3" style:family="text"><style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/></style:style>#{@br}} + %{<style:style style:name="T4" style:family="text"><style:text-properties style:text-position="super 58%"/></style:style>#{@br}} + %{<style:style style:name="T5" style:family="text"><style:text-properties style:text-position="sub 58%"/></style:style>#{@br}} + %{<style:style style:name="T6" style:family="text"><style:text-properties style:font-name="Courier 10 Pitch" fo:font-size="12pt"/></style:style>#{@br}} + + %{<style:style style:name="T7" style:family="text"><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="10pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + %{<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics"><style:graphic-properties style:wrap="none" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/></style:style>#{@br}} + %{<style:style style:name="gr1" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + %{<style:style style:name="gr2" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + diff --git a/lib/sisu/v2/plaintext.rb b/lib/sisu/v2/plaintext.rb index 4acdec93..bc83702b 100644 --- a/lib/sisu/v2/plaintext.rb +++ b/lib/sisu/v2/plaintext.rb @@ -298,6 +298,8 @@ WOK "#{Px[:cite_o]}\\1#{Px[:cite_c]}") dob.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/, "#{Px[:strike_o]}\\1#{Px[:strike_c]}") + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, + "#{Px[:monospace_o]}\\1#{Px[:monospace_c]}") unless dob.is=='code' dob.obj.gsub!(/#{Mx[:lnk_o]}(.+?)#{Mx[:lnk_c]}#{Mx[:rel_o]}\S+?#{Mx[:rel_c]}/,'\1') dob.obj.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1') diff --git a/lib/sisu/v2/shared_html_lite.rb b/lib/sisu/v2/shared_html_lite.rb index bb27258c..02b4dcc2 100644 --- a/lib/sisu/v2/shared_html_lite.rb +++ b/lib/sisu/v2/shared_html_lite.rb @@ -147,6 +147,7 @@ module SiSU_Format_Shared s=s.gsub(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strke_c]}/,'-{\1}-') s=s.gsub(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,'<sup>\1</sup>') s=s.gsub(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,'<sub>\1</sub>') + s=s.gsub(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>') # tt, kbd s=s.gsub(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/i,'~') end def markup_object(t_o) @@ -225,6 +226,11 @@ GSUB h={:txt =>txt,:class =>'norm',:type =>'substantive',:id =>@ocn} tag_para(h) end + def code + txt=markup_object(@t_o) + h={:txt =>"<tt>#{txt}</tt>",:class =>'code',:type =>'substantive',:id =>@ocn} + tag_para(h) + end def indent(t) txt=markup_object(@t_o) h={:txt =>txt,:class =>"indent#{t}",:type =>'substantive',:id =>@ocn} diff --git a/lib/sisu/v2/shared_xml.rb b/lib/sisu/v2/shared_xml.rb index 4d504882..2fcab17e 100644 --- a/lib/sisu/v2/shared_xml.rb +++ b/lib/sisu/v2/shared_xml.rb @@ -357,6 +357,7 @@ module SiSU_XML_munge dob.obj.gsub!(/#{Mx[:fa_insert_o]}(.+?)#{Mx[:fa_insert_c]}/,'<ins>\1</ins>') dob.obj.gsub!(/#{Mx[:fa_cite_o]}(.+?)#{Mx[:fa_cite_c]}/,'<cite>\1</cite>') dob.obj.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'<del>\1</del>') + dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,'<tt>\1</tt>') dob.obj.gsub!(/<:pb>\s*/,'') #Fix dob.obj.gsub!(/<+[-~]#>+/,'') if dob.is !~/^code/ diff --git a/lib/sisu/v2/sysenv.rb b/lib/sisu/v2/sysenv.rb index 1727e630..3a532d65 100644 --- a/lib/sisu/v2/sysenv.rb +++ b/lib/sisu/v2/sysenv.rb @@ -1352,7 +1352,11 @@ WOK man_path=@@man_path=File.expand_path(@rc['webserv']['path']) else nil end - else manpath=@@man_path + else @@man_path + end + man_path_head=man_path.gsub(/(\S+)\/[^\/\s]+$/,'\1') + unless FileTest.directory?(man_path) + mkdir_p(man_path) if File.writable?("#{man_path_head}/.") end @webserv_path=if defined? man_path \ and File.writable?("#{man_path}/.") @@ -1977,7 +1981,7 @@ WOK elsif defined? @rc['program_select']['epub_viewer'] \ and @rc['program_select']['epub_viewer'] =~/\S\S+/ @rc['program_select']['epub_viewer'] - else 'calibre' #'calibre' 'fbreader' + else 'ebook-viewer' #'calibre' 'fbreader' end end def xml_viewer @@ -2665,10 +2669,10 @@ WOK def get_version @version={} @pwd=ENV['PWD'] - yst_etc="#{defaults[:sisu_etc]}/#{SiSU_version_dir}/version.yml" + yst_ver="#{defaults[:sisu_share]}/#{SiSU_version_dir}/v/version.yml" lib_path=@@lib_path ? @@lib_path : `echo $RUBYLIB`.split(':') @@lib_path ||=lib_path - if File.exist?(yst_etc); @version=YAML::load(File::open(yst_etc)) #unless @@noyaml + if File.exist?(yst_ver); @version=YAML::load(File::open(yst_ver)) #unless @@noyaml end @version end diff --git a/lib/sisu/v2/texpdf.rb b/lib/sisu/v2/texpdf.rb index b9d9e2c0..9aa82927 100644 --- a/lib/sisu/v2/texpdf.rb +++ b/lib/sisu/v2/texpdf.rb @@ -443,10 +443,10 @@ module SiSU_TeX dob.tmp = ocn \ + @tex_ml.paraskip_small \ + "\n" \ - + ' \\begin{scriptsize}' \ + + ' \\begin{Codeblock}' \ + "\n" \ + dob.tmp \ - + '\\end{scriptsize}' \ + + ' \\end{Codeblock}' \ + "\n" \ + @tex_ml.paraskip_normal dob @@ -502,7 +502,7 @@ module SiSU_TeX and dob.obj=~/Metadata\b/ h=tst.level4 metadata=Metadata::TeX_metadata.new(@md).metadata_tex - dob.tmp=h.tmp + ' ' + metadata.join(br) + dob.tmp=h.tmp + ' ' + '\begin{scriptsize}' + metadata.join(br) + '\end{scriptsize}' else dob.tmp='' # dob.tmp={:l =>'',:p =>''} end when 'para' @@ -566,6 +566,8 @@ module SiSU_TeX \\makeatother \\chardef\\txtbullet="2022 \\chardef\\tilde="7E +\\definecolor{Light}{gray}{.92} +\\newcommand{\\Codeblock}[1]{\\normaltext\\raggedright\\tiny\\ttfamily\\texbackslash#1} % \\sloppy \\begin{document} WOK @@ -591,19 +593,19 @@ WOK else "\n\\author{#{@copymark} \\textnormal{#{author}}}" end end - @tex_file << unless @md.fnb =~/^mail\s*$/; "\n\\date{\\begin{footnotesize} copy @ #{@tex_ml.site} \\end{footnotesize} #{sisu_rc_footnote}}" + @tex_file << unless @md.fnb =~/^mail\s*$/; "\n\\date{\\begin{footnotesize} copy @ #{@tex_ml.site} \\end{footnotesize}}" else "\\date" end @tex_file <<<<WOK \\pagenumbering{roman}\\maketitle \\pagestyle{fancy} WOK - @tex_file << "\\newpage\n" - @tex_file << @@rights if defined? @md.rights.all and @md.rights.all #if @orientation =~/landscape/ - @tex_file << @@prefix_b if defined? @md.creator.prefix_b and @md.creator.prefix_b - @tex_file << @tex_ml.sisu_rights - @tex_file << (@md.sc_info ? @tex_ml.doc_sc_info : @tex_ml.doc_no_sc_info) - @tex_file << @tex_ml.manifest_info + if defined? @md.rights.all \ + and @md.rights.all + @tex_file << "\\newpage\n" + @tex_file << @@rights + @tex_file << @@prefix_b if defined? @md.creator.prefix_b and @md.creator.prefix_b + end x={} x[:l] =<<WOK #{@tex_ml.newpage('landscape')} @@ -658,37 +660,6 @@ WOK end @tex_file << dob end - @tex_file << "\n\\newpage\n" # was \\pagebreak\n - # kludge ... look again later - @tex_file << if @md.doc_skin !~/skin_mail/; @tex_ml.doc_tail - else @tex_ml.mail_tail - end - if defined? @md.lnk \ - and @md.lnk - @md.lnk.each do |l| - if l[:say] - url=%<#{l[:url]}> - url.gsub!(/(?:\\)*([$&~%_#}{^])/,"\\\\\\1") #latex special chars - s_lnk=l[:say] - s_lnk.gsub!(/\s*(#{Mx[:br_line]}|#{Mx[:br_nl]}|#{Mx[:br_paragraph]})\s*/,' \newline ') - s_lnk.gsub!(/(?:\\)*([$&~%_#}{^])/,"\\\\\\1") #latex special chars - if url !~/^\.(\.)?\// - s_lnk_url=%<#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{url}}\\end{scriptsize}#{@brace_url.tex_close}> # note this bit of dereferencing magic - else - url.gsub!(/\.\.\//,'') - s_lnk_url="(#{@tex_ml.site}) \\\\\n" + ' ' + - '\begin{scriptsize}' + - %<\\url\{#{@vz.url_root_http}/#{url}\}> + # note this bit of dereferencing magic - "\\end{scriptsize}" - end - @tex_file << " #{s_lnk} \\\\\n #{s_lnk_url} \n" unless @md.doc_skin =~/skin_mail/ - s_lnk=s_lnk_url=nil - end - end - end - @tex_file << " #{@tex_ml.sitename} home: \\\\ -\\begin{bfseries}#{@tex_ml.site}\\end{bfseries} -" @st[:tex][:stmp]||=@md.stmpd stamp=@st[:tex][:stmp] if @st[:tex][:stmp] if stamp diff --git a/lib/sisu/v2/texpdf_format.rb b/lib/sisu/v2/texpdf_format.rb index ba615749..637271a0 100644 --- a/lib/sisu/v2/texpdf_format.rb +++ b/lib/sisu/v2/texpdf_format.rb @@ -213,12 +213,13 @@ module SiSU_TeX_Pdf dob.tmp.gsub!(/(?:\\begin\{bfseries\}|\\begin\{itshape\})(.+?)(?:\\end\{bfseries\}|\\end\{itshape\})/m,'\1') cont_ln=dob.tmp.dup cont_ln.gsub!(@@tex_pattern_margin_number,'') + clearp=(dob.lv =~/B/ && dob.obj =='Metadata') ? "\\clearpage\n" : '' if dob.tmp =~/\\[Ff]ootnote/ #and dob =~/^[1-6]#{Tex[:tilde]}/ # removing footnotes from headings! cont_ln.gsub!(/\s*\\footnote\[\d+\]\{%\n .+? \}\s*/,' ') cont_ln.gsub!(/\s*\\Footnote[A]\{[*+]+\d*\}\{%\n .+? \}\s*/,' ') end dob.tmp.gsub!(/^(.*)\n?$/m, - "\\part*{\\1} + "#{clearp}\\part*{\\1} \\addcontentsline{toc}{section}{#{cont_ln}} \\markboth{#{title}}\n") dob @@ -967,7 +968,10 @@ WOK w.gsub!(/[#{Mx[:br_line]}#{Mx[:br_paragraph]}]/,' \newline ') #watch w.gsub!(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'<=tilde>') #126 usual w.gsub!(/\\?\||#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'<=pipe>') #unless is=='code' #unless w=~/<~\d+;(?:[ohmu]|[0-6]:)\d+;\w\d+>/ # | SiSU not really special sisu character but done, also LaTeX - w.gsub!(/\#/,'<=hash>') unless w =~/#{Mx[:rel_o]}/ + if w !~/#{Mx[:rel_o]}/ \ + and w !~/#{Mx[:gl_o]}#/ + w.gsub!(/\#/,'<=hash>') + end para_array << w end str=para_array.join(' ') @@ -1060,6 +1064,7 @@ WOK str.gsub!(/#{Mx[:fa_strike_o]}(.+?)#{Mx[:fa_strike_c]}/,'\sout{\1}') # ulem str.gsub!(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/,"\$^{\\textrm{\\1}}\$") str.gsub!(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/,"\$_{\\textrm{\\1}}\$") + str.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/,' \monosp{ \1 } ') unless is=='code' str.gsub!(/"(.+?)"/,'“\1”') # quote marks / quotations open & close " need condition exclude for code str.gsub!(/\s+"/,' “') # open " diff --git a/lib/sisu/v2/urls.rb b/lib/sisu/v2/urls.rb index 56b93a78..1011eda4 100644 --- a/lib/sisu/v2/urls.rb +++ b/lib/sisu/v2/urls.rb @@ -114,6 +114,7 @@ module SiSU_urls 'P (Ruby profiler)'=>'profile', 's (sisu markup)'=>source, 'S (sisupod)'=>@fn[:sisupod], + 't (Plain-text (endnotes))'=>@fn[:plain], 'x (XML sax type)'=>@fn[:sax], 'X (XML dom type)'=>@fn[:dom], 'y (Manifest, html)'=>@fn[:manifest], @@ -129,8 +130,8 @@ module SiSU_urls end end def urls_maintenance(opt,x,y) - if x=~/^([abcehHmNopwxXy])/ \ - and opt.cmd =~/[abcehHmNopwxXy]/ \ + if x=~/^([abcehHmNoptwxXy])/ \ + and opt.cmd =~/[abcehHmNoptwxXy]/ \ and x=~/^[#{opt.cmd}]/ \ and opt.cmd =~/M/ m=$1 @@ -191,8 +192,8 @@ module SiSU_urls @u.each do |x,y| if @opt.fns =~ @m_regular if @opt.cmd =~/[MVv]/ - if x=~/^([abchHNopwxXyY])/ \ - and @opt.cmd=~/[abchHNopwxXyY]/ \ + if x=~/^([abchHNoptwxXyY])/ \ + and @opt.cmd=~/[abchHNoptwxXyY]/ \ and x=~/^[#{@opt.cmd}]/ m=$1 SiSU_Screen::Ansi.new(@opt.cmd,"-#{x}","#{@prog.web_browser} #{@env.url.output_tell}/#{@fnb}/#{y}").result |