Interests dashboard page, Articles interest filter, and interest links (steps 5-7)

Every interest name in the web UI links admins to the Articles page
filtered and sorted by that interest's stored matches; the Interests page
lists weights derived from current ratings and manages categories.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K9PrjtUS16PAQve8D4bHgc
This commit is contained in:
thalladaandClaude Fable 5.1 committed 2026-09-13 05:49:25 +00:00
1 parent 22cfb34788
commit 861ae6cb5e
18 files changed
+797 -34

No files matched your search

+3 -3
View File
@@ -13,13 +13,13 @@
{% if entry.understanding.kicker.is_some() || entry.understanding.topics.is_some() %}
<p class="rubric">{% if let Some(kicker) = entry.understanding.kicker %}<span class="kicker">{{ kicker }}</span>{% if let Some(topics) = entry.understanding.topics %} &#160; {{ topics }}{% endif %}{% else %}{% if let Some(topics) = entry.understanding.topics %}{{ topics }}{% endif %}{% endif %}</p>
{% endif %}
{% if entry.why.is_some() || entry.understanding.interests.is_some() %}
{% if entry.why.is_some() || !entry.understanding.interests.is_empty() %}
<div class="index-why">
{% if let Some(text) = entry.why %}
<p class="why-line"><em>Why it&#39;s here: {{ text }}</em></p>
{% endif %}
{% if let Some(interests) = entry.understanding.interests %}
<p class="why-matches">Matches: {{ interests }}</p>
{% if !entry.understanding.interests.is_empty() %}
<p class="why-matches">Matches: {{ entry.understanding.interests_line() }}</p>
{% endif %}
</div>
{% endif %}