Vervis/templates/repo/source-git.hamlet

113 lines
2.5 KiB
Text

$# This file is part of Vervis.
$#
$# Written in 2016, 2018, 2019, 2020, 2022
$# by fr33domlover <fr33domlover@riseup.net>.
$#
$# ♡ Copying is an act of love. Please copy, reuse and share.
$#
$# The author(s) have dedicated all copyright and related and neighboring
$# rights to this software to the public domain worldwide. This software is
$# distributed without any warranty.
$#
$# You should have received a copy of the CC0 Public Domain Dedication along
$# with this software. If not, see
$# <http://creativecommons.org/publicdomain/zero/1.0/>.
$# $maybe (s, j, w, sw) <- mproject
$# <p>
$# Belongs to project
$# <a href=@{ProjectR (sharerIdent s) (projectIdent j)}>
$# $maybe name <- projectName j
$# #{name}
$# $nothing
$# #{prj2text $ projectIdent j}
$#
$# ^{personNavW $ sharerIdent s}
$#
$# ^{projectNavW j w sw (sharerIdent s) (projectIdent j)}
<p>#{actorDesc actor}
$# ^{personNavW user}
<div>
<span>
[[ 🗃
<a href=@{RepoR repo}>
^#{keyHashidText repo} #{actorName actor}
]] ::
<span>
<a href=@{RepoInboxR repo}>
[📥 Inbox]
<span>
<a href=@{RepoOutboxR repo}>
[📤 Outbox]
<span>
<a href=@{RepoFollowersR repo}>
[🐤 Followers]
<span>
[🤝 Collaborators]
<span>
<a href=@{RepoCommitsR repo}>
[🛠 Commits]
<span>
[🧩 Merge Requests]
^{followButton}
<h2>Clone
<code>git clone @{RepoR repo}
<h2>Branches
<ul>
$forall branch <- branches
<li>
<a href=@{RepoBranchSourceR repo branch []}>#{branch}
<h2>Tags
<ul>
$forall tag <- tags
<li>
<a href=@{RepoBranchSourceR repo tag []}>#{tag}
<div>
<a href=@{RepoBranchSourceR repo ref []}>#{ref}
:: #
$forall (piece, piecePath) <- dirs
<a href=@{RepoBranchSourceR repo ref piecePath}>#{piece}
/ #
$case sv
$of SourceFile (FileView name body)
<h2>#{name}
^{body}
$of SourceDir (DirectoryView mname ents mreadme)
<h2>#{fromMaybe "Files" mname}
$if null ents
<p>No files!
$else
<table>
$forall DirEntry type' name <- ents
<tr>
<td>
$case type'
$of TypeBlob
🗎
$of TypeTree
🗀
<td>
<a href=@{RepoBranchSourceR repo ref (dir ++ [name])}>
#{name}
$maybe (readmeName, readmeWidget) <- mreadme
<h2>#{readmeName}
^{readmeWidget}
<div>
^{buttonW POST "Delete this repo" (RepoDeleteR repo)}
<div>
<a href=@?{(RepoR repo, [("prettyjson","true")])}>
[See repo JSON]