john

john / Feed Me

Last active 5 months ago

Like 0

GitHub-powered feed aggregator with tinyfeed

john revised this gist 2 years ago · 4c4bb9f

1 file changed, 1 insertion

feed.yml
@@ -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

john revised this gist 2 years ago · 44c5e27

1 file changed, 2 deletions

feed.yml
@@ -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

feed.yml
@@ -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

feed.yml (file created)
@@ -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
tinyfeed-catppuccin-mocha.css (file created)
@@ -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 + }