Releases: DimwitLabs/ode
Releases · DimwitLabs/ode
v1.4.4
Added
- SHOWCASE.md which also pushes it to the documentation at docs.ode.dimwit.me/showcase
v1.4.3
Changed
- Ode will now move from DeepanshKhurana/ode to DimwitLabs/ode. Please ensure you update your
docker-compose.ymlfor the new url which will be underghcr.io/dimwitlabs/ode:<tag>. This version functionally changes nothing except this information.v1.4.4is planned to be from the new url. In that case,ghcr.io/deepanshkhurana/ode:latestwill point tov1.4.3whileghcr.io/dimwitlabs/ode:latestwill continue to get updates.
v1.4.2
Changed
- OG images now generate asynchronously in background after build completes, allowing site to start serving immediately.
Fixed
- Cache headers for dynamic content (
config.yaml,content/,generated/index/,feed.xml) in nginx and Vercel configs. - RSS feed now correctly handles date-only entries with local timezone.
- Sidebar piece count now reflects actual count from
pieces.json.
v1.4.1
Added
- Configurable Body of Work page:
bodyOfWork.titleandbodyOfWork.slugfields inconfig.yaml.
Fixed
- 502 error page now correctly uses theme from
ui.theme.presetinstead of defaulting tojournal. - Deployment script now polls host filesystem for 502 page instead of waiting for container build.
v1.4.0
Added
Metadata (#14)
- Social card preview system with OG image generation using
satoriand@resvg/resvg-js. - Pre-rendered meta pages for bots (WhatsApp, LinkedIn, Twitter, Facebook, etc.) with full
og:*andtwitter:*tags. Note that the tags work according to bot lists and would not be readily available on an online checker. However,curling the bots with aUser-Agente.g.curl -H "User-Agent: WhatsApp/2.0"...can be a good way to test. This works acrossnginxas well asVercel. Configurations for both are provided in the repository asnginx/andvercel.json. - Content-based meta descriptions: first 160 characters extracted from markdown content with formatting stripped.
- Reader URL bot support:
/reader/:collection?piece=:slugserves appropriate meta pages to bots. The page is selected to be the piece the reader is currently reading. - Custom
bodyOfWork.descriptionfield inconfig.yamlforbody-of-workpage social preview. nginxconfiguration templates innginx/directory with setup instructions.- OG images generated at 1200x630px with theme-specific styling.
502 Error Page for nginx (#19)
- Themed 502 error page generation with customizable text via
config.yaml'sredeployPagesection. - The theme respects all settings e.g.
defaultMode,lowercaseand overrides enabled inconfig.yaml. - 502 page served from persistent host location (survives container restarts).
- Configuration settings are available in the
nginx/directory's base template.
Here's what it looks like for my own site, fully customised. No more ugly 502 pages!
Changed
- Improved GitHub Actions deployment documentation in
WRITING.mdwith SSH key setup guide. (#18)
Fixed
- Numeric values in
config.yaml(e.g.,404) now handled correctly. (#17)
Removed
react-helmetdependency (using React 19 native meta tags).
v1.2.9
Changed
- Moved auto-generated files to
public/generated/subdirectory for cleaner structure.
v1.2.8
Fixed
- Duplicate meta tags in
<head>caused by hardcoded tags inindex.htmlconflicting with dynamically added tags fromLayout.jsxandreact-helmetinHeader.jsx.
v1.2.7
Strong background improvements in this release with a lot of things you may not even see but the site needs to work properly. These came because I keep using ode on my own writing archive journal.coffee. This will always be a guarantee. I will use it and update ode whenever I see an issue.
Added
- Development workflow with
:developmentDocker tag for testing changes without affecting:latestusers. - Automatic
robots.txtgeneration during build process with sitemap URL fromconfig.yaml. (#12) - Support for
descriptionfield in piece frontmatter for RSS feed descriptions (with fallback to first line of content). (#11) - Routing support for
/feed/,/sitemap/,/robots, and/robots.txtin both nginx and Vercel configurations. (#12) - Version badge (v1.2.7) in documentation site navbar.
Changed
- RSS feed
<link rel="self">now correctly points to/feed.xmlinstead of/feed. (#11) - Footer styling restructured for better alignment on large displays - border now on article element with footer integrated into
HomepageViewercomponent. (#13) - Vercel rewrite rules optimized with specific routes ordered before catch-all pattern.
Fixed
- RSS feed validation errors: removed invalid
managingEditorfield (was not in email format). (#11) - RSS feed item structure:
<description>now appears before<content:encoded>per RSS 2.0 best practices. (#11) - Footer border extending beyond content on larger displays due to float-based alignment. (#13)
⚠️ Some changes were removed during a rebase. They were brought back as well.
Removed
managingEditorfield from RSS feed generation (optional field causing validation warnings). (#11)
v1.2.5
Added
- New landing page at ode.dimwit.me with links to live demo, documentation, and repository.
- Official documentation site powered by Docusaurus, featuring automated root markdown synchronization and search for easy access.