summaryrefslogtreecommitdiff
path: root/WORKLOG.adoc
blob: 00bb57e13bcab65e014a47948d92bb5562cd0fdf (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
= 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 (&#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
* 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 {}