From c0f656c0a644f49ce3b9ea9e53d95d3cbc4a4135 Mon Sep 17 00:00:00 2001
From: Ralph Amissah
Date: Mon, 28 Jan 2013 21:55:10 -0500
Subject: v4: param_make, :cover_image: regex, less finicky match of image &
details
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* [bug reported by Mikael Böök]
---
lib/sisu/v4/param_make.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'lib')
diff --git a/lib/sisu/v4/param_make.rb b/lib/sisu/v4/param_make.rb
index ce35307c..5d184897 100644
--- a/lib/sisu/v4/param_make.rb
+++ b/lib/sisu/v4/param_make.rb
@@ -460,7 +460,7 @@ module SiSU_Param_Make
s=@h['cover_image'].split(/\s*;\s*/)
s=s[0] #if
image={}
- if s =~/{(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?\s+(?:"(.+?)")?\s*}image/
+ if s =~/{\s*(\S+\.(?:jpg|png|gif))(?:\s+(\d+x\d+))?(?:\s+"(.+?)")?\s*}image/
image[:cover]=$1
if $2
image[:dimensions]=$2
--
cgit v1.2.3
From d335e11e3355ee01f861d631f076889ad850199a Mon Sep 17 00:00:00 2001
From: Ralph Amissah
Date: Thu, 31 Jan 2013 18:28:10 -0500
Subject: v4 v3: dal, on ocn excluded paragraphs (~# -#), hang/indent bullet,
fix
* [bug reported indirectly by Cory Doctorow (discovered in work with markup)]
---
lib/sisu/v3/dal_doc_str.rb | 8 ++++----
lib/sisu/v4/dal_doc_str.rb | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
(limited to 'lib')
diff --git a/lib/sisu/v3/dal_doc_str.rb b/lib/sisu/v3/dal_doc_str.rb
index 40fad15e..dafed778 100644
--- a/lib/sisu/v3/dal_doc_str.rb
+++ b/lib/sisu/v3/dal_doc_str.rb
@@ -740,19 +740,19 @@ module SiSU_DAL_DocumentStructureExtract
elsif dob.obj=~/#{Mx[:pa_non_object_no_heading]}/
dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_no_heading]}/,'')
if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectPara.new.paragraph(h,dob)
elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: true }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: true, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectHeading.new.heading(h,dob)
end
elsif dob.obj=~/#{Mx[:pa_non_object_dummy_heading]}/
dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_dummy_heading]}/,'')
if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectPara.new.paragraph(h,dob)
elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: false }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: false, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectHeading.new.heading(h,dob)
end
else dob
diff --git a/lib/sisu/v4/dal_doc_str.rb b/lib/sisu/v4/dal_doc_str.rb
index 40fad15e..dafed778 100644
--- a/lib/sisu/v4/dal_doc_str.rb
+++ b/lib/sisu/v4/dal_doc_str.rb
@@ -740,19 +740,19 @@ module SiSU_DAL_DocumentStructureExtract
elsif dob.obj=~/#{Mx[:pa_non_object_no_heading]}/
dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_no_heading]}/,'')
if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectPara.new.paragraph(h,dob)
elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: true }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: true, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectHeading.new.heading(h,dob)
end
elsif dob.obj=~/#{Mx[:pa_non_object_dummy_heading]}/
dob.obj=dob.obj.gsub(/#{Mx[:pa_non_object_dummy_heading]}/,'')
if dob.is==:para
- h={ obj: dob.obj, ocn_: false, ocn: nil }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, hang: dob.hang, indent: dob.indent, bullet_: dob.bullet_, tags: dob.tags, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectPara.new.paragraph(h,dob)
elsif dob.is==:heading
- h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: false }
+ h={ obj: dob.obj, ocn_: false, ocn: nil, toc_: false, parent: dob.parent }
dob=SiSU_DAL_DocumentStructure::ObjectHeading.new.heading(h,dob)
end
else dob
--
cgit v1.2.3
From 8fe365726f3bb7866a7a9285cb5045c50c39fd67 Mon Sep 17 00:00:00 2001
From: Ralph Amissah
Date: Thu, 31 Jan 2013 18:36:08 -0500
Subject: v4: epub, constants, debug alternative for various readers ... work
on
---
lib/sisu/v4/constants.rb | 14 ++++
lib/sisu/v4/dal_idx.rb | 11 +---
lib/sisu/v4/epub.rb | 32 +++++-----
lib/sisu/v4/epub_concordance.rb | 10 +--
lib/sisu/v4/epub_format.rb | 137 ++++++++++++++++++++--------------------
lib/sisu/v4/epub_segments.rb | 6 +-
lib/sisu/v4/epub_tune.rb | 10 +--
7 files changed, 113 insertions(+), 107 deletions(-)
(limited to 'lib')
diff --git a/lib/sisu/v4/constants.rb b/lib/sisu/v4/constants.rb
index 08279630..65b17796 100644
--- a/lib/sisu/v4/constants.rb
+++ b/lib/sisu/v4/constants.rb
@@ -198,10 +198,24 @@ Px={
}
Px[:lng_lst_rgx]=Px[:lng_lst].join('|')
Ep={
+ alt: :on,
d_oebps: 'OEBPS',
+ d_image: 'OEBPS/image',
+ d_css: 'OEBPS/css',
f_ncx: 'toc.ncx',
f_opf: 'content.opf',
}
+$ep=if Ep[:alt]==:on
+ {
+ o: 'opf:',
+ hsp: ' ',
+ }
+else
+ {
+ o: '',
+ hsp: ' ',
+ }
+end
Db={
name_prefix: "SiSU#{SiSU_version_dir}a_",
name_prefix_db: "sisu_#{SiSU_version_dir}a_",
diff --git a/lib/sisu/v4/dal_idx.rb b/lib/sisu/v4/dal_idx.rb
index 63eb487e..a1d66402 100644
--- a/lib/sisu/v4/dal_idx.rb
+++ b/lib/sisu/v4/dal_idx.rb
@@ -161,12 +161,7 @@ module SiSU_DAL_BookIndex
the_idx
end
def clean_xml(str)
- str=str.gsub(/&/,'&').
- gsub(/\(/,'(').
- gsub(/\)/,')').
- gsub(/\*/,'*').
- gsub(/\+/,'+').
- gsub(/,/,',')
+ str=str.gsub(/&/,'&')
str
end
def index(the_idx)
@@ -193,8 +188,8 @@ module SiSU_DAL_BookIndex
idx[:html] << ''
idx[:xhtml] << ''
else
- idx[:html] << %{#{x} , }
- idx[:xhtml] << %{#{x} , }
+ idx[:html] << %{#{x} ,#{$ep[:hsp]}}
+ idx[:xhtml] << %{#{x} ,#{$ep[:hsp]}}
end
end
idx[:html] << '
'
diff --git a/lib/sisu/v4/epub.rb b/lib/sisu/v4/epub.rb
index 195f719e..a3b9211e 100644
--- a/lib/sisu/v4/epub.rb
+++ b/lib/sisu/v4/epub.rb
@@ -549,7 +549,7 @@ module SiSU_EPUB
segtoc << format_txt_obj.center_bold
if defined? @md.creator.author \
and @md.creator.author
- creator_endnote=@md.creator.author.gsub(/(\*+)/,%{ \\1 })
+ creator_endnote=@md.creator.author.gsub(/(\*+)/,%{#{$ep[:hsp]}\\1 })
tmp_head=creator_endnote + "\n"
txt_obj={ txt: tmp_head }
format_txt_obj=SiSU_EPUB_Format::FormatTextObject.new(@md,txt_obj)
@@ -708,21 +708,21 @@ module SiSU_EPUB
-
- Cover
-
-
-
-
-
-
-
+
+ Cover
+
+
+
+
+
+
+
WOK
filename_xhtml.puts cover_image,"\n"
diff --git a/lib/sisu/v4/epub_concordance.rb b/lib/sisu/v4/epub_concordance.rb
index 93774d30..60242567 100644
--- a/lib/sisu/v4/epub_concordance.rb
+++ b/lib/sisu/v4/epub_concordance.rb
@@ -102,9 +102,9 @@ module SiSU_EPUB_Concordance
@vz=SiSU_Viz::Defaults.new
txt_path=%{#{@md.dir_out}}
@fnb=@md.fnb
- @lex_button=%{ }
+ @lex_button=%{ }
@doc_details =< #{@md.creator.author}
+#{$ep[:hsp]} #{@md.creator.author}
WOK
end
def create
@@ -122,7 +122,7 @@ WOK
[if number of occurences exceed number of references - word occurs more than once in at least one reference. Footnote/endnotes are either assigned to the paragraph from which they are referenced or ignored, so it is relevant to check the footnotes referenced from within a paragraph as well.]
- (After the page is fully loaded) you can jump directly to a word by appending a hash (#) and the word to the url for this text, (do not forget that words are case sensitive, and may be listed twice (starting with and without an upper case letter)), #your_word # [ http://[web host]/#{@fnb}/concordance.html#your_word ]
+ (After the page is fully loaded) you can jump directly to a word by appending a hash (#) and the word to the url for this text, (do not forget that words are case sensitive, and may be listed twice (starting with and without an upper case letter)), #your_word # [#{$ep[:hsp]}http://[web host]/#{@fnb}/concordance.html#your_word#{$ep[:hsp]}]
WOK
end
@@ -284,12 +284,12 @@ WOK
end
end
end
- scr=' scroll: doc# '
+ scr=%{ #{$ep[:hsp]}scroll:#{$ep[:hsp]}doc##{$ep[:hsp]} }
seg=''
@file_concordance << SiSU_EPUB_Concordance::Source::DocTitle.new(@particulars).create
alph=%W[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]
@file_concordance << ''
- alph.each {|x| @file_concordance << %{#{x} , }}
+ alph.each {|x| @file_concordance << %{#{x} ,#{$ep[:hsp]}}}
@file_concordance << '
'
letter=alph.shift
@file_concordance << %{\nA
}
diff --git a/lib/sisu/v4/epub_format.rb b/lib/sisu/v4/epub_format.rb
index dd3273d0..d8baae63 100644
--- a/lib/sisu/v4/epub_format.rb
+++ b/lib/sisu/v4/epub_format.rb
@@ -69,7 +69,7 @@ module SiSU_EPUB_Format
ocn_class='ocn'
if @ocn.to_i==0
@ocn.gsub(/^(\d+|)$/,
- %{ })
+ %{#{$ep[:hsp]} })
else
@ocn.gsub(/^(\d+|)$/,
%{\\1 })
@@ -77,7 +77,7 @@ module SiSU_EPUB_Format
else
ocn_class='ocn_off'
@ocn.gsub(/^(\d+|)$/,
- %{ })
+ %{#{$ep[:hsp]} })
end
end
def name
@@ -1220,6 +1220,7 @@ module SiSU_EPUB_Format
module SanitizeXML
def self.xml(x)
if x.is_a?(String)
+ x=x.gsub(/ /,' ') if Ep[:alt]==:on
x.gsub(/&/,'&').
gsub(/,'<').gsub(/>/,'>').
#gsub(/,'<').gsub(/>/,'>').
@@ -1246,8 +1247,6 @@ module SiSU_EPUB_Format
def doc_type_xhtml
<<-WOK
-
WOK
end
@@ -1305,25 +1304,25 @@ application/epub+zip
segfilename=dir_epub_cont + '/' + name
output_epub_cont_seg=File.new(segfilename,'w')
output_epub_cont_seg << %{#{doc_type}
-
-
- #{dob.obj} -
- #{@md.html_title}
-
-
-#{@css.xhtml_epub}
-
-#{@vz.color_body}
-
-
-