| 1 |
{% extends "base.html" %} |
| 2 |
{% import "repo_tabs.html" as m %} |
| 3 |
{% block title %}{{ title }} · wiki · {{ repo.owner }}/{{ repo.name }}{% endblock %} |
| 4 |
{% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} |
| 5 |
{% block tabs %}{% call m::tabs(repo, "wiki") %}{% endblock %} |
| 6 |
{% block content %} |
| 7 |
{% include "repo_backdrop.html" %} |
| 8 |
<div data-backdrop-avoid> |
| 9 |
{% if let Some(n) = notice %}<p class="note">{{ n }}</p>{% endif %} |
| 10 |
<div class="wiki-top"> |
| 11 |
<div class="wiki-title"> |
| 12 |
<h1>{{ title }}</h1> |
| 13 |
{% if let Some(c) = last %}<p class="small mute">{{ c.author.name }}{% if let Some(v) = c.via %} via {{ v.name }}{% endif %} edited this page <time title="{{ c.when_ms|when_i }}">{{ c.when_ms|ago_i }}</time> · <a href="{{ repo.url }}/wiki/{{ slug }}/history">{{ revisions|plural("revision", "revisions") }}</a></p>{% endif %} |
| 14 |
</div> |
| 15 |
<div class="wiki-actions"> |
| 16 |
{% if can_edit %}{% if html.is_some() %}<a class="go" href="{{ repo.url }}/wiki/{{ slug }}/edit">Edit</a>{% endif %}<a class="go primary" href="{{ repo.url }}/wiki/_new">New page</a>{% endif %} |
| 17 |
</div> |
| 18 |
</div> |
| 19 |
<div class="side-layout wiki"> |
| 20 |
<div> |
| 21 |
{% if let Some(h) = html %} |
| 22 |
<article class="doc wiki-doc card-doc">{{ h|safe }}</article> |
| 23 |
{% if can_edit %}<p class="small mute wiki-foot"><form class="tiny inline" method="post" action="{{ repo.url }}/wiki/{{ slug }}/delete" data-confirm="Delete the page {{ title }}?"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><button class="linkish">Delete this page</button></form></p>{% endif %} |
| 24 |
{% else if any %} |
| 25 |
<p class="empty">There is no page called <strong>{{ title }}</strong> yet.{% if can_edit %} <a href="{{ repo.url }}/wiki/_new?title={{ title }}">Create it</a>.{% endif %}</p> |
| 26 |
{% else %} |
| 27 |
<section class="panel"> |
| 28 |
<h2>No wiki yet</h2> |
| 29 |
<p>A wiki is Markdown pages kept as an Oxygen repository of their own beside the code: every edit is a signed change, and it clones and pushes like any repository.</p> |
| 30 |
{% if can_edit %}<p><a class="go" href="{{ repo.url }}/wiki/_new?title=Home">Write the first page</a></p>{% endif %} |
| 31 |
<pre class="snippet">oxy clone {{ shell.base_url }}/{{ repo.owner }}/{{ repo.name }}.wiki</pre> |
| 32 |
<p class="small mute">Pages are <code>Name.md</code> at the root on <code>main</code>; <code>_Sidebar.md</code> is the sidebar. Web edits need a delegation to this hub's key, as code edits do.</p> |
| 33 |
</section> |
| 34 |
{% endif %} |
| 35 |
</div> |
| 36 |
<aside class="side side-sections wiki-side-col"> |
| 37 |
{% if any %}<section class="side-sec"> |
| 38 |
<details class="wiki-pages"{% if sidebar.is_none() %} open{% endif %}><summary class="side-head"><h3>Pages <span class="count-chip">{{ pages.len() }}</span></h3></summary> |
| 39 |
<ul class="plain">{% for p in pages %}<li><a href="{{ repo.url }}/wiki/{{ p }}"{% if *p == slug %} class="on"{% endif %}>{{ crate::wiki::title_of(p) }}</a></li>{% endfor %}</ul> |
| 40 |
<p class="small"><a href="{{ repo.url }}/wiki/_pages">Search the pages ›</a></p> |
| 41 |
</details> |
| 42 |
</section>{% endif %} |
| 43 |
{% if toc.len() > 1 %}<section class="side-sec"><div class="side-head"><h3>Contents</h3></div> |
| 44 |
<ul class="plain wiki-toc">{% for (level, text, id) in toc %}<li class="lv{{ level }}"><a href="#{{ id }}">{{ text|safe }}</a></li>{% endfor %}</ul> |
| 45 |
</section>{% endif %} |
| 46 |
{% if let Some(s) = sidebar %}<section class="side-sec"><div class="doc wiki-side">{{ s|safe }}</div></section>{% endif %} |
| 47 |
<section class="side-sec"><div class="side-head"><h3>Clone this wiki</h3></div> |
| 48 |
<div class="clone"><input type="text" readonly value="oxy clone {{ shell.base_url }}/{{ repo.owner }}/{{ repo.name }}.wiki" data-select aria-label="Clone command"><button type="button" class="copy-btn" data-copy="oxy clone {{ shell.base_url }}/{{ repo.owner }}/{{ repo.name }}.wiki" aria-label="Copy to clipboard"></button></div> |
| 49 |
</section> |
| 50 |
</aside> |
| 51 |
</div> |
| 52 |
</div> |
| 53 |
{% endblock %} |