Skip to content

feat: render archive pages as HTML with static CSS and dark mode#13

Merged
IOhacker merged 1 commit intoapache:mainfrom
airajena:feat/direct-html-archive-rendering
Feb 16, 2026
Merged

feat: render archive pages as HTML with static CSS and dark mode#13
IOhacker merged 1 commit intoapache:mainfrom
airajena:feat/direct-html-archive-rendering

Conversation

@airajena
Copy link
Contributor

Summary

This PR switches archive generation from Markdown output to direct HTML output, so GitHub Pages can serve the site as static files without a Jekyll build step.

It also improves thread/reaction rendering and keeps styling external via a static stylesheet path.

Changes

  • Replaced Markdown rendering with HTML rendering:
    • Added HtmlRenderer
    • Removed MarkdownRenderer
  • Updated archive generation flow in ChatArchiveApp to:
    • write daily pages as index.html under date folders
    • write channel index pages as index.html
    • write global index as docs/index.html
    • keep clean extensionless URLs in published Pages
  • Kept metadata generation:
    • robots.txt always generated
    • sitemap.xml generated when SITE_BASE_URL is set
  • Improved message rendering:
    • clearer thread reply grouping
    • inline formatting support (*bold*, _italic_, ~strike~)
    • bullet/numbered list support in message bodies
    • reaction badge rendering
  • Fixed emoji handling in formatter to avoid broken output.
  • Updated/added tests:
    • HtmlRendererTest
    • IndexRendererTest
    • updated formatter/site metadata tests
    • removed markdown-specific tests
  • Updated Readme.md to document HTML output paths and static stylesheet usage.

Testing

  • Ran: ./gradlew clean test --console=plain
  • Result: pass

Notes

  • This PR expects stylesheet to be provided as a static file in the publishing repo (docs/assets/chat-archive.css) rather than generated by Java.

Current HTML Index Content

Screenshot 2026-02-13 221910 Screenshot 2026-02-13 221934

@airajena airajena force-pushed the feat/direct-html-archive-rendering branch from ec212c8 to 20b6438 Compare February 14, 2026 03:55
@IOhacker IOhacker merged commit e4f604c into apache:main Feb 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants