aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2010-07-15 07:38:11 -0400
committerRalph Amissah <ralph@amissah.com>2010-07-15 07:38:11 -0400
commit0a2eaed1103e8e3a43bcca1482e52df8eba88c9f (patch)
tree85b40a2413d6078021307bec95631e80bc60fa56
parentdebian/changelog 2.6.1 (diff)
parentsisu-2.6.2 changelog, date, version (diff)
Merge branch 'upstream' into debian/sid
-rw-r--r--CHANGELOG_v230
-rw-r--r--bin/sisu-harvest2
-rw-r--r--data/doc/sisu/v2/CHANGELOG30
-rw-r--r--data/sisu/v2/conf/editor-syntax-etc/vim/syntax/sisu.vim4
-rw-r--r--data/sisu/v2/v/version.yml6
-rw-r--r--lib/sisu/v2/defaults.rb3
-rw-r--r--lib/sisu/v2/html_segments.rb2
-rw-r--r--lib/sisu/v2/param.rb52
-rw-r--r--lib/sisu/v2/texpdf.rb25
-rw-r--r--lib/sisu/v2/texpdf_format.rb11
-rw-r--r--man/man1/sisu-concordance.12
-rw-r--r--man/man1/sisu-epub.12
-rw-r--r--man/man1/sisu-harvest.137
-rw-r--r--man/man1/sisu-html.12
-rw-r--r--man/man1/sisu-odf.12
-rw-r--r--man/man1/sisu-pdf.12
-rw-r--r--man/man1/sisu-pg.12
-rw-r--r--man/man1/sisu-sqlite.12
-rw-r--r--man/man1/sisu-txt.12
-rw-r--r--man/man1/sisu.12
20 files changed, 165 insertions, 55 deletions
diff --git a/CHANGELOG_v2 b/CHANGELOG_v2
index 615063fd..a99938d4 100644
--- a/CHANGELOG_v2
+++ b/CHANGELOG_v2
@@ -12,11 +12,33 @@ Reverse Chronological:
%% Development branch UNSTABLE
-%% 2.6.1.orig.tar.gz (2010-07-08:27/4)
+%% 2.6.2.orig.tar.gz (2010-07-15:28/4)
+http://www.jus.uio.no/sisu/pkg/src/sisu_2.6.2.orig.tar.gz
+ sisu_2.6.2.orig.tar.gz
+ sisu_2.6.2-1.dsc
+ sisu_2.6.2-1.diff.gz
+
+ * param, header reading more robust (re: commented out parts)
+
+ * vim syntax, in bulleted and indented text recognize bold
+
+ * param, rights (all) add line breaks between copyright, license and other
+ rights
+
+ * texpdf, if no "copy @" info remove; rename left footer; asterisk issue
+
+ * sisu-harvest, alias for sisu --harvest (with man page)
+
+ * texpdf, codeblocks, left margin flush
+
+ * html_segments, line space between end of text and section bottom navigation
+ bar
+
+%% 2.6.1.orig.tar.gz (2010-07-09:27/5)
http://www.jus.uio.no/sisu/pkg/src/sisu_2.6.1.orig.tar.gz
- sisu_2.6.1.orig.tar.gz
- sisu_2.6.1-1.dsc
- sisu_2.6.1-1.diff.gz
+ 95fe09b870e23f922bf7d02b8aa83827ef9592f06f844ba4df5c808e283c8590 2728806 sisu_2.6.1.orig.tar.gz
+ bffd97dda3a8b4eb71201c47590ef363570f018a2517be359e28bcd9c82ff97c 1151 sisu_2.6.1-1.dsc
+ 58c35da9a25d97a01e180404dbffe72de953139cab059db6a6aba69855a716bd 280583 sisu_2.6.1-1.diff.gz
* markup samples moved to data/doc/sisu/v2/markup-samples
diff --git a/bin/sisu-harvest b/bin/sisu-harvest
new file mode 100644
index 00000000..9430f8b3
--- /dev/null
+++ b/bin/sisu-harvest
@@ -0,0 +1,2 @@
+#!/bin/sh
+sisu --harvest ${@}
diff --git a/data/doc/sisu/v2/CHANGELOG b/data/doc/sisu/v2/CHANGELOG
index f2772393..fde457d7 100644
--- a/data/doc/sisu/v2/CHANGELOG
+++ b/data/doc/sisu/v2/CHANGELOG
@@ -12,11 +12,33 @@ Reverse Chronological:
%% Development branch UNSTABLE
-%% 2.6.1.orig.tar.gz (2010-07-08:27/4)
+%% 2.6.2.orig.tar.gz (2010-07-15:28/4)
+http://www.jus.uio.no/sisu/pkg/src/sisu_2.6.2.orig.tar.gz
+ sisu_2.6.2.orig.tar.gz
+ sisu_2.6.2-1.dsc
+ sisu_2.6.2-1.diff.gz
+
+ * param, header reading more robust (re: commented out parts)
+
+ * vim syntax, in bulleted and indented text recognize bold
+
+ * param, rights (all) add line breaks between copyright, license and other
+ rights
+
+ * texpdf, if no "copy @" info remove; rename left footer; asterisk issue
+
+ * sisu-harvest, alias for sisu --harvest (with man page)
+
+ * texpdf, codeblocks, left margin flush
+
+ * html_segments, line space between end of text and section bottom navigation
+ bar
+
+%% 2.6.1.orig.tar.gz (2010-07-09:27/5)
http://www.jus.uio.no/sisu/pkg/src/sisu_2.6.1.orig.tar.gz
- sisu_2.6.1.orig.tar.gz
- sisu_2.6.1-1.dsc
- sisu_2.6.1-1.diff.gz
+ 95fe09b870e23f922bf7d02b8aa83827ef9592f06f844ba4df5c808e283c8590 2728806 sisu_2.6.1.orig.tar.gz
+ bffd97dda3a8b4eb71201c47590ef363570f018a2517be359e28bcd9c82ff97c 1151 sisu_2.6.1-1.dsc
+ 58c35da9a25d97a01e180404dbffe72de953139cab059db6a6aba69855a716bd 280583 sisu_2.6.1-1.diff.gz
* markup samples moved to data/doc/sisu/v2/markup-samples
diff --git a/data/sisu/v2/conf/editor-syntax-etc/vim/syntax/sisu.vim b/data/sisu/v2/conf/editor-syntax-etc/vim/syntax/sisu.vim
index 11636720..334d058c 100644
--- a/data/sisu/v2/conf/editor-syntax-etc/vim/syntax/sisu.vim
+++ b/data/sisu/v2/conf/editor-syntax-etc/vim/syntax/sisu.vim
@@ -1,6 +1,6 @@
"SiSU Vim syntax file
"SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
-"SiSU Markup: SiSU (sisu-2.6.0, 2010-07-07)
+"SiSU Markup: SiSU (sisu-2.6.2, 2010-07-10)
"(originally looked at Ruby Vim by Mirko Nasato)
if version < 600
@@ -86,7 +86,7 @@ syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_co
syn region sisu_linked contains=sisu_fontface,sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_link start="{" end="}image" oneline
"some line operations
syn region sisu_control contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_error,sisu_error_wspace matchgroup=sisu_control start="\(\(^\| \)!_ \|<:b>\)" end="$"
-syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$"
+syn region sisu_normal contains=sisu_fontface,sisu_control,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_sem_block,sisu_sem_content,sisu_sem_marker_block,sisu_sem_marker,sisu_sem_ex_marker_block,sisu_sem_ex_marker,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^_\([1-9*]\|[1-9]\*\) " end="$"
syn region sisu_normal contains=sisu_strikeout,sisu_identifier,sisu_content_endnote,sisu_mark_endnote,sisu_link,sisu_linked,sisu_error,sisu_error_wspace matchgroup=sisu_markpara start="^\(#[ 1]\|_# \)" end="$"
"font face curly brackets
"syn region sisu_identifier contains=sisu_strikeout,sisu_number,sisu_control,sisu_identifier,sisu_error matchgroup=sisu_sem start="\S\+:{" end="}:[^<>,.!?:; ]\+" oneline
diff --git a/data/sisu/v2/v/version.yml b/data/sisu/v2/v/version.yml
index 6e8d23f7..e7f60c76 100644
--- a/data/sisu/v2/v/version.yml
+++ b/data/sisu/v2/v/version.yml
@@ -1,5 +1,5 @@
---
-:version: 2.6.1
-:date_stamp: 2010w27/5
-:date: "2010-07-09"
+:version: 2.6.2
+:date_stamp: 2010w28/4
+:date: "2010-07-15"
:project: SiSU
diff --git a/lib/sisu/v2/defaults.rb b/lib/sisu/v2/defaults.rb
index 09a9808b..da61c7eb 100644
--- a/lib/sisu/v2/defaults.rb
+++ b/lib/sisu/v2/defaults.rb
@@ -364,6 +364,9 @@ module SiSU_Viz
def url_sisudoc
'http://www.sisudoc.org'
end
+ def url_footer_signature
+ 'http://www.jus.uio.no/sisu'
+ end
def url_root
'/sisu' #watch
end
diff --git a/lib/sisu/v2/html_segments.rb b/lib/sisu/v2/html_segments.rb
index bed30afa..33e56402 100644
--- a/lib/sisu/v2/html_segments.rb
+++ b/lib/sisu/v2/html_segments.rb
@@ -297,7 +297,7 @@ module SiSU_HTML_seg
'</div>'
else ''
end
- @@seg[:tocband_bannerless] << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
+ @@seg[:tocband_bannerless] << '<br />' << conditional_div_close << format_head_seg.navigation_band_bottom(@@segtocband,@@seg[:dot_nav])
@@seg[:headings] << format_head_seg.seg_head_escript if SiSU_HTML_Format::Head_seg.method_defined? :seg_head_escript #debug PHP move up in text #bug
@@seg[:headings] << format_head_seg.title_banner(@md.title.main,@md.title.sub,@author).gsub(clean,'')
ocn=if @@heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]; $1 #fix
diff --git a/lib/sisu/v2/param.rb b/lib/sisu/v2/param.rb
index 8b75edfc..89eaced3 100644
--- a/lib/sisu/v2/param.rb
+++ b/lib/sisu/v2/param.rb
@@ -224,7 +224,7 @@ module SiSU_Param
@h
end
def title
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def main
s=@h['main']
@@ -269,7 +269,7 @@ module SiSU_Param
self
end
def creator #there are sub categories that need to be catered for and sometimes more than one author etc.; implement array.to_s.length validation test later, current test on string approximate as string is not used
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def author
@h['author']=(@h['author'] ? @h['author'] : @h['main'])
@@ -378,7 +378,7 @@ module SiSU_Param
self
end
def rights
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def copyright
def text #you may wish to expand to take from all
@@ -433,27 +433,27 @@ module SiSU_Param
s=copyright.text + ';'
if defined? copyright.translation \
and copyright.translation
- s +=' translation ' + copyright.translation + ';'
+ s +='<br> translation ' + copyright.translation + ';'
end
if defined? copyright.illustrations \
and copyright.illustrations
- s +=' illustrations ' + copyright.illustrations + ';'
+ s +='<br> illustrations ' + copyright.illustrations + ';'
end
if defined? copyright.photographs \
and copyright.photographs
- s +=' photographs ' + copyright.photographs + ';'
+ s +='<br> photographs ' + copyright.photographs + ';'
end
if defined? copyright.digitization \
and copyright.digitization
- s +=' digitization ' + copyright.digitization + ';'
+ s +='<br> digitization ' + copyright.digitization + ';'
end
if defined? copyright.audio \
and copyright.audio
- s +=' audio ' + copyright.audio + ';'
+ s +='<br> audio ' + copyright.audio + ';'
end
if defined? copyright.license \
and copyright.license
- s +=' License: ' + copyright.license
+ s +='<br> License: ' + copyright.license
end
if s.empty?
SiSU_Screen::Ansi.new(@cmd,'WARNING Document Rights information missing; provide @rights: :copyright:').warn unless @opt.cmd =~/q/
@@ -468,7 +468,7 @@ module SiSU_Param
self
end
def classify
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def coverage
s=@h['coverage']
@@ -528,14 +528,14 @@ module SiSU_Param
self
end
def publisher
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
s=@h['main']
l,n=Db[:col_name],'publisher'
validate_length(s,l,n)
end
def date
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def added_to_site
s=@h['added_to_site']
@@ -575,7 +575,7 @@ module SiSU_Param
self
end
def language # as things stand this should really be populated from title.language and original.language, resolve
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def document
s=@h['document']=(@h['document'] ? @h['document'] : @h['main'])
@@ -600,24 +600,24 @@ module SiSU_Param
self
end
def make
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def headings
lv=[]
- s=@s
- s=((s =~/;/) ? (s.split(/;\s*/)) : [ s ])
- lv[0]=s
- lv1=s[0] ||='1~ ' #some arbitrary changes made
+ x=@h['headings']
+ x=((x =~/;/) ? (x.split(/;\s*/)) : [ x ])
+ lv[0]=x
+ lv1=x[0] ||='1~ ' #some arbitrary changes made
lv[1]=/^#{lv1}/
- lv2=s[1] ||='2~ '
+ lv2=x[1] ||='2~ '
lv[2]=/^#{lv2}/
- lv3=s[2] ||='3~ '
+ lv3=x[2] ||='3~ '
lv[3]=/^#{lv3}/
- lv4=s[3] ||='4~ '
+ lv4=x[3] ||='4~ '
lv[4]=/^#{lv4}/
- lv5=s[4] ||='5~ '
+ lv5=x[4] ||='5~ '
lv[5]=/^#{lv5}/
- lv6=s[5] ||='6~ '
+ lv6=x[5] ||='6~ '
lv[6]=/^#{lv6}/
lv
end
@@ -720,7 +720,7 @@ module SiSU_Param
@s
end
def original
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def publisher
s=@h['publisher']
@@ -755,11 +755,11 @@ module SiSU_Param
self
end
def links
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
a
end
def notes
- a=@s.split(/[ ]*\n[ ]*/m)
+ a=@s.split(/\n%\s.+?$|[ ]*\n[ ]*/m)
@h=build_hash(a)
def abstract
@h['abstract']
diff --git a/lib/sisu/v2/texpdf.rb b/lib/sisu/v2/texpdf.rb
index 0d77d65b..91cd84b6 100644
--- a/lib/sisu/v2/texpdf.rb
+++ b/lib/sisu/v2/texpdf.rb
@@ -295,10 +295,10 @@ module SiSU_TeX
and not @md.rights.all.empty?
rght=@md.rights #.author.dup #dup is necessary, else contents of :rights changed
sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,rght.copyright.all)
- copymark=if @md.author_copymark; '{\\begin{small}\\raisebox{1ex}{\\copyright}\\end{small}} '
- else ''
- end
- copymark='Copyright {\\begin{small}\\raisebox{1ex}{\\copyright}\\end{small}} '
+ copymark=@md.author_copymark \
+ ? '{\begin{small}\copyright\end{small}} ' \
+ : ''
+ copymark='Copyright {\begin{small}\copyright\end{small}} '
copyright=sp_char.special_characters_safe.gsub(/^\s*Copyright \(C\)/, copymark)
@@rights||="\n #{Tex[:backslash]*2}[3]\\ \\linebreak #{copyright}"
end
@@ -437,16 +437,15 @@ module SiSU_TeX
sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp,dob.is)
dob.tmp=sp_char.special_characters_safe
dob.tmp.gsub!(/#{Mx[:nbsp]}/,'{~}')
- dob.tmp.gsub!(/(?:#{Mx[:br_nl]}\s*)+/,"\n\n") #watch
+ #dob.tmp.gsub!(/#{Mx[:nbsp]}\s*/,'{~}')
+ dob.tmp.gsub!(/(?:#{Mx[:br_nl]}\s*)+/,' \\\\\\ ') #watch
dob.tmp.gsub!(/\n\n\n/m," \\newline\n\n") #watch
ocn=SiSU_TeX_Pdf::Format_text_object.new(@md).ocn_display(dob)
dob.tmp = ocn \
+ @tex_ml.paraskip_small \
- + "\n" \
- + ' \\begin{Codeblock}' \
- + "\n" \
+ + '\begin{Codeblock}' \
+ dob.tmp \
- + ' \\end{Codeblock}' \
+ + ' \end{Codeblock}' \
+ "\n" \
+ @tex_ml.paraskip_normal
dob
@@ -566,8 +565,10 @@ module SiSU_TeX
\\makeatother
\\chardef\\txtbullet="2022
\\chardef\\tilde="7E
+%\\chardef\\asterisk="2A
+\\def\\asterisk{{\\rm \\char42} }
\\definecolor{Light}{gray}{.92}
-\\newcommand{\\Codeblock}[1]{\\normaltext\\raggedright\\tiny\\ttfamily\\texbackslash#1}
+\\newcommand{\\Codeblock}[1]{\\normaltext\\raggedright\\small\\ttfamily\\texbackslash#1}
\\newcommand{\\monosp}[1]{\\normaltext\\ttfamily\\texbackslash#1}
% \\sloppy
\\begin{document}
@@ -594,8 +595,8 @@ WOK
else "\n\\author{#{@copymark} \\textnormal{#{author}}}"
end
end
- @tex_file << unless @md.fnb =~/^mail\s*$/; "\n\\date{\\begin{footnotesize} copy @ #{@tex_ml.site} \\end{footnotesize}}"
- else "\\date"
+ @tex_file << unless @md.fnb =~/^mail\s*$/; @tex_ml.site
+ else '\date'
end
@tex_file <<<<WOK
\\pagenumbering{roman}\\maketitle
diff --git a/lib/sisu/v2/texpdf_format.rb b/lib/sisu/v2/texpdf_format.rb
index 4e489466..41802557 100644
--- a/lib/sisu/v2/texpdf_format.rb
+++ b/lib/sisu/v2/texpdf_format.rb
@@ -992,7 +992,8 @@ WOK
str.gsub!(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'<=tilde>') # ~ SiSU special character also LaTeX
str.gsub!(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'\#') # # SiSU special character also LaTeX
str.gsub!(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!') # ! SiSU not really special sisu character but done, also LaTeX
- str.gsub!(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*') # * should you wish to escape astrisk e.g. describing \*{bold}*
+ str.gsub!(/(^|\s)\*\s/,'\1\asterisk ') # * should you wish to escape astrisk e.g. describing \*{bold}*
+ str.gsub!(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'\*') # * should you wish to escape astrisk e.g. describing \*{bold}*
str.gsub!(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-') # - SiSU special character also LaTeX
str.gsub!(/#{Mx[:gl_o]}#043#{Mx[:gl_c]}/,'+') # + SiSU special character also LaTeX
str.gsub!(/#{Mx[:gl_o]}#044#{Mx[:gl_c]}/,',') # + SiSU special character also LaTeX
@@ -1196,12 +1197,16 @@ WOK
end
else ''
end
- "\\lfoot[\\textrm{\\thepage}]{\\tiny \\href{#{@vz.url_sisu}}{#{@vz.txt_signature}}#{base_prog_txt}}\n" +
+ "\\lfoot[\\textrm{\\thepage}]{\\tiny \\href{#{@vz.url_footer_signature}}{#{@vz.txt_signature}}#{base_prog_txt}}\n" +
"\\cfoot[\\href{#{@vz.url_home}}{#{@vz.url_txt}}]{\\href{#{@vz.url_home}}{#{@vz.url_txt}}}\n" +
"\\rfoot[\\tiny \\href{#{@vz.url_sisu}}{#{@vz.txt_signature}}]{\\textrm{\\thepage}}\n"
end
def site
- "\\href{#{@vz.url_home}}{#{@vz.url_txt}}"
+ if not @vz.url_home.empty? \
+ and not @vz.url_txt.empty?
+ "\n\\date{\\begin{footnotesize} copy @ \\href{#{@vz.url_home}}{#{@vz.url_txt}} \\end{footnotesize}}"
+ else ''
+ end
end
def sitename #owners site, eg freeculture, free.for.all, gutenberg etc.
"\\href{#{@vz.url_home}}{#{@vz.txt_home}}"
diff --git a/man/man1/sisu-concordance.1 b/man/man1/sisu-concordance.1
index 0cef8311..67f427a5 100644
--- a/man/man1/sisu-concordance.1
+++ b/man/man1/sisu-concordance.1
@@ -16,6 +16,8 @@ The \fBsisu\-concordance\fR command is an alias for \fBsisu \-w\fR which produce
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu-epub.1 b/man/man1/sisu-epub.1
index ea9eac9f..7ea12428 100644
--- a/man/man1/sisu-epub.1
+++ b/man/man1/sisu-epub.1
@@ -16,6 +16,8 @@ The \fBsisu\-epub\fR command is an alias for \fBsisu \-e\fR which produces EPUB
.br
\fIsisu\-concordance\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu-harvest.1 b/man/man1/sisu-harvest.1
new file mode 100644
index 00000000..3f450986
--- /dev/null
+++ b/man/man1/sisu-harvest.1
@@ -0,0 +1,37 @@
+.TH SISU\-HARVEST 1 2010\-07\-12 2.6.0 SiSU
+
+.SH NAME
+\fBSiSU\fR \- Structured information, Serialized Units \- a document publishing system
+
+.SH SYNOPSIS
+\fBsisu\-harvest\fR \fIsisu_document.sst\fR | \fIsisu_document.ssm\fR
+
+.SH DESCRIPTION
+\fBSiSU\fR is a lightweight markup based document structuring, publishing and search framework for document collections.
+.PP
+The \fBsisu\-harvest\fR command is an alias for \fBsisu \-\-harvest\fR 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.
+
+.SH SEE ALSO
+\fIsisu\fR(1),
+.br
+\fIsisu\-concordance\fR(1),
+.br
+\fIsisu\-epub\fR(1),
+.br
+\fIsisu\-html\fR(1),
+.br
+\fIsisu\-pdf\fR(1),
+.br
+\fIsisu\-odf\fR(1),
+.br
+\fIsisu\-pg\fR(1),
+.br
+\fIsisu\-sqlite\fR(1),
+.br
+\fIsisu\-txt\fR(1).
+
+.SH HOMEPAGE
+More information about \fBSiSU\fR can be found at <\fIhttp://www.jus.uio.no/sisu/\fR>.
+
+.SH AUTHOR
+\fBSiSU\fR was written by Ralph Amissah <\fIralph@amissah.com\fR>.
diff --git a/man/man1/sisu-html.1 b/man/man1/sisu-html.1
index 9fd4bb32..e389a229 100644
--- a/man/man1/sisu-html.1
+++ b/man/man1/sisu-html.1
@@ -18,6 +18,8 @@ The \fBsisu\-html\fR command is an alias for \fBsisu \-h\fR which produces HTML
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-pdf\fR(1),
.br
\fIsisu\-odf\fR(1),
diff --git a/man/man1/sisu-odf.1 b/man/man1/sisu-odf.1
index b50d0d5f..82071b81 100644
--- a/man/man1/sisu-odf.1
+++ b/man/man1/sisu-odf.1
@@ -18,6 +18,8 @@ The \fBsisu\-odf\fR command is an alias for \fBsisu \-o\fR which produces OpenDo
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu-pdf.1 b/man/man1/sisu-pdf.1
index 53d195c2..52f16c9c 100644
--- a/man/man1/sisu-pdf.1
+++ b/man/man1/sisu-pdf.1
@@ -18,6 +18,8 @@ The \fBsisu\-pdf\fR command is an alias for \fBsisu \-p\fR which produces PDF ou
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-odf\fR(1),
diff --git a/man/man1/sisu-pg.1 b/man/man1/sisu-pg.1
index af433f07..a6dda153 100644
--- a/man/man1/sisu-pg.1
+++ b/man/man1/sisu-pg.1
@@ -18,6 +18,8 @@ The \fBsisu\-pq\fR command is an alias for \fBsisu \-D\fR which populates a Post
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu-sqlite.1 b/man/man1/sisu-sqlite.1
index cd37d41d..ecea4470 100644
--- a/man/man1/sisu-sqlite.1
+++ b/man/man1/sisu-sqlite.1
@@ -18,6 +18,8 @@ The \fBsisu\-sqlite\fR command is an alias for \fBsisu \-d\fR which populates a
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu-txt.1 b/man/man1/sisu-txt.1
index d692a430..e834caf1 100644
--- a/man/man1/sisu-txt.1
+++ b/man/man1/sisu-txt.1
@@ -18,6 +18,8 @@ The \fBsisu\-txt\fR command is an alias for \fBsisu \-t\fR which produces plain
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-pdf\fR(1),
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index b391a449..9dce74e4 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -4603,6 +4603,8 @@ named index.html or more extensively through sisu_manifest.html
.br
\fIsisu\-epub\fR(1),
.br
+\fIsisu\-harvest\fR(1),
+.br
\fIsisu\-html\fR(1),
.br
\fIsisu\-odf\fR(1),