Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve presentation of chapter titles and arcs #54

Open
domenic opened this issue Nov 6, 2024 · 3 comments
Open

Improve presentation of chapter titles and arcs #54

domenic opened this issue Nov 6, 2024 · 3 comments

Comments

@domenic
Copy link
Owner

domenic commented Nov 6, 2024

Vision: instead of

  • Shell 4.1
  • Shell 4.2
  • Shell 4.3
  • Shell 4.4
  • Shell 4.5
  • Shell 4.6
  • Interlude 3½ (Bonus)
  • Shell 4.7
  • Shell 4.8
  • Shell 4.9
  • Shell 4.10
  • Shell 4.11
  • Interlude 4

We have:

  • Arc 4: Shell (a big title page)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • Interlude: Purity
    • 7
    • 8
    • 9
    • 10
    • 11
    • Interlude: Brutus

Questions/problems:

  • This should probably be an option, since it departs a bit from the original experience? On or off by default?
  • Giving away the point-of-view characters in the interlude chapter titles is a bit of a mini-spoiler: sometimes the process of figuring out who we're seeing is fun. (On the other hand, the official website's Table of Contents gives away the names...). Maybe just "Interlude" would be better?
    • A special case is 15.y, which in the official TOC is listed as "A guy with the second trigger event" instead of the actual POV character. I'm not really sure what purpose that serves, and whether we should preserve it?
    • The official TOC for Ward is a bit wackier: https://www.parahumans.net/table-of-contents/. E.g. it includes "Interlude I", "Interlude II", "Interlude III" in Arc 4, but then "Interlude IV" in Arc 5! And then back to character names for two more interludes in Arc 5!
  • I think we can safely assume the interlude labels (e.g. "Bonus Interlude", "Apology Interlude", "x", "y", "A", "B") are not important, but if someone disagrees let me know...
  • In general the mapping will probably need to be manually-maintained, which kind of clashes with how the scraper works by taking a start URL and working from there, but that's not a big deal since we already are hard-coding in a lot of chapter URLs with the substitutions.json.
@wfdewith
Copy link

wfdewith commented Nov 7, 2024

From a technical perspective, since the latest release of the scraper now generates EPUB 3 files, consider creating a NCX based Table of Contents and don't include it as a separate page. NCX ToCs can be hierarchical. In my opinion, it is the the e-reader that should be responsible for rendering the ToC and it should not be necessary to include it in a specific spot in a e-book.

I do like this proposal, because it allows me to collapse arcs in the ToC, which makes it way less unwieldy when navigating.

I have no strong opinions on your other questions, because I just started reading Worm. Still, I did notice that the interlude titles are fairly inconsistent. For example, bonus interludes are sometimes titled "Interlude x (Bonus)" and sometimes "Interlude x (Bonus Interlude)". Are you planning on editorializing the chapter titles themselves as well?

@domenic
Copy link
Owner Author

domenic commented Nov 13, 2024

From a technical perspective, since the latest release of the scraper now generates EPUB 3 files, consider creating a NCX based Table of Contents and don't include it as a separate page. NCX ToCs can be hierarchical. In my opinion, it is the the e-reader that should be responsible for rendering the ToC and it should not be necessary to include it in a specific spot in a e-book.

My understanding is that NCX is EPUB 2 format, and the HTML TOC files we're generating now are EPUB 3. HTML TOCs can also be hierarchical.

The HTML TOC file is not included in the spine currently, as you suggest. (Whether it is included, or not, appears to be up to the publisher. I agree with you it seems better not to include it.)

Still, I did notice that the interlude titles are fairly inconsistent. For example, bonus interludes are sometimes titled "Interlude x (Bonus)" and sometimes "Interlude x (Bonus Interlude)".

Yes, this bugs me too.

Are you planning on editorializing the chapter titles themselves as well?

I think my plan is as follows. There will be an option --chapter-titles= which can be either original, simplified, character-names:

  • original: current behavior (although nested under arcs, hierarchically). Examples: Insinuation 2.4, Interlude 6, Interlude 8 (Bonus), Interlude 22 (Bonus #1)
  • simplified: all chapter titles get collapsed to a number (e.g. 4). All interludes become just Interlude.
    • This does mean there might be multiple chapters with the same name, Interlude, under one arc. Is that bad? Should we instead do Interlude 1 or Interlude I or Interlude a or...?
  • character-names: all chapter titles get collapsed to a number (e.g. 4). All interludes get titled with the name of the character the interlude is for. Examples: Interlude: Canary, Interlude: Lisa, Interlude: Lung.

I think the default will be simplified.

@wfdewith
Copy link

My understanding is that NCX is EPUB 2 format, and the HTML TOC files we're generating now are EPUB 3. HTML TOCs can also be hierarchical.

The HTML TOC file is not included in the spine currently, as you suggest. (Whether it is included, or not, appears to be up to the publisher. I agree with you it seems better not to include it.)

You are completely correct on both fronts. I checked the EPUB 3 spec to make sure. I don't know what lead me to believe that the ToC was part of the spine but other than the hierarchical structure, the ToC is perfectly fine as is.

I think my plan is as follows. [...]

Your plan sounds good to me. For simplified, I'd number the interludes either with Arabic or Roman numerals. You could number them globally instead of per arc, though that is up to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants