aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v2/dal_doc_str.rb2
-rw-r--r--lib/sisu/v2/dal_substitutions_and_insertions.rb6
-rw-r--r--lib/sisu/v2/dal_syntax.rb8
-rw-r--r--lib/sisu/v2/epub_tune.rb7
-rw-r--r--lib/sisu/v2/help.rb25
-rw-r--r--lib/sisu/v2/html_tune.rb7
-rw-r--r--lib/sisu/v2/manpage.rb26
-rw-r--r--lib/sisu/v2/odf.rb10
-rw-r--r--lib/sisu/v2/param.rb12
-rw-r--r--lib/sisu/v2/shared_xml.rb2
-rw-r--r--lib/sisu/v2/texpdf_format.rb6
-rw-r--r--lib/sisu/v3/dal_doc_str.rb2
-rw-r--r--lib/sisu/v3/dal_substitutions_and_insertions.rb4
-rw-r--r--lib/sisu/v3/dal_syntax.rb6
-rw-r--r--lib/sisu/v3/epub_tune.rb5
-rw-r--r--lib/sisu/v3/help.rb19
-rw-r--r--lib/sisu/v3/html_tune.rb5
-rw-r--r--lib/sisu/v3/manpage.rb35
-rw-r--r--lib/sisu/v3/odf.rb12
-rw-r--r--lib/sisu/v3/param.rb91
-rw-r--r--lib/sisu/v3/shared_xml.rb2
-rw-r--r--lib/sisu/v3/texpdf_format.rb4
-rw-r--r--lib/sisu/v3/urls.rb2
23 files changed, 117 insertions, 181 deletions
diff --git a/lib/sisu/v2/dal_doc_str.rb b/lib/sisu/v2/dal_doc_str.rb
index bca3cf7d..56bf205f 100644
--- a/lib/sisu/v2/dal_doc_str.rb
+++ b/lib/sisu/v2/dal_doc_str.rb
@@ -330,7 +330,7 @@ module SiSU_document_structure_extract
sub_array=t_o.dup + "#{Mx[:br_nl]}"
@line_mode=sub_array.scan(/.+/)
@line_mode=[]
- sub_array.scan(/.+/) {|w| @line_mode << w if w =~/[\Ss]+/}
+ sub_array.scan(/.+/) {|w| @line_mode << w if w =~/[\S]+/}
t_o=SiSU_document_structure_extract::Build.new(@md,@line_mode).build_lines('code').join
@tuned_code << t_o
t_o=nil
diff --git a/lib/sisu/v2/dal_substitutions_and_insertions.rb b/lib/sisu/v2/dal_substitutions_and_insertions.rb
index e1326232..c598b990 100644
--- a/lib/sisu/v2/dal_substitutions_and_insertions.rb
+++ b/lib/sisu/v2/dal_substitutions_and_insertions.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -144,8 +144,8 @@ module SiSU_substitute_and_insert
para.gsub!(/^(:?A~)\s*$/,'\1~ @title @author') #conditional header
para.gsub!(/^((?:[1-9]|:?[A-C])~\S*)\s*$/,'\1~ [Note: heading marker::required title missing]~#') #conditional header for incorporated document 2004w12
if para =~/^@\S+?:/
- para.gsub!(/^@(\S+?):\s+/,"#{Mx[:meta_o]}\\1#{Mx[:meta_c]}")
- para.gsub!(/^@(\S+?):([+-])\s+/,"#{Mx[:meta_o]}\\1\\2#{Mx[:meta_c]}")
+ para.gsub!(/^@(\S+?):(\s+|$)/,"#{Mx[:meta_o]}\\1#{Mx[:meta_c]}\\2")
+ para.gsub!(/^@(\S+?):([+-])(\s+|$)/,"#{Mx[:meta_o]}\\1\\2#{Mx[:meta_c]}\\3")
end
end
end
diff --git a/lib/sisu/v2/dal_syntax.rb b/lib/sisu/v2/dal_syntax.rb
index 47c7f8d0..76287464 100644
--- a/lib/sisu/v2/dal_syntax.rb
+++ b/lib/sisu/v2/dal_syntax.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -327,7 +327,7 @@ module SiSU_Syntax
else dob.obj.gsub!(/^\s*(?:(by\s+)?(?:@creator|@author))\s*$/,'\1')
end
end
- dob.obj.gsub!(/<(https?:\/\/\S+?)>/,'< \1 >') #catch problem markup
+ dob.obj.gsub!(/<(https?:\/\/\S+?)>/,'< \1 >') #catch problem markup
dob.obj.gsub!(/<:=(\S+?)>/,'{ c_\1.png 14x14 }http://www.jus.uio.no/sisu') #adjustment 2005w30
dob.obj.gsub!(/<!(\S+)!>/,'<:\1>') #escaped special character
dob.obj.gsub!(/&nbsp;/,"#{Mx[:nbsp]}") #escaped special character
@@ -398,9 +398,10 @@ module SiSU_Syntax
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3") #any remaining linked text or image
dob.obj.gsub!(/\{\s*(.+?)\s*\}(#{Mx[:url_o]}\S+?#{Mx[:url_c]})/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #any remaining linked text or image
+ dob.obj.gsub!(/(^|\s)([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,"\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}")
dob.obj.gsub!(/(^|[ ])\{\s*(.+?)\s*\}(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
"\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4") #any remaining linked text or image
- dob.obj.gsub!(/\{\s*(.+?)\s*\}#(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
+ dob.obj.gsub!(/\{\s*(.+?)\s*\}#([a-zA-Z0-9][a-zA-Z0-9_-]*)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:rel_o]}\\2#{Mx[:rel_c]}\\3") #any remaining linked text or image, check need
dob.obj.gsub!(/\{\s*(.+?)\s*\}(#{Mx[:rel_o]}\S+?#{Mx[:rel_c]})/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #any remaining linked text or image, check need
@@ -409,7 +410,6 @@ module SiSU_Syntax
elsif dob.is=='table'
dob=fontface(dob)
elsif dob.is =='code'
-#p dob.obj
dob.obj.gsub!(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: ')
dob.obj.gsub!(/([<>])/,'_\1')
dob.obj.gsub!(/_<:(\S+?)_>/,'<:\1>') #convert <:\S+> back, clumsy
diff --git a/lib/sisu/v2/epub_tune.rb b/lib/sisu/v2/epub_tune.rb
index 10583936..9c9223a0 100644
--- a/lib/sisu/v2/epub_tune.rb
+++ b/lib/sisu/v2/epub_tune.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -349,11 +349,8 @@ module SiSU_EPUB_Tune
dob.obj.gsub!(/!new/,%{&nbsp;<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{@vz.icon_new}" alt="new" />})
dob.obj.gsub!(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>')
dob.obj.gsub!(/<:to(\d{1,7}?)>/,'<a href="#to\1">to&nbsp;{&nbsp;\1&nbsp;}</a> ')
- if dob.obj =~/\b\S+\@\S+?\.\S+/ \
- and dob.obj !~/(\"\S+\@\S+?\.\S+\"|>\S+\@\S+?\.\S+?<)/
- dob.obj.gsub!(/([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,'&lt;<a href="mailto:\1">\1</a>&gt;')
- end
dob.obj.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>') #http ftp matches escaped, no decoration
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration
if dob.obj =~/..\/\S+/ \
and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/
diff --git a/lib/sisu/v2/help.rb b/lib/sisu/v2/help.rb
index b07ab6ed..85bb898c 100644
--- a/lib/sisu/v2/help.rb
+++ b/lib/sisu/v2/help.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -1426,7 +1426,7 @@ WOK
sisu --help example
sample marked up documents are provided in directory:
- #{@cX.green}sisu-examples/sample/document_samples_sisu_markup/#{@cX.off}
+ #{@cX.green}/usr/share/doc/sisu/markup-samples#{@cX.off}
and online
#{@cX.green}www.jus.uio.no/sisu#{@cX.off}
WOK
@@ -1672,22 +1672,7 @@ WOK
def hyperestraier
out_dir='(' + `ls #{@env.path.webserv}`.split("\n").join('|') + ')'
print <<WOK
- See the documentation for hyperestraier
- #{@cX.blue}
- http://hyperestraier.sourceforge.net/
-
- file:///usr/share/doc/hyperestraier/index.html
- #{@cX.off} #{@cX.orange}
- man estcmd
- #{@cX.off}
-
- on sisu_hyperestraier:
-
- #{@cX.blue}
- man sisu_hyperestraier
-
- /usr/share/doc/sisu/sisu_markup/sisu_hyperestraier/index.html
- #{@cX.off}
+ Not tested recently, not up-to-date
NOTE: The examples that follow assume that sisu output is placed in the directory
/home/ralph/sisu_www
@@ -1784,7 +1769,7 @@ WOK
SiSU, a framework for document structuring, publishing and search
- Copyright (C) 1997 - 2010 Ralph Amissah
+ Copyright (C) 1997 - 2011 Ralph Amissah
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
@@ -1831,7 +1816,7 @@ WOK
* Standard SiSU meta-markup syntax, and the
* Standard SiSU object citation numbering and system
-© Ralph Amissah 1997, current 2010.
+© Ralph Amissah 1997, current 2011.
All Rights Reserved.
Information on these may be obtained from:
diff --git a/lib/sisu/v2/html_tune.rb b/lib/sisu/v2/html_tune.rb
index 9d3dce0b..99ce1b0f 100644
--- a/lib/sisu/v2/html_tune.rb
+++ b/lib/sisu/v2/html_tune.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -321,11 +321,8 @@ module SiSU_HTML_Tune
dob.obj.gsub!(/!new/,%{&nbsp;<img border="0" height="15" width="15" src="#{@env.url.images}/#{@vz.icon_new}" alt="new">})
dob.obj.gsub!(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>')
dob.obj.gsub!(/<:to(\d{1,7}?)>/,'<a href="#to\1">to&nbsp;{&nbsp;\1&nbsp;}</a> ')
- if dob.obj =~/\b\S+\@\S+?\.\S+/ \
- and dob.obj !~/(\"\S+\@\S+?\.\S+\"|>\S+\@\S+?\.\S+?<)/
- dob.obj.gsub!(/([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,'&lt;<a href="mailto:\1">\1</a>&gt;')
- end
dob.obj.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>') #http ftp matches escaped, no decoration
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration
if dob.obj =~/..\/\S+/ \
and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/
diff --git a/lib/sisu/v2/manpage.rb b/lib/sisu/v2/manpage.rb
index 18670e2a..a040f1a0 100644
--- a/lib/sisu/v2/manpage.rb
+++ b/lib/sisu/v2/manpage.rb
@@ -152,7 +152,7 @@ GSUB
)
end
@@endnotes[:para] << wrap
- @@endnotes[:end] << wrap << "\n.BR"
+ @@endnotes[:end] << wrap << "\n.br"
@@endnotes
end
end
@@ -176,16 +176,6 @@ Other versions of this document:
.TP
manifest: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:manifest]}>
.TP
-html: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:toc]}>
-.TP
-epub: <#{vz.url_root_http}/epub/#{@md.fnb}.epub>
-.TP
-pdf: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:pdf_p]}>
-.TP
-pdf: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:pdf_l]}>
-.\" .TP
-.\" manpage: #{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:manpage]}
-.TP
at: <#{vz.url_site}>
.TP
#{sc}
@@ -231,16 +221,16 @@ WOK
times=wrapped.length
times=78 if times > 78
@manpage[:body] << case lv
- when 1; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 2..3; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 4; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 5..6; '.SH ' << @br << wrapped.upcase << @br
+ when 1; '.SH ' << wrapped.upcase << @br << '.br'
+ when 2..3; '.SH ' << wrapped.upcase << @br << '.br'
+ when 4; '.SH ' << wrapped.upcase << @br << '.br'
+ when 5..6; '.SH ' << wrapped.upcase << @br
end
else
@manpage[:body] << if wrapped =~/^\.BI\s/ # main text, contents, body KEEP
'.TP' << @br << wrapped.gsub!(/^\.BI\s/,'.B ') # sleight ... simpler output
else
- '.BR' << @br << wrapped
+ '.br' << @br << wrapped
end
end
if @@endnotes[:para] \
@@ -308,12 +298,12 @@ WOK
if dob.is =='code'
dob.obj.gsub!(/(^|[^}])_([<>])/m,'\1\2') # _> _<
dob.obj.gsub!(/(^|[^}])_([<>])/m,'\1\2') # _<_<
- dob.obj.gsub!(/\A(.+)?\Z/m,"\n\n.nf\n\n\\1\n\n.fi\n\n") #dob.obj.gsub!(/\A/,"\n\n.nf\n\n"); #dob.obj.gsub!(/\Z/,"\n\n.fi\n\n") #bug, .fi repeats
+ dob.obj.gsub!(/\A(.+)?\Z/m,".nf\n\n\\1\n\n.fi")
end
else
dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n") #unless para =~/#{Mx[:lv_o]}\d:/ #watch introduces a bug
end
- dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n\n.BR\n\n") # watch
+ dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n\n.br\n\n") # watch
blit=dob.obj.scan(/\[[^\]]+\]|[^\[]+/)
blit_array=[]
blit.each do |x|
diff --git a/lib/sisu/v2/odf.rb b/lib/sisu/v2/odf.rb
index 2e2a88b4..b6ec4c1b 100644
--- a/lib/sisu/v2/odf.rb
+++ b/lib/sisu/v2/odf.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -291,10 +291,10 @@ module SiSU_ODF
def normal(dob) #P1 - P3
dob.obj.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
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,
- %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}) if dob.obj !~/https?:\/\// # improve upon, document crash where url contains '@' symbol
dob.obj= if dob.is=='para' and dob.indent.to_s =~/[0-9]/ # and t_o.bullet_==true
%{<text:p text:style-name="P1#{dob.indent}">#{dob.obj}</text:p>}
else %{<text:p text:style-name="P1">#{dob.obj}</text:p>}
@@ -372,10 +372,10 @@ module SiSU_ODF
parray=[]
dob.obj.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
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,
- %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}) if dob.obj !~/https?:\/\// # improve upon, document crash where url contains '@' symbol
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock|
parablock=group_clean(parablock)
parablock.gsub!(/&lt;text:a xlink:type="simple" xlink:href="(.+?)"&gt;/m,'<text:a xlink:type="simple" xlink:href="\1">')
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index 207154b0..655177a7 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -732,16 +732,14 @@ module SiSU_Param
end
end
if manpage['name']
- manpage['name']=manpage['name'].join("\n.BR\n")
- manpage['name'].gsub!(/(-)/m,"\\\\\\1")
- manpage['name'].gsub!(/\A/,"\n.SH NAME\n")
+ manpage['name']=manpage['name'].join("\n.br\n")
+ manpage['name'].gsub!(/\A/,"\n.br\n.SH NAME\n.br\n")
else
manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
end
if manpage['synopsis']
- manpage['synopsis']=manpage['synopsis'].join("\n\n.BR\n")
- manpage['synopsis'].gsub!(/(-)/m,"\\\\\\1")
- manpage['synopsis'].gsub!(/\A/,"\n.SH SYNOPSIS\n")
+ manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n")
+ manpage['synopsis'].gsub!(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n")
else
manpage['synopsis']=''
end
diff --git a/lib/sisu/v2/shared_xml.rb b/lib/sisu/v2/shared_xml.rb
index 2fcab17e..e82f51bf 100644
--- a/lib/sisu/v2/shared_xml.rb
+++ b/lib/sisu/v2/shared_xml.rb
@@ -398,6 +398,8 @@ module SiSU_XML_munge
if dob.of=='group'
dob.obj.gsub!(/#{Mx[:gl_bullet]}/,'● ')
end
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}\\1#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Dx[:url_o]}/,"#{Dx[:url_o_xml]}")
dob.obj.gsub!(/#{Dx[:url_c]}/,"#{Dx[:url_c_xml]}")
dob.obj.gsub!(/&nbsp;|#{Mx[:nbsp]}/m,'&#160;')
diff --git a/lib/sisu/v2/texpdf_format.rb b/lib/sisu/v2/texpdf_format.rb
index 732a903e..dbf0d095 100644
--- a/lib/sisu/v2/texpdf_format.rb
+++ b/lib/sisu/v2/texpdf_format.rb
@@ -7,7 +7,7 @@
* Author: Ralph Amissah
- * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved.
+ * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.
* License: GPL 3 or later:
@@ -65,6 +65,8 @@ module SiSU_TeX_Pdf
@brace_url=SiSU_Viz::Skin.new.url_decoration
end
def bare_urls
+ @dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ "#{@brace_url.tex_open}\\1</a>#{@brace_url.tex_close}")
@dob.tmp.gsub!(/(^|[^\\])_/m,'\1\_') #watch may not work
@dob.tmp.gsub!(/(^|[^#{Mx[:lnk_c]}])#{Mx[:url_o]}_?(?:\\?_)?(\S+?)#{Mx[:url_c]}/m,
"\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}")
@@ -970,7 +972,7 @@ WOK
para_array=[]
str=if word
word.each do |w| # _ - / # | : ! ^ ~
- if w !~/http:/ \
+ if w !~/https?:/ \
and w=~/\/\S+?\// \
and w.length > 6
w.gsub!(/([_.\/])/,'\1\-')
diff --git a/lib/sisu/v3/dal_doc_str.rb b/lib/sisu/v3/dal_doc_str.rb
index 365973eb..6ce77057 100644
--- a/lib/sisu/v3/dal_doc_str.rb
+++ b/lib/sisu/v3/dal_doc_str.rb
@@ -335,7 +335,7 @@ module SiSU_document_structure_extract
sub_array=t_o.dup + "#{Mx[:br_nl]}"
@line_mode=sub_array.scan(/.+/)
@line_mode=[]
- sub_array.scan(/.+/) {|w| @line_mode << w if w =~/[\Ss]+/}
+ sub_array.scan(/.+/) {|w| @line_mode << w if w =~/[\S]+/}
t_o=SiSU_document_structure_extract::Build.new(@md,@line_mode).build_lines('code').join
@tuned_code << t_o
t_o=nil
diff --git a/lib/sisu/v3/dal_substitutions_and_insertions.rb b/lib/sisu/v3/dal_substitutions_and_insertions.rb
index 84b58756..cf3309ec 100644
--- a/lib/sisu/v3/dal_substitutions_and_insertions.rb
+++ b/lib/sisu/v3/dal_substitutions_and_insertions.rb
@@ -144,8 +144,8 @@ module SiSU_substitute_and_insert
para.gsub!(/^(:?A~)\s*$/,'\1~ @title @author') #conditional header
para.gsub!(/^((?:[1-9]|:?[A-C])~\S*)\s*$/,'\1~ [Note: heading marker::required title missing]~#') #conditional header for incorporated document 2004w12
if para =~/^@\S+?:/
- para.gsub!(/^@(\S+?):\s+/,"#{Mx[:meta_o]}\\1#{Mx[:meta_c]}")
- para.gsub!(/^@(\S+?):([+-])\s+/,"#{Mx[:meta_o]}\\1\\2#{Mx[:meta_c]}")
+ para.gsub!(/^@(\S+?):(\s+|$)/,"#{Mx[:meta_o]}\\1#{Mx[:meta_c]}\\2")
+ para.gsub!(/^@(\S+?):([+-])(\s+|$)/,"#{Mx[:meta_o]}\\1\\2#{Mx[:meta_c]}\\3")
end
end
end
diff --git a/lib/sisu/v3/dal_syntax.rb b/lib/sisu/v3/dal_syntax.rb
index 2de931f6..2f6353bc 100644
--- a/lib/sisu/v3/dal_syntax.rb
+++ b/lib/sisu/v3/dal_syntax.rb
@@ -333,7 +333,7 @@ module SiSU_Syntax
end
end
end
- dob.obj.gsub!(/<(https?:\/\/\S+?)>/,'< \1 >') #catch problem markup
+ dob.obj.gsub!(/<(https?:\/\/\S+?)>/,'< \1 >') #catch problem markup
dob.obj.gsub!(/<:=(\S+?)>/,'{ c_\1.png 14x14 }http://www.jus.uio.no/sisu') #adjustment 2005w30
dob.obj.gsub!(/<!(\S+)!>/,'<:\1>') #escaped special character
dob.obj.gsub!(/&nbsp;/,"#{Mx[:nbsp]}") #escaped special character
@@ -404,9 +404,10 @@ module SiSU_Syntax
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:url_o]}\\2#{Mx[:url_c]}\\3") #any remaining linked text or image
dob.obj.gsub!(/\{\s*(.+?)\s*\}(#{Mx[:url_o]}\S+?#{Mx[:url_c]})/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #any remaining linked text or image
+ dob.obj.gsub!(/(^|\s)([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,"\\1#{Mx[:url_o]}\\2#{Mx[:url_c]}")
dob.obj.gsub!(/(^|[ ])\{\s*(.+?)\s*\}(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
"\\1#{Mx[:lnk_o]}\\2#{Mx[:lnk_c]}\\3\\4") #any remaining linked text or image
- dob.obj.gsub!(/\{\s*(.+?)\s*\}#(\S+?)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
+ dob.obj.gsub!(/\{\s*(.+?)\s*\}#([a-zA-Z0-9][a-zA-Z0-9_-]*)([;,.]?)(?=\s|[#{Mx[:br_line]}#{Mx[:br_paragraph]}#{Mx[:br_nl]}#{Mx[:en_a_o]}#{Mx[:en_b_o]}]|$)/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}#{Mx[:rel_o]}\\2#{Mx[:rel_c]}\\3") #any remaining linked text or image, check need
dob.obj.gsub!(/\{\s*(.+?)\s*\}(#{Mx[:rel_o]}\S+?#{Mx[:rel_c]})/,
"#{Mx[:lnk_o]}\\1#{Mx[:lnk_c]}\\2") #any remaining linked text or image, check need
@@ -415,7 +416,6 @@ module SiSU_Syntax
elsif dob.is=='table'
dob=fontface(dob)
elsif dob.is =='code'
-#p dob.obj
dob.obj.gsub!(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: ')
dob.obj.gsub!(/([<>])/,'_\1')
dob.obj.gsub!(/_<:(\S+?)_>/,'<:\1>') #convert <:\S+> back, clumsy
diff --git a/lib/sisu/v3/epub_tune.rb b/lib/sisu/v3/epub_tune.rb
index 746a112e..19453fc8 100644
--- a/lib/sisu/v3/epub_tune.rb
+++ b/lib/sisu/v3/epub_tune.rb
@@ -347,11 +347,8 @@ module SiSU_EPUB_Tune
dob.obj.gsub!(/!new/,%{&nbsp;<img border="0" height="15" width="15" src="#{@env.url.images_epub}/#{@vz.icon_new}" alt="new" />})
dob.obj.gsub!(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>')
dob.obj.gsub!(/<:to(\d{1,7}?)>/,'<a href="#to\1">to&nbsp;{&nbsp;\1&nbsp;}</a> ')
- if dob.obj =~/\b\S+\@\S+?\.\S+/ \
- and dob.obj !~/(\"\S+\@\S+?\.\S+\"|>\S+\@\S+?\.\S+?<)/
- dob.obj.gsub!(/([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,'&lt;<a href="mailto:\1">\1</a>&gt;')
- end
dob.obj.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>') #http ftp matches escaped, no decoration
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration
if dob.obj =~/..\/\S+/ \
and dob.obj !~/(\"..\/\S+?\"|>\s*..\/\S+<)/
diff --git a/lib/sisu/v3/help.rb b/lib/sisu/v3/help.rb
index a0d62644..477e93e9 100644
--- a/lib/sisu/v3/help.rb
+++ b/lib/sisu/v3/help.rb
@@ -1434,7 +1434,7 @@ WOK
sisu --help example
sample marked up documents are provided in directory:
- #{@cX.green}sisu-examples/sample/document_samples_sisu_markup/#{@cX.off}
+ #{@cX.green}/usr/share/doc/sisu/markup-samples#{@cX.off}
and online
#{@cX.green}www.jus.uio.no/sisu#{@cX.off}
WOK
@@ -1680,22 +1680,7 @@ WOK
def hyperestraier
out_dir='(' + `ls #{@env.path.webserv}`.split("\n").join('|') + ')'
print <<WOK
- See the documentation for hyperestraier
- #{@cX.blue}
- http://hyperestraier.sourceforge.net/
-
- file:///usr/share/doc/hyperestraier/index.html
- #{@cX.off} #{@cX.orange}
- man estcmd
- #{@cX.off}
-
- on sisu_hyperestraier:
-
- #{@cX.blue}
- man sisu_hyperestraier
-
- /usr/share/doc/sisu/sisu_markup/sisu_hyperestraier/index.html
- #{@cX.off}
+ Not tested recently, not up-to-date
NOTE: The examples that follow assume that sisu output is placed in the directory
/home/ralph/sisu_www
diff --git a/lib/sisu/v3/html_tune.rb b/lib/sisu/v3/html_tune.rb
index 18b4576b..5bbcdf6c 100644
--- a/lib/sisu/v3/html_tune.rb
+++ b/lib/sisu/v3/html_tune.rb
@@ -319,11 +319,8 @@ module SiSU_HTML_Tune
dob.obj.gsub!(/!new/,%{&nbsp;<img border="0" height="15" width="15" src="#{@env.url.images}/#{@vz.icon_new}" alt="new">})
dob.obj.gsub!(/<:h(.{1,7}?)>/,'<a href="#h\1">\1</a>')
dob.obj.gsub!(/<:to(\d{1,7}?)>/,'<a href="#to\1">to&nbsp;{&nbsp;\1&nbsp;}</a> ')
- if dob.obj =~/\b\S+\@\S+?\.\S+/ \
- and dob.obj !~/(\"\S+\@\S+?\.\S+\"|>\S+\@\S+?\.\S+?<)/
- dob.obj.gsub!(/([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)/,'&lt;<a href="mailto:\1">\1</a>&gt;')
- end
dob.obj.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'<a href="\1" target="_top">\1</a>') #http ftp matches escaped, no decoration
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="mailto:\\1">\\1</a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,%{#{@brace_url.xml_open}<a href="\\1" target="_top">\\1</a>#{@brace_url.xml_close}}) #http ftp matches with decoration
if dob.obj =~/#{Xx[:html_relative2]}\/\S+/ \
and dob.obj !~/(\"#{Xx[:html_relative2]}\/\S+?\"|>\s*#{Xx[:html_relative2]}\/\S+<)/
diff --git a/lib/sisu/v3/manpage.rb b/lib/sisu/v3/manpage.rb
index e4cb6906..362d9cda 100644
--- a/lib/sisu/v3/manpage.rb
+++ b/lib/sisu/v3/manpage.rb
@@ -84,10 +84,10 @@ module SiSU_Manpage
@env=SiSU_Env::Info_env.new(@opt.fns)
path=@env.path.output_tell
tool=(@opt.cmd =~/[MVv]/) \
- ? "#{@env.program.text_editor} #{path}/man/#{@md.fn[:manpage]}" \
+ ? "#{@env.program.text_editor} #{@md.file.output_path.manpage}/#{@md.file.base_filename.manpage}" \
: ''
SiSU_Screen::Ansi.new(@opt.cmd,'Manpage',tool).green_hi_blue unless @opt.cmd =~/q/
- SiSU_Screen::Ansi.new(@opt.cmd,@opt.fns,"#{@env.path.output_tell}/man/#{@md.fn[:manpage]}").flow if @opt.cmd =~/[MV]/
+ SiSU_Screen::Ansi.new(@opt.cmd,@opt.fns,"#{@md.file.output_path.manpage}/#{@md.file.base_filename.manpage}").flow if @opt.cmd =~/[MV]/
@dal_array=SiSU_DAL::Source.new(@opt).get # dal file drawn here
SiSU_Manpage::Source::Scroll.new(@md,@dal_array).songsheet
SiSU_Env::Info_skin.new(@md).select #watch
@@ -118,7 +118,7 @@ module SiSU_Manpage
def extract_endnotes(para='')
notes=para.scan(/(?:#{Mx[:en_a_o]}|#{Mx[:en_b_o]})([\d*+]+\s+.+?)\s*(?:#{Mx[:en_a_c]}|#{Mx[:en_b_c]})/m)
@n=[]
- notes.each do |n| #high cost to deal with <br> appropriately within manpage, consider
+ notes.flatten.each do |n| #high cost to deal with <br> appropriately within manpage, consider
n=n.dup.to_s
if n =~/#{Mx[:br_line]}/
fix = n.split(/\s*#{Mx[:br_line]}+\s*/) #watch #added
@@ -151,7 +151,7 @@ GSUB
)
end
@@endnotes[:para] << wrap
- @@endnotes[:end] << wrap << "\n.BR"
+ @@endnotes[:end] << wrap << "\n.br"
@@endnotes
end
end
@@ -175,16 +175,6 @@ Other versions of this document:
.TP
manifest: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:manifest]}>
.TP
-html: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:toc]}>
-.TP
-epub: <#{vz.url_root_http}/epub/#{@md.fnb}.epub>
-.TP
-pdf: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:pdf_p]}>
-.TP
-pdf: <#{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:pdf_l]}>
-.\" .TP
-.\" manpage: #{vz.url_root_http}/#{@md.fnb}/#{@md.fn[:manpage]}
-.TP
at: <#{vz.url_site}>
.TP
#{sc}
@@ -230,16 +220,16 @@ WOK
times=wrapped.length
times=78 if times > 78
@manpage[:body] << case lv
- when 1; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 2..3; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 4; '.SH ' << @br << wrapped.upcase << @br << '.BR'
- when 5..6; '.SH ' << @br << wrapped.upcase << @br
+ when 1; '.SH ' << wrapped.upcase << @br << '.br'
+ when 2..3; '.SH ' << wrapped.upcase << @br << '.br'
+ when 4; '.SH ' << wrapped.upcase << @br << '.br'
+ when 5..6; '.SH ' << wrapped.upcase << @br
end
else
@manpage[:body] << if wrapped =~/^\.BI\s/ # main text, contents, body KEEP
'.TP' << @br << wrapped.gsub!(/^\.BI\s/,'.B ') # sleight ... simpler output
else
- '.BR' << @br << wrapped
+ '.br' << @br << wrapped
end
end
if @@endnotes[:para] \
@@ -296,7 +286,8 @@ WOK
dob.obj.gsub!(/#{Mx[:gl_o]}#126#{Mx[:gl_c]}/,'~')
dob.obj.gsub!(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©')
else
- dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n") # watch
+ dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n") # watch
+ #dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n") # watch
end
dob.obj.gsub!(/(^|&nbsp;|#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*') #man page requires
dob.obj.gsub!(/┆/,'|')
@@ -307,12 +298,12 @@ WOK
if dob.is =='code'
dob.obj.gsub!(/(^|[^}])_([<>])/m,'\1\2') # _> _<
dob.obj.gsub!(/(^|[^}])_([<>])/m,'\1\2') # _<_<
- dob.obj.gsub!(/\A(.+)?\Z/m,"\n\n.nf\n\n\\1\n\n.fi\n\n") #dob.obj.gsub!(/\A/,"\n\n.nf\n\n"); #dob.obj.gsub!(/\Z/,"\n\n.fi\n\n") #bug, .fi repeats
+ dob.obj.gsub!(/\A(.+)?\Z/m,".nf\n\n\\1\n\n.fi")
end
else
dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n") #unless para =~/#{Mx[:lv_o]}\d:/ #watch introduces a bug
end
- dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n\n.BR\n\n") # watch
+ dob.obj.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/,"\n\n.br\n\n") # watch
blit=dob.obj.scan(/\[[^\]]+\]|[^\[]+/)
blit_array=[]
blit.each do |x|
diff --git a/lib/sisu/v3/odf.rb b/lib/sisu/v3/odf.rb
index 204f0e50..c14a6c91 100644
--- a/lib/sisu/v3/odf.rb
+++ b/lib/sisu/v3/odf.rb
@@ -294,10 +294,10 @@ module SiSU_ODF
def normal(dob,p_num='') #P1 - P3
dob.obj.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
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,
- %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}) if dob.obj !~/https?:\/\// # improve upon, document crash where url contains '@' symbol
dob.obj= if dob.is=='para' and dob.indent.to_s =~/[0-9]/ # and t_o.bullet_==true
%{<text:p text:style-name="P1#{dob.indent}">#{dob.obj}#{p_num}</text:p>}
else %{<text:p text:style-name="P1">#{dob.obj}#{p_num}</text:p>}
@@ -377,10 +377,10 @@ module SiSU_ODF
parray=[]
dob.obj.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
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,
- %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}) if dob.obj !~/https?:\/\// # improve upon, document crash where url contains '@' symbol
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock|
parablock=group_clean(parablock)
parablock.gsub!(/&lt;text:a xlink:type="simple" xlink:href="(.+?)"&gt;/m,'<text:a xlink:type="simple" xlink:href="\1">')
@@ -400,10 +400,10 @@ module SiSU_ODF
parray=[]
dob.obj.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
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Mx[:url_o]}(\S+?)#{Mx[:url_c]}/,
%{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="\\1">\\1</text:a>#{@brace_url.xml_close}}) #http ftp matches with decoration
- dob.obj.gsub!(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/,
- %{#{@brace_url.xml_open}<text:a xlink:type="simple" xlink:href="mailto:\\1">\\1</text:a>#{@brace_url.xml_close}}) if dob.obj !~/https?:\/\// # improve upon, document crash where url contains '@' symbol
dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock|
parablock=group_clean(parablock)
parablock.gsub!(/&lt;text:a xlink:type="simple" xlink:href="(.+?)"&gt;/m,'<text:a xlink:type="simple" xlink:href="\1">')
diff --git a/lib/sisu/v3/param.rb b/lib/sisu/v3/param.rb
index 9dfbc70f..9a11da8c 100644
--- a/lib/sisu/v3/param.rb
+++ b/lib/sisu/v3/param.rb
@@ -743,16 +743,14 @@ module SiSU_Param
end
end
if manpage['name']
- manpage['name']=manpage['name'].join("\n.BR\n")
- manpage['name'].gsub!(/(-)/m,"\\\\\\1")
- manpage['name'].gsub!(/\A/,"\n.SH NAME\n")
+ manpage['name']=manpage['name'].join("\n.br\n")
+ manpage['name'].gsub!(/\A/,"\n.br\n.SH NAME\n.br\n")
else
manpage['name']='man page "name/whatis" information not provided, set in header @man: name=[whatis information]'
end
if manpage['synopsis']
- manpage['synopsis']=manpage['synopsis'].join("\n\n.BR\n")
- manpage['synopsis'].gsub!(/(-)/m,"\\\\\\1")
- manpage['synopsis'].gsub!(/\A/,"\n.SH SYNOPSIS\n")
+ manpage['synopsis']=manpage['synopsis'].join("\n\n.br\n")
+ manpage['synopsis'].gsub!(/\A/,"\n.br\n.SH SYNOPSIS\n.br\n")
else
manpage['synopsis']=''
end
@@ -960,7 +958,7 @@ module SiSU_Param
SiSU_Screen::Ansi.new(@cmd,'SiSU filetype indicator not provided',mv).warn unless @cmd =~/q/
end
@code_flag=false
- fns_array.each do |para| #% Scan document
+ fns_array.each do |para| #% scan document
if para !~/^%+\s/ \
and para =~/<![abcdeghijklmnopqrstuvwxyz]/i # <!f not included
raise "Old markup style in file #{@fns}, current version #{@sisu_version[:project]} #{@sisu_version[:version]} #{@sisu_version[:date_stamp]} #{@sisu_version[:date]}:\n\t\t#{para}\n\n"
@@ -974,40 +972,46 @@ module SiSU_Param
if para =~regx_header \
and not @code_flag #or para=~/^(?:1|:?A)~/
case para
- when /^@ocn:\s+(.+?)$/m; @ocn=$1 #% processing
- when /^@title:(.+)/m #% metainfo DC
+ when /^@title:(.+)/m #% * header metadata - title
@title=Md.new($1.strip,@opt,@env).title
- when /^@creator:(.+)/m #% metainfo DC
+ when /^@creator:(.+)/m #% * header metadata - creator
@creator=Md.new($1.strip,@opt,@env).creator
@authorship=@author=@creator.author
@authors=@creator.author_detail
- when /^@classify:(.+)/m; classify=$1
- @classify=Md.new($1.strip,@opt,@env).classify
- when /^@publisher:\s+(.+)/m
+ when /^@date:(.+)/m #% * header metadata - date
+ @date=Md.new($1.strip,@opt,@env).date
+ when /^@publisher:\s+(.+)/m #% * header metadata - publisher
@publisher=Md.new($1.strip,@opt,@env).current_publisher
@current_publisher=@publisher
- when /^@original:(.+)/m
+ when /^@rights:(.+)/m; #% * header metadata - rights
+ @rights=Md.new($1.strip,@opt,@env).rights
+ when /^@classify:(.+)/m; classify=$1 #% * header metadata - classify
+ @classify=Md.new($1.strip,@opt,@env).classify
+ when /^@original:(.+)/m #% * header metadata - original (document)
@original=Md.new($1.strip,@opt,@env).original
@source=@original.source
- when /^@writing_focus[:.]nationality:\s+(.+?)$/; @writing_focus=$1 # e.g. Finland (where and article on Finnish law)
- when /^@date:(.+)/m #% metainfo DC
- @date=Md.new($1.strip,@opt,@env).date
- when /^@rights:(.+)/m; #@rights=$1.gsub(/<(?:\/\s*)?br(?:\s*\/)?>/,Mx[:br_line]) #% metainfo DC copyright, public domain, copyleft, creative commons, etc.
- @rights=Md.new($1.strip,@opt,@env).rights
- when /^@papersize:\s+(.+?)$/m #% metainfo DC
- l=$1
- if @mod.inspect !~/--papersize[=-]\S+/
- l=determine_papersize(l.dup)
- @papersize=l
+ when /^@notes?:\s(.+)\Z/m #% * header metadata - notes
+ @notes=Md.new($1.strip,@opt,@env).notes
+ when /^@links:\s+(.+?)\Z/m #% * header metadata - links
+ doc_links=Md.new($1.strip,@opt,@env).links
+ count=1
+ @links=[]
+ doc_links.each do |doc_link|
+ if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/
+ @links[count]={}
+ @links[count][:say],@links[count][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2]
+ count +=1
+ end
end
- when /^@make:(.+)/m #% metainfo DC
+ @lnk=@links
+ when /^@make:(.+)/m #% * header processing - make
@make=Md.new($1.strip,@opt,@env).make
if defined? @make.breaks \
- and @make.breaks[:page_new] #clearpage
+ and @make.breaks[:page_new] #clearpage
@pagenew=@make.breaks[:page_new]
end
if defined? @make.breaks \
- and @make.breaks[:page_break] #newpage
+ and @make.breaks[:page_break] #newpage
@pagebreak=@make.breaks[:page_break]
end
if defined? @make.headings \
@@ -1034,23 +1038,10 @@ module SiSU_Param
end
if defined? @make.manpage \
and @make.manpage
- @man_section=(defined? @make.manpage.section) ? @make.manpage.section : 1
- end
- when /^@links:\s+(.+?)\Z/m #% processing
- doc_links=Md.new($1.strip,@opt,@env).links
- count=1
- @links=[]
- doc_links.each do |doc_link|
- if doc_link=~/\{.+?\}(?:(?:https?|file|ftp):\/|\.\.)\/\S+(?:\s|$)/
- @links[count]={}
- @links[count][:say],@links[count][:url]=/\{\s*(.+?)\s*\}((?:(?:https?|file|ftp):\/|\.\.)\/\S+)/im.match(doc_link)[1,2]
- count +=1
- end
+ @man_section=(defined? @make.manpage.section) \
+ ? @make.manpage.section \
+ : 1
end
- @lnk=@links
- when /^@notes?:\s(.+)\Z/m #% metainfo
- @notes=Md.new($1.strip,@opt,@env).notes
- when /^@base_program:\s+(.+?)$/; @base_program=$1 #% processing
end
@lv1 ||=/^1~/
@lv2 ||=/^2~/
@@ -1058,7 +1049,7 @@ module SiSU_Param
@lv4 ||=/^4~/
@lv5 ||=/^5~/
@lv6 ||=/^6~/
- else #%
+ else #% *
case para
when /^:?A~/
@lvs[1]=1
@@ -1073,7 +1064,7 @@ module SiSU_Param
when /^3~/
@lvs[6]=1
end
- if para =~ /^:A~/ #% processing
+ if para =~ /^:A~/ #% processing
if @markup.nil? \
or @markup.empty?
@markup=@markup_version.determined.to_s
@@ -1093,13 +1084,13 @@ module SiSU_Param
end
unless @code_flag
case para
- when /~\{\s+.+?\}~/m #% processing
+ when /~\{\s+.+?\}~/m #% processing
en=para.scan(/~\{.+?\}~/m)
en.each { |e| @en[:sum] +=1 }
- when /~\^(?:\s|$)/m #% processing
+ when /~\^(?:\s|$)/m #% processing
mk=para.scan(/~\^(?:\s|$)/)
mk.each { |e| @en[:mark] +=1 }
- when /^\^~\s+\S/; @en[:note] +=1 #% processing
+ when /^\^~\s+\S/; @en[:note] +=1 #% processing
end
end
if para =~/~\{|\^~ |~\^|<:ee>|\{.+?\[[1-6]\]\}\S+?\.ss[tm]/m; @flag_auto_endnotes,@flag_endnotes=true,true
@@ -1149,7 +1140,7 @@ module SiSU_Param
unless @sem_tag
@sem_tag=true if para=~/[:;]\{.+?\}[:;][a-z+]/ #refix later
end
- end #% here endeth the document loop
+ end #% here endeth the document loop
if @ec[:image].length > 0
@ec[:image].flatten!
@ec[:image].uniq!
@@ -1362,7 +1353,7 @@ module SiSU_Param
end
@data=nil #else whole file's contents are stored in md pstore & is not required to be... big waste actually
@file=SiSU_Env::SiSU_file.new(self) #watch
- Store.new(self,@env).store #% pstore
+ Store.new(self,@env).store #% pstore
self
end
private
diff --git a/lib/sisu/v3/shared_xml.rb b/lib/sisu/v3/shared_xml.rb
index 06b89395..daf59a4c 100644
--- a/lib/sisu/v3/shared_xml.rb
+++ b/lib/sisu/v3/shared_xml.rb
@@ -398,6 +398,8 @@ module SiSU_XML_munge
if dob.of=='block'
dob.obj.gsub!(/#{Mx[:gl_bullet]}/,'● ')
end
+ dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ %{#{@brace_url.xml_open}\\1#{@brace_url.xml_close}})
dob.obj.gsub!(/#{Dx[:url_o]}/,"#{Dx[:url_o_xml]}")
dob.obj.gsub!(/#{Dx[:url_c]}/,"#{Dx[:url_c_xml]}")
dob.obj.gsub!(/&nbsp;|#{Mx[:nbsp]}/m,'&#160;')
diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb
index a1fb3e72..a91095e8 100644
--- a/lib/sisu/v3/texpdf_format.rb
+++ b/lib/sisu/v3/texpdf_format.rb
@@ -65,6 +65,8 @@ module SiSU_TeX_Pdf
@brace_url=SiSU_Viz::Skin.new.url_decoration
end
def bare_urls
+ @dob.obj.gsub!(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@\S+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
+ "#{@brace_url.tex_open}\\1</a>#{@brace_url.tex_close}")
@dob.tmp.gsub!(/(^|[^\\])_/m,'\1\_') #watch may not work
@dob.tmp.gsub!(/(^|[^#{Mx[:lnk_c]}])#{Mx[:url_o]}_?(?:\\?_)?(\S+?)#{Mx[:url_c]}/m,
"\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}")
@@ -972,7 +974,7 @@ WOK
para_array=[]
str=if word
word.each do |w| # _ - / # | : ! ^ ~
- if w !~/http:/ \
+ if w !~/https?:/ \
and w=~/\/\S+?\// \
and w.length > 6
w.gsub!(/([_.\/])/,'\1\-')
diff --git a/lib/sisu/v3/urls.rb b/lib/sisu/v3/urls.rb
index 127a17c2..900d9849 100644
--- a/lib/sisu/v3/urls.rb
+++ b/lib/sisu/v3/urls.rb
@@ -230,7 +230,7 @@ module SiSU_urls
end
if x=~/^i/ \
and @opt.cmd =~/i/
- SiSU_Screen::Ansi.new(@opt.cmd,"-#{x}","#{@prog.manpage_viewer} #{@env.processing_path.manpage}/#{@fnb}.1").result
+ SiSU_Screen::Ansi.new(@opt.cmd,"-#{x}","#{@prog.manpage_viewer} #{@md.file.output_path.manpage}/#{@md.file.base_filename.manpage}").result
end
if x=~/^N/ \
and @opt.cmd =~/N/