From 0aa76d8af58cd5e7203f2cc29e7d56373754fa2c Mon Sep 17 00:00:00 2001
From: Ralph Amissah
#{@txt}
#{@txt}
#{h[:txt]}
-
- #{@vz.nav_txt_pdf_portrait}
-
-
-
-
- #{@vz.nav_txt_pdf_landscape}
-
-
-}
- else ''
- end
- end
end
class XML
end
@@ -648,8 +630,6 @@ WOK
def initialize(md)
super(md)
end
- def title_banner(title,subtitle,creator)
- end
def dot_control_pre_next
pre="#{@seg_name_html[@seg_name_html_tracker-1]}#{@md.lang_code_insert}#{Sfx[:html]}"
up=@toc
diff --git a/lib/sisu/v6/html_format.rb b/lib/sisu/v6/html_format.rb
index bf1703a1..e2fa7dc6 100644
--- a/lib/sisu/v6/html_format.rb
+++ b/lib/sisu/v6/html_format.rb
@@ -271,24 +271,6 @@ module SiSU_HTML_Format
else ''
end
end
- def pdf #retired 2.7.9
- pdf=if @md.programs[:pdf] \
- and @cf_defaults.cf_0 =~/p/
- %{
-
-
- #{@vz.nav_txt_pdf_portrait}
-
-
-
-
- #{@vz.nav_txt_pdf_landscape}
-
-
-}
- else ''
- end
- end
end
class XML
end
@@ -648,8 +630,6 @@ WOK
def initialize(md)
super(md)
end
- def title_banner(title,subtitle,creator)
- end
def dot_control_pre_next
pre="#{@seg_name_html[@seg_name_html_tracker-1]}#{@md.lang_code_insert}#{Sfx[:html]}"
up=@toc
--
cgit v1.2.3
From bd5e94912c594372eca319e75e15c364b7e124ea Mon Sep 17 00:00:00 2001
From: Ralph Amissah
" unless x =~/^(\.)+$/ }
diff --git a/lib/sisu/v5/xhtml_epub2.rb b/lib/sisu/v5/xhtml_epub2.rb
index 33e3a529..2073bb4b 100644
--- a/lib/sisu/v5/xhtml_epub2.rb
+++ b/lib/sisu/v5/xhtml_epub2.rb
@@ -61,7 +61,11 @@
=end
module SiSU_XHTML_EPUB2
- require 'pstore'
+ begin
+ require 'pstore'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pstore NOT FOUND (LoadError)')
+ end
require_relative 'particulars' # particulars.rb
include SiSU_Particulars
require_relative 'defaults' # defaults.rb
diff --git a/lib/sisu/v5/xml_fictionbook2.rb b/lib/sisu/v5/xml_fictionbook2.rb
index 6549fa12..c72332bb 100644
--- a/lib/sisu/v5/xml_fictionbook2.rb
+++ b/lib/sisu/v5/xml_fictionbook2.rb
@@ -227,7 +227,11 @@ module SiSU_XML_Fictionbook
endnotes
end
def extract_images #work on
- require "base64"
+ begin
+ require 'base64'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('base64 NOT FOUND (LoadError)')
+ end
images_raw,images_base64_fb2=[],[]
images_base64={}
if defined? @md.make.cover_image[:cover]
diff --git a/lib/sisu/v5/xml_odf_odt.rb b/lib/sisu/v5/xml_odf_odt.rb
index a6a7a127..3cb2fbbf 100644
--- a/lib/sisu/v5/xml_odf_odt.rb
+++ b/lib/sisu/v5/xml_odf_odt.rb
@@ -73,8 +73,12 @@ module SiSU_XML_ODF_ODT
require_relative 'txt_shared' # txt_shared.rb
@@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0
class Source
- require 'zlib'
- require 'find'
+ begin
+ require 'zlib'
+ require 'find'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('zlib or find NOT FOUND (LoadError)')
+ end
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
diff --git a/lib/sisu/v6/ao_hash_digest.rb b/lib/sisu/v6/ao_hash_digest.rb
index b2fd8bfd..ce45b9e4 100644
--- a/lib/sisu/v6/ao_hash_digest.rb
+++ b/lib/sisu/v6/ao_hash_digest.rb
@@ -75,7 +75,11 @@ module SiSU_AO_Hash
data=@data.compact
@tuned_file=[]
sha_ =(@env.digest.type=='sha256' ? true : false)
- sha_ ? (require 'digest/sha2') : (require 'digest/md5')
+ begin
+ sha_ ? (require 'digest/sha2') : (require 'digest/md5')
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error((sha_ ? 'digest/sha2' : 'digest/md5') + ' NOT FOUND')
+ end
data.each do |t_o|
unless t_o.obj.is_a?(Array)
t_o.obj=t_o.obj.strip
diff --git a/lib/sisu/v6/ao_images.rb b/lib/sisu/v6/ao_images.rb
index 76721d63..0279994d 100644
--- a/lib/sisu/v6/ao_images.rb
+++ b/lib/sisu/v6/ao_images.rb
@@ -62,8 +62,12 @@
=end
module SiSU_AO_Images
class Images
- #require 'RMagick'
- #include Magick
+ #begin
+ # require 'RMagick'
+ # include Magick
+ #rescue LoadError
+ # SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('RMagic NOT FOUND (LoadError)')
+ #end
def initialize(md,data)
@md,@data=md,data
end
diff --git a/lib/sisu/v6/cgi_pgsql.rb b/lib/sisu/v6/cgi_pgsql.rb
index 2bcd42e3..3b0b610b 100644
--- a/lib/sisu/v6/cgi_pgsql.rb
+++ b/lib/sisu/v6/cgi_pgsql.rb
@@ -192,9 +192,13 @@ module SiSU_CGI_PgSQL
* Description: generates naive cgi search form for search of sisu database (pgsql)
#{gpl}
=end
- require 'cgi'
- require 'fcgi'
- require 'dbi'
+ begin
+ require 'cgi'
+ require 'fcgi'
+ require 'dbi'
+ rescue LoadError
+ puts 'cgi, fcgi or dbi NOT FOUND (LoadError)'
+ end
@stub_default='#{@name_of[:db]}'
@image_src='#{@image_src}'
@hosturl_cgi='#{@name_of[:host_url_cgi]}'
diff --git a/lib/sisu/v6/cgi_sqlite.rb b/lib/sisu/v6/cgi_sqlite.rb
index fff0f98f..daf915e6 100644
--- a/lib/sisu/v6/cgi_sqlite.rb
+++ b/lib/sisu/v6/cgi_sqlite.rb
@@ -165,9 +165,13 @@ module SiSU_CGI_SQLite
* Description: generates naive cgi search form for search of sisu database (sqlite)
#{gpl}
=end
- require 'cgi'
- require 'fcgi'
- require 'dbi'
+ begin
+ require 'cgi'
+ require 'fcgi'
+ require 'dbi'
+ rescue LoadError
+ puts 'cgi, fcgi or dbi NOT FOUND (LoadError)'
+ end
@stub_default='sisu_sqlite'
@image_src='#{@image_src}'
@hosturl_cgi='#{@env.url.webserv_base_cgi(@opt)}/cgi-bin'
diff --git a/lib/sisu/v6/composite.rb b/lib/sisu/v6/composite.rb
index 044f31c4..ebbd14f6 100644
--- a/lib/sisu/v6/composite.rb
+++ b/lib/sisu/v6/composite.rb
@@ -178,10 +178,14 @@ module SiSU_Assemble
end
tuned_file << if loadfile =~ /(?:https?|file):\/\/\S+?\.ss[ti]$/ # and NetTest
imagedir = /((?:https?|file):\/\/\S+?)\/[^\/]+?\.ss[ti]$/.match(loadfile).captures.join + '/_sisu/image' #watch
- require 'uri'
+ begin
+ require 'uri'
+ require 'open-uri'
+ require 'pp'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('uri, open-uri or pp NOT FOUND (LoadError)')
+ end
image_uri=URI.parse(imagedir)
- require 'open-uri'
- require 'pp'
insert=open(loadfile)
insert_array=insert.dup
insert.close
diff --git a/lib/sisu/v6/db_import.rb b/lib/sisu/v6/db_import.rb
index e9fc4d5c..e1342b1d 100644
--- a/lib/sisu/v6/db_import.rb
+++ b/lib/sisu/v6/db_import.rb
@@ -66,7 +66,6 @@ module SiSU_DbImport
require_relative 'db_load_tuple' # db_load_tuple.rb
require_relative 'db_sqltxt' # db_sqltxt.rb
require_relative 'html_lite_shared' # html_lite_shared.rb
- require 'sqlite3'
class Import < SiSU_DbText::Prepare
include SiSU_Param
include SiSU_Screen
diff --git a/lib/sisu/v6/dbi.rb b/lib/sisu/v6/dbi.rb
index 6804ab97..acb75e0f 100644
--- a/lib/sisu/v6/dbi.rb
+++ b/lib/sisu/v6/dbi.rb
@@ -120,9 +120,12 @@ manually create the database: "#{cX.green}#{@db.db}#{cX.off}" if it does not yet
end
def read_sqlite
begin
- @conn=@db.sqlite.conn_sqlite3
- rescue
- ensure
+ begin
+ require 'sqlite3'
+ @conn=@db.sqlite.conn_sqlite3
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('sqlite3 NOT FOUND (LoadError)')
+ end
end
end
def connect
diff --git a/lib/sisu/v6/dbi_discrete.rb b/lib/sisu/v6/dbi_discrete.rb
index b842c767..0ac84db4 100644
--- a/lib/sisu/v6/dbi_discrete.rb
+++ b/lib/sisu/v6/dbi_discrete.rb
@@ -69,8 +69,12 @@ module SiSU_DBI_Discrete #% database building
include SiSU_DbDBI
require_relative 'html_lite_shared' # html_lite_shared.rb
include SiSU_FormatShared
- require 'fileutils'
- include FileUtils::Verbose
+ begin
+ require 'fileutils'
+ include FileUtils::Verbose
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('fileutils NOT FOUND (LoadError)')
+ end
class SQL
def initialize(opt)
SiSU_Env::Load.new('dbi',true).prog
@@ -145,9 +149,12 @@ module SiSU_DBI_Discrete #% database building
end
def read_sqlite
begin
- @conn=@db.sqlite.conn_sqlite3
- rescue
- ensure
+ begin
+ require 'sqlite3'
+ @conn=@db.sqlite.conn_sqlite3
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('sqlite3 not available')
+ end
end
end
def connect
diff --git a/lib/sisu/v6/defaults.rb b/lib/sisu/v6/defaults.rb
index ca3c0c04..a26edae9 100644
--- a/lib/sisu/v6/defaults.rb
+++ b/lib/sisu/v6/defaults.rb
@@ -62,7 +62,11 @@
=end
$latex_run=nil
module SiSU_Viz
- require 'uri'
+ begin
+ require 'uri'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('uri NOT FOUND (LoadError)')
+ end
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
require_relative 'css' # css.rb
diff --git a/lib/sisu/v6/html.rb b/lib/sisu/v6/html.rb
index 8a909677..148672e5 100644
--- a/lib/sisu/v6/html.rb
+++ b/lib/sisu/v6/html.rb
@@ -61,7 +61,11 @@
=end
module SiSU_HTML
- require 'pstore'
+ begin
+ require 'pstore'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pstore NOT FOUND (LoadError)')
+ end
require_relative 'particulars' # particulars.rb
include SiSU_Particulars
require_relative 'defaults' # defaults.rb
diff --git a/lib/sisu/v6/hub.rb b/lib/sisu/v6/hub.rb
index 7e2a009d..62b8eaa0 100644
--- a/lib/sisu/v6/hub.rb
+++ b/lib/sisu/v6/hub.rb
@@ -72,7 +72,11 @@ module SiSU
require_relative 'defaults' # defaults.rb
include SiSU_Viz
require_relative 'utils' # utils.rb
- require 'uri'
+ begin
+ require 'uri'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('uri NOT FOUND (LoadError)')
+ end
class HubMaster
def initialize(argv)
pwd_the=Dir.pwd
@@ -246,8 +250,12 @@ module SiSU
end
end
class Processing
- require 'fileutils'
- include FileUtils
+ begin
+ require 'fileutils'
+ include FileUtils
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('fileutils NOT FOUND (LoadError)')
+ end
@@env=nil
attr_accessor :op
def initialize(opt)
@@ -645,7 +653,11 @@ module SiSU
end
def actions
if @opt.act[:profile][:set]==:on
- require 'profile'
+ begin
+ require 'profile'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('profile NOT FOUND (LoadError)')
+ end
end
action_on_file_ =if @opt.act[:rsync][:set]==:on \
&& @opt.act[:site_init][:set]==:on
diff --git a/lib/sisu/v6/options.rb b/lib/sisu/v6/options.rb
index 632ac5a8..93d11acc 100644
--- a/lib/sisu/v6/options.rb
+++ b/lib/sisu/v6/options.rb
@@ -62,7 +62,11 @@
=end
module SiSU_Commandline
- require 'pathname'
+ begin
+ require 'pathname'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pathname NOT FOUND (LoadError)')
+ end
require_relative 'sysenv' # sysenv.rb
require_relative 'param_make' # param_make.rb
@@sisu_call_origin_path=nil
diff --git a/lib/sisu/v6/param.rb b/lib/sisu/v6/param.rb
index b74e0dc1..bc9bf9df 100644
--- a/lib/sisu/v6/param.rb
+++ b/lib/sisu/v6/param.rb
@@ -61,8 +61,12 @@
=end
module SiSU_Param
- require 'uri'
- require 'pstore'
+ begin
+ require 'uri'
+ require 'pstore'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('uri or pstore NOT FOUND (LoadError)')
+ end
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
require_relative 'param_make' # param_make.rb
diff --git a/lib/sisu/v6/particulars.rb b/lib/sisu/v6/particulars.rb
index 44fa536a..7e850f4c 100644
--- a/lib/sisu/v6/particulars.rb
+++ b/lib/sisu/v6/particulars.rb
@@ -62,7 +62,11 @@
=end
module SiSU_Particulars
- require 'singleton'
+ begin
+ require 'singleton'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('singleton NOT FOUND (LoadError)')
+ end
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
require_relative 'param' # param.rb
diff --git a/lib/sisu/v6/remote.rb b/lib/sisu/v6/remote.rb
index 3c4982c8..ed5d7fba 100644
--- a/lib/sisu/v6/remote.rb
+++ b/lib/sisu/v6/remote.rb
@@ -112,8 +112,12 @@ module SiSU_Remote
@tell=lambda { SiSU_Screen::Ansi.new(@opt.act[:color_state][:set],@msg,"#{@msgs.inspect if @msgs}") }
end
def fns
- require 'open-uri'
- require 'pp'
+ begin
+ require 'open-uri'
+ require 'pp'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('open-uri or pp NOT FOUND (LoadError)')
+ end
require_relative 'composite' # composite.rb
@rgx_image=/(?:^|[^_\\])\{\s*(\S+?\.(?:png|jpg|gif))/
threads=[]
@@ -158,7 +162,11 @@ module SiSU_Remote
def sisupod
get_p=@get_s
if get_p.length > 0 #% remote sisupod
- require 'net/http'
+ begin
+ require 'net/http'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('net/http NOT FOUND (LoadError)')
+ end
for requested_pod in get_p
pod_info=RemoteDownload.new(requested_pod)
Net::HTTP.start(pod_info.pod.site) do |http|
diff --git a/lib/sisu/v6/rexml.rb b/lib/sisu/v6/rexml.rb
index f9b94cee..63e70a42 100644
--- a/lib/sisu/v6/rexml.rb
+++ b/lib/sisu/v6/rexml.rb
@@ -62,14 +62,22 @@
=end
module SiSU_Rexml
# load XML file for REXML parsing
- require 'rexml/document' if FileTest.directory?("#{Config::CONFIG['rubylibdir']}/rexml") #Config::CONFIG['sitedir']
+ begin
+ require 'rexml/document' if FileTest.directory?("#{Config::CONFIG['rubylibdir']}/rexml") #Config::CONFIG['sitedir']
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rexml/document NOT FOUND (LoadError)')
+ end
require_relative 'param' # param.rb
include SiSU_Param
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
include SiSU_Viz
class Rexml
- require 'rexml/document' if FileTest.directory?("#{Config::CONFIG['rubylibdir']}/rexml") #Config::CONFIG['sitedir']
+ begin
+ require 'rexml/document' if FileTest.directory?("#{Config::CONFIG['rubylibdir']}/rexml") #Config::CONFIG['sitedir']
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rexml/document NOT FOUND (LoadError)')
+ end
def initialize(md,fno)
@md,@fno=md,fno
@env=SiSU_Env::InfoEnv.new(@md.fns)
diff --git a/lib/sisu/v6/shared_markup_alt.rb b/lib/sisu/v6/shared_markup_alt.rb
index b84d167a..4971dde0 100644
--- a/lib/sisu/v6/shared_markup_alt.rb
+++ b/lib/sisu/v6/shared_markup_alt.rb
@@ -208,7 +208,11 @@ module SiSU_TextRepresentation
end
@env ||=SiSU_Env::InfoEnv.new(@md.fns)
@sha_ =((@env.digest.type =='sha256') ? true : false)
- @sha_ ? (require 'digest/sha2') : (require 'digest/md5')
+ begin
+ @sha_ ? (require 'digest/sha2') : (require 'digest/md5')
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error((@sha_ ? 'digest/sha2' : 'digest/md5') + ' NOT FOUND')
+ end
end
def digest(txt)
d=nil
diff --git a/lib/sisu/v6/src_kdissert_share.rb b/lib/sisu/v6/src_kdissert_share.rb
index ecf559fb..9624e460 100644
--- a/lib/sisu/v6/src_kdissert_share.rb
+++ b/lib/sisu/v6/src_kdissert_share.rb
@@ -64,8 +64,12 @@ module SiSU_KdiSource
require_relative 'sysenv' # sysenv.rb
include SiSU_Env
class Source
- require 'fileutils'
- include FileUtils
+ begin
+ require 'fileutils'
+ include FileUtils
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('fileutils NOT FOUND (LoadError)')
+ end
def initialize(opt)
@opt=opt
@env=SiSU_Env::InfoEnv.new(@opt.fns)
diff --git a/lib/sisu/v6/sst_from_xml.rb b/lib/sisu/v6/sst_from_xml.rb
index 728f3f54..ee864b03 100644
--- a/lib/sisu/v6/sst_from_xml.rb
+++ b/lib/sisu/v6/sst_from_xml.rb
@@ -64,8 +64,12 @@
module SiSU_sstFromXML
require_relative 'sysenv' # sysenv.rb
class Convert
- require 'rexml/document'
- include REXML
+ begin
+ require 'rexml/document'
+ include REXML
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rexml/document NOT FOUND (LoadError)')
+ end
def initialize(opt)
@opt=opt
@sisu,@sisu_base=[],[]
diff --git a/lib/sisu/v6/sysenv.rb b/lib/sisu/v6/sysenv.rb
index 46bb30ca..437d4088 100644
--- a/lib/sisu/v6/sysenv.rb
+++ b/lib/sisu/v6/sysenv.rb
@@ -66,12 +66,20 @@
module SiSU_Env
require_relative 'constants' # constants.rb
require_relative 'utils' # utils.rb
- require 'fileutils'
- include FileUtils::Verbose
- require 'singleton'
+ begin
+ require 'singleton'
+ require 'fileutils'
+ include FileUtils::Verbose
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('singleton or fileutils NOT FOUND (LoadError)')
+ end
@@noyaml=false
class InfoDate
- require 'date'
+ begin
+ require 'date'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('date NOT FOUND (LoadError)')
+ end
attr_accessor :dt,:t
def initialize
@dt,@t=Date.today.to_s,Time.now
@@ -97,7 +105,11 @@ module SiSU_Env
end
end
class InfoSystemGen
- require 'rbconfig'
+ begin
+ require 'rbconfig'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('rbconfig NOT FOUND (LoadError)')
+ end
@@user,@@home,@@hostname,@@pwd,@@sisu_etc,@@host,@@arch,@@rbver,@@dir_arch,@@dir_sitearch,@@dir_bin,@@locale,@@rc,@@sisurc_path,@@ad=ENV['USER'],ENV['HOME'],ENV['HOSTNAME'],ENV['PWD'],Config::CONFIG['sysconfdir'] + '/sisu',Config::CONFIG['host'],Config::CONFIG['arch'],%x{ruby -v}.strip,Config::CONFIG['archdir'],Config::CONFIG['sitearchdir'],Config::CONFIG['bindir'],%x{locale charmap}.strip,nil,nil,{} # %x{ruby -v}.strip # Config::CONFIG['rb_ver']
out=Config::CONFIG['localstatedir']
etc=Config::CONFIG['sysconfdir'] + '/sisu'
@@ -242,10 +254,18 @@ module SiSU_Env
end
if load_prog \
and @prog=~/dbi/
- require 'dbi' #revisit
+ begin
+ require 'dbi'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('dbi NOT FOUND (LoadError)')
+ end
end
if load_prog
- require @prog
+ begin
+ require @prog
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error("#{@prog} NOT FOUND (LoadError)")
+ end
else
@mandatory \
? (SiSU_Screen::Ansi.new(@prog,"*WARN* module required: #{@prog}").warn)
@@ -330,7 +350,11 @@ module SiSU_Env
f=S_CONF[:rc_yml]
p_f="#{v}/#{f}"
if FileTest.exist?(p_f)
- require 'yaml'
+ begin
+ require 'yaml'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)')
+ end
@@sisurc_path=v
@@rc=YAML::load(File::open(p_f))
break
@@ -339,7 +363,11 @@ module SiSU_Env
f='sisurc.yaml'
p_f="#{v}/#{f}"
if FileTest.exist?(p_f)
- require 'yaml'
+ begin
+ require 'yaml'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)')
+ end
@@sisurc_path=v
@@rc=YAML::load(File::open(p_f))
break
@@ -378,7 +406,11 @@ module SiSU_Env
else
if FileTest.exist?("#{v}/list.yml")
unless @@ad[:promo_list]
- require 'yaml'
+ begin
+ require 'yaml'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)')
+ end
@@ad[:promo_list] ||= YAML::load(File::open("#{v}/list.yml"))
end
@@ad[:flag_promo]=true
@@ -396,7 +428,11 @@ module SiSU_Env
else
if FileTest.exist?("#{v}/promo.yml")
unless @@ad[:promo]
- require 'yaml'
+ begin
+ require 'yaml'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('yaml NOT FOUND (LoadError)')
+ end
@@ad[:promo] ||= YAML::load(File::open("#{v}/promo.yml"))
end
@@ad[:flag_promo]=true
@@ -1030,9 +1066,13 @@ module SiSU_Env
end
end
class InfoEnv < EnvCall
- require 'pathname'
- require 'fileutils'
- include FileUtils
+ begin
+ require 'pathname'
+ require 'fileutils'
+ include FileUtils
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pathname or fileutils NOT FOUND (LoadError)')
+ end
attr_accessor :filename,:sys,:home,:hostname,:user,:env,:rc,:www,:fnb,:fnn,:fnt,:flv,:webserv_path,:stub_pwd,:stub_src,:webserv_host_cgi,:webserv_port_cgi,:processing,:processing_git,:etc,:yamlrc_dir
@@image_flag,@@local_image=true,true #warning on @@image_flag
@@fb,@@man_path=nil,nil
@@ -3169,8 +3209,12 @@ WOK
end
end
class CleanOutput
- require 'fileutils'
- include FileUtils::Verbose
+ begin
+ require 'fileutils'
+ include FileUtils::Verbose
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('fileutils NOT FOUND (LoadError)')
+ end
def initialize(opt)
@opt=opt
z=SiSU_Env::FileMap.new(opt)
@@ -3326,7 +3370,11 @@ WOK
end
class InfoRemote < FileMap
@@flag_remote=false
- require 'socket'
+ begin
+ require 'socket'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('socket NOT FOUND (LoadError)')
+ end
def initialize(opt)
super(opt) #
@opt=opt
@@ -3674,8 +3722,12 @@ WOK
end
class InfoVersion
" unless x =~/^(\.)+$/ }
diff --git a/lib/sisu/v6/xhtml_epub2.rb b/lib/sisu/v6/xhtml_epub2.rb
index 6447431f..1d4305ab 100644
--- a/lib/sisu/v6/xhtml_epub2.rb
+++ b/lib/sisu/v6/xhtml_epub2.rb
@@ -61,7 +61,11 @@
=end
module SiSU_XHTML_EPUB2
- require 'pstore'
+ begin
+ require 'pstore'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('pstore NOT FOUND (LoadError)')
+ end
require_relative 'particulars' # particulars.rb
include SiSU_Particulars
require_relative 'defaults' # defaults.rb
diff --git a/lib/sisu/v6/xml_fictionbook2.rb b/lib/sisu/v6/xml_fictionbook2.rb
index 9cd7909e..0498a7f0 100644
--- a/lib/sisu/v6/xml_fictionbook2.rb
+++ b/lib/sisu/v6/xml_fictionbook2.rb
@@ -227,7 +227,11 @@ module SiSU_XML_Fictionbook
endnotes
end
def extract_images #work on
- require "base64"
+ begin
+ require 'base64'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('base64 NOT FOUND (LoadError)')
+ end
images_raw,images_base64_fb2=[],[]
images_base64={}
if defined? @md.make.cover_image[:cover]
diff --git a/lib/sisu/v6/xml_odf_odt.rb b/lib/sisu/v6/xml_odf_odt.rb
index bf9d8df8..b478805f 100644
--- a/lib/sisu/v6/xml_odf_odt.rb
+++ b/lib/sisu/v6/xml_odf_odt.rb
@@ -73,8 +73,12 @@ module SiSU_XML_ODF_ODT
require_relative 'txt_shared' # txt_shared.rb
@@alt_id_count,@@alt_id_count,@@tablehead,@@number_of_cols=0,0,0,0
class Source
- require 'zlib'
- require 'find'
+ begin
+ require 'zlib'
+ require 'find'
+ rescue LoadError
+ SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error('zlib or find NOT FOUND (LoadError)')
+ end
def initialize(opt)
@opt=opt
@particulars=SiSU_Particulars::CombinedSingleton.instance.get_all(opt)
--
cgit v1.2.3
From 62e27667a98e1daeb7b6dbbb788af58be6871a25 Mon Sep 17 00:00:00 2001
From: Ralph Amissah
'
- %{#{linkname}}
+ %{#{linkname}}
end
txt_obj={ txt: title }
format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
@@ -398,7 +399,7 @@ WOK
end
else
@@toc[:scr] << '
'
- %{#{linkname}}
+ %{#{linkname}}
end
txt_obj={ txt: title }
format_toc=SiSU_HTML_Format::FormatToc.new(@md,txt_obj)
@@ -515,7 +516,7 @@ WOK
}
f=@md.file.base_filename.html_seg(fnh)
p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
- lnk_n_txt=%{
+ lnk_n_txt=%{
#{linkname}
}
txt_obj={ txt: lnk_n_txt }
@@ -540,7 +541,7 @@ WOK
}
f=@md.file.base_filename.html_seg(fnh)
p_num=SiSU_HTML_Format::ParagraphNumber.new(@md,ocn)
- lnk_n_txt=%{
+ lnk_n_txt=%{
#{linkname}
}
txt_obj={ txt: lnk_n_txt }
diff --git a/lib/sisu/v5/html_format.rb b/lib/sisu/v5/html_format.rb
index 0dc65a06..e0be4f8a 100644
--- a/lib/sisu/v5/html_format.rb
+++ b/lib/sisu/v5/html_format.rb
@@ -66,30 +66,36 @@ module SiSU_HTML_Format
def initialize(md,ocn)
@md,@ocn=md,ocn.to_s
@ocn ||=''
+ @ocn_html_identifier=SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier
+ @make=SiSU_Env::ProcessingSettings.new(@md)
end
def ocn_display
- make=SiSU_Env::ProcessingSettings.new(@md)
- if make.build.ocn?
- ocn_class='ocn'
+ if @make.build.ocn?
if @ocn.to_i==0 \
or @ocn.empty?
- %{}
+ ''
else
+ name=(@make.build.html_strict?) ? '' : %{ name="#{@ocn}"}
@ocn.gsub(/^(\d+|)$/,
- %{})
+ %{})
end
else
- %{}
+ ''
end
end
def name
- (@ocn==nil || @ocn.empty?) ? '' : %{}
+ if @make.build.html_strict? \
+ or @ocn==(nil || @ocn.empty?)
+ ''
+ else
+ %{}
+ end
end
def id #w3c? "tidy" complains about numbers as identifiers ! annoying
(@ocn==nil || @ocn.empty?) ? '' : %{id="o#{@ocn}"}
end
def goto
- (@ocn==nil || @ocn.empty?) ? '' : %{}
+ (@ocn==nil || @ocn.empty?) ? '' : %{}
end
end
class HeadInformation
@@ -1233,6 +1239,7 @@ WOK
end
def subtoc_lev(tag,attrib)
@txt=clean(@txt)
+ @ocn_html_identifier=SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier
txt=if @txt \
and @txt =~/<\/?i>|/mi
@txt.gsub(/<\/?i>|/mi,'') #removes name markers from subtoc, go directly to substantive text
@@ -1246,7 +1253,7 @@ WOK
gsub(/ \d+<\/sup> /m,'')
end
%{<#{tag} class="#{attrib}">
- #{txt} #{note}
+ #{txt} #{note}
#{tag}>}
end
def subtoc_lev5
diff --git a/lib/sisu/v5/html_lite_shared.rb b/lib/sisu/v5/html_lite_shared.rb
index 8c447352..e109debc 100644
--- a/lib/sisu/v5/html_lite_shared.rb
+++ b/lib/sisu/v5/html_lite_shared.rb
@@ -83,6 +83,7 @@ module SiSU_FormatShared
end
@tab="\t"
@brace_url=SiSU_Viz::Defaults.new.url_decoration
+ @ocn_html_identifier=SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier
@@tablehead,@@tablefoot=[],[]
@vz=SiSU_Viz::Defaults.new
@env=SiSU_Env::InfoEnv.new(@md.fns)
@@ -205,7 +206,7 @@ GSUB
%{
#{h[:txt]}
\n} << "\n" end def lev_toc_hname - %{\n} #<< "\n" + %{\n} #<< "\n" end def lev_toc h={ txt: txt, class: "toc#{@lv}", type: 'toc' } @@ -309,10 +310,10 @@ GSUB def paragraph attrib=%{class="#{@attrib}" } if @ocn - id=%{id="#{@ocn}" } + id=%{id="#{Mx[:ocn_id_char]}#{@ocn}" } type=%{type="substantive" } else - id=%{id="none" } + id='' type=%{type="comment" } end header=%{header="#{@hname}" } if @hname diff --git a/lib/sisu/v6/html_minitoc.rb b/lib/sisu/v6/html_minitoc.rb index 0bb2794f..13045b0d 100644 --- a/lib/sisu/v6/html_minitoc.rb +++ b/lib/sisu/v6/html_minitoc.rb @@ -71,6 +71,7 @@ def initialize(md,data) @md,@data=md,data @pat_strip_heading_name=/(.+?)<\/a>/ + @ocn_html_identifier=SiSU_Env::ProcessingSettings.new(@md).ocn_html_identifier @tell=SiSU_Screen::Ansi.new(@md.opt.act[:color_state][:set]) if @md end def songsheet @@ -204,7 +205,7 @@ fn: @@seg_url, } f=@md.file.base_filename.html_seg(fnh) - lnk_n_txt=%{ + lnk_n_txt=%{ #{txt.obj} } txt_obj={ txt: lnk_n_txt } @@ -223,7 +224,7 @@ fn: @@seg_url, } f=@md.file.base_filename.html_seg(fnh) - lnk_n_txt=%{ + lnk_n_txt=%{ #{txt.obj} } txt_obj={ txt: lnk_n_txt } diff --git a/lib/sisu/v6/txt_plain.rb b/lib/sisu/v6/txt_plain.rb index bb97f679..1aa08f0e 100644 --- a/lib/sisu/v6/txt_plain.rb +++ b/lib/sisu/v6/txt_plain.rb @@ -400,7 +400,8 @@ WOK @@endnotes[:para]=[] end def ocn_display(dob) - if @env.plaintext_ocn? + make=SiSU_Env::ProcessingSettings.new(@md) + if make.build.plaintext_ocn? if defined? dob.ocn \ and dob.ocn.is_a?(Fixnum) (defined? dob.ocn) ? "\n#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}" : '' diff --git a/lib/sisu/v6/xml_odf_odt.rb b/lib/sisu/v6/xml_odf_odt.rb index 707e7a20..0457ad7d 100644 --- a/lib/sisu/v6/xml_odf_odt.rb +++ b/lib/sisu/v6/xml_odf_odt.rb @@ -121,6 +121,7 @@ module SiSU_XML_ODF_ODT @@fns=nil def initialize(particulars) @md,@env,@ao_array=particulars.md,particulars.env,particulars.ao_array + @make=SiSU_Env::ProcessingSettings.new(@md) @vz=SiSU_Viz::Defaults.new @tab="\t" @brace_url=SiSU_Viz::Defaults.new.url_decoration @@ -556,10 +557,10 @@ module SiSU_XML_ODF_ODT end p_num={ display: '', set_ref: '' } if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ - if @env.odt_ocn? + if @make.build.odt_ocn? if defined? dob.ocn \ and dob.ocn.is_a?(Fixnum) - p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(dob.ocn).set_bookmark_and_display + p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn).set_bookmark_and_display end end end @@ -682,7 +683,7 @@ module SiSU_XML_ODF_ODT and (dob.obj =~/~metadata/ or dob =~/#{Mx[:lv_o]}1:meta#{Mx[:lv_x]}\s*Document Information/) #fix Mx[:lv_o] if dob.is !~/(^#{Rx[:meta]}|#{Mx[:br_eof]}|#{Mx[:br_endnotes]})/ #check if defined? dob.ocn and dob.ocn =~/\d+/ - @p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(dob.ocn) + @p_num=SiSU_XML_ODF_ODT_Format::ParagraphNumber.new(@make,dob.ocn) end if dob.is ==:heading \ || dob.is ==:para \ diff --git a/lib/sisu/v6/xml_odf_odt_format.rb b/lib/sisu/v6/xml_odf_odt_format.rb index bc7fadea..b2539dfd 100644 --- a/lib/sisu/v6/xml_odf_odt_format.rb +++ b/lib/sisu/v6/xml_odf_odt_format.rb @@ -65,17 +65,26 @@ module SiSU_XML_ODF_ODT_Format include SiSU_Param include SiSU_Viz class ParagraphNumber - def initialize(paranum) + def initialize(make,paranum) + @make=make @paranum=/(\d+)/m.match(paranum.to_s)[1] end def set_ref_and_display - set_ref=@paranum.gsub(/(\d+)/,'Rights: #{rights}
} end @@ -977,7 +978,9 @@ WOK end def para_form_css(tag,attrib) # regular paragraphs shaped here ul=ulc='' - ul,ulc="Rights: #{rights}
} end @@ -977,7 +978,9 @@ WOK end def para_form_css(tag,attrib) # regular paragraphs shaped here ul=ulc='' - ul,ulc="- -
-
system -
-
-
-The sisu-concordance command is an alias -for sisu --concordance (or sisu -w) which produces an HTML concordance file -(wordlist) of a SiSU markup file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-epub.1.html b/data/doc/sisu/html/sisu-epub.1.html deleted file mode 100644 index 6a84b876..00000000 --- a/data/doc/sisu/html/sisu-epub.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-epub command is an alias for -sisu --epub (or sisu -e) which produces EPUB output of a SiSU markup file. - -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-git.1.html b/data/doc/sisu/html/sisu-git.1.html deleted file mode 100644 index a23d0118..00000000 --- a/data/doc/sisu/html/sisu-git.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-git command is an alias for -sisu --git (or sisu -g) which produces a git repository of the sisu source -document and associated parts (images, ). -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-harvest.1.html b/data/doc/sisu/html/sisu-harvest.1.html deleted file mode 100644 index 8d264278..00000000 --- a/data/doc/sisu/html/sisu-harvest.1.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-harvest command is an alias -for sisu --harvest which based on the @classify: :topic_register: headers -in each SiSU markup file, produces HTML output in the form of an index -of authors and their texts and an index of topics and related texts. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-html.1.html b/data/doc/sisu/html/sisu-html.1.html deleted file mode 100644 index a95b7796..00000000 --- a/data/doc/sisu/html/sisu-html.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-html command is an alias for -sisu --html (or sisu -h) which produces HTML output of a SiSU markup file. - -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-odf.1.html b/data/doc/sisu/html/sisu-odf.1.html deleted file mode 100644 index fddd3148..00000000 --- a/data/doc/sisu/html/sisu-odf.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-odf command is an alias for -sisu --odt (or sisu -o) which produces OpenDocument output of a SiSU markup -file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-pdf.1.html b/data/doc/sisu/html/sisu-pdf.1.html deleted file mode 100644 index ec9f39d2..00000000 --- a/data/doc/sisu/html/sisu-pdf.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-pdf command is an alias for -sisu --pdf (or sisu -p) which produces PDF output of a SiSU markup file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-pg.1.html b/data/doc/sisu/html/sisu-pg.1.html deleted file mode 100644 index 056598f2..00000000 --- a/data/doc/sisu/html/sisu-pg.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-pq command is an alias for sisu ---pg (or sisu -D) which populates a PostgreSQL database with SiSU content -(for search) from a SiSU markup file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-po.1.html b/data/doc/sisu/html/sisu-po.1.html deleted file mode 100644 index ea1c5b43..00000000 --- a/data/doc/sisu/html/sisu-po.1.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-po command is an alias for sisu ---po4a (or sisu -o) which provided two sisu markup files of the same document -in different languages produces .pot and .po output of a SiSU markup file. -Experimental, and under development. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-sqlite.1.html b/data/doc/sisu/html/sisu-sqlite.1.html deleted file mode 100644 index f40c3a8b..00000000 --- a/data/doc/sisu/html/sisu-sqlite.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-sqlite command is an alias for -sisu --sqlite (or sisu -d) which populates a SQLite database with SiSU content -(for search) from a SiSU markup file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu-txt.1.html b/data/doc/sisu/html/sisu-txt.1.html deleted file mode 100644 index dbfc71f4..00000000 --- a/data/doc/sisu/html/sisu-txt.1.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -- -
-
system -
-
-
-The sisu-txt command is an alias for -sisu --txt (or sisu -t) which produces plain text output of a SiSU markup -file. -
-
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html deleted file mode 100644 index 65a92c9a..00000000 --- a/data/doc/sisu/html/sisu.1.html +++ /dev/null @@ -1,3290 +0,0 @@ - - - - - -
-
-
-
-sisu [-abCcDdeFGghIikLMmNnoPpQqRrSsTtUuVvWwXxYyZ_0-9] [filename/wildcard]
-
-
-sisu --txt --html --epub --odt --pdf --wordmap --sqlite --manpage --texinfo --sisupod --source
---qrcode [filename/wildcard]
-
-sisu [-Ddcv] [instruction] [filename/wildcard]
-
-sisu --pg (--createdb|update [filename/wildcard]|--dropall)
-
-sisu [operations]
-
-sisu [-CcFLSVvW]
-
-sisu (--configure|--webrick|--sample-search-form)
-
-
-
-
SiSU is a framework for document -structuring, publishing (in multiple open standard formats) and search, -comprising of: (a) a lightweight document structure and presentation markup -syntax; and (b) an accompanying engine for generating standard document -format outputs from documents prepared in sisu markup syntax, which is -able to produce multiple standard outputs (including the population of -sql databases) that (can) share a common numbering system for the citation -of text within a document. -
SiSU is developed under an open source, software -libre license ( GPLv3 ). Its use case for development is work with medium -to large document sets and cope with evolving document formats/ representation -technologies. Documents are prepared once, and generated as need be to update -the technical presentation or add additional output formats. Various output -formats (including search related output) share a common mechanism for -cross-output-format citation. -
SiSU both defines a markup syntax and provides -an engine that produces open standards format outputs from documents prepared -with SiSU markup. From a single lightly prepared document sisu custom builds -several standard output formats which share a common (text object) numbering -system for citation of content within a document (that also has implications -for search). The sisu engine works with an abstraction of the document’s -structure and content from which it is possible to generate different forms -of representation of the document. Significantly SiSU markup is more sparse -than html and outputs which include HTML, EPUB, ODT (Open Document Format -text), LaTeX, landscape and portrait PDF, all of which can be added to -and updated. SiSU is also able to populate SQL type databases at an object -level, which means that searches can be made with that degree of granularity. - -
Source document preparation and output generation is a two step process: -(i) document source is prepared, that is, marked up in sisu markup syntax -and (ii) the desired output subsequently generated by running the sisu -engine against document source. Output representations if updated (in the -sisu engine) can be generated by re-running the engine against the prepared -source. Using SiSU markup applied to a document, SiSU custom builds (to -take advantage of the strengths of different ways of representing documents) -various standard open output formats including plain text, HTML, XHTML, -XML, EPUB, ODT, LaTeX or PDF files, and populate an SQL database with objects[^1] -(equating generally to paragraph-sized chunks) so searches may be performed -and matches returned with that degree of granularity ( e.g. your search criteria -is met by these documents and at these locations within each document). -Document output formats share a common object numbering system for locating -content. This is particularly suitable for "published" works (finalized -texts as opposed to works that are frequently changed or updated) for which -it provides a fixed means of reference of content. -
In preparing a SiSU -document you optionally provide semantic information related to the document -in a document header, and in marking up the substantive text provide information -on the structure of the document, primarily indicating heading levels and -footnotes. You also provide information on basic text attributes where used. -The rest is automatic, sisu from this information custom builds[^2] the -different forms of output requested. -
SiSU works with an abstraction of -the document based on its structure which is comprised of its headings[^3] -and objects[^4], which enables SiSU to represent the document in many different -ways, and to take advantage of the strengths of different ways of presenting -documents. The objects are numbered, and these numbers can be used to provide -a common basis for citing material within a document across the different -output format types. This is significant as page numbers are not well suited -to the digital age, in web publishing, changing a browser’s default font -or using a different browser can mean that text will appear on a different -page; and publishing in different formats, html, landscape and portrait -pdf etc. again page numbers are not useful to cite text. Dealing with documents -at an object level together with object numbering also has implications -for search that SiSU is able to take advantage of. -
One of the challenges -of maintaining documents is to keep them in a format that allows use of -them independently of proprietary platforms. Consider issues related to -dealing with legacy proprietary formats today and what guarantee you have -that old proprietary formats will remain (or can be read without proprietary -software/equipment) in 15 years time, or the way the way in which html -has evolved over its relatively short span of existence. SiSU provides the -flexibility of producing documents in multiple non-proprietary open formats -including HTML, EPUB, [^5] ODT, [^6] PDF [^7] ODF, [^8]. Whilst SiSU relies -on software, the markup is uncomplicated and minimalistic which guarantees -that future engines can be written to run against it. It is also easily -converted to other formats, which means documents prepared in SiSU can -be migrated to other document formats. Further security is provided by the -fact that the software itself, SiSU is available under GPLv3 a licence -that guarantees that the source code will always be open, and free as in -libre, which means that that code base can be used, updated and further -developed as required under the terms of its license. Another challenge -is to keep up with a moving target. SiSU permits new forms of output to -be added as they become important, (Open Document Format text was added -in 2006 when it became an ISO standard for office applications and the -archival of documents), EPUB was introduced in 2009; and allows the technical -representations existing output to be updated ( HTML has evolved and the -related module has been updated repeatedly over the years, presumably when -the World Wide Web Consortium (w3c) finalises HTML 5 which is currently -under development, the HTML module will again be updated allowing all existing -documents to be regenerated as HTML 5). -
The document formats are written -to the file-system and available for indexing by independent indexing tools, -whether off the web like Google and Yahoo or on the site like Lucene and -Hyperestraier. -
SiSU also provides other features such as concordance files -and document content certificates, and the working against an abstraction -of document structure has further possibilities for the research and development -of other document representations, the availability of objects is useful -for example for topic maps and thesauri, together with the flexibility -of SiSU offers great possibilities. -
SiSU is primarily for published works, -which can take advantage of the citation system to reliably reference its -documents. SiSU works well in a complementary manner with such collaborative -technologies as Wikis, which can take advantage of and be used to discuss -the substance of content prepared in SiSU. -
<http://www.sisudoc.org/ -> -
<http://www.jus.uio.no/sisu -> - -
-
SiSU is a document publishing system, that -from a simple single marked-up document, produces multiple output formats -including: plaintext, HTML, XHTML, XML, EPUB, ODT ( OpenDocument ( ODF -) text), LaTeX, PDF, info, and SQL ( PostgreSQL and SQLite ) , which share -text object numbers ("object citation numbering") and the same document -structure information. For more see: <http://sisudoc.org -> or <http://www.jus.uio.no/sisu -> - -
-
-
--papersize=a4,a5,b5,letter,legal -in conjunction with --pdf set pdf papersize, overriding any configuration -settings, to set more than one papersize list after the equal sign with -a comma separator --papersize=a4,letter. See also --papersize-*
-
dbi - database interface -
-D or --pgsql set for PostgreSQL --d or --sqlite default set for SQLite -d is modifiable with --db=[database type -(PgSQL or SQLite ) ] -
The -v -is for verbose output.
-
add -v for verbose mode and -c to toggle -color state, e.g. sisu -2vc [filename or wildcard] -
consider -u for appended - -
url info or -v for verbose output -
- In the data directory run sisu -mh filename or wildcard eg. "sisu -h cisg.sst" -or "sisu -h *.{sst,ssm}" to produce html version of all documents. -
Running -sisu (alone without any flags, filenames or wildcards) brings up the interactive -help, as does any sisu command that is not recognised. Enter to escape. -
- -
The most up to date information on sisu should be contained -in the sisu_manual, available at: -
<http://sisudoc.org/sisu/sisu_manual/ -> - -
The manual can be generated from source, found respectively, either within -the SiSU tarball or installed locally at: -
./data/doc/sisu/markup-samples/sisu_manual - -
/usr/share/doc/sisu/markup-samples/sisu_manual -
move to the respective -directory and type e.g.: -
sisu sisu_manual.ssm -
If SiSU is -installed on your system usual man commands should be available, try: -
- man sisu -
Most SiSU man pages are generated directly from sisu documents -that are used to prepare the sisu manual, the sources files for which are -located within the SiSU tarball at: -
./data/doc/sisu/markup-samples/sisu_manual
-
-
Once installed, directory equivalent to: -
/usr/share/doc/sisu/markup-samples/sisu_manual
-
-
Available man pages are converted back to html using man2html: -
/usr/share/doc/sisu/html/
-
-
./data/doc/sisu/html
-
-
An online version of the sisu man page is available here: -
* various -sisu man pages <http://www.jus.uio.no/sisu/man/ -> [^9] -
* sisu.1 <http://www.jus.uio.no/sisu/man/sisu.1.html -> -[^10] -
-
This fell out of date -and has been discontinued. -
-
SiSU -source documents are plaintext ( UTF-8 )[^12] files -
All paragraphs are -separated by an empty line. -
Markup is comprised of: -
* at the top of -a document, the document header made up of semantic meta-data about the -document and if desired additional processing instructions (such an instruction -to automatically number headings from a particular level down) -
* followed -by the prepared substantive text of which the most important single characteristic -is the markup of different heading levels, which define the primary outline -of the document structure. Markup of substantive text includes: -
* heading
-levels defines document structure
-
-
* text basic attributes, italics, bold etc.
-
-
* grouped text (objects), which are to be treated differently, such
-as code
- blocks or poems.
-
-
* footnotes/endnotes
-
-
* linked text and images -
* paragraph actions, such as indent, bulleted, -numbered-lists, etc. -
Some interactive help on markup is available, by typing - -
sisu and selecting markup or sisu --help markup -
To check the markup in -a file: -
sisu --identify [filename].sst -
For brief descriptive summary of - -
markup history -
sisu --query-history -
or if for a particular version: -
-sisu --query-0.38 -
-
Online markup examples are available -together with the respective outputs produced from <http://www.jus.uio.no/sisu/SiSU/examples.html -> -or from <http://www.jus.uio.no/sisu/sisu_examples/ -> -
There is of course this -document, which provides a cursory overview of sisu markup and the respective -output produced: <http://www.jus.uio.no/sisu/sisu_markup/ -> -
an alternative -presentation of markup syntax: /usr/share/doc/sisu/on_markup.txt.gz -
-
- With SiSU installed sample skins may be found in: /usr/share/doc/sisu/markup-samples -(or equivalent directory) and if sisu -markup-samples is installed also under: - -
/usr/share/doc/sisu/markup-samples-non-free -
-
-
Headers contain -either: semantic meta-data about a document, which can be used by any output -module of the program, or; processing instructions. -
Note: the first line -of a document may include information on the markup version used in the -form of a comment. Comments are a percentage mark at the start of a paragraph -(and as the first character in a line of text) followed by a space and -the comment: -
-
% this would be a comment --
-
This current document is loaded by a master document that -has a header similar to this one: -
-
% SiSU master 4.0 -@title: SiSU - :subtitle: Manual -@creator: - :author: Amissah, Ralph -@publisher: [publisher name] -@rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, -License GPL 3 -@classify: - :topic_register: SiSU:manual;electronic documents:SiSU:manual - :subject: ebook, epublishing, electronic book, electronic publishing, - electronic document, electronic citation, data structure, - citation systems, search -% used_by: manual -@date: - :published: 2008-05-22 - :created: 2002-08-28 - :issued: 2002-08-28 - :available: 2002-08-28 - :modified: 2010-03-03 -@make: - :num_top: 1 - :breaks: new=C; break=1 - :bold: /Gnu|Debian|Ruby|SiSU/ - :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org - :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org - :manpage: name=sisu - documents: markup, structuring, publishing in multiple -standard formats, and search; - synopsis=sisu [-abcDdeFhIiMmNnopqRrSsTtUuVvwXxYyZz0-9] [filename/wildcard -] - . sisu [-Ddcv] [instruction] - . sisu [-CcFLSVvW] - . sisu --v4 [operations] - . sisu --v3 [operations] -@links: - { SiSU Homepage }http://www.sisudoc.org/ - { SiSU Manual }http://www.sisudoc.org/sisu/sisu_manual/ - { Book Samples & Markup Examples }http://www.jus.uio.no/sisu/SiSU/examples.html - { SiSU Download }http://www.jus.uio.no/sisu/SiSU/download.html - { SiSU Changelog }http://www.jus.uio.no/sisu/SiSU/changelog.html - { SiSU Git repo }http://git.sisudoc.org/?p=code/sisu.git;a=summary - { SiSU List Archives }http://lists.sisudoc.org/pipermail/sisu/ - { SiSU @ Debian }http://packages.qa.debian.org/s/sisu.html - { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org - { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU --
-
Header tags appear at the beginning of a document and -provide meta information on the document (such as the Dublin Core ) , or -information as to how the document as a whole is to be processed. All header -instructions take the form @headername: or on the next line and indented -by once space :subheadername: All Dublin Core meta tags are available -
- @indentifier: information or instructions -
where the "identifier" is -a tag recognised by the program, and the "information" or "instructions" - -
belong to the tag/identifier specified -
Note: a header where used should -only be used once; all headers apart from @title: are optional; the @structure: -header is used to describe document structure, and can be useful to know. - -
This is a sample header -
-
% SiSU 2.0 [declared file-type identifier with markup version] --
-
@title: [title text] [this header is the only one that is mandatory] - :subtitle: [subtitle if any] - :language: English --
-
@creator: - :author: [Lastname, First names] - :illustrator: [Lastname, First names] - :translator: [Lastname, First names] - :prepared_by: [Lastname, First names] --
-
@date: - :published: [year or yyyy-mm-dd] - :created: [year or yyyy-mm-dd] - :issued: [year or yyyy-mm-dd] - :available: [year or yyyy-mm-dd] - :modified: [year or yyyy-mm-dd] - :valid: [year or yyyy-mm-dd] - :added_to_site: [year or yyyy-mm-dd] - :translated: [year or yyyy-mm-dd] --
-
@rights: - :copyright: Copyright (C) [Year and Holder] - :license: [Use License granted] - :text: [Year and Holder] - :translation: [Name, Year] - :illustrations: [Name, Year] --
-
@classify: - :topic_register: SiSU:markup sample:book;book:novel:fantasy - :type: - :subject: - :description: - :keywords: - :abstract: - :loc: [Library of Congress classification] - :dewey: [Dewey classification --
-
@identify: - :isbn: [ISBN] - :oclc: --
-
@links: { SiSU }http://www.sisudoc.org - { FSF }http://www.fsf.org --
-
@make: - :num_top: 1 - :headings: [text to match for each level - (e.g. PART; Chapter; Section; Article; or another: none; BOOK|FIRST|SECOND; -none; CHAPTER;) - :breaks: new=:C; break=1 - :promo: sisu, ruby, sisu_search_libre, open_society - :bold: [regular expression of words/phrases to be made bold] - :italics: [regular expression of words/phrases to italicise] - :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org - :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org --
-
@original: - :language: [language] --
-
@notes: - :comment: - :prefix: [prefix is placed just after table of contents] --
-
-
Heading levels are :A~ ,:B~ -,:C~ ,1~ ,2~ ,3~ ... :A - :C being part / section headings, followed by other -heading levels, and 1 -6 being headings followed by substantive text or -sub-headings. :A~ usually the title :A~? conditional level 1 heading (used -where a stand-alone document may be imported into another) -
:A~ [heading -text] Top level heading [this usually has similar content to the title -@title: ] NOTE: the heading levels described here are in 0.38 notation, - -
see heading -
:B~ [heading text] Second level heading [this is a heading -level divider] -
:C~ [heading text] Third level heading [this is a heading -level divider] -
1~ [heading text] Top level heading preceding substantive -text of document or sub-heading 2, the heading level that would normally -be marked 1. or 2. or 3. etc. in a document, and the level on which sisu by -default would break html output into named segments, names are provided -automatically if none are given (a number), otherwise takes the form 1~my_filename_for_this_segment - -
2~ [heading text] Second level heading preceding substantive text of -document or sub-heading 3 , the heading level that would normally be marked -1.1 or 1.2 or 1.3 or 2.1 etc. in a document. -
3~ [heading text] Third level -heading preceding substantive text of document, that would normally be -marked 1.1.1 or 1.1.2 or 1.2.1 or 2.1.1 etc. in a document -
-
1~filename level 1 heading, -% the primary division such as Chapter that is followed by substantive -text, and may be further subdivided (this is the level on which by default -html segments are made) --
-
markup example: -
-
normal text, *{emphasis}*, !{bold text}!, /{italics}/, _{underscore}_, -"{citation}", -^{superscript}^, ,{subscript},, +{inserted text}+, -{strikethrough}-, #{monospace}# -normal text -*{emphasis}* [note: can be configured to be represented by bold, italics -or underscore] -!{bold text}! -/{italics}/ -_{underscore}_ -"{citation}" -^{superscript}^ -,{subscript}, -+{inserted text}+ --{strikethrough}- -#{monospace}# --
resulting output: -
normal text, emphasis, bold text , italics, underscore, -"citation", ^superscript^, [subscript], ++inserted text++, --strikethrough--, - -
monospace -
normal text -
emphasis [note: can be configured to be represented -by bold, italics or underscore] -
bold text -
italics -
underscore -
"citation" - -
^superscript^ -
[subscript] -
++inserted text++ -
--strikethrough-- -
monospace - -
-
markup example: -
-
ordinary paragraph -_1 indent paragraph one step -_2 indent paragraph two steps -_9 indent paragraph nine steps --
resulting output: -
ordinary paragraph -
indent paragraph one step
-
-
indent paragraph two steps
-
-
indent paragraph nine steps
-
-
markup example: -
-
_* bullet text -_1* bullet text, first indent -_2* bullet text, two step indent --
resulting output: -
* bullet text -
* bullet text, first indent
-
-
* bullet text, two step indent
-
-
Numbered List (not to be confused with headings/titles, (document structure)) - -
markup example: -
-
# numbered list numbered list 1., 2., 3, etc. -_# numbered list numbered list indented a., b., c., d., etc. --
-
markup example: -
-
_0_1 first line no indent, -rest of paragraph indented one step -_1_0 first line indented, -rest of paragraph no indent -in each case level may be 0-9 --
resulting output: -
first line no indent, rest of paragraph indented
-one step; first line no indent, rest of paragraph indented one step;
-first line no indent, rest of
- paragraph indented one step; first line no indent, rest of paragraph
-indented
- one step; first line no indent, rest of paragraph indented one step;
-first
- line no indent, rest of paragraph indented one step; first line no indent,
- rest of paragraph indented one step; first line no indent, rest of paragraph
- indented one step; first line no indent, rest of paragraph indented
-one step;
-
-
A regular paragraph. -
first line indented, rest of paragraph no indent -first line indented, rest of paragraph no indent first line indented, rest -of paragraph no indent first line indented, rest of paragraph no indent -first line indented, rest of paragraph no indent first line indented, rest -of paragraph no indent first line indented, rest of paragraph no indent -first line indented, rest of paragraph no indent first line indented, rest -of paragraph no indent first line indented, rest of paragraph no indent -first line indented, rest of paragraph no indent -
in each case level may - -
be 0-9 -
-
live-build A collection of scripts used to build customized
- Debian
-
Livesystems.
- .I live-build
- was formerly known as live-helper, and even earlier known as live-package.
-
-
-
live-build -
A collection of scripts used to build customized
- Debian Livesystems.
- live-build was formerly known as live-helper, and even earlier known as
-live-package.
-
-
-
Footnotes and endnotes are marked up at the location -where they would be indicated within a text. They are automatically numbered. - -
The output type determines whether footnotes or endnotes will be produced - -
markup example: -
-
~{ a footnote or endnote }~ --
resulting output: -
[^13] -
markup example: -
-
normal text~{ self contained endnote marker & endnote in one }~ continues --
resulting output: -
normal text[^14] continues -
markup example: -
-
normal text ~{* unnumbered asterisk footnote/endnote, insert multiple asterisks -if required }~ continues -normal text ~{** another unnumbered asterisk footnote/endnote }~ continues --
resulting output: -
normal text [^*] continues -
normal text [^**] continues - -
markup example: -
-
normal text ~[* editors notes, numbered asterisk footnote/endnote series -]~ continues -normal text ~[+ editors notes, numbered asterisk footnote/endnote series -]~ continues --
resulting output: -
normal text [^*3] continues -
normal text [^+2] continues - -
Alternative endnote pair notation for footnotes/endnotes: -
-
% note the endnote marker "~^" -normal text~^ continues -^~ endnote text following the paragraph in which the marker occurs --
the standard and pair notation cannot be mixed in the same document -
- -
-
urls found within text -are marked up automatically. A url within text is automatically hyperlinked -to itself and by default decorated with angled braces, unless they are -contained within a code block (in which case they are passed as normal -text), or escaped by a preceding underscore (in which case the decoration -is omitted). -
markup example: -
-
normal text http://www.sisudoc.org/ continues --
resulting output: -
normal text <http://www.sisudoc.org/ -> continues -
An - -
escaped url without decoration -
markup example: -
-
normal text _http://www.sisudoc.org/ continues -deb _http://www.jus.uio.no/sisu/archive unstable main non-free --
resulting output: -
normal text <_http://www.sisudoc.org/ -> continues -
deb -<_http://www.jus.uio.no/sisu/archive -> unstable main non-free -
where a code block -is used there is neither decoration nor hyperlinking, code blocks are discussed - -
later in this document -
resulting output: -
-
deb http://www.jus.uio.no/sisu/archive unstable main non-free -deb-src http://www.jus.uio.no/sisu/archive unstable main non-free --
-
To link text or an image to a url the markup is as follows - -
markup example: -
-
about { SiSU }http://url.org markup --
resulting output: -
aboutSiSU <http://www.sisudoc.org/ -> markup -
A shortcut - -
notation is available so the url link may also be provided automatically - -
as a footnote -
markup example: -
-
about {~^ SiSU }http://url.org markup --
resulting output: -
aboutSiSU <http://www.sisudoc.org/ -> [^15] markup -
Internal -document links to a tagged location, including an ocn -
markup example: - -
-
about { text links }#link_text --
resulting output: -
about ⌠text links⌡⌈link_text⌋ -
Shared document - -
collection link -
markup example: -
-
about { SiSU book markup examples }:SiSU/examples.html --
resulting output: -
about ⌠ SiSU book markup examples⌡⌈:SiSU/examples.html⌋ - -
-
markup example: -
-
{ tux.png 64x80 }image -% various url linked images -{tux.png 64x80 "a better way" }http://www.sisudoc.org/ -{GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better - with Gnu/Linux, Debian -and Ruby" }http://www.sisudoc.org/ -{~^ ruby_logo.png "Ruby" }http://www.ruby-lang.org/en/ --
resulting output: -
[ tux.png ] -
tux.png 64x80 "Gnu/Linux - a better way" -<http://www.sisudoc.org/ -> -
GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better -- with Gnu/Linux, Debian and Ruby" <http://www.sisudoc.org/ -> -
ruby_logo.png -70x90 "Ruby" <http://www.ruby-lang.org/en/ -> [^16] -
linked url footnote shortcut - -
-
{~^ [text to link] }http://url.org -% maps to: { [text to link] }http://url.org ~{ http://url.org }~ -% which produces hyper-linked text within a document/paragraph, with an -endnote providing the url for the text location used in the hyperlink --
-
text marker *~name --
note at a heading level the same is automatically achieved by providing -names to headings 1, 2 and 3 i.e. 2~[name] and 3~[name] or in the case of -auto-heading numbering, without further intervention. -
markup example: - -
-
!_ /{"Viral Spiral"}/, David Bollier -{ "Viral Spiral", David Bollier [3sS]}viral_spiral.david_bollier.sst --
Viral Spiral, David Bollier -
"Viral Spiral", David Bollier <http://corundum/sisu_manual/en/manifest/viral_spiral.david_bollier.html
->
- document manifest <http://corundum/sisu_manual/en/manifest/viral_spiral.david_bollier.html
->
- ⌠html, segmented text⌡「http://corundum/sisu_manual/en/html/viral_spiral.david_bollier.html」
-
- ⌠html, scroll, document in one⌡「http://corundum/sisu_manual/en/html/viral_spiral.david_bollier.html」
-
- ⌠epub⌡「http://corundum/sisu_manual/en/epub/viral_spiral.david_bollier.epub」
-
- ⌠pdf, landscape⌡「http://corundum/sisu_manual/en/pdf/viral_spiral.david_bollier.pdf」
-
- ⌠pdf, portrait⌡「http://corundum/sisu_manual/en/pdf/viral_spiral.david_bollier.pdf」
-
- ⌠odf: odt, open document text⌡「http://corundum/sisu_manual/en/odt/viral_spiral.david_bollier.odt」
-
- ⌠xhtml scroll⌡「http://corundum/sisu_manual/en/xhtml/viral_spiral.david_bollier.xhtml」
-
- ⌠xml, sax⌡「http://corundum/sisu_manual/en/xml/viral_spiral.david_bollier.xml」
-
- ⌠xml, dom⌡「http://corundum/sisu_manual/en/xml/viral_spiral.david_bollier.xml」
-
- ⌠concordance⌡「http://corundum/sisu_manual/en/html/viral_spiral.david_bollier.html」
-
- ⌠dcc, document content certificate (digests)⌡「http://corundum/sisu_manual/en/digest/viral_spiral.david_bollier.txt」
-
- ⌠markup source text⌡「http://corundum/sisu_manual/en/src/viral_spiral.david_bollier.sst」
-
- ⌠markup source (zipped) pod⌡「http://corundum/sisu_manual/en/pod/viral_spiral.david_bollier.sst.zip」
-
-
-
-
-
Tables may be prepared in two either of two forms - -
markup example: -
-
table{ c3; 40; 30; 30; -This is a table -this would become column two of row one -column three of row one is here -And here begins another row -column two of row two -column three of row two, and so on -}table --
resulting output: -
This is a table|this would become column two of row -one|column three of row one is here』And here begins another row|column -two of row two|column three of row two, and so on』 -
a second form may - -
be easier to work with in cases where there is not much information in - -
each column -
markup example: [^17]
-
!_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005 -{table~h 24; 12; 12; 12; 12; 12; 12;} - |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June -2006 -Contributors* | 10| 472| 2,188| 9,653| -25,011| 48,721 -Active contributors** | 9| 212| 846| 3,228| - 8,442| 16,945 -Very active contributors*** | 0| 31| 190| 692| - 1,639| 3,016 -No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| - 630,000 -No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 -* Contributed at least ten times; ** at least 5 times in last month; *** -more than 100 times in last month. --
resulting output: -
Table 3.1: Contributors to Wikipedia, January 2001 -- June 2005 |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June 2006』Contributors*|10|472|2,188|9,653|25,011|48,721』Active -contributors**|9|212|846|3,228|8,442|16,945』Very active contributors***|0|31|190|692|1,639|3,016』No. -of English language articles|25|16,000|101,000|190,000|320,000|630,000』No. of -articles, all languages|25|19,000|138,000|490,000|862,000|1,600,000』 -
* Contributed -at least ten times; ** at least 5 times in last month; *** more than 100 -times in last month. -
-
basic markup: -
-
poem{ - Your poem here -}poem -Each verse in a poem is given an object number. --
markup example: -
-
poem{ - ‘Fury said to a - mouse, That he - met in the - house, - "Let us - both go to - law: I will - prosecute - YOU. --Come, - I’ll take no - denial; We - must have a - trial: For - really this - morning I’ve - nothing - to do." - Said the - mouse to the - cur, "Such - a trial, - dear Sir, - With - no jury - or judge, - would be - wasting - our - breath." - "I’ll be - judge, I’ll - be jury," - Said - cunning - old Fury: - "I’ll - try the - whole - cause, - and - condemn - you - to - death."’ -}poem --
resulting output: -
‘Fury said to a
- mouse, That he
- met in the
- house,
- "Let us
- both go to
- law: I will
- prosecute
- YOU. --Come,
- I’ll take no
- denial; We
- must have a
- trial: For
- really this
- morning I’ve
- nothing
- to do."
- Said the
- mouse to the
- cur, "Such
- a trial,
- dear Sir,
- With
- no jury
- or judge,
- would be
- wasting
- our
- breath."
- "I’ll be
- judge, I’ll
- be jury,"
- Said
- cunning
- old Fury:
- "I’ll
- try the
- whole
- cause,
- and
- condemn
- you
- to
- death."’
-
-
-
basic markup: -
-
group{ - Your grouped text here -}group -A group is treated as an object and given a single object number. --
markup example: -
-
group{ - ‘Fury said to a - mouse, That he - met in the - house, - "Let us - both go to - law: I will - prosecute - YOU. --Come, - I’ll take no - denial; We - must have a - trial: For - really this - morning I’ve - nothing - to do." - Said the - mouse to the - cur, "Such - a trial, - dear Sir, - With - no jury - or judge, - would be - wasting - our - breath." - "I’ll be - judge, I’ll - be jury," - Said - cunning - old Fury: - "I’ll - try the - whole - cause, - and - condemn - you - to - death."’ -}group --
resulting output: -
‘Fury said to a
- mouse, That he
- met in the
- house,
- "Let us
- both go to
- law: I will
- prosecute
- YOU. --Come,
- I’ll take no
- denial; We
- must have a
- trial: For
- really this
- morning I’ve
- nothing
- to do."
- Said the
- mouse to the
- cur, "Such
- a trial,
- dear Sir,
- With
- no jury
- or judge,
- would be
- wasting
- our
- breath."
- "I’ll be
- judge, I’ll
- be jury,"
- Said
- cunning
- old Fury:
- "I’ll
- try the
- whole
- cause,
- and
- condemn
- you
- to
- death."’
-
-
-
Code tags code{ ... }code (used as with other group tags described -above) are used to escape regular sisu markup, and have been used extensively -within this document to provide examples of SiSU markup. You cannot however -use code tags to escape code tags. They are however used in the same way -as group or poem tags. -
A code-block is treated as an object and given a -single object number. [an option to number each line of code may be considered -at some later time] -
use of code tags instead of poem compared, resulting -output: -
-
‘Fury said to a - mouse, That he - met in the - house, - "Let us - both go to - law: I will - prosecute - YOU. --Come, - I’ll take no - denial; We - must have a - trial: For - really this - morning I’ve - nothing - to do." - Said the - mouse to the - cur, "Such - a trial, - dear Sir, - With - no jury - or judge, - would be - wasting - our - breath." - "I’ll be - judge, I’ll - be jury," - Said - cunning - old Fury: - "I’ll - try the - whole - cause, - and - condemn - you - to - death."’ --
From SiSU 2.7.7 on you can number codeblocks by placing a hash after the -opening code tag code{# as demonstrated here: -
-
1 | ‘Fury said to a -2 | mouse, That he -3 | met in the -4 | house, -5 | "Let us -6 | both go to -7 | law: I will -8 | prosecute -9 | YOU. --Come, -10 | I’ll take no -11 | denial; We -12 | must have a -13 | trial: For -14 | really this -15 | morning I’ve -16 | nothing -17 | to do." -18 | Said the -19 | mouse to the -20 | cur, "Such -21 | a trial, -22 | dear Sir, -23 | With -24 | no jury -25 | or judge, -26 | would be -27 | wasting -28 | our -29 | breath." -30 | "I’ll be -31 | judge, I’ll -32 | be jury," -33 | Said -34 | cunning -35 | old Fury: -36 | "I’ll -37 | try the -38 | whole -39 | cause, -40 | and -41 | condemn -42 | you -43 | to -44 | death."’ --
-
-
- To break a line within a "paragraph object", two backslashes \\ with a space -before and a space or newline after them may be used. -
-
To break a line within a "paragraph object", -two backslashes \\ with a space before -and a space or newline after them \\ -may be used. --
The html break br enclosed in angle brackets (though undocumented) is -available in versions prior to 3.0.13 and 2.9.7 (it remains available for the -time being, but is depreciated). -
-
Page breaks are only relevant -and honored in some output formats. A page break or a new page may be inserted -manually using the following markup on a line on its own: -
page new =\= -or breaks the page, starts a new page. -
page break -\- or breaks a column, -starts a new column, if using columns, else breaks the page, starts a new -page. -
page break line across page -..- draws a dividing line, dividing paragraphs - -
page break:
-
-\\- -or -<:pb> --
-
page (break) new:
-
=\\= -or -<:pn> --
-
page (break) line across page (dividing paragraphs):
-
-..- --
-
To make an index append to paragraph the book index term relates -to it, using an equal sign and curly braces. -
Currently two levels are
-provided, a main term and if needed a sub-term. Sub-terms are separated from
-the main term by a colon.
-
Paragraph containing main term and sub-term. - ={Main term:sub-term} --
The index syntax starts on a new line, but there should not be an empty -line between paragraph and index markup. -
The structure of the resulting -index would be: -
-
Main term, 1 - sub-term, 1 --
Several terms may relate to a paragraph, they are separated by a semicolon. -If the term refers to more than one paragraph, indicate the number of paragraphs. - -
-
Paragraph containing main term, second term and sub-term. - ={first term; second term: sub-term} --
The structure of the resulting index would be: -
-
First term, 1, - Second term, 1, - sub-term, 1 --
If multiple sub-terms appear under one paragraph, they are separated under -the main term heading from each other by a pipe symbol. -
-
Paragraph containing main term, second term and sub-term. - ={Main term:sub-term+1|second sub-term} - A paragraph that continues discussion of the first sub-term --
The plus one in the example provided indicates the first sub-term spans -one additional paragraph. The logical structure of the resulting index would -be: -
-
Main term, 1, - sub-term, 1-3, - second sub-term, 1, --
-
It is possible to build a document by creating -a master document that requires other documents. The documents required -may be complete documents that could be generated independently, or they -could be markup snippets, prepared so as to be easily available to be placed -within another text. If the calling document is a master document (built -from other documents), it should be named with the suffix .ssm Within this -document you would provide information on the other documents that should -be included within the text. These may be other documents that would be -processed in a regular way, or markup bits prepared only for inclusion -within a master document .sst regular markup file, or .ssi (insert/information) - -
A secondary file of the composite document is built prior to processing - -
with the same prefix and the suffix ._sst -
basic markup for importing a - -
document into a master document -
-
<< filename1.sst -<< filename2.ssi --
The form described above should be relied on. Within the Vim editor it -results in the text thus linked becoming hyperlinked to the document it -is calling in which is convenient for editing. -
-
SiSU has -plaintext and binary filetypes, and can process either type of document. - -
-
-
SiSU processing can be done -directly against a sisu documents; which may be located locally or on a -remote server for which a url is provided. -
SiSU source markup can be shared -with the command: -
sisu -s [filename] -
-The most common form of document in SiSU, see the section on SiSU markup. - -
-
Composite documents which incorporate other SiSU -documents which may be either regular SiSU text .sst which may be generated -independently, or inserts prepared solely for the purpose of being incorporated -into one or more master documents. -
The mechanism by which master files -incorporate other documents is described as one of the headings under under -SiSU markup in the SiSU manual. -
Note: Master documents may be prepared -in a similar way to regular documents, and processing will occur normally -if a .sst file is renamed .ssm without requiring any other documents; the -.ssm marker flags that the document may contain other documents. -
Note: -a secondary file of the composite document is built prior to processing -with the same prefix and the suffix ._sst [^19] -
-Inserts are documents prepared solely for the purpose of being incorporated -into one or more master documents. They resemble regular SiSU text files -except they are ignored by the SiSU processor. Making a file a .ssi file -is a quick and convenient way of flagging that it is not intended that -the file should be processed on its own. -
-
A sisupod is a zipped SiSU text file or set of SiSU -text files and any associated images that they contain (this will be extended -to include sound and multimedia-files) -
-
The structure of the sisupod is -such that it may for example contain a single document and its associated -images; a master document and its associated documents and anything else; -or the zipped contents of a whole directory of prepared SiSU documents. - -
The command to create a sisupod is: -
sisu -S [filename] -
Alternatively, -make a pod of the contents of a whole directory: -
sisu -S -
SiSU processing -can be done directly against a sisupod; which may be located locally or -on a remote server for which a url is provided. -
<http://www.sisudoc.org/sisu/sisu_commands -> - -
<http://www.sisudoc.org/sisu/sisu_manual -> -
-
- -
SiSU configration parameters are adjusted in the configuration -file, which can be used to override the defaults set. This includes such -things as which directory interim processing should be done in and where -the generated output should be placed. -
The SiSU configuration file is -a yaml file, which means indentation is significant. -
SiSU resource configuration -is determined by looking at the following files if they exist: -
./_sisu/v4/sisurc.yml
-
-
./_sisu/sisurc.yml
-
-
~/.sisu/v4/sisurc.yml
-
-
~/.sisu/sisurc.yml
-
-
/etc/sisu/v4/sisurc.yml
-
-
/etc/sisu/sisurc.yml
-
-
The search is in the order listed, and the first one found is used. -
- In the absence of instructions in any of these it falls back to the internal -program defaults. -
Configuration determines the output and processing directories -and the database access details. -
If SiSU is installed a sample sisurc.yml - -
may be found in /etc/sisu/sisurc.yml -
-
Most sisu document -headers relate to metadata, the exception is the @make: header which provides -processing related information. The default contents of the @make header -may be set by placing them in a file sisu_document_make. -
The search order -is as for resource configuration: -
./_sisu/v4/sisu_document_make
-
-
./_sisu/sisu_document_make
-
-
~/.sisu/v4/sisu_document_make
-
-
~/.sisu/sisu_document_make
-
-
/etc/sisu/v4/sisu_document_make
-
-
/etc/sisu/sisu_document_make
-
-
A sample sisu_document_make can be found in the _sisu/ directory under -along with the provided sisu markup samples. -
-
CSS files to modify the appearance of SiSU html, -XHTML or XML may be placed in the configuration directory: ./_sisu/css ; -~/.sisu/css or; /etc/sisu/css and these will be copied to the output directories -with the command sisu -CC. -
The basic CSS file for html output is html. css, -placing a file of that name in directory _sisu/css or equivalent will result -in the default file of that name being overwritten. -
HTML: html. css -
XML -DOM: dom.css -
XML SAX: sax.css -
XHTML: xhtml. css -
The default homepage -may use homepage.css or html. css -
Under consideration is to permit the -placement of a CSS file with a different name in directory _sisu/css directory -or equivalent.[^20] -
-
- SiSU v3 has new options for the source directory tree, and output directory -structures of which there are 3 alternatives. -
-
- The document source directory is the directory in which sisu processing -commands are given. It contains the sisu source files (.sst .ssm .ssi), or -(for sisu v3 may contain) subdirectories with language codes which contain -the sisu source files, so all English files would go in subdirectory en/, -French in fr/, Spanish in es/ and so on. ISO 639-1 codes are used (as varied -by po4a). A list of available languages (and possible sub-directory names) -can be obtained with the command "sisu --help lang" The list of languages -is limited to langagues supported by XeTeX polyglosia. -
-
-
-
% files stored at this level e.g. sisu_manual.sst or -% for sisu v3 may be under language sub-directories -% e.g. - ./subject_name/en - ./subject_name/fr - ./subject_name/es - ./subject_name/_sisu - ./subject_name/_sisu/css - ./subject_name/_sisu/image --
-
-
The output -directory root can be set in the sisurc.yml file. Under the root, subdirectories -are made for each directory in which a document set resides. If you have -a directory named poems or conventions, that directory will be created -under the output directory root and the output for all documents contained -in the directory of a particular name will be generated to subdirectories -beneath that directory (poem or conventions). A document will be placed -in a subdirectory of the same name as the document with the filetype identifier -stripped (.sst .ssm) -
The last part of a directory path, representing the -sub-directory in which a document set resides, is the directory name that -will be used for the output directory. This has implications for the organisation -of document collections as it could make sense to place documents of a -particular subject, or type within a directory identifying them. This grouping -as suggested could be by subject (sales_law, english_literature); or just -as conveniently by some other classification (X University). The mapping -means it is also possible to place in the same output directory documents -that are for organisational purposes kept separately, for example documents -on a given subject of two different institutions may be kept in two different -directories of the same name, under a directory named after each institution, -and these would be output to the same output directory. Skins could be associated -with each institution on a directory basis and resulting documents will -take on the appropriate different appearance. -
-
- There are 3 possibile output structures described as being, by language, -by filetype or by filename, the selection is made in sisurc.yml -
-
#% output_dir_structure_by: language; filetype; or filename -output_dir_structure_by: language #(language & filetype, preferred?) -#output_dir_structure_by: filetype -#output_dir_structure_by: filename #(default, closest to original v1 & -v2) --
-
The by language directory structure places output files -
- The by language directory structure separates output files by language -code (all files of a given language), and within the language directory -by filetype. -
Its selection is configured in sisurc.yml -
output_dir_structure_by: - -
language -
-
|-- en - |-- epub - |-- hashes - |-- html - | |-- viral_spiral.david_bollier - | |-- manifest - | |-- qrcode - | |-- odt - | |-- pdf - | |-- sitemaps - | |-- txt - | |-- xhtml - | ‘-- xml - |-- po4a - | ‘-- live-manual - | |-- po - | |-- fr - | ‘-- pot - ‘-- _sisu - |-- css - |-- image - |-- image_sys -> ../../_sisu/image_sys - ‘-- xml - |-- rnc - |-- rng - ‘-- xsd --
#by: language subject_dir/en/manifest/filename.html -
-
The -by filetype directory structure separates output files by filetype, all -html files in one directory pdfs in another and so on. Filenames are given -a language extension. -
Its selection is configured in sisurc.yml -
output_dir_structure_by: - -
filetype -
-
|-- epub - |-- hashes - |-- html - |-- viral_spiral.david_bollier - |-- manifest - |-- qrcode - |-- odt - |-- pdf - |-- po4a - |-- live-manual - | |-- po - | |-- fr - | ‘-- pot - |-- _sisu - | |-- css - | |-- image - | |-- image_sys -> ../../_sisu/image_sys - | ‘-- xml - | |-- rnc - | |-- rng - | ‘-- xsd - |-- sitemaps - |-- txt - |-- xhtml - ‘-- xml --
#by: filetype subject_dir/html/filename/manifest.en.html -
-
-The by filename directory structure places most output of a particular -file (the different filetypes) in a common directory. -
Its selection is - -
configured in sisurc.yml -
output_dir_structure_by: filename -
-
|-- epub - |-- po4a - |-- live-manual - | |-- po - | |-- fr - | ‘-- pot - |-- _sisu - | |-- css - | |-- image - | |-- image_sys -> ../../_sisu/image_sys - | ‘-- xml - | |-- rnc - | |-- rng - | ‘-- xsd - |-- sitemaps - |-- src - |-- pod - ‘-- viral_spiral.david_bollier --
#by: filename subject_dir/filename/manifest.en.html -
-
-
-
./subject_name/ -% containing sub_directories named after the generated files from which -they are made - ./subject_name/src -% contains shared source files text and binary e.g. sisu_manual.sst and sisu_manual.sst.zip - ./subject_name/_sisu -% configuration file e.g. sisurc.yml - ./subject_name/_sisu/skin -% skins in various skin directories doc, dir, site, yml - ./subject_name/_sisu/css - ./subject_name/_sisu/image -% images for documents contained in this directory - ./subject_name/_sisu/mm --
-
-
./sisupod/ -% files stored at this level e.g. sisu_manual.sst - ./sisupod/_sisu -% configuration file e.g. sisurc.yml - ./sisupod/_sisu/skin -% skins in various skin directories doc, dir, site, yml - ./sisupod/_sisu/css - ./sisupod/_sisu/image -% images for documents contained in this directory - ./sisupod/_sisu/mm --
-
-
SiSU is about the ability to auto-generate -documents. Home pages are regarded as custom built items, and are not created -by SiSU. More accurately, SiSU has a default home page, which will not be -appropriate for use with other sites, and the means to provide your own -home page instead in one of two ways as part of a site’s configuration, -these being: -
1. through placing your home page and other custom built -documents in the subdirectory _sisu/home/ (this probably being the easier -and more convenient option) -
2. through providing what you want as the -home page in a skin, -
Document sets are contained in directories, usually -organised by site or subject. Each directory can/should have its own homepage. -See the section on directory structure and organisation of content. -
-
Custom built pages, -including the home page index.html may be placed within the configuration -directory _sisu/home/ in any of the locations that is searched for the -configuration directory, namely ./_sisu ; ~/_sisu ; /etc/sisu From there -they are copied to the root of the output directory with the command: -
- sisu -CC -
-
Current markup examples -and document output samples are provided off <http://sisudoc.org -> or <http://www.jus.uio.no/sisu -> -and in the sisu -markup-sample package available off <http://sources.sisudoc.org -> - -
For some documents hardly any markup at all is required at all, other -than a header, and an indication that the levels to be taken into account -by the program in generating its output are. -
-
A few -additional sample books prepared as sisu markup samples, output formats -to be generated using SiSU are contained in a separate package sisu -markup-samples. -sisu -markup-samples contains books (prepared using sisu markup), that were -released by their authors various licenses mostly different Creative Commons -licences that do not permit inclusion in the Debian Project as they have -requirements that do not meet the Debian Free Software Guidelines for various -reasons, most commonly that they require that the original substantive -text remain unchanged, and sometimes that the works be used only non-commercially. - -
Accelerando, Charles Stross (2005) accelerando.charles_stross.sst -
Alice’s -Adventures in Wonderland, Lewis Carroll (1865) alices_adventures_in_wonderland.lewis_carroll.sst - -
CONTENT, Cory Doctorow (2008) content.cory_doctorow.sst -
Democratizing -Innovation, Eric von Hippel (2005) democratizing_innovation.eric_von_hippel.sst - -
Down and Out in the Magic Kingdom, Cory Doctorow (2003) down_and_out_in_the_magic_kingdom.cory_doctorow.sst - -
For the Win, Cory Doctorow (2010) for_the_win.cory_doctorow.sst -
Free -as in Freedom - Richard Stallman’s Crusade for Free Software, Sam Williams -(2002) free_as_in_freedom.richard_stallman_crusade_for_free_software.sam_williams.sst - -
Free as in Freedom 2.0 - Richard Stallman and the Free Software Revolution, -Sam Williams (2002), Richard M. Stallman (2010) free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst - -
Free Culture - How Big Media Uses Technology and the Law to Lock Down -Culture and Control Creativity, Lawrence Lessig (2004) free_culture.lawrence_lessig.sst - -
Free For All - How Linux and the Free Software Movement Undercut the High -Tech Titans, Peter Wayner (2002) free_for_all.peter_wayner.sst -
GNU GENERAL -PUBLIC LICENSE v2, Free Software Foundation (1991) gpl2.fsf.sst -
GNU GENERAL -PUBLIC LICENSE v3, Free Software Foundation (2007) gpl3.fsf.sst -
Gulliver’s -Travels, Jonathan Swift (1726 / 1735) gullivers_travels.jonathan_swift.sst - -
Little Brother, Cory Doctorow (2008) little_brother.cory_doctorow.sst -
- The Cathederal and the Bazaar, Eric Raymond (2000) the_cathedral_and_the_bazaar.eric_s_raymond.sst - -
The Public Domain - Enclosing the Commons of the Mind, James Boyle (2008) - -
the_public_domain.james_boyle.sst -
The Wealth of Networks - How Social Production -Transforms Markets and Freedom, Yochai Benkler (2006) the_wealth_of_networks.yochai_benkler.sst - -
Through the Looking Glass, Lewis Carroll (1871) through_the_looking_glass.lewis_carroll.sst - -
Two Bits - The Cultural Significance of Free Software, Christopher Kelty -(2008) two_bits.christopher_kelty.sst -
UN Contracts for International Sale -of Goods, UN (1980) un_contracts_international_sale_of_goods_convention_1980.sst - -
Viral Spiral, David Bollier (2008) viral_spiral.david_bollier.sst -
-
SiSU output can easily and conveniently be indexed -by a number of standalone indexing tools, such as Lucene, Hyperestraier. - -
Because the document structure of sites created is clearly defined, and -the text object citation system is available hypothetically at least, for -all forms of output, it is possible to search the sql database, and either -read results from that database, or just as simply map the results to the -html output, which has richer text markup. -
In addition to this SiSU has -the ability to populate a relational sql type database with documents at -an object level, with objects numbers that are shared across different -output types, which make them searchable with that degree of granularity. -Basically, your match criteria is met by these documents and at these locations -within each document, which can be viewed within the database directly -or in various output formats. -
-
-
SiSU feeds -sisu markupd documents into sql type databases PostgreSQL [^21] and/or SQLite -[^22] database together with information related to document structure. -
- This is one of the more interesting output forms, as all the structural -data of the documents are retained (though can be ignored by the user of -the database should they so choose). All site texts/documents are (currently) -streamed to four tables: -
* one containing semantic (and other) headers,
-including, title, author, subject, (the
- .I Dublin Core.
- ..);
-
-
* another the substantive texts by individual "paragraph" (or object)
-- along with structural information, each paragraph being identifiable
-by its
- paragraph number (if it has one which almost all of them do), and the
- substantive text of each paragraph quite naturally being searchable
-(both in
- formatted and clean text versions for searching); and
-
-
* a third containing endnotes cross-referenced back to the paragraph
-from which they are referenced (both in formatted and clean text versions
-for
- searching).
-
-
* a fourth table with a one to one relation with the headers table contains
- full text versions of output, eg. pdf, html, xml, and
- .I ascii.
-
-
There is of course the possibility to add further structures. -
At this -level SiSU loads a relational database with documents chunked into objects, -their smallest logical structurally constituent parts, as text objects, -with their object citation number and all other structural information -needed to construct the document. Text is stored (at this text object level) -with and without elementary markup tagging, the stripped version being -so as to facilitate ease of searching. -
Being able to search a relational -database at an object level with the SiSU citation system is an effective -way of locating content generated by SiSU. As individual text objects of -a document stored (and indexed) together with object numbers, and all versions -of the document have the same numbering, complex searches can be tailored -to return just the locations of the search results relevant for all available -output formats, with live links to the precise locations in the database -or in html/xml documents; or, the structural information provided makes -it possible to search the full contents of the database and have headings -in which search content appears, or to search only headings etc. (as the -Dublin Core is incorporated it is easy to make use of that as well). -
-
- -
SiSU - Structured information, Serialized Units - a document publishing -system, postgresql dependency package -
-
Information related -to using postgresql with sisu (and related to the sisu_postgresql dependency -package, which is a dummy package to install dependencies needed for SiSU -to populate a postgresql database, this being part of SiSU - man sisu) . - -
-
sisu -D [instruction] [filename/wildcard if required] -
sisu --D --pg --[instruction] [filename/wildcard if required] -
-
Mappings -to two databases are provided by default, postgresql and sqlite, the same -commands are used within sisu to construct and populate databases however --d (lowercase) denotes sqlite and -D (uppercase) denotes postgresql, alternatively - -
- -
- -
sqlite or --pgsql may be used -
-D or --pgsql may be used interchangeably. -
-
-
and builds a new empty database structure -
- -
in database -
-
SiSU - Structured information, Serialized -Units - a document publishing system. -
-
Information related to -using sqlite with sisu (and related to the sisu_sqlite dependency package, -which is a dummy package to install dependencies needed for SiSU to populate -an sqlite database, this being part of SiSU - man sisu) . -
-
sisu --d [instruction] [filename/wildcard if required] -
sisu -d --(sqlite|pg) --[instruction] -[filename/wildcard if required] -
-
Mappings to two databases are -provided by default, postgresql and sqlite, the same commands are used -within sisu to construct and populate databases however -d (lowercase) denotes -sqlite and -D (uppercase) denotes postgresql, alternatively --sqlite or --pgsql - -
may be used -
-d or --sqlite may be used interchangeably. -
-
-
creates database tables where no database tables existed before -
-
-
Sample search frontend <http://search.sisudoc.org -> [^23] A small -database and sample query front-end (search from) that makes use of the -citation system, object citation numbering to demonstrates functionality.[^24] - -
SiSU can provide information on which documents are matched and at what -locations within each document the matches are found. These results are -relevant across all outputs using object citation numbering, which includes -html, XML, EPUB, LaTeX, PDF and indeed the SQL database. You can then refer -to one of the other outputs or in the SQL database expand the text within -the matched objects (paragraphs) in the documents matched. -
Note you may -set results either for documents matched and object number locations within -each matched document meeting the search criteria; or display the names -of the documents matched along with the objects (paragraphs) that meet -the search criteria.[^25] -
-
frontend for the database created -
The following is feedback on the setup -on a machine provided by the help command: -
sisu --help sql
-
Postgresql - user: ralph - current db set: SiSU_sisu - port: 5432 - dbi connect: DBI:Pg:database=SiSU_sisu;port=5432 -sqlite - current db set: /home/ralph/sisu_www/sisu/sisu_sqlite.db - dbi connect DBI:SQLite:/home/ralph/sisu_www/sisu/sisu_sqlite.db --
Note on databases built -
By default, [unless otherwise specified] databases -are built on a directory basis, from collections of documents within that -directory. The name of the directory you choose to work from is used as -the database name, i.e. if you are working in a directory called /home/ralph/ebook -the database SiSU_ebook is used. [otherwise a manual mapping for the collection -is necessary]
-
must be copied to the web-server cgi directory -
to the web-server cgi directory -
should be available wherever sisu is properly installed -
The generated - -
search form must be copied manually to the webserver directory as instructed - -
-
SiSU - Structured information, Serialized Units - a document - -
publishing system -
-
sisu_webrick [port] -
or -
sisu -W [port] -
- -
sisu_webrick is part of SiSU (man sisu) sisu_webrick starts -Ruby SiSU output is written, providing a list of these directories (assuming -SiSU is in use and they exist). -
The default port for sisu_webrick is set -to 8081, this may be modified in the yaml file: ~/.sisu/sisurc.yml a sample -of which is provided as /etc/sisu/sisurc.yml (or in the equivalent directory -on your system). -
-
sisu_webrick, may be started on it’s -own with the command: sisu_webrick [port] or using the sisu command with -the -W flag: sisu -W [port] -
where no port is given and settings are unchanged - -
the default port is 8081 -
-
sisu -W [port] -starts Ruby Webrick web-server, serving SiSU output directories, on the -port provided, or if no port is provided and the defaults have not been - -
changed in ~/.sisu/sisurc.yaml then on port 8081 -
-
* -sparse/minimal markup (clean utf-8 source texts). Documents are prepared -in a single UTF-8 file using a minimalistic mnemonic syntax. Typical literature, -documents like "War and Peace" require almost no markup, and most of the -headers are optional. -
* markup is easily readable/parsable by the human -eye, (basic markup is simpler and more sparse than the most basic HTML -) , [this may also be converted to XML representations of the same input/source -document]. -
* markup defines document structure (this may be done once -in a header pattern-match description, or for heading levels individually); -basic text attributes (bold, italics, underscore, strike-through etc.) as -required; and semantic information related to the document (header information, -extended beyond the Dublin core and easily further extended as required); -the headers may also contain processing instructions. SiSU markup is primarily -an abstraction of document structure and document metadata to permit taking -advantage of the basic strengths of existing alternative practical standard -ways of representing documents [be that browser viewing, paper publication, -sql search etc.] (html, epub, xml, odf, latex, pdf, sql) -
* for output -produces reasonably elegant output of established industry and institutionally -accepted open standard formats.[3] takes advantage of the different strengths -of various standard formats for representing documents, amongst the output -formats currently supported are: -
* HTML - both as a single scrollable - -
text and a segmented document -
* XHTML -
* EPUB -
* XML - both in sax and - -
dom style xml structures for further development as required -
* ODT - Open -Document Format text, the iso standard for document storage -
* LaTeX - - -
used to generate pdf -
* PDF (via LaTeX ) -
* SQL - population of an sql -database ( PostgreSQL or SQLite ) , (at the same object level that is used -to cite text within a document) -
Also produces: concordance files; document -content certificates (md5 or sha256 digests of headings, paragraphs, images -etc.) and html manifests (and sitemaps of content). (b) takes advantage of -the strengths implicit in these very different output types, (e.g. PDFs produced -using typesetting of LaTeX, databases populated with documents at an individual -object/paragraph level, making possible granular search (and related possibilities)) - -
* ensuring content can be cited in a meaningful way regardless of selected -output format. Online publishing (and publishing in multiple document formats) -lacks a useful way of citing text internally within documents (important -to academics generally and to lawyers) as page numbers are meaningless -across browsers and formats. sisu seeks to provide a common way of pinpoint -the text within a document, (which can be utilized for citation and by -search engines). The outputs share a common numbering system that is meaningful -(to man and machine) across all digital outputs whether paper, screen, -or database oriented, (pdf, HTML, EPUB, xml, sqlite, postgresql) , this -numbering system can be used to reference content. -
* Granular search within -documents. SQL databases are populated at an object level (roughly headings, -paragraphs, verse, tables) and become searchable with that degree of granularity, -the output information provides the object/paragraph numbers which are -relevant across all generated outputs; it is also possible to look at just -the matching paragraphs of the documents in the database; [output indexing -also work well with search indexing tools like hyperestraier]. -
* long -term maintainability of document collections in a world of changing formats, -having a very sparsely marked-up source document base. there is a considerable -degree of future-proofing, output representations are "upgradeable", and -new document formats may be added. e.g. addition of odf (open document text) -module in 2006, epub in 2009 and in future html5 output sometime in future, - -
without modification of existing prepared texts -
* SQL search aside, documents -are generated as required and static once generated. -
* documents produced -are static files, and may be batch processed, this needs to be done only -once but may be repeated for various reasons as desired (updated content, -addition of new output formats, updated technology document presentations/representations) - -
* document source ( plaintext utf-8) if shared on the net may be used - -
as input and processed locally to produce the different document outputs - -
* document source may be bundled together (automatically) with associated -documents (multiple language versions or master document with inclusions) -and images and sent as a zip file called a sisupod, if shared on the net - -
these too may be processed locally to produce the desired document outputs - -
* generated document outputs may automatically be posted to remote sites. - -
* for basic document generation, the only software dependency is Ruby, -and a few standard Unix tools (this covers plaintext, HTML, EPUB, XML, -ODF, LaTeX ) . To use a database you of course need that, and to convert -the LaTeX generated to pdf, a latex processor like tetex or texlive. -
* - -
as a developers tool it is flexible and extensible -
Syntax highlighting -for SiSU markup is available for a number of text editors. -
SiSU is less -about document layout than about finding a way with little markup to be -able to construct an abstract representation of a document that makes it -possible to produce multiple representations of it which may be rather -different from each other and used for different purposes, whether layout -and publishing, or search of content -
i.e. to be able to take advantage -from this minimal preparation starting point of some of the strengths of -rather different established ways of representing documents for different -purposes, whether for search (relational database, or indexed flat files -generated for that purpose whether of complete documents, or say of files -made up of objects), online viewing (e.g. html, xml, pdf) , or paper publication -(e.g. pdf) ... -
the solution arrived at is by extracting structural information -about the document (about headings within the document) and by tracking -objects (which are serialized and also given hash values) in the manner -described. It makes possible representations that are quite different from -those offered at present. For example objects could be saved individually -and identified by their hashes, with an index of how the objects relate -to each other to form a document. -
-
heading levels -
- -
should be prepared using UTF-8 character encoding -
- -
asterisk footnote/endnote -
series -
-
-
- -
-
- -
- -
-sisu-complete together with sisu-examples -is the whole of sisu -
-For more information on SiSU see: -<http://www.jus.uio.no/sisu ->
-or man sisu -
- -
-
- - diff --git a/data/doc/sisu/html/sisu_pdf.7.html b/data/doc/sisu/html/sisu_pdf.7.html deleted file mode 100644 index e2e41bda..00000000 --- a/data/doc/sisu/html/sisu_pdf.7.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - -- -
1. SISU PDF -
1.1 NAME -
SiSU - Structured information, Serialized -Units - a document publishing system. -
1.2 DESCRIPTION -
Information creating -pdf output with sisu (and related to the sisu_pdf dependency package, which -is a dummy package to install dependencies needed for SiSU to generate -pdfs (primarily related to LaTeX), sisu_pdf being part of SiSU - man sisu). - -
SiSU generates LaTeX which is converted by LaTeX tools to pdf. -
1.3 SYNOPSIS - -
sisu -pv [filename/wildcard]
-
-
1.4 COMMANDS -
-
SIZE -
The paper-size may be set to any of the following sizes: ’A4’, U.S. ’letter’ -and ’legal’ and book sizes: ’A5’ and ’B5’ -
1. The preset default if not otherwise -given in the configuration file or elsewhere is A4. -
2. The default paper -size may be set in the configuration file sisurc.yml. See sisu_configuration: - -
-
-
#% papersize, (LaTeX/pdf) current values A4, US_letter, book_b5, book_a5, -US_legal - default: - papersize: ’A4’ --
3. Paper size may be set in a document header: -
-
-
@papersize: (A4|US_letter|book_B5|book_A5|US_legal) --
4. or provided with additional command line parameter, e.g. -
sisu -pv
---papersize-a4 [filename/wildcard]
-
-
DOCUMENT INFORMATION (METADATA) -
METADATA -
Document Manifest @ <http://sisudoc.org/sisu_manual/sisu_pdf/sisu_manifest.html -> - -
Dublin Core (DC) -
DC tags included with this document are provided here. - -
DC Title: SiSU - PDF -
DC Creator: Ralph Amissah -
DC Rights: Copyright -(C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 -
DC -Type: information -
DC Date created: 2002-08-28 -
DC Date issued: 2002-08-28 - -
DC Date available: 2002-08-28 -
DC Date modified: 2007-09-16 -
DC Date: 2007-09-16 - -
Version Information -
Sourcefile: sisu_pdf.sst -
Filetype: SiSU text 0.58 - -
Sourcefile Digest, MD5(sisu_pdf.sst)= bed13854370b5daf1b1541527e8946b7 - -
Skin_Digest: MD5(skin_sisu_manual.rb)= 20fc43cf3eb6590bc3399a1aef65c5a9 - -
Generated -
Document (metaverse) last generated: Sat Sep 29 17:05:37 - -
+0100 2007 -
Generated by: SiSU 0.59.1 of 2007w39/2 (2007-09-25) -
Ruby version: -ruby 1.8.6 (2007-06-07 patchlevel 36) [i486-linux] -
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu_postgresql.7.html b/data/doc/sisu/html/sisu_postgresql.7.html deleted file mode 100644 index 6bc6be80..00000000 --- a/data/doc/sisu/html/sisu_postgresql.7.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - -- -
1. POSTGRESQL -
1.1 - -
NAME -
SiSU - Structured information, Serialized Units - a document publishing -system, postgresql dependency package -
1.2 DESCRIPTION -
Information related -to using postgresql with sisu (and related to the sisu_postgresql dependency -package, which is a dummy package to install dependencies needed for SiSU -to populate a postgresql database, this being part of SiSU - man sisu). -
- -
1.3 SYNOPSIS -
sisu -D [instruction] [filename/wildcard if required]
-
-
sisu -D --pg --[instruction] [filename/wildcard if required]
-
-
1.4 COMMANDS -
Mappings to two databases are provided by default, postgresql -and sqlite, the same commands are used within sisu to construct and populate -databases however -d (lowercase) denotes sqlite and -D (uppercase) denotes -postgresql, alternatively --sqlite or --pgsql may be used -
-D or --pgsql may -be used interchangeably. -
1.4.1 CREATE AND DESTROY DATABASE -
-
destroys existing database and builds a new empty database structure -
IMPORT AND REMOVE DOCUMENTS -
-
updates file contents in database -
METADATA -
Document Manifest @ <http://sisudoc.org/sisu_manual/sisu_postgresql/sisu_manifest.html -> - -
Dublin Core (DC) -
DC tags included with this document are provided here. - -
DC Title: SiSU - Search -
DC Creator: Ralph Amissah -
DC Rights: Copyright -(C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 -
DC -Type: information -
DC Date created: 2002-08-28 -
DC Date issued: 2002-08-28 - -
DC Date available: 2002-08-28 -
DC Date modified: 2007-09-16 -
DC Date: 2007-09-16 - -
Version Information -
Sourcefile: sisu_postgresql.sst -
Filetype: SiSU - -
text 0.58 -
Sourcefile Digest, MD5(sisu_postgresql.sst)= 9010e85001c50e30ba2ab69f9097825a - -
Skin_Digest: MD5(skin_sisu_manual.rb)= 20fc43cf3eb6590bc3399a1aef65c5a9 - -
Generated -
Document (metaverse) last generated: Sat Sep 29 17:05:38 - -
+0100 2007 -
Generated by: SiSU 0.59.1 of 2007w39/2 (2007-09-25) -
Ruby version: -ruby 1.8.6 (2007-06-07 patchlevel 36) [i486-linux] -
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu_sqlite.7.html b/data/doc/sisu/html/sisu_sqlite.7.html deleted file mode 100644 index b6f8b59b..00000000 --- a/data/doc/sisu/html/sisu_sqlite.7.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - -- -
1. SQLITE -
1.1 NAME - -
SiSU - Structured information, Serialized Units - a document publishing -system. -
1.2 DESCRIPTION -
Information related to using sqlite with sisu -(and related to the sisu_sqlite dependency package, which is a dummy package -to install dependencies needed for SiSU to populate an sqlite database, -this being part of SiSU - man sisu). -
1.3 SYNOPSIS -
sisu -d [instruction]
- [filename/wildcard if required]
-
-
sisu -d --(sqlite|pg) --[instruction] [filename/wildcard if
- required]
-
-
1.4 COMMANDS -
Mappings to two databases are provided by default, postgresql -and sqlite, the same commands are used within sisu to construct and populate -databases however -d (lowercase) denotes sqlite and -D (uppercase) denotes -postgresql, alternatively --sqlite or --pgsql may be used -
-d or --sqlite may -be used interchangeably. -
1.4.1 CREATE AND DESTROY DATABASE -
-
existing database and builds a new empty database structure -
AND REMOVE DOCUMENTS -
-
file contents in database -
METADATA -
Document Manifest @ <http://sisudoc.org/sisu_manual/sisu_sqlite/sisu_manifest.html -> - -
Dublin Core (DC) -
DC tags included with this document are provided here. - -
DC Title: SiSU - Search -
DC Creator: Ralph Amissah -
DC Rights: Copyright -(C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3 -
DC -Type: information -
DC Date created: 2002-08-28 -
DC Date issued: 2002-08-28 - -
DC Date available: 2002-08-28 -
DC Date modified: 2007-09-16 -
DC Date: 2007-09-16 - -
Version Information -
Sourcefile: sisu_sqlite.sst -
Filetype: SiSU text - -
0.58 -
Sourcefile Digest, MD5(sisu_sqlite.sst)= c4717fcab8a43de498d41a916bb99551 - -
Skin_Digest: MD5(skin_sisu_manual.rb)= 20fc43cf3eb6590bc3399a1aef65c5a9 - -
Generated -
Document (metaverse) last generated: Sat Sep 29 17:05:38 - -
+0100 2007 -
Generated by: SiSU 0.59.1 of 2007w39/2 (2007-09-25) -
Ruby version: -ruby 1.8.6 (2007-06-07 patchlevel 36) [i486-linux] -
-
-
- -
-
- - diff --git a/data/doc/sisu/html/sisu_termsheet.1.html b/data/doc/sisu/html/sisu_termsheet.1.html deleted file mode 100644 index d4f2b698..00000000 --- a/data/doc/sisu/html/sisu_termsheet.1.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - -- -
-sisu -t [termsheet-name(s)] -
- -
-sisu_termsheet, is started with the command: sisu --termsheet -[termsheet-name(s)] -
-sisu -t [termsheet-name(s)] -(runs sisu_termsheet) merges the termsheet(s) specified on the commandline -with the documents it is instructed to merge in the termsheet(s), and produces -regular SiSU output documents from the merged results.
-[further documentation -on termsheets required] -
-For more information on SiSU -see: <http://www.jus.uio.no/sisu ->
-or man sisu -
-
-
- -
-
- -
SISU VIM -
1. SISU VIM -
Synopsis -
SiSU has -syntax highlighting for a number of editors including vim which are documented -under: -
/usr/share/doc/sisu/markup-samples/sisu_manual/sisu_syntax_highlighting.sst
-
-
<http://www.sisudoc.org/sisu/sisu_manual/sisu_syntax_highlighting/index.html
->
-
-
SiSU also provides an ftplugin to provide vim folds for SiSU markup, -and to set some defaults for SiSU markup in installed by sisu. -
Vim 7 includes -sisu markup syntax highlighting. -
Vim related files are included in: /usr/share/sisu/conf/editor-syntax-etc/vim -(including the syntax highlighter, together with an ftplugin which may -be sourced if so desired from your vimrc). -
sisu-vim actions are activated
-on files with the suffix .sst .ssm .ssi .-sst ._sst (and the same with a further
-.meta extension)
-
-
-
-
<ctrl>F activate folds on headings matched in a document - (also provides folds when sourced on a ruby program file), - also :F - <ctrl>S search and replace down - <ctrl>G search and replace globally within file - <ctrl>X ruby regex global search and replace within file - <ctrl>C set color scheme to slate which is provided --
FURTHER INFORMATION -
For more information on SiSU see: -
<http://sisudoc.org/ -> - -
<http://www.jus.uio.no/sisu -> -
or man sisu
- -
-
- -
SISU WEBRICK -
1. SISU_WEBRICK - -
1.1 NAME -
SiSU - Structured information, Serialized Units - a document - -
publishing system -
1.2 SYNOPSIS -
sisu_webrick [port] -
or -
sisu --Webrick - [port] -
or -
sisu -W [port] -
1.3 DESCRIPTION -
sisu_webrick is part of SiSU -(man sisu) sisu_webrick starts Ruby ’s Webrick web-server and points it to -the directories to which SiSU output is written, providing a list of these -directories (assuming SiSU is in use and they exist). -
The default port -for sisu_webrick is set to 8081, this may be modified in the yaml file: -~/.sisu/sisurc.yml a sample of which is provided as /etc/sisu/sisurc.yml (or -in the equivalent directory on your system). -
1.4 SUMMARY OF MAN PAGE -
sisu_webrick, -may be started on it’s own with the command: sisu_webrick or using the sisu -command with the -W flag: sisu -W [port] -
where no port is given and settings - -
are unchanged the default port is 8081 -
1.5 DOCUMENT PROCESSING COMMAND - -
FLAGS -
sisu -W [port] starts Ruby Webrick web-server, serving SiSU output -directories, on the port provided, or if no port is provided and the defaults - -
have not been changed in ~/.sisu/sisurc.yaml then on port 8081 -
1.6 FURTHER - -
INFORMATION -
For more information on SiSU see: <http://www.jus.uio.no/sisu -> - -
or man sisu -
1.7 AUTHOR -
Ralph Amissah ralph@amissah.com or ralph.amissah@gmail.com - -
1.8 SEE ALSO -
sisu(1)
-
-
-
sisu_vim(7)
-
-
-
sisu(8)
-
-
-
-
-
- -
-
- - -- cgit v1.2.3 From e4ef7cc28d4c4e3360ac8dab749827f4a741698d Mon Sep 17 00:00:00 2001 From: Ralph Amissah