This project is a Jekyll-based blog that automatically generates daily posts containing a curated list of Twitter links.
The blog is updated by a set of scripts that fetch links and create new posts.
scripts/list_twitter_links_by_date.py: This Python script is the core of the post generation. It fetches links for a given date and formats them into a Markdown file, creating a new post in the_postsdirectory.scripts/daily_post.sh: This shell script automates the process by calling the Python script for the previous day, and then committing and pushing the new post to the GitHub repository.
The script list_twitter_links_by_date.py depends on a custom Python module socialModules.modulePublicationCache which is not included in this repository. This module is responsible for fetching the actual link data.
-
Clone the repository:
git clone <repository-url> cd linkblog
-
Install Ruby and Bundler: Make sure you have Ruby (version 3.1 or as specified in
.github/workflows/jekyll.yml) and Bundler installed.gem install bundler
-
Install Jekyll and other gems:
bundle install
-
Install Python: Ensure you have Python 3 installed.
-
Set up the custom Python module: You will need to provide the
socialModulesPython module, as it is not included in this repository. This module should be placed where it can be imported by thelist_twitter_links_by_date.pyscript.
To serve the site locally for testing or previewing changes:
bundle exec jekyll serveThe site will be available at http://localhost:4000.
To manually generate a new post for a specific date:
python3 scripts/list_twitter_links_by_date.py YYYY-MM-DDTo run the automated daily process:
bash scripts/daily_post.shThis will create a post for yesterday, add it to git, commit it, and push it to the remote repository.
Deployment is handled automatically by a GitHub Actions workflow defined in .github/workflows/jekyll.yml.
Every push to the main branch triggers the workflow, which builds the Jekyll site and deploys it to GitHub Pages.