draw the rest of the owl
This commit is contained in:
20
app/templates/base.atom
Normal file
20
app/templates/base.atom
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
{% if self.title() %}
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
{% else %}
|
||||
<title>{{ config.SITE_NAME }}</title>
|
||||
{% endif %}
|
||||
{% if self.feed_updated() %}
|
||||
<updated>{% block feed_updated %}{% endblock %}</updated>
|
||||
{% else %}
|
||||
<updated>{{ get_time_now() | iso8601 }}</updated>
|
||||
{% endif %}
|
||||
<id>{{ __current_page }}</id>
|
||||
<link rel="self" href="{{ __current_page }}" />
|
||||
<link href="{% block canonical_link %}{% endblock %}" />
|
||||
{% if self.feed_author() %}
|
||||
<author>{% block feed_author %}{% endblock %}</author>
|
||||
{% endif %}
|
||||
{% block content %}{% endblock %}
|
||||
</feed>
|
||||
@@ -11,6 +11,9 @@
|
||||
<link rel="stylesheet" href="{{ ("/static/css/%s.css" % get_prefers_theme()) | cachebust }}">
|
||||
<link rel="icon" type="image/png" href="/static/favicon.png">
|
||||
<script src="{{ '/static/js/vnd/bitty-7.0.0-rc1.min.js' | cachebust }}" type="module"></script>
|
||||
{% if __feedlink %}
|
||||
<link rel="alternate" type="application/atom+xml" href="{{ __feedlink }}" title="{{ __feedtitle }}">
|
||||
{% endif %}
|
||||
</head>
|
||||
<body>
|
||||
<bitty-7-0 data-connect="{{ '/static/js/bitties/pyrom-bitty.js' | cachebust }}">
|
||||
|
||||
@@ -53,3 +53,9 @@
|
||||
<path d="M6 18V14M6 14H8L13 17V7L8 10H5C3.89543 10 3 10.8954 3 12V12C3 13.1046 3.89543 14 5 14H6ZM17 7L19 5M17 17L19 19M19 12H21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro icn_rss(width=24) %}
|
||||
<svg width="{{width}}px" height="{{width}}px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5 11C9.41828 11 13 14.5817 13 19M5 5C12.732 5 19 11.268 19 19M7 18C7 18.5523 6.55228 19 6 19C5.44772 19 5 18.5523 5 18C5 17.4477 5.44772 17 6 17C6.55228 17 7 17.4477 7 18Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
{% endmacro %}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% from 'common/icons.html' import icn_image, icn_spoiler, icn_info, icn_lock, icn_warn, icn_error, icn_bookmark, icn_megaphone %}
|
||||
{% from 'common/icons.html' import icn_image, icn_spoiler, icn_info, icn_lock, icn_warn, icn_error, icn_bookmark, icn_megaphone, icn_rss %}
|
||||
{% macro pager(current_page, page_count) %}
|
||||
{% set left_start = [1, current_page - 5] | max %}
|
||||
{% set right_end = [page_count, current_page + 5] | min %}
|
||||
@@ -359,3 +359,11 @@
|
||||
</div>
|
||||
</bitty-7-0>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro rss_html_content(html) %}
|
||||
<content type="html">{{ html }}</content>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro rss_button(feed) %}
|
||||
<a class="linkbutton contain-svg inline icon rss-button" href="{{feed}}" title="it's actually atom, don't tell anyone ;)">{{ icn_rss(20) }} Subscribe via RSS</a>
|
||||
{% endmacro %}
|
||||
|
||||
@@ -167,9 +167,18 @@
|
||||
<a class="mention display me" href="#mentions" title="@your-username">Your display name</a>
|
||||
<p>Mentioning a user does not notify them. It is simply a way to link to their profile in your posts.</p>
|
||||
</section>
|
||||
<section class="guide-section">
|
||||
{% set hr_example = "some section\n---\nanother section" %}
|
||||
<h2 id="rule">Horizontal rules</h2>
|
||||
<p>The special <code class="inline-code">---</code> markup inserts a horizontal separator, also known as a horizontal rule:</p>
|
||||
{{ ("[code]%s[/code]" % hr_example) | babycode | safe }}
|
||||
Will become
|
||||
{{ hr_example | babycode(true) | safe}}
|
||||
<p>Horizontal rules will always break the current paragraph.</p>
|
||||
</section>
|
||||
<section class="guide-section">
|
||||
<h2 id="void-tags">Void tags</h2>
|
||||
<p>The special void tags <code class="inline-code">[lb]</code>, <code class="inline-code">[rb]</code>, and <code class="inline-code">[@]</code> will appear as the literal characters <code class="inline-code">[</code>, <code class="inline-code">]</code>, and <code class="inline-code">@</code> respectively. Unlike other tags, they are self-contained and have no closing equivalent.</p>
|
||||
<p>The special void tags <code class="inline-code">[lb]</code>, <code class="inline-code">[rb]</code>, <code class="inline-code">[-]</code> and <code class="inline-code">[@]</code> will appear as the literal characters <code class="inline-code">[</code>, <code class="inline-code">]</code>, and <code class="inline-code">@</code> respectively. Unlike other tags, they are self-contained and have no closing equivalent.</p>
|
||||
<ul class="guide-list">
|
||||
{% set lbrb = "[color=red]This text will be red[/color]\n\n[lb]color=red[rb]This text won't be red[lb]/color[rb]" %}
|
||||
<li><code class="inline-code">[lb]</code> and <code class="inline-code">[rb]</code> allow you to use square brackets without them being interpreted as Babycode:
|
||||
@@ -178,6 +187,7 @@
|
||||
{{ lbrb | babycode | safe }}
|
||||
</li>
|
||||
<li>The <code class="inline-code">[@]</code> tag allows you to use the @ symbol without it being turned into a mention.</li>
|
||||
<li>The <code class="inline-code">[-]</code> tag allows you to use the - (dash) symbol without it being turned into a rule.</li>
|
||||
</ul>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
19
app/templates/threads/thread.atom
Normal file
19
app/templates/threads/thread.atom
Normal file
@@ -0,0 +1,19 @@
|
||||
{% extends 'base.atom' %}
|
||||
{% from 'common/macros.html' import rss_html_content %}
|
||||
{% block title %}replies to {{thread.title}}{% endblock %}
|
||||
{% block canonical_link %}{{url_for('threads.thread', slug=thread.slug, _external=true)}}{% endblock %}
|
||||
{% block content %}
|
||||
{% for post in posts %}
|
||||
{% set post_url = get_post_url(post.id, _anchor=true, external=true) %}
|
||||
<entry>
|
||||
<title>Re: {{ thread.title }}</title>
|
||||
<link href="{{ post_url }}"/>
|
||||
<id>{{ post_url }}</id>
|
||||
<updated>{{ post.edited_at | iso8601 }}</updated>
|
||||
{{rss_html_content(post.content_rss)}}
|
||||
<author>
|
||||
<name>{{ post.display_name }} @{{ post.username }}</name>
|
||||
</author>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
@@ -1,4 +1,4 @@
|
||||
{% from 'common/macros.html' import pager, babycode_editor_form, full_post, bookmark_button %}
|
||||
{% from 'common/macros.html' import pager, babycode_editor_form, full_post, bookmark_button, rss_button %}
|
||||
{% from 'common/icons.html' import icn_bookmark %}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}{{ thread.title }}{% endblock %}
|
||||
@@ -53,6 +53,7 @@
|
||||
<input class="warn" type="submit" value="Move thread">
|
||||
</form>
|
||||
{% endif %}
|
||||
{{ rss_button(url_for('threads.thread_atom', slug=thread.slug)) }}
|
||||
</div>
|
||||
</nav>
|
||||
{% for post in posts %}
|
||||
|
||||
20
app/templates/topics/topic.atom
Normal file
20
app/templates/topics/topic.atom
Normal file
@@ -0,0 +1,20 @@
|
||||
{% extends 'base.atom' %}
|
||||
{% from 'common/macros.html' import rss_html_content %}
|
||||
{% block title %}latest threads in {{target_topic.name}}{% endblock %}
|
||||
{% block canonical_link %}{{url_for('topics.topic', slug=target_topic.slug, _external=true)}}{% endblock %}
|
||||
{% block content %}
|
||||
<subtitle>{{ target_topic.description }}</subtitle>
|
||||
{% for thread in threads_list %}
|
||||
<entry>
|
||||
<title>[new thread] {{ thread.title | escape }}</title>
|
||||
<link href="{{ url_for('threads.thread', slug=thread.slug, _external=true)}}" />
|
||||
<link rel="replies" type="application/atom+xml" href="{{ url_for('threads.thread_atom', slug=thread.slug, _external=true)}}" />
|
||||
<id>{{ url_for('threads.thread', slug=thread.slug, _external=true)}}</id>
|
||||
<updated>{{ thread.created_at | iso8601 }}</updated>
|
||||
{{rss_html_content(thread.original_post_content)}}
|
||||
<author>
|
||||
<name>{{thread.started_by_display_name}} @{{ thread.started_by }}</name>
|
||||
</author>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
@@ -1,4 +1,4 @@
|
||||
{% from 'common/macros.html' import pager, timestamp, motd %}
|
||||
{% from 'common/macros.html' import pager, timestamp, motd, rss_button %}
|
||||
{% from 'common/icons.html' import icn_lock, icn_sticky %}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}browsing topic {{ topic['name'] }}{% endblock %}
|
||||
@@ -6,7 +6,7 @@
|
||||
<nav class="darkbg">
|
||||
<h1 class="thread-title">All threads in "{{topic['name']}}"</h1>
|
||||
<span>{{topic['description']}}</span>
|
||||
<div>
|
||||
<div class="thread-actions">
|
||||
{% if active_user %}
|
||||
{% if not (topic['is_locked']) | int or active_user.is_mod() %}
|
||||
<a class="linkbutton" href="{{ url_for("threads.create", topic_id=topic['id']) }}">New thread</a>
|
||||
@@ -18,6 +18,7 @@
|
||||
<input class="warn" type="submit" id="lock" value="{{"Unlock topic" if topic['is_locked'] else "Lock topic"}}">
|
||||
</form>
|
||||
<button type="button" class="critical" id="topic-delete-dialog-open">Delete</button>
|
||||
{{ rss_button(url_for('topics.topic_atom', slug=topic.slug)) }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user