Skip to content

Latest commit

 

History

History
136 lines (114 loc) · 6.93 KB

WORKLOG.adoc

File metadata and controls

136 lines (114 loc) · 6.93 KB

WORKLOG

TODO

  • change has_role? to role?

  • use empty string in place of nil in interpolated strings (few more still to check)

  • add epub3width (or epubwidth) as alternative to scaledwidth for images

  • only use the inverted sizes for chapter title if publication-type is not book

  • use overflow-wrap consistently

  • use same logic for chapter title in document header as in TOC (level-1 section title should not be detected)

  • don’t add image from front matter if already referenced by chapter

  • add document filename to warn messages (added for some)

  • allow front-matter.xhtml

  • reorder sections in README; needs to flow a bit better…​Getting Started is too large & after Structuring your Manuscript

  • link to https://medium.com/@sandersk/responsive-ebook-design-a-primer-8bba01328219 in style section in README

  • only uppercase document title if detected in CSS

  • document more clearly how to provide your own CSS

    • currently it’s not possible to override the epub3-fonts.css (though it should be)

  • cleanup this sanitize XML stuff; move to Asciidoctor::Helpers?

    • also need an upcase_pcdata

  • allow role to be applied to chapter (which means the role must be on the document)

  • should we enable hyphens in non-Kindle?

    • we can reenable once we confirm it doesn’t crash Kindle for Mac

  • part vs chapter? a difference?

  • create a video to demonstrate Google Play Books read aloud reading complete sentences in books generated with Asciidoctor EPUB3

Gem
  • Add step in rake release to set version back to *.dev

Converter
  • CRITICAL: put e-book reader class on html instead of body

  • CRITICAL: surround prose in <span> (e.g., simple <dd>) which is not nested in <p> or <div> so iBooks can change the font

  • CRITICAL: don’t drop subsequent paragraphs of preamble when abstract is found…​need to pass them through

  • CRITICAL: try to pull username from author email field; pull avatar from gravatar

  • HIGH: revisit the headshot image logic

  • HIGH: promote regexps to constants

  • HIGH: put shy marks after dashes to allow wrapping to occur in text justification

  • MEDIUM: Kindle links to cover page when clicking on first chapter instead of first chapter page

  • MEDIUM: add icon & icon placement as attributes on btn macro

  • MEDIUM: move client sniffer JavaScript to file and read/include from converter

  • MEDIUM: use the dfn element for defining a definition of a term (not just term class); see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn

  • MEDIUM: create back link in bibliography entry for each reference to it (currently only the first)

  • implement checklists

Packager
  • HIGH: add NOTICE.adoc to e-book archive

  • HIGH: minimize CSS (and any other assets worth minimizing)

  • MEDIUM: add JavaScript to nav.xhtml to add class for epubReadingSystem to body

  • MEDIUM: option to add nav.xhtml to navigation flow?

  • support subtitle as separate from main title in package metadata

  • support collection title in package metadata

Fonts
  • recreate ellipses in M+ 1p to be on baseline

Stylesheet
  • CRITICAL: padding around code in formal listing blocks

  • CRITICAL: check style of level 5 and 6 headings (see Groovy docs)

  • CRITICAL: use CSS3 filter scheme that allows admonitions to appear correctly on Google Play Books

    • see if Google Play books supports JavaScript and epubReadingSystem (no, but adds its own class to body)

  • CRITICAL: use a following sibling selector for :first-line in abstract so it works when page is partitioned (e.g., in Google Play Books)

  • CRITICAL: add support for different numbering systems (lowergreek, etc)

  • HIGH: should we restore font size of embed table cell?

    table.table div.embed > *:not(p) { font-size: 1.25em; }
  • HIGH: don’t set text color so light on monochrome devices (use media query to detect) (#67)

  • HIGH: make justify-text a class on body that can be controlled from AsciiDoc attribute

  • HIGH: image border option (or add drop shadow to screenshots in README)

  • HIGH: review the table border color

  • HIGH: style example block

  • HIGH: allow theme to be customized using stylesheet attribute

  • MEDIUM: headshot has too much top margin when at top of page (not below section title)

  • MEDIUM: namo pubtree is justifying preformatted blocks (still true?)

  • support both jpg and png avatars

  • add docinfo support

  • add navigation links in meta, e.g.,

    <link rel="up" href="#{node.attr 'up-uri'}" title="#{node.attr 'up-title'}"/>
    <link rel="prev" href="#{node.attr 'prev-uri'}" title="#{node.attr 'prev-title'}"/>
    <link rel="next" href="#{node.attr 'next-uri'}" title="#{node.attr 'next-title'}"/>
  • add title/subtitle delimiter into HTML and hide with CSS?

  • use less side padding in sidebar?

  • can we remove content wrapper in sidebar?

  • manually style ordered list numbers

  • reduce vertical margins around basic lists (partially addressed via "brief" class)

  • use float trick to fix line spacing for primary title like with the subtitle

  • better handling of title without subtitle, particularly HTML and CSS

  • add pink theme: http://designplus.co/en/designplus

Samples
  • add example of itemized dlist

CLI
  • augment Asciidoctor::Cli::Options with --validate and --extract options, pass on as attributes

Asciidoctor
  • patch sanitize of any section or block title into Asciidoctor

  • generate id for chapter ⇐ make part of Asciidoctor parsing API

  • patch Asciidoctor to replace smart quotes w/ unicode chars instead of entities (glyph replacement mode)

REVIEW

  • how custom CSS is specified

NOTES

  • content must be XHTML (not HTML) (this will change in EPUB 3.1)

  • Aldiko uses the image on the cover page (or a screenshot of the cover page) as the image in the bookshelf

  • use -webkit-transform: translate/translateX/translateY to move objects from origin by relative distances (alternative to relative positioning, which is not permitted on Kindle)

  • don’t need attributes above header in sub-documents anymore (except for PDF; we’ll cross that bridge when we get to it)

  • vw is 1% of viewport width (see http://dev.opera.com/articles/view/css-viewport-units/)

  • rhythm: 1.5, 1.25, 1.2, 1.05, 1

  • webkit gets confused about how to justify text for mixed content (adjacent character data and inline elements)

    • wrap character data to solve

    • alternatively, can use zero-width space (​) immediately after inline element to signal a separation

  • Kindle won’t accept fonts that are less than 1K (typically can’t create a font with just one or two characters)

  • Control+Shift+u to type in a unicode sequent, then press enter to accept

  • Calibre gets confused when there are local fonts that closely match font in stylesheet, uses them over embedded styles (in particular M+ weights)

  • iBooks info: http://authoradventures.blogspot.com/2013/08/ibooks-tutorial-update-version-30.html

  • selector for all prose text (including symbols)

    body p, ul, ol, li, dl, dt, dd, figcaption, caption, footer,
    table.table th, table.table td, div.verse .attribution {}
  • selector for prose sentences / phrases

    body p, li, dd, figcaption, caption, th, td, blockquote > footer {}