summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--roles/rss-aggregator/tasks/main.yml17
-rw-r--r--roles/rss-aggregator/templates/header.html10
-rw-r--r--roles/rss-aggregator/templates/rss-aggregator.toml12
-rw-r--r--vars/feed.yml3
4 files changed, 40 insertions, 2 deletions
diff --git a/roles/rss-aggregator/tasks/main.yml b/roles/rss-aggregator/tasks/main.yml
index 9e23ca3..c3ee8d4 100644
--- a/roles/rss-aggregator/tasks/main.yml
+++ b/roles/rss-aggregator/tasks/main.yml
@@ -67,6 +67,19 @@
src: rss-aggregator.toml
dest: /etc/rss-aggregator/config.toml
+- name: Configure HTML feed head
+ ansible.builtin.shell:
+ cmd: |
+ curl --silent https://git.joeac.net/joeac.net.git/plain/http/share/components/head.upphtml \
+ | grep -E ^\<link\ rel=\"stylesheet\" \
+ > {{ feed_html_head }}
+ creates: "{{ feed_html_head }}"
+
+- name: Configure HTML feed header
+ ansible.builtin.template:
+ src: header.html
+ dest: "{{ feed_html_header }}"
+
- name: Fetch subscriptions
ansible.builtin.git:
repo: git://git.joeac.net/subscriptions.git
@@ -88,7 +101,7 @@
- name: Use rss-aggregator to generate RSS file
ansible.builtin.shell:
- cmd: rss-aggregator > {{ http_files_dir }}/feed/{{ feed_rss_path }}
+ cmd: rss-aggregator
creates: "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
- name: Install nginx location config
@@ -109,4 +122,4 @@
name: Run rss-aggregator
job: >-
git -C "{{ src_dir }}/subscriptions" pull;
- rss-aggregator > {{ http_files_dir }}/feed/{{ feed_rss_path }}
+ rss-aggregator
diff --git a/roles/rss-aggregator/templates/header.html b/roles/rss-aggregator/templates/header.html
new file mode 100644
index 0000000..1e6ee30
--- /dev/null
+++ b/roles/rss-aggregator/templates/header.html
@@ -0,0 +1,10 @@
+<nav>
+ <ul>
+ <li>
+ <a href=/>Home</a>
+ </li>
+ <li>
+ <a href=/{{ feed_rss_path }}>RSS</a>
+ </li>
+ </ul>
+</nav>
diff --git a/roles/rss-aggregator/templates/rss-aggregator.toml b/roles/rss-aggregator/templates/rss-aggregator.toml
index 22a8f72..2812605 100644
--- a/roles/rss-aggregator/templates/rss-aggregator.toml
+++ b/roles/rss-aggregator/templates/rss-aggregator.toml
@@ -1,3 +1,15 @@
+subscriptions_path = "subscriptions.txt"
+
+[channel]
title = "Stuff that Joe Carstairs wants to read"
description = "Stuff that Joe Carstairs wants to read"
link = "https://joeac.net/{{ feed_rss_path }}"
+
+[output]
+outfile_rss = "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
+outfile_html = "{{ http_files_dir }}/feed/{{ feed_html_path }}"
+produce_formats = ["html", "rss"]
+
+[output.html]
+head = "{{ feed_html_head }}"
+header = "{{ feed_html_header }}"
diff --git a/vars/feed.yml b/vars/feed.yml
index 7d04c58..39abc8b 100644
--- a/vars/feed.yml
+++ b/vars/feed.yml
@@ -1,2 +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