roundabout,
created on Wednesday, 6 December 2023, 13:34:13 (1701869653),
received on Wednesday, 31 July 2024, 06:54:39 (1722408879)
Author identity: vlad <vlad.muntoiu@gmail.com>
746e795af759379ce3a518c88be3d9cb9e29c486
app.py
@@ -590,7 +590,18 @@ def repositoryBranches(username, repository):
repository) is not None): flask.abort(403) return flask.render_template("repo-branches.html", username=username, repository=repository)serverRepoLocation = os.path.join(config.REPOS_PATH, os.path.join(username, repository)) app.logger.info(f"Loading {serverRepoLocation}") if not os.path.exists(serverRepoLocation): app.logger.error(f"Cannot load {serverRepoLocation}") return flask.render_template("not-found.html"), 404 repo = git.Repo(serverRepoLocation) repoData = Repo.query.filter_by(route=f"/{username}/{repository}").first() return flask.render_template("repo-branches.html", username=username, repository=repository, repoData=repoData, repo=repo)@app.route("/<username>/<repository>/log/")
static/efficient-ui/cards.css
@@ -43,7 +43,7 @@ figcaption {
max-width: var(--figure-max-size-horizontal-card); } .card-horizontal > figure + :is(section, header, footer) {.card-horizontal > figure ~ :is(section, header, footer) {/* Beside figure */ padding-top: var(--padding-card-top); }
static/style.css
@@ -1,5 +1,12 @@
@import url("/static/efficient-ui/MASTER.css"); :root { --color-branch: var(--color-primary-1); --color-branch-text: var(--color-primary-1-text); --color-tag: var(--color-accent-1); --color-tag-text: var(--color-accent-1-text); } .big-button { font-size: 1.5em; }
@@ -153,4 +160,12 @@ body > footer hr {
#footer-lists > dl { flex: 1 0 0; } .branch-icon { width: 2em; font-size: 32px; align-items: center; justify-content: center; display: flex;}
templates/repo-branches.html
@@ -0,0 +1,46 @@
{% extends "repo.html" %} {% block content %} <x-vbox> <x-frame style="--width: 896px;" class="flexible-space"> <h2>Branches</h2> <x-vbox> {% for branch in repo.branches %} <article class="card card-horizontal"> <figure style="background-color: var(--color-branch); color: var(--color-branch-text);" class="branch-icon"> <iconify-icon icon="{% if repoData.defaultBranch == branch.name %}mdi:star{% else %}mdi:source-branch{% endif %}"></iconify-icon> </figure> <section class="card-main flexible-space"> <h3>{{ branch.name }}</h3> {% if repoData.defaultBranch == branch.name %}<p>Default</p>{% endif %} <code>{{ branch.commit.hexsha }}</code> </section> <section> <x-buttonbox style="align-items: center; height: 100%;"> <a class="button" href="/{{ username }}/{{ repository }}/tree/{{ branch.name | replace('/', '~') }}">View tree</a> </x-buttonbox> </section> </article> {% endfor %} </x-vbox> <h2>Tags</h2> <x-vbox> {% for tag in repo.tags %} <article class="card card-horizontal"> <figure style="background-color: var(--color-tag); color: var(--color-tag-text);" class="branch-icon"> <iconify-icon icon="mdi:tag"></iconify-icon> </figure> <section class="card-main flexible-space"> <h3>{{ tag.name }}</h3> <code>{{ tag.commit.hexsha }}</code> </section> <section> <x-buttonbox style="align-items: center; height: 100%;"> <a class="button" href="/{{ username }}/{{ repository }}/tree/tag:{{ tag.name | replace('/', '~') }}">View tree</a> </x-buttonbox> </section> </article> {% endfor %} </x-vbox> </x-frame> </x-vbox> {% endblock %}
templates/repo-file.html
@@ -1,5 +1,4 @@
{% extends "repo.html" %} {% block header %}{{ super() }}/<a href="/{{ username }}/{{ repository }}/tree">tree</a>{% endblock %}{% block content %} <!-- <dialog id="commit-dialog">
templates/repo-tree.html
@@ -1,5 +1,4 @@
{% extends "repo.html" %} {% block header %}{{ super() }}/<a href="/{{ username }}/{{ repository }}/tree">tree</a>{% endblock %}{% block content %} <!-- <dialog id="commit-dialog">