CMS ETL BBQ! Herein lie scripts I use to go from Day One exports to fully functional web blog and gemini capsule. FAQ 1. Are they good scripts? No. 2. Do they run without a bunch of external dependencies? Also no. 3. Should other people use this? Thrice no.
Go to file
mycrobe 6e62a7ce1f Merge branch 'main' into mastodon 2023-07-19 16:24:15 +00:00
assets add nav to full comments page 2023-07-19 16:10:20 +00:00
src add nav to full comments page 2023-07-19 16:10:20 +00:00
.gitignore ignore temp vim files 2023-07-09 16:54:17 +00:00
DEPENDENCIES update dependencies -- don't need ffmpeg rn 2023-07-17 16:24:08 +00:00
README Update README 2023-07-18 20:17:01 +00:00
package-lock.json switch from minimist-lite to minimist, fix passing toot ids as argument by forcing string format 2023-07-17 16:04:51 -04:00
package.json switch from minimist-lite to minimist, fix passing toot ids as argument by forcing string format 2023-07-17 16:04:51 -04:00

README

CMS ETL BBQ

# What is this?
I made this to take zip files exported from Day One (the only writing app I've ever used semi-consistently) and makes them into a journal that works over gemini, gopher, and http. Featuring an index page. Tag pages. Soon, comments, maybe. 

The HTTP part has been tested to work on three major classes of web browser
* Modern ones. I test on Firefox and Safari. Probably Chromium browsers work too.
* Ones that run on OS X 10.4.12, which is Tiger + a bunch of patches that includes emoji. Testing is done on OmniWeb 5.11. The main effect of supporting this is that
  ** I'm using `float`s instead of `flexbox`es in my CSS, and 
  ** requesting HTML fragments with `XMLHttpRequest` for comments, instead of JSON with `fetch`.
* Text mode browsers. Tested with `lynx` and `links`. This means all my fallbacks have to work and my DOM has to be logically arranged. 

# What does it do?
Given a set of entries from Day One on mac, that is uploaded as a zip file to ~/dayone/ and an empty dir ~/markdown:

$ node processDayone.js --inputZip ~/dayone/<zip> --root ~/markdown

This will:-
1. Run day-one-to-markdown script to get a set of directories each containing one front matter format markdown file
2. Load the frontmatter markdowns, and create gemtext and html
3. Process the images to be ready for distribution (strip EXIF, ensure rotation, smallify)

Note also:
* The DEPENDENCIES file discusses what's needed in the environment that the script is run
* The TODO file is my super-advanced issue tracking system
* There's no license yet