Nothing Special   »   [go: up one dir, main page]

Skip to content

raffomania/archive.observer

Repository files navigation

AskHistorians Archive

CI MIT licensed

https://archive.observer

This is an unofficial archive of the subreddit /r/AskHistorians. It's ad-free, works on mobile, loads fast, and doesn't need JS.

Features

  • Full-text search
  • Collapse comments
  • No AutoMod comments
  • Only shows posts with actual answers

Posts are sorted in reverse chronological order and filtered to show only those with accepted answers. Since it's hosted on the Netlify free tier, it only contains posts made after {} for now.

Project Status

The project is pretty much done for now. I'm actively reviewing pull requests, and I might revisit it in the future if enough people request changes :) Here are some ideas for improvements:

  • Show nested comments
  • Other ways to sort posts, like upvotes, number of answers, chronological order
  • Option to hide read posts
  • Add posts from other subreddits like AskScience

Your Own Subreddit Archive

Requires just, rustup and npm to bootstrap all tools and configuration.

cargo install just
just init # setup repo, install required tools

This project takes ZSTD-compressed JSON dumps as found in the pushshift archives. Files need to be pre-processed before the tool can use them:

bin/preprocess-dump.sh <subreddit_submissions>.zst input/submissions.json

To generate the files for a website:

just run

To show a preview of your site, you can install miniserve and run

just serve

to show a preview of the generated files.

To test:

just test

Before committing work:

just pre-commit

To see all available commands:

just list

Similar Projects

The redarc viewer allows browsing pushshift dumps, but has a different UI than what I had in mind. It's also not a static site.

License

This project is licensed under either of:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.