141 lines
5.6 KiB
HTML
141 lines
5.6 KiB
HTML
{% extends "base.html" %}
|
|
{% import "utils.html" as utils %}
|
|
|
|
{% block title %}{{ post.title }} - r/{{ post.community }}{% endblock %}
|
|
|
|
{% block search %}
|
|
{% call utils::search(["/r/", post.community.as_str()].concat(), "") %}
|
|
{% endblock %}
|
|
|
|
{% block root %}/r/{{ post.community }}{% endblock %}{% block location %}r/{{ post.community }}{% endblock %}
|
|
{% block head %}
|
|
{% call super() %}
|
|
<!-- Meta Tags -->
|
|
<meta name="author" content="u/{{ post.author.name }}">
|
|
<meta name="title" content="{{ post.title }} - r/{{ post.community }}">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="{{ post.permalink }}">
|
|
<meta property="og:title" content="{{ post.title }} - r/{{ post.community }}">
|
|
<meta property="og:description" content="View on Libreddit, an alternative private front-end to Reddit.">
|
|
<meta property="og:image" content="{{ post.thumbnail.url }}">
|
|
<meta property="twitter:card" content="summary_large_image">
|
|
<meta property="twitter:url" content="{{ post.permalink }}">
|
|
<meta property="twitter:title" content="{{ post.title }} - r/{{ post.community }}">
|
|
<meta property="twitter:description" content="View on Libreddit, an alternative private front-end to Reddit.">
|
|
<meta property="twitter:image" content="{{ post.thumbnail.url }}">
|
|
{% endblock %}
|
|
|
|
{% block subscriptions %}
|
|
{% call utils::sub_list(post.community.as_str()) %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div id="column_one">
|
|
|
|
<!-- POST CONTENT -->
|
|
<div class="post highlighted">
|
|
<p class="post_header">
|
|
<a class="post_subreddit" href="/r/{{ post.community }}">r/{{ post.community }}</a>
|
|
<span class="dot">•</span>
|
|
<a class="post_author" href="/user/{{ post.author.name }}">u/{{ post.author.name }}</a>
|
|
{% if post.author.flair.flair_parts.len() > 0 %}
|
|
<small class="author_flair">{% call utils::render_flair(post.author.flair.flair_parts) %}</small>
|
|
{% endif %}
|
|
<span class="dot">•</span>
|
|
<span class="created" title="{{ post.created }}">{{ post.rel_time }}</span>
|
|
</p>
|
|
<p class="post_title">
|
|
<a href="{{ post.permalink }}">{{ post.title }}</a>
|
|
{% if post.flair.flair_parts.len() > 0 %}
|
|
<a href="/r/{{ post.community }}/search?q=flair_name%3A%22{{ post.flair.text }}%22&restrict_sr=on"
|
|
class="post_flair"
|
|
style="color:{{ post.flair.foreground_color }}; background:{{ post.flair.background_color }};">{% call utils::render_flair(post.flair.flair_parts) %}</a>
|
|
{% endif %}
|
|
{% if post.flags.nsfw %} <small class="nsfw">NSFW</small>{% endif %}
|
|
</p>
|
|
|
|
<!-- POST MEDIA -->
|
|
{% if post.post_type == "image" %}
|
|
<a href="{{ post.media.url }}" class="post_media_image" >
|
|
<svg
|
|
width="{{ post.media.width }}px"
|
|
height="{{ post.media.height }}px"
|
|
xmlns="http://www.w3.org/2000/svg">
|
|
<image width="100%" height="100%" href="{{ post.media.url }}"/>
|
|
<desc>
|
|
<img loading="lazy" alt="Post image" src="{{ post.media.url }}"/>
|
|
</desc>
|
|
</svg>
|
|
</a>
|
|
{% else if post.post_type == "video" || post.post_type == "gif" %}
|
|
{% if prefs.use_hls == "on" && !post.media.alt_url.is_empty() %}
|
|
<script src="/hls.min.js"></script>
|
|
<video class="post_media_video short hls_autoplay" width="{{ post.media.width }}" height="{{ post.media.height }}" poster="{{ post.media.poster }}" controls preload="none">
|
|
<source src="{{ post.media.alt_url }}" type="application/vnd.apple.mpegurl" />
|
|
<source src="{{ post.media.url }}" type="video/mp4" />
|
|
</video>
|
|
<script src="/playHLSVideo.js"></script>
|
|
{% else %}
|
|
<video class="post_media_video" src="{{ post.media.url }}" controls autoplay loop><a href={{ post.media.url }}>Video</a></video>
|
|
{% call utils::render_hls_notification(post.permalink[1..]) %}
|
|
{% endif %}
|
|
{% else if post.post_type == "gallery" %}
|
|
<div class="gallery">
|
|
{% for image in post.gallery -%}
|
|
<figure>
|
|
<a href="{{ image.url }}" ><img loading="lazy" alt="Gallery image" src="{{ image.url }}"/></a>
|
|
<figcaption>
|
|
<p>{{ image.caption }}</p>
|
|
{% if image.outbound_url.len() > 0 %}
|
|
<p><a class="outbound_url" href="{{ image.outbound_url }}" rel="nofollow">{{ image.outbound_url }}</a>
|
|
{% endif %}
|
|
</figcaption>
|
|
</figure>
|
|
{%- endfor %}
|
|
</div>
|
|
{% else if post.post_type == "link" %}
|
|
<a id="post_url" href="{{ post.media.url }}" rel="nofollow">{{ post.media.url }}</a>
|
|
{% endif %}
|
|
|
|
<!-- POST BODY -->
|
|
<div class="post_body">{{ post.body }}</div>
|
|
<div class="post_score" title="{{ post.score.1 }}">{{ post.score.0 }}<span class="label"> Upvotes</span></div>
|
|
<div class="post_footer">
|
|
<ul id="post_links">
|
|
<li><a href="/{{ post.id }}">permalink</a></li>
|
|
<li><a href="https://reddit.com/{{ post.id }}" rel="nofollow">reddit</a></li>
|
|
</ul>
|
|
<p>{{ post.upvote_ratio }}% Upvoted</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SORT FORM -->
|
|
<form id="sort">
|
|
<select name="sort" title="Sort comments by">
|
|
{% call utils::options(sort, ["confidence", "top", "new", "controversial", "old"], "confidence") %}
|
|
</select><button id="sort_submit" class="submit">
|
|
<svg width="15" viewBox="0 0 110 100" fill="none" stroke-width="10" stroke-linecap="round">
|
|
<path d="M20 50 H100" />
|
|
<path d="M75 15 L100 50 L75 85" />
|
|
→
|
|
</svg>
|
|
</button>
|
|
</form>
|
|
|
|
<!-- COMMENTS -->
|
|
{% for c in comments -%}
|
|
<div class="thread">
|
|
{% if single_thread %}
|
|
<p class="thread_nav"><a href="/{{ post.id }}">View all comments</a></p>
|
|
{% if c.parent_kind == "t1" %}
|
|
<p class="thread_nav"><a href="?context=9999">Show parent comments</a></p>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{{ c.render().unwrap() }}
|
|
</div>
|
|
{%- endfor %}
|
|
|
|
</div>
|
|
{% endblock %}
|