Skip to main content

max / makenotwork

3.2 KB · 82 lines History Blame Raw
1 {% extends "base.html" %}
2
3 {% block title %}{{ title }} - {{ project_title }}{% endblock %}
4 {% block body_attrs %} class="article-page"{% endblock %}
5
6 {% block head %}
7 <meta property="og:title" content="{{ title }} - {{ project_title }}">
8 <meta property="og:description" content="{{ creator_display_name.as_deref().unwrap_or(&creator_username) }} on Makenot.work">
9 <meta property="og:type" content="article">
10 <meta property="og:url" content="{{ host_url }}/p/{{ project_slug }}/blog/{{ post_slug }}">
11 <link rel="canonical" href="{{ host_url }}/p/{{ project_slug }}/blog/{{ post_slug }}">
12 <meta property="og:site_name" content="Makenot.work">
13 <meta name="twitter:title" content="{{ title }} - {{ project_title }}">
14 <meta name="twitter:description" content="{{ creator_display_name.as_deref().unwrap_or(&creator_username) }} on Makenot.work">
15 {% if let Some(img) = project_cover_image_url %}
16 <meta name="twitter:card" content="summary_large_image">
17 <meta property="og:image" content="{{ img }}">
18 <meta name="twitter:image" content="{{ img }}">
19 {% else %}
20 <meta name="twitter:card" content="summary">
21 <meta property="og:image" content="{{ host_url }}/static/images/og-card.png">
22 <meta name="twitter:image" content="{{ host_url }}/static/images/og-card.png">
23 {% endif %}
24 <script type="application/ld+json">
25 {
26 "@context": "https://schema.org",
27 "@type": "BlogPosting",
28 "headline": "{{ title_json|safe }}",
29 "url": "{{ host_url }}/p/{{ project_slug }}/blog/{{ post_slug }}",
30 "author": {
31 "@type": "Person",
32 "name": "{{ creator_username }}",
33 "url": "{{ host_url }}/u/{{ creator_username }}"
34 },
35 "datePublished": "{{ published_at }}",
36 "isPartOf": {
37 "@type": "Blog",
38 "name": "{{ project_title_json|safe }}",
39 "url": "{{ host_url }}/p/{{ project_slug }}/blog"
40 }
41 }
42 </script>
43 {% endblock %}
44
45 {% block content %}
46 {% include "partials/site_header.html" %}
47
48 <article class="article-container">
49 <div class="blog-nav">
50 <a href="/p/{{ project_slug }}">{{ project_title }}</a> /
51 <a href="/p/{{ project_slug }}/blog">Blog</a>
52 </div>
53
54 <header class="author-header">
55 <div class="author-avatar">{{ creator_avatar_initials }}</div>
56 <div class="author-info">
57 <div class="author-name"><a href="/u/{{ creator_username }}">{% if let Some(name) = creator_display_name %}{{ name }}{% else %}{{ creator_username }}{% endif %}</a></div>
58 <div class="article-meta">{{ published_at }}</div>
59 </div>
60 </header>
61
62 <h1 class="article-title">{{ title }}</h1>
63
64 <div class="article-body">
65 {{ body_html|safe }}
66 </div>
67
68 <footer class="article-footer">
69 <div class="blog-nav">
70 <a href="/p/{{ project_slug }}/blog">Back to all posts</a>
71 </div>
72 </footer>
73 </article>
74
75 {% include "partials/discussion_section.html" %}
76
77 <footer class="text-reader-footer">
78 <a href="/p/{{ project_slug }}/blog/{{ post_slug }}" data-copy-link>Copy link</a> &middot;
79 <a href="/">Makenot<span class="dot">.</span>work</a> | Fair distribution for creatives of all kinds
80 </footer>
81 {% endblock %}
82