mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-03-10 13:38:20 +00:00

Didn't have the chance to migrate //all// templates just yet. We'll get there. * Implement yet another template system * Move orphans to the new system and fix a bug in it * Link orphans in the admin panel * Move the backlink handlers to the web package * Move auth routing to web * Move /user-list to the new system * Move change password and translate it * Move stuff * Move admin-related stuff to the web * Move a lot of files into internal dir Outside of it are web and stuff that needs further refactoring * Fix static not loading and de-qtpl tree * Move tree to internal * Keep the globe on the same line #230 * Revert "Keep the globe on the same line #230" This reverts commit ae78e5e459b1e980ba89bf29e61f75c0625ed2c7. * Migrate templates from hypview: delete, edit, start empty and existing WIP The delete media view was removed, I didn't even know it still existed as a GET. A rudiment. * Make views multi-file and break compilation * Megarefactoring of hypha views * Auth-related stuffs * Fix some of those weird imports * Migrate cat views * Fix cat js * Lower standards * Internalize trauma
74 lines
2.9 KiB
Plaintext
74 lines
2.9 KiB
Plaintext
{% import "fmt" %}
|
|
{% import "github.com/bouncepaw/mycorrhiza/internal/cfg" %}
|
|
|
|
HyphaeLinksHTML returns a comma-separated list of hyphae that were affected by this revision as HTML string.
|
|
{% func (rev Revision) HyphaeLinksHTML() %}
|
|
{% stripspace %}
|
|
{% for i, hyphaName := range rev.hyphaeAffected() %}
|
|
{% if i > 0 %}
|
|
<span aria-hidden="true">, </span>
|
|
{% endif %}
|
|
<a href="/hypha/{%s hyphaName %}">{%s hyphaName %}</a>
|
|
{% endfor %}
|
|
{% endstripspace %}
|
|
{% endfunc %}
|
|
|
|
|
|
HyphaeDiffsHTML returns a comma-separated list of diffs links of current revision for every affected file as HTML string.
|
|
{% func (rev Revision) HyphaeDiffsHTML() %}
|
|
{% code entries := rev.hyphaeAffected() %}
|
|
{% stripspace %}
|
|
{% if len(entries) == 1 %}
|
|
<a href="/primitive-diff/{%s rev.Hash %}/{%s entries[0] %}">{%s rev.Hash %}</a>
|
|
{% else %}
|
|
{% for i, hyphaName := range entries %}
|
|
{% if i > 0 %}
|
|
<span aria-hidden="true">, </span>
|
|
{% endif %}
|
|
<a href="/primitive-diff/{%s rev.Hash %}/{%s hyphaName %}">
|
|
{% if i == 0 %}
|
|
{%s rev.Hash %}
|
|
{% endif %}
|
|
{%s hyphaName %}</a>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endstripspace %}
|
|
{% endfunc %}
|
|
|
|
descriptionForFeed generates a good enough HTML contents for a web feed.
|
|
{% func (rev *Revision) descriptionForFeed() %}
|
|
<p><b>{%s rev.Message %}</b> (by {%s rev.Username %} at {%s rev.TimeString() %})</p>
|
|
<p>Hyphae affected: {%= rev.HyphaeLinksHTML() %}</p>
|
|
<pre><code>{%s rev.textDiff() %}</code></pre>
|
|
{% endfunc %}
|
|
|
|
WithRevisions returns an html representation of `revs` that is meant to be inserted in a history page.
|
|
{% func WithRevisions(hyphaName string, revs []Revision) %}
|
|
{% for _, grp := range groupRevisionsByMonth(revs) %}
|
|
{% code
|
|
currentYear := grp[0].Time.Year()
|
|
currentMonth := grp[0].Time.Month()
|
|
sectionId := fmt.Sprintf("%04d-%02d", currentYear, currentMonth)
|
|
%}
|
|
<section class="history__month">
|
|
<a href="#{%s sectionId %}" class="history__month-anchor">
|
|
<h2 id="{%s sectionId %}" class="history__month-title">{%d currentYear %} {%s currentMonth.String() %}</h2>
|
|
</a>
|
|
<ul class="history__entries">
|
|
{% for _, rev := range grp %}
|
|
<li class="history__entry">
|
|
<a class="history-entry" href="/rev/{%s rev.Hash %}/{%s hyphaName %}">
|
|
<time class="history-entry__time">{%s rev.timeToDisplay() %}</time>
|
|
</a>
|
|
<span class="history-entry__hash"><a href="/primitive-diff/{%s rev.Hash %}/{%s hyphaName %}">{%s rev.Hash %}</a></span>
|
|
<span class="history-entry__msg">{%s rev.Message %}</span>
|
|
{% if rev.Username != "anon" %}
|
|
<span class="history-entry__author">by <a href="/hypha/{%s cfg.UserHypha %}/{%s rev.Username %}" rel="author">{%s rev.Username %}</a></span>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</section>
|
|
{% endfor %}
|
|
{% endfunc %}
|