From: Radek Czajka Date: Thu, 8 Jul 2021 08:53:45 +0000 (+0200) Subject: New epub. X-Git-Tag: 2.0~1 X-Git-Url: https://git.mdrn.pl/librarian.git/commitdiff_plain/a0b7177b9e33d4d23dc7ba73040f4cb5f750b8f8 New epub. --- diff --git a/src/librarian/builders/epub.py b/src/librarian/builders/epub.py index 91405c3..167b8cd 100644 --- a/src/librarian/builders/epub.py +++ b/src/librarian/builders/epub.py @@ -9,7 +9,6 @@ from librarian.cover import make_cover from librarian.embeds.mathml import MathML import librarian.epub from librarian.fonts import strip_font -from librarian.fundraising import FUNDRAISING @@ -30,8 +29,9 @@ class Xhtml: class Builder: file_extension = None - def __init__(self, base_url=None): + def __init__(self, base_url=None, fundraising=None): self._base_url = base_url or 'file:///home/rczajka/for/fnp/librarian/temp~/maly/img/' + self.fundraising = fundraising self.footnotes = etree.Element('div', id='footnotes') self.cursors = { @@ -140,21 +140,21 @@ class EpubBuilder(Builder): self.add_support_page() self.add_last_page() + if self.fundraising: + e = len(self.output.spine) - 3 - 3 + nfunds = len(self.fundraising) + if e > 4 * nfunds: + nfunds *= 2 - e = len(self.output.spine) - 3 - 3 - nfunds = len(FUNDRAISING) - if e > 16: - nfunds *= 2 + # COUNTING CHARACTERS? + for f in range(nfunds): + spine_index = int(4 + (f / nfunds * e) + f) - # COUNTING CHARACTERS? - for f in range(nfunds): - spine_index = int(4 + (f / nfunds * e) + f) - - h = Xhtml() - h.body.append( - etree.XML('
' + FUNDRAISING[f % len(FUNDRAISING)] + '
') - ) - self.add_html(h.element, file_name='fund%d.xhtml' % f, spine=spine_index) + h = Xhtml() + h.body.append( + etree.XML('
' + self.fundraising[f % len(self.fundraising)] + '
') + ) + self.add_html(h.element, file_name='fund%d.xhtml' % f, spine=spine_index) self.add_fonts() @@ -202,7 +202,7 @@ class EpubBuilder(Builder): def add_title_page(self): html = Xhtml() html.title.text = "Strona tytułowa" - bt = etree.SubElement(html.body, 'div', **{'class': 'book-text'}) + bt = etree.SubElement(html.body, 'div', **{'id': 'book-text'}) tp = etree.SubElement(bt, 'div', **{'class': 'title-page'}) # Tak jak jest teraz – czy może być jednocześnie @@ -389,8 +389,6 @@ class EpubBuilder(Builder): def add_fonts(self): - print("".join(sorted(self.chars))) - # TODO: optimizer for fname in ('DejaVuSerif.ttf', 'DejaVuSerif-Bold.ttf', 'DejaVuSerif-Italic.ttf', 'DejaVuSerif-BoldItalic.ttf'): self.add_file( @@ -673,7 +671,7 @@ class EpubBuilder(Builder): ''' % cover.ext()).encode('utf-8') self.add_file(file_name='cover.xhtml', content=ci) - self.output.spine.append('cover') + self.output.spine.append(('cover', 'no')) self.output.guide.append({ 'type': 'cover', 'href': 'cover.xhtml', diff --git a/src/librarian/elements/headers/naglowek_podrozdzial.py b/src/librarian/elements/headers/naglowek_podrozdzial.py index 1cea01c..ee338eb 100644 --- a/src/librarian/elements/headers/naglowek_podrozdzial.py +++ b/src/librarian/elements/headers/naglowek_podrozdzial.py @@ -2,9 +2,14 @@ from ..base import WLElement class NaglowekPodrozdzial(WLElement): + SECTION_PRECEDENCE = 3 + TXT_TOP_MARGIN = 3 TXT_BOTTOM_MARGIN = 2 TXT_LEGACY_TOP_MARGIN = 3 TXT_LEGACY_BOTTOM_MARGIN = 0 HTML_TAG = "h4" + + EPUB_TAG = "h2" + EPUB_CLASS = "h4" diff --git a/src/librarian/epub.py b/src/librarian/epub.py index 0fb91e5..a3931b5 100644 --- a/src/librarian/epub.py +++ b/src/librarian/epub.py @@ -772,7 +772,6 @@ def transform(wldoc, verbose=False, style=None, os.chdir(cwd) remove_empty_lists_from_toc(output.toc) - print(output.toc) output_file = NamedTemporaryFile(prefix='librarian', suffix='.epub', delete=False) diff --git a/src/librarian/fundraising.py b/src/librarian/fundraising.py deleted file mode 100644 index 18d7774..0000000 --- a/src/librarian/fundraising.py +++ /dev/null @@ -1,13 +0,0 @@ -FUNDRAISING = [ - 'Przyjaciele Wolnych Lektur otrzymują dostęp do nowych tekstów współczesnych autorek i autorów wcześniej niż inni. Kliknij, by przejść do strony płatności. Zadeklaruj stałą wpłatę i dołącz do Towarzystwa Przyjaciół Wolnych Lektur.', - 'Czytaj teksty współczesnych autorek i autorów wcześniej niż inni. Ty decydujesz, ile płacisz! Zadeklaruj stałą wpłatę i dołącz do Towarzystwa Przyjaciół Wolnych Lektur.', - 'Informacje o nowościach w naszej bibliotece w Twojej skrzynce mailowej? Nic prostszego, zapisz się do newslettera.
Kliknij, by pozostawić swój adres e-mail.', - '''Przekaż 1% podatku na Wolne Lektury.
-KRS: 0000070056
-Nazwa organizacji: Fundacja Nowoczesna Polska
-
-Możesz to zrobić w swoim formularzu PIT dostępnym od 15 lutego na stronie: www.podatki.gov.pl/pit.
-
-Każda wpłacona kwota zostanie przeznaczona na rozwój Wolnych Lektur.
-Dziękujemy, że jesteście z nami!''', -]