kitgit

tirbofish/kitgit

main / templates / release_view.html · 4332 bytes

templates/release_view.html
{% extends "layout.html" %}

{% block title %}{{ release.tag_name }} · {{ owner.username }}/{{ repo.name }} — kitgit{% endblock %}

{% block content %}
<section class="kg-section">
  <div class="kg-release-head">
    <div>
      <h1 class="kg-title">
        {% if release.is_draft %}<span class="kg-badge">draft</span>{% endif %}
        {% if release.is_prerelease %}<span class="kg-badge kg-badge--pre">pre-release</span>{% endif %}
        {{ release.title }}
      </h1>
      <p class="kg-meta">
        <img class="kg-avatar kg-avatar--sm" src="{{ author_avatar }}" alt="" />
        <code>{{ release.tag_name }}</code>
        · by <a href="/{{ author.username }}">{{ author.username }}</a>
        · {{ release.created_at }}
        {% if !tag_target.is_empty() %}
          · <a href="/{{ owner.username }}/{{ repo.name }}/commit/{{ tag_target }}"><code>{{ tag_short }}</code></a>
        {% endif %}
        · <a href="/{{ owner.username }}/{{ repo.name }}/tree/{{ release.tag_name }}">browse files</a>
      </p>
    </div>
    {% if access.can_write() %}
    <div class="kg-actions">
      <a class="kg-btn kg-btn--ghost" href="/{{ owner.username }}/{{ repo.name }}/releases/{{ release.tag_name }}/edit">
        <span class="kg-icon" style="--icon:url('/static/icons/pencil.svg')"></span>
        edit
      </a>
      <form method="post" action="/{{ owner.username }}/{{ repo.name }}/releases/{{ release.tag_name }}/delete" onsubmit="return confirm('Delete release {{ release.tag_name }}? Assets will be removed. The git tag is kept.')">
        <button class="kg-btn kg-btn--danger-ghost" type="submit">
          <span class="kg-icon" style="--icon:url('/static/icons/trash.svg')"></span>
          delete
        </button>
      </form>
    </div>
    {% endif %}
  </div>

  {% let tab = "releases" %}
  {% let archive_ref = release.tag_name.clone() %}
  {% include "partials/repo_tabs.html" %}

  <div class="kg-release-layout">
    <div class="kg-release-main">
      <span class="kg-kicker">release notes</span>
      {% if release.body.is_empty() %}
        <p class="kg-muted">No release notes.</p>
      {% else %}
        <article class="kg-readme kg-release-notes">{{ body_html|safe }}</article>
      {% endif %}
    </div>

    <aside class="kg-release-aside">
      <span class="kg-kicker">assets</span>
      {% if assets.is_empty() %}
        <p class="kg-muted">No assets yet.</p>
      {% else %}
        <ul class="kg-asset-list">
          {% for a in assets %}
          <li>
            <a href="/{{ owner.username }}/{{ repo.name }}/assets/{{ a.id }}">
              <span class="kg-icon" style="--icon:url('/static/icons/download.svg')"></span>
              {{ a.filename }}
            </a>
            <span class="kg-meta">{{ a.size_label }}</span>
            {% if access.can_write() %}
            <form method="post" action="/{{ owner.username }}/{{ repo.name }}/releases/{{ release.tag_name }}/assets/{{ a.id }}/delete" onsubmit="return confirm('Delete {{ a.filename }}?')" style="display:inline">
              <button class="kg-btn kg-btn--danger-ghost" type="submit" title="Delete asset">
                <span class="kg-icon" style="--icon:url('/static/icons/trash.svg')"></span>
              </button>
            </form>
            {% endif %}
          </li>
          {% endfor %}
        </ul>
      {% endif %}

      <div class="kg-asset-source">
        <a class="kg-btn kg-btn--ghost" href="/{{ owner.username }}/{{ repo.name }}/archive.zip?ref={{ release.tag_name }}">
          <span class="kg-icon" style="--icon:url('/static/icons/download.svg')"></span>
          Source code (zip)
        </a>
      </div>

      {% if access.can_write() %}
        <form class="kg-form kg-asset-upload" method="post" action="/{{ owner.username }}/{{ repo.name }}/releases/{{ release.tag_name }}/upload" enctype="multipart/form-data">
          <label>
            upload asset
            <input type="file" name="asset" required />
          </label>
          <div class="kg-actions">
            <button class="kg-btn" type="submit">
              <span class="kg-icon" style="--icon:url('/static/icons/upload.svg')"></span>
              upload
            </button>
          </div>
        </form>
      {% endif %}
    </aside>
  </div>
</section>
{% endblock %}