patriciogonzalezvivo / thebookofshaders

Step-by-step guide through the abstract and complex universe of Fragment Shaders.
http://TheBookOfShaders.com
Other
6.05k stars 688 forks source link

Add support for building book in epub format #253

Closed andystanton closed 5 years ago

andystanton commented 5 years ago

Add epub metadata & placeholder cover image Refactor parseBook.py and extend Makefile to enable support for more formats Update appendix 2 Add book.epub to .gitignore

Fixes #229

andystanton commented 5 years ago

Last PR for now @patriciogonzalezvivo 😄

I achieved my goal! Being able to reference the Book of Shaders next to Shaderific on my iPad.

book_of_shaders_ipad

I added a placeholder cover based on the website:

book_of_shaders_cover_2
patriciogonzalezvivo commented 5 years ago

WOW!!! THIS IS BLOWING MY MIND!! AMAZING WORK! I'm DEEPLY THANKFUL TO YOU! I what website should I point to to add you to the credits?

andystanton commented 5 years ago

That's very kind! My personal website is https://andy.stanton.is

And thank you for writing the Book of Shaders.

javl commented 5 years ago

This is great, thanks @andystanton .

I do get a couple of warnings after building the epub (on Debian). The first are about a couple of missing images:

[WARNING] Could not fetch resource '2d-voronoi.gif': PandocResourceNotFound "2d-voronoi.gif"
[WARNING] Could not fetch resource 'turbulence-long.png': PandocResourceNotFound "turbulence-long.png"
[WARNING] Could not fetch resource 'ridge-long.png': PandocResourceNotFound "ridge-long.png"

I was able to fix this by replacing the html used for these images with markdown: <a href="../edit.php#12/cellnoise-01.frag"><img src="cellnoise.png" width="520px" height="200px"></img></a>

[![](cellnoise.png)](../edit.php#12/cellnoise-01.frag)

If you think this would be an OK fix I can update the files, I'm just not sure how to handle the different languages: is this something that needs to be manually edited in each README-lang.md file?

As a side note: these images have relative links attached to them, which only make sense in the HTML version of the book. Maybe strip them out when generating the epub?

The last warning I'm getting is about missing meta data:

[WARNING] This document format requires a nonempty <title> element.
  Please specify either 'title' or 'pagetitle' in the metadata.

Not sure how to fix this, as there does seem to be a title in metadata.xml: <dc:title>The Book of Shaders</dc:title>