Skip to content

Replace Disqus with staticomment #30

@cwage

Description

@cwage

Overview

Migrate from Disqus to staticomment, a self-hosted comment server that stores comments as YAML files committed directly to the repo in _data/comments/.

Background

Disqus is currently hardcoded in _layouts/post.html. staticomment is a lightweight server that accepts comment form POSTs and writes them as YAML files to _data/comments/<slug>/, then commits them to the repo. Comments support threading via a reply_to field.

The Disqus export is attached to this issue for reference.

Tasks

Phase 1: Import existing Disqus comments

  • Write a Disqus XML export ingestion script (scripts/import_disqus.sh, dockerized)
  • Parse the Disqus export XML, mapping threads to post slugs
  • Generate YAML comment files in _data/comments/<slug>/ preserving threading via reply_to
  • Verify imported comment counts match the export (5,816 imported, 109 deleted + 107 spam filtered)
  • Sweep for missed spam (Sweep imported Disqus comments for missed spam #31)

Phase 2: Jekyll theme changes

  • Remove Disqus embed from _layouts/post.html
  • Add comments.html / comment.html includes that iterate over site.data.comments[slug]
  • Render threaded comments with proper nesting/indentation
  • Basic styling for comment display (author, date, body)

Completed in #32.

Phase 3: New comment form

  • Add an HTML comment submission form to the post layout
  • Form POSTs to the hosted staticomment instance
  • Support reply-to for threaded replies
  • Test end-to-end: submit comment, verify YAML file created, verify it renders on next build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions