A new base for mathblogging.org
This code base is a very simple "feed planet". It takes a bunch of feeds (organized by categories), fetches them, creates a (Jekyll) page and feed merging the feeds of each category. It also grabs some Twitter data to pull in "picks" from editors. Finally, there are some automation tools for running a cron job to build the site continuously.
data/feeds.json: a json file consisting of feed URLs and category names for each URL
lib/feedFetchTrimmer.js: fetches feeds, filters recent posts and saves them in feed/lib/feedmerger.js: merges a bunch of feeds into a new feedlib/pagewriter.js: takes feed object and writes out a jekyll pagelib/editors.js: fetches twitter data and generates the frontpagelib/specialPages.js: generate special jekyll contentlib/feedJsonHelpers.js: helpers for wrangling data/feeds.jsonlib/helpers: a few simple helper functionslib/app.js: puts the pieces together
tools/csv_to_json.js: fetches csv data from Google Sheets and generatesdata/feeds.jsonfrom ittools/cse.js: logs out the homepage URLs for all feeds to feed into a Google Custom Search Engine.
bin/run_feedFetchTrimmer.js: a wrapper for queuing feed aggregationbin/run.sh: simple script (assuming a bunch of things) for a cron job which runs all the things and pushes updates out to https://github.com/mathblogging/mathblogging.org.
First, you need a simple spreadsheet with entries like
feedURL, category1, category2, category3
Then you'll need to remove all mathblogging specific data.
For example,
lib/editors.js: change the array of Twitter handles to match your group of editors and set up your Twitter app secrets.- Replace all references to
./mathblogging.orgto match the name of your Jekyll site (cloned into a subfolder). - Replace all other mentions of mathblogging.org
Not perfect, we know. If you need help, file an issue.