summaryrefslogtreecommitdiff
path: root/WORKLOG.adoc
blob: e9b425c81773ec8d03a9ea075d7fddd02c4d58ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
= 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
* support inline SVG
* describe the leveloffset setting in more detail in the README
* 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
* add empty front matter page in kf8 version if one is specified to allow navigation to first entry from TOC
 ** why can't we navigate to first chapter on Kindle from TOC?
* 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: add landmarks nav list to nav.xhtml; see https://github.com/IDPF/epub3-samples/blob/master/31/moby-dick-mo-xhtml/EPUB/toc.xhtml
* 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: source highlighting using Rouge (instead of Pygments)
* MEDIUM: to remove text indent in mobi7, set width="0pt" (text-indent) on <p> tag; also set height="1em" (margin top)
* 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)
* HIGH: add back cover if specified
* MEDIUM: add JavaScript to nav.xhtml to add class for epubReadingSystem to body
* MEDIUM: rename OEBPS folder to EPUB
* MEDIUM: option to add nav.xhtml to navigation flow?
* MEDIUM: add Pygments stylesheet to EPUB archive if pygments-css=class
* 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: kindlegen no longer strips <header> elements, so we can drop our div wrapper hack
* 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
* HIGH: move -webkit-hyphens: auto to epub3-css3-only inside @media not amzn-kf8? (if we decide to reenable)
* 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 (&#8203;) 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
* use the following media query to target non-Kindle devices (works in iBooks at least)

 @media not amzn-kf8 {
   @media not amzn-mobi {
   }
 }

* 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 {}