ichthyos / Contrails

Taylor Swift ATProto Feed Generator (fork of Contrails)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contrails

Contrails is an ATProto Feed Generator backed by Cloudflare Workers and Bluesky Search.

Edit CONFIG.md to define your feed generator.

Deploy right from GitHub Actions.

The current release is 0.0.3.

A Post

[Holds hand to earpiece] I'm being told Bluesky Search is now called Palomar. RIP thecloud, we hardly knew ye.

Requirements

  • Bluesky Social account
  • GitHub account (Sign up or Login)
  • Cloudflare account (Sign up or Login)
  • A moderate-to-high tolerance for adventure

Upgrading

In the event you'd like to pull in the latest changes into a fork of Contrails, GitHub has great documentation here: GitHub Docs: Syncing a fork

Changelog

0.0.4-pre

0.0.3

  • Multiple feed support
  • Ignore blockquotes in CONFIG.md (to allow comments).

0.0.2

  • Delete Feed Generator workflow

0.0.1

  • Initial Release

Installation & Configuration: The Short Version

  1. Create a Cloudflare Worker
  2. Create a Cloudflare API Token (the Edit Workers template is fine)
  3. Create a Bluesky App Password
  4. Fork this repository
  5. In your fork's Settings > Secrets and variables > Actions, set the following:
  • Variable: BLUESKY_HANDLE
  • Variable: CLOUDFLARE_ACCOUNT_ID
  • Variable: CLOUDFLARE_WORKER_NAME
  • Secret: BLUESKY_APP_PASSWORD
  • Secret: CLOUDFLARE_API_TOKEN
  1. Edit CONFIG.md in your fork
  2. Go to Actions > 1. Check Requirements, select Run Workflow, refresh and wait for completion
  3. Go to Actions > 2. Deploy to Cloudflare, select Run Workflow, refresh and wait for completion
  4. Go to Actions > 3. Publish Feed Generator, select Run Workflow, refresh and wait for completion

Installation & Configuration: Director's Cut

Here is the currently incomplete, long unabridged version of Installation and Configuration:

INSTALL.md under-construction.gif

Publishing Diagram

flowchart LR
    subgraph Bluesky
        PDS["PDS"]
    end
    subgraph GitHub
        subgraph MD_Config["CONFIG.md"]
            searchTerms
        end
        subgraph CloudflareDeploy["Cloudflare Deploy"]
            Worker_JS
            CloudflareApiToken("CLOUDFLARE_API_TOKEN")
            CloudflareAccountID("CLOUDFLARE_ACCOUNT_ID")
            CloudflareWorkerName("CLOUDFLARE_WORKER_NAME")
        end
        subgraph BlueskyDeploy["Bluesky Deploy"]
            PublishFeedGenerator
            BlueskyHandle("BLUESKY_HANDLE")
            BlueskyAppPassword("BLUESKY_APP_PASSWORD")
        end
        MD_Config --> Worker_JS["worker.js"]
        MD_Config --> PublishFeedGenerator["publishFeedGenerator.ts"]
    end
    subgraph "Cloudflare Worker"
        CloudflareWorker[worker.js]
    end
    CloudflareDeploy -->|Deploy to Cloudflare| CloudflareWorker
    BlueskyDeploy -->|Publish Feed Generator| PDS

Query Diagram

sequenceDiagram
    actor CoffeeTeaLover
    participant Bluesky
    participant Cloudflare as Cloudflare Worker
    participant Bluesky Search
    CoffeeTeaLover->>+Bluesky: get Coffee&Tea custom feed
    Bluesky->>+Cloudflare: get Coffee&Tea custom feed
    Cloudflare->>+Bluesky Search: search "coffee" and "tea"
    Bluesky Search->>+Cloudflare: posts matching "coffee" and "tea"
    Cloudflare->>+Bluesky: IDs of posts matching "coffee" and "tea"
    Bluesky->>+CoffeeTeaLover: posts for Coffee&Tea custom feed

LICENSE

2-Clause BSD

About

Taylor Swift ATProto Feed Generator (fork of Contrails)

License:Other


Languages

Language:JavaScript 41.4%Language:TypeScript 31.8%Language:Python 26.8%