Skip to content

fernand0/linkblog

Repository files navigation

Linkblog

This project is a Jekyll-based blog that automatically generates daily posts containing a curated list of Twitter links.

How It Works

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 _posts directory.
  • 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.

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd linkblog
  2. 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
  3. Install Jekyll and other gems:

    bundle install
  4. Install Python: Ensure you have Python 3 installed.

  5. Set up the custom Python module: You will need to provide the socialModules Python module, as it is not included in this repository. This module should be placed where it can be imported by the list_twitter_links_by_date.py script.

Usage

Local Development

To serve the site locally for testing or previewing changes:

bundle exec jekyll serve

The site will be available at http://localhost:4000.

Creating a New Post

To manually generate a new post for a specific date:

python3 scripts/list_twitter_links_by_date.py YYYY-MM-DD

To run the automated daily process:

bash scripts/daily_post.sh

This will create a post for yesterday, add it to git, commit it, and push it to the remote repository.

Deployment

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published