Project Lawful ebook


Fork me on GitHub
2023-09-11
This is my attempt at creating an ebook version of the project lawful story/glowfic.
  • I used the cache file of glowpub as a basis, because I didn't want to write my own scraper (thanks to github.com/QuartzLibrary)
  • Then I hacked together a bit of C# code to generate epub files
  • All external images (and optionally avatars) are included in the epub
  • I went through all the avatar files and made them square images (simplified my css, and looked better - most were already squares or almost-squares)
  • Various properties of the final file/layout can be changed, I generated the variants I found useful.
    But if anyone wants something special it should be easy enough to clone the repo, edit Program.cs and run make

# Variants

I recommend either the project-lawful-inline.epub or the project-lawful-avatars.epub variants (the *-avatars version contains the post profile-pictures, but is bigger and takes longer to open on older devices). There are 3 different versions of the actual **content** of the files:
  • the normal one includes all threads from projectlawful.com, including sandboxes and lectures. If there is a SFW version of a thread, it is not included (the inline/nsfw is included instead)
  • the *-sfw-* versions have the NSFW threads replaced wih their SFW counterparts
    (replaces threads 5310 with 5403, 5610 with 5618, 5638 with 5671)
  • the *-onlymainstory-* versions do not include the sandbox threads or the (optional) lecture threads
    (removes threads 5775, 5778, 5785, 5826, 5864, 5880, 6029, 6124)
There are also 5 different layout options (that I code-built) for every version above:
  • the *-inline variant only includes the character-name of each post, and (if possible) the character-name is set inline with the first paragraph
  • the *-moreinfo variant also includes the alignment text of each post/character after the character-name.
  • the *-avatars variant show the character avatar beside each post. This forces us to include all 600-ish avatars in the epub file, which increases filesize and loading time
  • the *-avatars-moreinfo also includes the alignment text and author name (additionally to the avatar). Here the avatar/character-name/alignment-text/author-name are also no longer inlined, but get their own paragraph at the start of every post.
  • the *-biggerhtml variant looks the same as *-inline, but internally every chapter is a single big file (instead of multiple split files), this makes the initial loading of the epub slower, but prevents a forced page-break after every 128th post.
As said above, it should be possible to create epub's with other combination of options (see Program.cs and Options.cs)

# Tested on

  • Kindle Paperwhite /w KOReader
  • Foliate
  • epub.js
  • Calibre Ebook viewer

# Download

project-lawful-inline.epub

(recommended for ebook readers)
page preview page preview page preview page preview page preview

project-lawful-avatars.epub

page preview page preview page preview page preview page preview

project-lawful-avatars-moreinfo.epub

(recommended, if you want something close to the original experience)
page preview page preview page preview page preview page preview

project-lawful-moreinfo.epub

page preview page preview page preview page preview page preview

project-lawful-biggerhtml.epub

page preview page preview page preview page preview page preview

made with vanilla PHP and MySQL, no frameworks, no bootstrap, no unnecessary* javascript