diff options
| -rw-r--r-- | inventory.yml | 2 | ||||
| -rw-r--r-- | roles/rss-aggregator/templates/header.html | 15 | ||||
| -rw-r--r-- | roles/scag/tasks/main.yml (renamed from roles/rss-aggregator/tasks/main.yml) | 72 | ||||
| -rw-r--r-- | roles/scag/templates/header.html | 30 | ||||
| -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.yml | 4 |
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 |
