adamdjbrett / orange76xyz

Home Page:https://000000076.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multiplicity - RSS Aggregator Starter Based On Eleventy

Multiplicity (abbreviated as 'm10y') is a simple starter pack based on Eleventy static site generator that allows you to create RSS aggregator site.

Alongside the template code, it also contains a GitHub action required to keep the site up to date.

View demo

Want to see in in action? Check out Blogworm.eu.

Instant deploy

Netlify:

Deploy to Netlify

Vercel:

Deploy with Vercel

Render:

Deploy to Render

Features

  • light / dark mode switcher + honoring color scheme preference
  • pagination
  • translation ready (separate file with static phrases)
  • automatic favicon generation
  • support for RSS and JSON feeds
  • custom avatar alongside each feed item

Setup and personalization

  1. Fork the repository.
  2. Configure the site according to your preferences - see siteConfig.js and template files.
  3. Modify the list of feeds you want to aggregate - they are located in content/sites.
    1. Each site has the following properties:
      • name - name of the site
      • url - URL of the site
      • avatar - image to display alongside the site name (e.g. favicon). During the build process the image will be downloaded, resized and served locally
      • feed - URL of the RSS or JSON feed to fetch articles from
      • hideFromSiteList - set it to true if you want to hide this site from the list of sites on the Sites page. It is useful if you want to add two sites with different RSS feeds under the same name and avoid seeing duplicates on the list
  4. Deploy the site to Netlify or Vercel
  5. Set up the GitHub action in .github/workflows/scheduled_build.yml:
    1. Create a build hook URL and save it as a GitHub secret in your repository - e.g. NETLIFY_BUILD_HOOK_URL or VERCEL_BUILD_HOOK_URL
  6. Done! Your aggregator is up and running.

Translation file

See phrases.js for the list of translatable static phrases.

Note for Netlify users

The aggregator uses eleventy-fetch plugin for fetching and caching network requests. If you use Netlify, you can limit number of network requests with Netlify cache mechanism - see Eleventy docs on how to enable it.

Contributions

Contributions of the following kind are welcome:

  • bug reports / fixes
  • feature suggestions / improvements of existing features

Before contributing be sure to read Code of Conduct.

About

https://000000076.xyz

License:The Unlicense


Languages

Language:JavaScript 48.0%Language:SCSS 26.4%Language:Nunjucks 25.7%