| @@ -22,6 +22,7 @@ jobs: | |||
| 22 | 22 | uses: actions/setup-go@v5 | |
| 23 | 23 | with: | |
| 24 | 24 | go-version: '1.23' | |
| 25 | + | cache: false | |
| 25 | 26 | ||
| 26 | 27 | - name: Go Cache | |
| 27 | 28 | uses: actions/cache@v4 | |
GitHub-powered feed aggregator with tinyfeed
john revised this gist 2 years ago · 4c4bb9f
1 file changed, 1 insertion
john revised this gist 2 years ago · 44c5e27
1 file changed, 2 deletions
| @@ -30,8 +30,6 @@ jobs: | |||
| 30 | 30 | ~/.cache/go-build | |
| 31 | 31 | ~/go/pkg/mod | |
| 32 | 32 | key: ${{ runner.os }}-go | |
| 33 | - | restore-keys: | | |
| 34 | - | ${{ runner.os }}-go | |
| 35 | 33 | ||
| 36 | 34 | - name: Install tinyfeed | |
| 37 | 35 | run: go install github.com/TheBigRoomXXL/tinyfeed@latest | |
john revised this gist 2 years ago · f986340
1 file changed, 10 insertions
| @@ -23,6 +23,16 @@ jobs: | |||
| 23 | 23 | with: | |
| 24 | 24 | go-version: '1.23' | |
| 25 | 25 | ||
| 26 | + | - name: Go Cache | |
| 27 | + | uses: actions/cache@v4 | |
| 28 | + | with: | |
| 29 | + | path: | | |
| 30 | + | ~/.cache/go-build | |
| 31 | + | ~/go/pkg/mod | |
| 32 | + | key: ${{ runner.os }}-go | |
| 33 | + | restore-keys: | | |
| 34 | + | ${{ runner.os }}-go | |
| 35 | + | ||
| 26 | 36 | - name: Install tinyfeed | |
| 27 | 37 | run: go install github.com/TheBigRoomXXL/tinyfeed@latest | |
| 28 | 38 | ||
john revised this gist 2 years ago · 8f9e23a
2 files changed, 146 insertions
| @@ -0,0 +1,45 @@ | |||
| 1 | + | name: Feed me | |
| 2 | + | ||
| 3 | + | on: | |
| 4 | + | push: | |
| 5 | + | branches: | |
| 6 | + | - main | |
| 7 | + | schedule: | |
| 8 | + | - cron: '30 */4 * * *' | |
| 9 | + | workflow_dispatch: | |
| 10 | + | ||
| 11 | + | jobs: | |
| 12 | + | feed-me: | |
| 13 | + | runs-on: ubuntu-latest | |
| 14 | + | permissions: | |
| 15 | + | contents: write | |
| 16 | + | ||
| 17 | + | steps: | |
| 18 | + | - name: Check out repository | |
| 19 | + | uses: actions/checkout@v4 | |
| 20 | + | ||
| 21 | + | - name: Set up Go | |
| 22 | + | uses: actions/setup-go@v5 | |
| 23 | + | with: | |
| 24 | + | go-version: '1.23' | |
| 25 | + | ||
| 26 | + | - name: Install tinyfeed | |
| 27 | + | run: go install github.com/TheBigRoomXXL/tinyfeed@latest | |
| 28 | + | ||
| 29 | + | - name: Fetch feeds | |
| 30 | + | run: | | |
| 31 | + | tinyfeed --input feeds.txt \ | |
| 32 | + | --name "Feed Me" \ | |
| 33 | + | --description "What's on the menu today?" \ | |
| 34 | + | --stylesheet "https://res.jbowdre.lol/css/tinyfeed-catppuccin-mocha.css" \ | |
| 35 | + | --output public/index.html | |
| 36 | + | ||
| 37 | + | - name: Deploy to GitHub Pages | |
| 38 | + | uses: peaceiris/actions-gh-pages@v4 | |
| 39 | + | with: | |
| 40 | + | github_token: ${{ secrets.GITHUB_TOKEN }} | |
| 41 | + | publish_dir: ./public | |
| 42 | + | publish_branch: gh-pages | |
| 43 | + | user_name: 'github-actions[bot]' | |
| 44 | + | user_email: 'github-actions[bot]@users.noreply.github.com' | |
| 45 | + | cname: feeds.jbowdre.lol | |
| @@ -0,0 +1,101 @@ | |||
| 1 | + | :root { | |
| 2 | + | /* Catppuccin Mocha palette */ | |
| 3 | + | --base: #1e1e2e; | |
| 4 | + | --mantle: #181825; | |
| 5 | + | --crust: #11111b; | |
| 6 | + | --text: #cdd6f4; | |
| 7 | + | --subtext1: #bac2de; | |
| 8 | + | --subtext0: #a6adc8; | |
| 9 | + | --surface2: #585b70; | |
| 10 | + | --surface1: #45475a; | |
| 11 | + | --surface0: #313244; | |
| 12 | + | --overlay0: #6c7086; | |
| 13 | + | --blue: #89b4fa; | |
| 14 | + | --lavender: #b4befe; | |
| 15 | + | --sapphire: #74c7ec; | |
| 16 | + | --sky: #89dceb; | |
| 17 | + | --pink: #f5c2e7; | |
| 18 | + | --mauve: #cba6f7; | |
| 19 | + | } | |
| 20 | + | ||
| 21 | + | body { | |
| 22 | + | background-color: var(--base); | |
| 23 | + | color: var(--text); | |
| 24 | + | font-family: system-ui, -apple-system, sans-serif; | |
| 25 | + | line-height: 1.6; | |
| 26 | + | max-width: 800px; | |
| 27 | + | margin: 0 auto; | |
| 28 | + | padding: 2rem 1rem; | |
| 29 | + | } | |
| 30 | + | ||
| 31 | + | h1 { | |
| 32 | + | color: var(--mauve); | |
| 33 | + | padding-bottom: 0.5rem; | |
| 34 | + | } | |
| 35 | + | ||
| 36 | + | h2, | |
| 37 | + | h3, | |
| 38 | + | h4, | |
| 39 | + | h5, | |
| 40 | + | h6 { | |
| 41 | + | color: var(--lavender); | |
| 42 | + | } | |
| 43 | + | ||
| 44 | + | a { | |
| 45 | + | color: var(--blue); | |
| 46 | + | text-decoration: none; | |
| 47 | + | transition: color 0.2s ease; | |
| 48 | + | } | |
| 49 | + | ||
| 50 | + | a:hover { | |
| 51 | + | color: var(--sky); | |
| 52 | + | text-decoration: underline; | |
| 53 | + | } | |
| 54 | + | ||
| 55 | + | /* Feed list styling */ | |
| 56 | + | ol { | |
| 57 | + | list-style: none; | |
| 58 | + | padding: 0; | |
| 59 | + | } | |
| 60 | + | ||
| 61 | + | li { | |
| 62 | + | margin-bottom: 1rem; | |
| 63 | + | padding: 0.5rem; | |
| 64 | + | border-radius: 4px; | |
| 65 | + | background-color: var(--surface0); | |
| 66 | + | transition: background-color 0.2s ease; | |
| 67 | + | } | |
| 68 | + | ||
| 69 | + | li:hover { | |
| 70 | + | background-color: var(--surface1); | |
| 71 | + | } | |
| 72 | + | ||
| 73 | + | /* Date styling */ | |
| 74 | + | time { | |
| 75 | + | color: var(--subtext0); | |
| 76 | + | font-size: 0.9rem; | |
| 77 | + | } | |
| 78 | + | ||
| 79 | + | /* Source domain styling */ | |
| 80 | + | a[href^="http"] { | |
| 81 | + | color: var(--pink); | |
| 82 | + | } | |
| 83 | + | ||
| 84 | + | /* Feed aggregation section */ | |
| 85 | + | p:last-of-type { | |
| 86 | + | margin-top: 2rem; | |
| 87 | + | padding-top: 1rem; | |
| 88 | + | border-top: 2px solid var(--surface1); | |
| 89 | + | color: var(--subtext1); | |
| 90 | + | } | |
| 91 | + | ||
| 92 | + | /* Responsive adjustments */ | |
| 93 | + | @media (max-width: 600px) { | |
| 94 | + | body { | |
| 95 | + | padding: 1rem 0.5rem; | |
| 96 | + | } | |
| 97 | + | ||
| 98 | + | li { | |
| 99 | + | padding: 0.25rem; | |
| 100 | + | } | |
| 101 | + | } | |