Where my online world lives
An attempt to collect my online publishing across various platforms into one 'home'.
- local time and place on all posts site-wide based on post date (add to
assets/departures.csv
in destination timezone) - syndication links for crossposts on other platforms (
youtube_id
,mastodon_id
,bluesky_id
,twitter_id
,facebook_id
,nostr_id
,threads_id
,instagram_id
,tiktok_id
) - 'Source' links on every post to direct edit via GitHub (
params.sourcePrefix
inhugo.yaml
) - link via titles using
[[title]]
or[alternate text](official title)
formats - JSON lists per section
- list mixing various sections together, grouped by day and filterable by location or
tags
- browse by year, by month, by day, by place, by country (based on
date
) - embed rendering (when setting
link
)
- list without pagination, grouped by year, focused on thumbnails (
duration
) - recording date separate from publish date (
around
) - previous / next as thumbnails
- list without pagination and grouped by year
- summary callout (
summary
)
- list without pagination and grouped by topic, recent collections first
- sticky headers for collections and songs
- loose structure of text files with songs separated by
#
- page and slug generated per song
- search title via YouTube
- translate text via DeepL
- embed in video posts (by setting
lyrics
to public slug) - bidirectional link between lyric and Vibration pages
param | type | notes |
---|---|---|
sourcePrefix |
string | prepended to file paths for Source links |
mediaPrefix |
string | prepended to image paths in content |
logoURL |
URL | used as an image near the site title |
touchURL |
URL | image for adding to home screens |
RSSFeedURLs |
map[name: url] | external RSS urls |
lowerLyricTitles |
boolean | show lyric titles in lowercase unless preceeded by ~ |
timelineSources |
list | paths (relative to project root) to include as timeline content |
- Custom CSS can be set in
css/style.css
Powered by Hugo
Notable aspects include:
- content adapter to generate pages dynamically from journal entries. Normally you’d use this for external data, but here it’s my solution for to create time taxonomy for the journal content.
- monorepo that merges the theme and content. Probably wouldn’t make sense to swap this theme with another as the content is intended to be laid out and paginated in specific ways.
- special pagination by ‘number of days’ rather than ‘number of posts’, and corresponding feed.
First install Hugo extended edition v0.148.2; I prefer the pre-built binary.
Then start the web server which reloads on any change:
hugo server