summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inventory.yml2
-rw-r--r--roles/rss-aggregator/templates/header.html15
-rw-r--r--roles/scag/tasks/main.yml (renamed from roles/rss-aggregator/tasks/main.yml)72
-rw-r--r--roles/scag/templates/header.html30
-rw-r--r--roles/scag/templates/nginx/feed.conf (renamed from roles/rss-aggregator/templates/nginx/feed.conf)0
-rw-r--r--roles/scag/templates/scag.toml (renamed from roles/rss-aggregator/templates/rss-aggregator.toml)4
-rw-r--r--vars/feed.yml4
7 files changed, 71 insertions, 56 deletions
diff --git a/inventory.yml b/inventory.yml
index a91be10..ec3157a 100644
--- a/inventory.yml
+++ b/inventory.yml
@@ -13,8 +13,8 @@ ungrouped:
6139
connection_name: nevis
connection_device_name: eth0
- rss_aggregator_install_method: precompile
rust_target: armv7-unknown-linux-musleabihf
+ scag_install_method: precompile
blade-canongate:
ansible_host: 192.168.178.75
ansible_ssh_user: canongate
diff --git a/roles/rss-aggregator/templates/header.html b/roles/rss-aggregator/templates/header.html
deleted file mode 100644
index 7b7249b..0000000
--- a/roles/rss-aggregator/templates/header.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<nav>
- <ul>
- <li>
- <a href=/>Home</a>
- </li>
- <li>
- <a href=/{{ feed_rss_path }}>RSS</a>
- </li>
- </ul>
-</nav>
-
-<script type="module">
-import { addExpandItemButtons } from '/scripts/feed-condense-content.js';
-addExpandItemButtons();
-</script>
diff --git a/roles/rss-aggregator/tasks/main.yml b/roles/scag/tasks/main.yml
index c3ee8d4..ca26c3e 100644
--- a/roles/rss-aggregator/tasks/main.yml
+++ b/roles/scag/tasks/main.yml
@@ -1,28 +1,28 @@
-- name: Install rss-aggregator by pre-compiling the binary
- when: ( not ( rss_aggregator_install_method is defined ) ) or rss_aggregator_install_method == "precompile"
+- name: Install scag by pre-compiling the binary
+ when: ( not ( scag_install_method is defined ) ) or scag_install_method == "precompile"
block:
- - name: Fetch rss-aggregator source code
+ - name: Fetch scag source code
delegate_to: 127.0.0.1
become: false
ansible.builtin.git:
- repo: https://git.joeac.net/rss-aggregator.git
- dest: /tmp/rss-aggregator
+ repo: https://git.joeac.net/scag.git
+ dest: /tmp/scag
depth: 1
- - name: Cross-compile rss-aggregator
+ - name: Cross-compile scag
delegate_to: 127.0.0.1
become: false
ansible.builtin.shell:
cmd: cross build --release --target {{ rust_target }}
- chdir: /tmp/rss-aggregator
+ chdir: /tmp/scag
changed_when: "'Compiling' in _task.result.stderr"
- - name: Install rss-aggregator binary
+ - name: Install scag binary
ansible.builtin.copy:
- src: /tmp/rss-aggregator/target/{{ rust_target }}/release/rss-aggregator
- dest: /usr/bin/rss-aggregator
+ src: /tmp/scag/target/{{ rust_target }}/release/scag
+ dest: /usr/bin/scag
mode: +x
-- name: Install or update rss-aggregator using rustup
- when: rss_aggregator_install_method == "rustup"
+- name: Install or update scag using rustup
+ when: scag_install_method == "rustup"
block:
- name: Install Rust toolchain using installation script
ansible.builtin.shell:
@@ -31,41 +31,41 @@
- name: Update Rust toolchain with rustup
ansible.builtin.shell: rustup update
changed_when: "'updated' in _task.result.stdout"
- - name: Install or update rss-aggregator using cargo
+ - name: Install or update scag using cargo
ansible.builtin.shell:
- cmd: cargo install --git git://git.joeac.net/rss-aggregator.git
+ cmd: cargo install --git git://git.joeac.net/scag.git
changed_when: "'Installed' in _task.result.stdout or 'Replaced' in _task.result.stdout"
- - name: Install daily crontab to update rss-aggregator using cargo
+ - name: Install daily crontab to update scag using cargo
ansible.builtin.cron:
special_time: daily
- name: Update rss-aggregator
- job: cargo install --git git://git.joeac.net/rss-aggregator.git
+ name: Update scag
+ job: cargo install --git git://git.joeac.net/scag.git
-- name: Install rss-aggregator using cargo provided by APK
- when: rss_aggregator_install_method == "cargo"
+- name: Install scag using cargo provided by APK
+ when: scag_install_method == "cargo"
block:
- name: Install cargo using APK
community.general.apk:
name: cargo
- - name: Install or update rss-aggregator using cargo
+ - name: Install or update scag using cargo
ansible.builtin.shell:
- cmd: cargo install --git git://git.joeac.net/rss-aggregator.git
+ cmd: cargo install --git git://git.joeac.net/scag.git
changed_when: "'Installed' in _task.result.stdout or 'Replaced' in _task.result.stdout"
- - name: Install daily crontab to update rss-aggregator using cargo
+ - name: Install daily crontab to update scag using cargo
ansible.builtin.cron:
special_time: daily
- name: Update rss-aggregator
- job: cargo install --git git://git.joeac.net/rss-aggregator.git
+ name: Update scag
+ job: cargo install --git git://git.joeac.net/scag.git
-- name: Create rss-aggregator configuration directory
+- name: Create scag configuration directory
ansible.builtin.file:
- path: /etc/rss-aggregator
+ path: /etc/scag
state: directory
-- name: Configure rss-aggregator
+- name: Configure scag
ansible.builtin.template:
- src: rss-aggregator.toml
- dest: /etc/rss-aggregator/config.toml
+ src: scag.toml
+ dest: /etc/scag/config.toml
- name: Configure HTML feed head
ansible.builtin.shell:
@@ -86,10 +86,10 @@
dest: "{{ src_dir }}/subscriptions"
depth: 1
-- name: Symlink subscriptions into rss-aggregator configuration directory
+- name: Symlink subscriptions into scag configuration directory
ansible.builtin.file:
src: "{{ src_dir }}/subscriptions/subscriptions.txt"
- dest: /etc/rss-aggregator/subscriptions.txt
+ dest: /etc/scag/subscriptions.txt
state: link
- name: Create directory for RSS file
@@ -99,9 +99,9 @@
owner: nginx
group: nginx
-- name: Use rss-aggregator to generate RSS file
+- name: Use scag to generate RSS file
ansible.builtin.shell:
- cmd: rss-aggregator
+ cmd: scag
creates: "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
- name: Install nginx location config
@@ -116,10 +116,10 @@
name: nginx
state: restarted
-- name: Install hourly crontab to update subscriptions and run rss-aggregator
+- name: Install hourly crontab to update subscriptions and run scag
ansible.builtin.cron:
special_time: daily
- name: Run rss-aggregator
+ name: Run scag
job: >-
git -C "{{ src_dir }}/subscriptions" pull;
- rss-aggregator
+ scag
diff --git a/roles/scag/templates/header.html b/roles/scag/templates/header.html
new file mode 100644
index 0000000..20ea0f1
--- /dev/null
+++ b/roles/scag/templates/header.html
@@ -0,0 +1,30 @@
+<nav>
+ <ul>
+ <li>
+ <a href=/>Home</a>
+ </li>
+ <li>
+ <a href=/{{ feed_rss_path }}>RSS</a>
+ </li>
+ </ul>
+</nav>
+
+<script type=module>
+function makeDetailsToggler(details) {
+ return () => {
+ if (details.hasAttribute('open')) {
+ details.removeAttribute('open');
+ } else {
+ details.setAttribute('open', '');
+ }
+ };
+}
+
+for (const entry of document.querySelectorAll('.h-entry')) {
+ const details = entry.querySelector('details');
+ const summary = entry.querySelector('summary');
+ const toggleDetails = makeDetailsToggler(entry.querySelector('details'));
+ entry.addEventListener('click', toggleDetails);
+ summary.addEventListener('click', toggleDetails);
+}
+</script>
diff --git a/roles/rss-aggregator/templates/nginx/feed.conf b/roles/scag/templates/nginx/feed.conf
index 6f650ba..6f650ba 100644
--- a/roles/rss-aggregator/templates/nginx/feed.conf
+++ b/roles/scag/templates/nginx/feed.conf
diff --git a/roles/rss-aggregator/templates/rss-aggregator.toml b/roles/scag/templates/scag.toml
index 1b408f6..9eafa6c 100644
--- a/roles/rss-aggregator/templates/rss-aggregator.toml
+++ b/roles/scag/templates/scag.toml
@@ -1,9 +1,9 @@
subscriptions_path = "subscriptions.txt"
-[channel]
+[feed]
title = "Stuff that Joe Carstairs wants to read"
description = "Stuff that Joe Carstairs wants to read"
-link = "https://joeac.net/{{ feed_rss_path }}"
+url = "https://joeac.net/feed"
[output]
outfile_rss = "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
diff --git a/vars/feed.yml b/vars/feed.yml
index 39abc8b..14d27f2 100644
--- a/vars/feed.yml
+++ b/vars/feed.yml
@@ -1,5 +1,5 @@
feed_dir: feed
feed_html_path: "{{ feed_dir }}/index.html"
feed_rss_path: "{{ feed_dir }}/rss.xml"
-feed_html_head: /etc/rss-aggregator/head.html
-feed_html_header: /etc/rss-aggregator/header.html
+feed_html_head: /etc/scag/head.html
+feed_html_header: /etc/scag/header.html