I have been spending time over the last 6 weeks designing the e-book for the
SimHebrew Bible. It is a single book. The past month I have been learning how to
control cascading style sheets in order to make this piece of software (an
e-book is software and needs controlling like any other piece of software)
maintainable and to prove that I have the structure right.
The Bible is a complex structure. One of the problems is how to present the 39
books in the traditional 24. The divisions are tricky from the point of view
of designing the navigation in a large book.
|
Figure 1: the Opening of Ruth in the SimHebrew Bible
|
Here is the beginning of the book of Ruth taken from my tests on an
iPhone.
You can see the structure of a single book -
-
surrounded entirely by a border - maybe I will cut off the side borders to
allow for wider screen real-estate for this two-column work.
-
then the title - a real heading for navigation from the main table of
contents.
- then the internal contents showing all the chapters.
-
then the top of the first chapter (on a new page if you are not using the
iBook's continuous scrolling.)
-
then the chapter window. I could make this negative on the left side and
positive on the right side, but I decided to keep the sides equivalent, to
go back, use a back button or go to the toc and choose from there.
- then the text itself in alternating lines.
Here are the classes used to keep all the detailed attributes out of the
main body of the book and in a single small list of parameters for the html.
Ruth is book# 31 (of 39). Although classed with the five scrolls, it counts
as a whole book in the 24. The 24 are the 5 books of Moses, the 8 books of
the prophets, the three books of poetry, the five scrolls of which Ruth is
the second, making it book# 18 of 24, and the remaining: 22. Daniel 23.
Ezra-Nehemiah, and 24. Chronicles.
Here is the full coding for this section that you see in Figure 1.
<div class="book-section">
<div class="prose-book" id="31"> (Ruth is one of the 21 prose books.)
<h2 class="book-head">rut (Ruth)</h2>
<div class="toc-for-24">
<div class="toc-for-24-5"> (Ruth is one of the 5 scrolls - a place for
special treatment for them.)
<div class="chapter-links">
<a href="#31001">a (1)</a> | <a href="#31002">b
(2)</a> | <a href="#31003">g (3)</a> |
<a href="#31004">d (4)</a></div>
</div>
</div> (ends the toc divs for a book.)
<div class="book_hdr">
<h4 class="chapter-head">rut (Ruth)</h4></div> (Chapter
head is repeated at the top of the book.)
<div class="grid-h4" id="31001"> (A small window into the next 4
chapters.)
<div class="item5">a | <a href="#31002">b</a> | <a
href="#31003">g</a> | <a
href="#31004">d</a></div>
<div class="item6">1 | <a href="#31002">2</a> | <a
href="#31003">3</a> | <a
href="#31004">4</a></div></div> (Note, if it weren't
the first chapter, you would see the chapter name repeated in the window.
This allows you to remember where you were when coming back to the book
after a pause in your reading.)
<div class="grid1"> (A two-column format for the text itself.)
<div class="item1">
<span class="heb-verse">a </span> (Allows special treatment of
verse number formatting.)
vihi bimi wpo't hwop'tim vihi ryb barx.<br/>vilç aiw mbit lkm ihudh
lgur bwdh moab hua vawto uwni bniv.</div>
<div class="item2">
<span class="eng-verse">1 </span>
It was in the days of the judgment of the judges, and there was a famine in
the land.<br/>And a man went from Bethlehem of Judah to reside in
Sdeh-Moab, he, his wife, and his two sons.</div>
<div class="item3">
<span class="heb-verse">b </span>
vwm haiw alimlç vwm awto noymi vwm wni-bniv mklon vclion aprtim mbit lkm
ihudh.<br/>viboau wdh-moab vihiu-wm.</div>
<div class="item4">
<span class="eng-verse">2 </span>
And the name of the man was Elimelek, and the name of his wife Naomi, and
the name of his two sons, Mahlon and Chilion, Ephrathites from Bethlehem of
Judah.<br/>And they came to Sdeh-Moab, and there they
were.</div>
... and so on. (Noticee the br tags representing the musical cadences within a
verse.)
Each class has many html attributes that can be modified in one place.
The e-book has to split large files for efficiency of loading the text - to
avoid a long pause between chapters. The book-section is simply a point where
I can direct the epub software to split the file so that the split is not
arbitrary.
|
Figure 2: TOC for the Psalms in part
|
Book-section looks like this:
.book-section { page-break-after: always;}
.book-section > div { font-weight: normal; text-align: left;
margin-top: 2px; } [the page-break is wrong - shouldn't be there since it will cause a break if the class is split.]
I am learning the CSS language as I go. I think the above means that any div
tags within book-section will inherit the properties in the second line. But I
don't know for sure because when I look inherited properties up on the web I
get a whole set of specifications to read - and it's just too much info for
the moment. I try it and see if it works - then I hope it won't get in the way
later.
One thing is sure - there are no attributes defined in the text itself which
is produced automatically from my database and so remains completely
uncluttered with bulky repeated definitions of html attributes and completely
true to the data I have developed these past 15 years - for the English, and 2
years - for my conversion of my internal coding to SimHebrew. So i can grow
the book as I learn more..
Ruth is a prose book, one of the 21. So it gets the class prose-book and the
toc-for-24-5 class which allows some special formatting like border colors, or
background colors, to distinguish this set of books from the others.
For contrast Figure 2 shows the top of the Psalms inner table of contents. As
one of the three poetry books, it has a different border-color. Whether the
borders or colors will stay is a matter for discussion. The structure is at
least fully defined. I have patterned the toc according to the 5 books of
psalms.
These may end up with a split class in their middle for efficiency's sake.
Similarly with other large books like Isaiah and Jeremiah.
These can be done by hand. If one does this by hand, it is best to use a
unique class name for the new div - an internal book divider. Then you can
remove it after the split.
So the book
The SimHebrew Bible, The Hebrew Bible in Simulated Hebrew – with
English Guide, is nearing completion. We will announce availability soon. In time for
gift-giving to your favorite friend who you know wants to learn Hebrew.