Comments (13)
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
from putting-the-you-in-cpu.
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.
from putting-the-you-in-cpu.
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.
from putting-the-you-in-cpu.
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
from putting-the-you-in-cpu.
Woah, amazing @ericschn! Let me know if I can help with anything, e.g. making e-ink friendly versions of the drawings.
from putting-the-you-in-cpu.
I would appreciate too for an EPUB version, and could test it on my KOBO Aura 2.
from putting-the-you-in-cpu.
@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
from putting-the-you-in-cpu.
The very useful pandoc tool can also export to epub. You might give it a try.
from putting-the-you-in-cpu.
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.)
from putting-the-you-in-cpu.
@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.
from putting-the-you-in-cpu.
@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.
from putting-the-you-in-cpu.
@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?
from putting-the-you-in-cpu.
@ericschn Hi, was away, but if you want me to test a new version, let me know.
from putting-the-you-in-cpu.
Related Issues (20)
- Questions about Chapter 1 HOT 2
- Faggin made the first *microprocessor* HOT 1
- Should I mention PC? HOT 1
- Not a real issue HOT 1
- Hackclub
- PNG image optimization HOT 9
- Reference on the MacOS "split"
- Mismatched lines and line numbers on mobile HOT 3
- Possibility of discussion of ld.so/dyld/etc. behavior HOT 1
- Add bookmarks to the PDF edition
- Coop mutitasking correction/clarification
- Is this calculation correct?
- Time Slicing Diagram
- Maybe a mistake of Ch.4 A brief Explanation of Linking HOT 1
- Broken link in chapter 4
- More info on the SYSCALL_DEFINE3 security vulnerability
- Potentially unclear explanation of register usage in chapter 4 - Becoming an elf lord
- Link in the Section Header Table no longer works
- Kernel space size in virtual memory size
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from putting-the-you-in-cpu.