Skip to content

Move as much code as possible from book-to-pef to pipeline-modules #225

Description

@bertfrees

Hyphenation

  • Produce the hyphenation files in a separate project, deploy it somewhere (e.g. in Maven Central in a ZIP) and import it in libhyphen-utils.

    Some useful work has been done in this repository: https://github.com/nlbdev/spell-no (the "norsk/patterns" subdirectory). It includes a build script for the patterns file and a UI for viewing the input words (that are used to build the patterns file) and hyphenations.

    In progress: see Pack hyphenation table in ZIP and publish to Maven spell-no#1.

Script options

  • The script options that are generic enough can be moved to xml-to-pef. This is linked to the "Style sheets" section below because most of the script options are implemented using style sheets. Note that, just like the "Style sheets" section, this is not an essential item because options that are solely used to set Sass variables can now be handled with the "Style sheet parameters" option.
  • The Norwegian translations can also be moved once we have support for internationalization. This is only relevant for manual productions.
  • (What would be really nice, but probably out of scope, is if we would be able to analyze a provided style sheet and based on this dynamically compute the relevant options and present only these to the user.)

Translator features

Style sheets

The items below are not essential because style sheets are considered just another input for Pipeline. They don't need to be included inside the pipeline-mod-nlb module. With some small modifications, the existing style sheets should still work with the latest version. The benefit of porting CSS code is that it becomes available for everyone.

  • We can select bits of CSS code around certain elements, make it more configurable (less NLB specific) and move them to pipeline-modules, just like we did for the volume-breaking.scss module. Candidates are:
    • Captions
      • configurable prefix for image captions
      • configurable formatting of captions
      • option to omit captions
    • Images
      • configurable prefix/suffix for image descriptions
      • configurable formatting of images
      • option to omit images
      • option to omit image groups
    • Notes: done: see the "Notes placement" option (http://daisy.github.io/pipeline/Get-Help/User-Guide/Scripts/html-to-pef/)
      • configurable formatting of noterefs
      • configurable formatting of notes
      • configurable position of notes: bottom of page, end of volume, end of book, end of chapter, bottom of page with fallback to end of volume, beneath paragraph/table/verse
      • different positioning for different classes of notes
      • configurable footnotes page area
      • configurable title of endnotes section
      • configurable page style of endnotes section
      • configurable definition of "chapter" (for chapter notes)
      • configurable "on-volume-start" of end-of-book notes section
      • option to omit note references
    • Print page break indication
      • option to put page break marker in left margin
      • option to put page break marker in header/footer if print page break coincides with braille page break
      • option to render line across width of page
      • option to render print page number (at the position of the break)
      • option to render print page (range) in header/footer
      • configurable format of print page range
    • Tables: done: see http://daisy.github.io/pipeline/modules/braille/html-to-pef/src/main/resources/css/tables.html
      • table layout classes: matrix, simple list, nested list
      • option to transpose tables
      • option dynamically choose table layout based on certain parameters
      • configurable formatting of different table classes
      • configurable formatting of table captions
    • Definition lists: done: see http://daisy.github.io/pipeline/modules/braille/html-to-pef/src/main/resources/css/definition-lists.html
      • option to group dt element with following dd elements (this is not something that can be done with plain CSS)

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions