putting-the-you-in-cpu icon indicating copy to clipboard operation
putting-the-you-in-cpu copied to clipboard

EPUB Version

Open ixabolfazl opened this issue 1 year ago • 13 comments

If possible, I would appreciate it if you could provide an EPUB version of this text as well. I think this format might be more suitable for reading on electronic devices. Thank you for taking the time to make this useful information available to me. I hope you can provide an EPUB copy too.

ixabolfazl avatar Aug 08 '23 18:08 ixabolfazl

I definitely want to do this! I haven't really worked with the EPUB format in ages, if I remember properly it might take some time to implement. Would definitely be open to community contributions around this if you're interested in possibly working on this yourself! If not, definitely on the wishlist for me.

I'm currently working on a one-pager and PDF in #11, but I understand that isn't the ideal format for, say, kindles. So sometime in the next couple days I might start hacking on EPUB support.

kognise avatar Aug 08 '23 19:08 kognise

Here is a shitty one I created from the HTML in the mean time. how_cpus_work.zip

In a zip because github doesn't support uploading .epub.

Bartvelp avatar Aug 10 '23 08:08 Bartvelp

I'm going to try to take a crack at this tomorrow if a better option doesn’t present itself first and nerd-snipe me, but I think there is something I can work with this tool https://github.com/danburzo/percollate, which I've used before and that is very cool

filmgirl avatar Aug 10 '23 18:08 filmgirl

The very useful pandoc tool can also export to epub. You might give it a try.

artelse avatar Aug 10 '23 22:08 artelse

I didn't see any activity here for a few days so I decided to give it a go. Created proper chapters and a cover image, most of it looks good on my kindle.

Still working on:

  • Image sizing - some may still appear small
  • Contrast issues - some images and code blocks have low contrast on e-ink displays
  • Book cover - I grabbed the cover of the PDF version and edited it to better fit e-book sizing, I need to space the doodles out better

Putting the You in CPU - Lexi Mattick - draft1.zip

ericschn avatar Aug 14 '23 18:08 ericschn

Woah, amazing @ericschn! Let me know if I can help with anything, e.g. making e-ink friendly versions of the drawings.

kognise avatar Aug 14 '23 19:08 kognise

On this: I think the EPUB would ideally be generated via script just like the PDF. Eventually I want to make both an Astro plugin or something, or at least part of CI. @ericschn was your current work manual or did you make progress on / plan to write a script?

(Either way, I am planning on investing time into this myself to polish, and I'm happy to write an EPUB-generating script as part of that.)

kognise avatar Aug 15 '23 19:08 kognise

@kognise My work was mainly manual edits on the "one-pager" edition with regex replace-all. A script on the chapters .mdx files would definitely be cool. I was planning to work more on the EPUB this evening, I'll research .mdx conversion too.

ericschn avatar Aug 16 '23 14:08 ericschn

@ericschn A few things; on my linux ebook reader Okular, it has formatting errors where text runs thru graphics which in itself seem misplaced. My reMarkable tablet refuses to load the epub entirely, no idea what's going on there. I love this document and would be great when it becomes more portable.

artelse avatar Aug 16 '23 16:08 artelse

@artelse Thanks for that feedback, I think some styling I left in that doesn't affect kindle is affecting your devices, I've noted to remove all styles in the next version. Would you mind if I tag you again this evening (~8 hours from now) to test a new version on your devices?

ericschn avatar Aug 16 '23 18:08 ericschn

I would appreciate too for an EPUB version, and could test it on my KOBO Aura 2.

sanchezb avatar Aug 17 '23 15:08 sanchezb

@kognise I've made a script for automating epub generation, it's a node script similar to your pdfgen.js. It's a bit messy, maybe an astro plugin could be cleaner. epubgen.js pandoc is then ran on the resulting .md file this script generates to create the epub.

Here's the epub that this script + pandoc creates (unzip first): putting-the-you-in-cpu-draft2.zip

Things missing from epub version:

  • Code block line numbers - I'd recommend leaving them out as they add even more wrapping in the code examples
  • YouTube video - cyriak is classic, but maybe not great on eink displays
  • Links to other chapters don't seem to be underlined on some devices, still investigating that

ericschn avatar Aug 17 '23 20:08 ericschn

@ericschn Hi, was away, but if you want me to test a new version, let me know.

artelse avatar Aug 25 '23 13:08 artelse