Thu Apr 10 2025
tucker.mcknight@gmail.com
d78739db667ad13d6633ccfe748d84485adea0dc
<meta name="viewport" content="width=device-width, initial-scale=1">
<nav class="navbar bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand"href="/" >Darcs Repositories</a>
<div class="container-lg">
<div class="row pt-5">
<div class="col">
<header>
<div class="row d-flex justify-content-between">
<div class="col-auto">
<nav class="fs-4 pb-3">
<a href="/" class="text-decoration-none">Darcs Repositories</a>
{% if nav.repoName %}<span class="text-secondary mx-3">></span><a href="#" class="text-decoration-none">eleventy-darcs</a>{% endif %}
</nav>
</div>
</div>
{% if nav.repoName %}
<nav class="nav-tabs mb-4">
<ul class="nav">
<li class="nav-item">
<a class="nav-link {% if navTab == "landing" %}active{% endif %}" href="/repos/{{nav.repoName | slugify}}">Landing Page</a>
</li>
<li class="nav-item">
<a class="nav-link {% if navTab == "files" %}active{% endif %}" href="/repos/{{nav.repoName | slugify}}/files">Files</a>
</li>
<li class="nav-item">
<a class="nav-link {% if navTab == "patches" %}active{% endif %}" href="/repos/{{nav.repoName | slugify}}/patches/page1">Patches</a>
</li>
</ul>
</nav>
{% endif %}
</header>
</div>
</nav>
<div class="container-fluid">
{{content | safe}}
<div class="row">
<div class="col">
{{content | safe}}
</div>
</div>
export default {
eleventyComputed: {
nav: {
repoName: (data) => {
return data.fileInfo.repoName
}
}
}
}
navTab: files
<h2><a href="/repos/{{fileInfo.repoName | slugify}}">{{fileInfo.repoName}}</a></h2>
export default {
eleventyComputed: {
nav: {
repoName: (data) => {
return data.repo
}
}
}
}
navTab: files
<h2><a href="/repos/{{repo | slugify}}/">{{repo}}</a></h2>
<h3>Files</h3>
.patch-description {
font-size: 14px;
}
}
.patch-pages {
list-style: none;
overflow: hidden;
}
.patch-pages li {
float: left;
margin: 0.25rem;
}
.patch-pages li:first-of-type {
margin-left: 0;
}
.page-current {
font-weight: bold;
export default {
eleventyComputed: {
nav: {
repoName: (data) => {
return data.patchInfo.repoName
}
}
}
}
navTab: patches
<div class="col">
<h2>
<a href="/repos/{{patchInfo.repoName | slugify }}">
{{patchInfo.repoName}}</a>
</h2>
<div class="col-auto">
<h1>{{patchInfo.patch.name}}</h2>
<p>{{patchInfo.patch.date | date }}</p>
<p>{{patchInfo.patch.author }}</p>
<pre class="patch-description">{{patchInfo.patch.description}}</pre>
<div class="row ">
<div class="row border-bottom">
<div class="card">
<div class="card-header">
<h2 class="h5 card-title">{{patchInfo.patch.name}}</h2>
<p class="card-subtitle text-body-secondary">{{patchInfo.patch.date | date }}</p>
<p class="card-subtitle text-body-secondary">{{patchInfo.patch.author }}</p>
</div>
<div class="card-body">
<pre class="patch-description">{{patchInfo.patch.description}}</pre>
</div>
</div>
</div>
<div class="col-auto">
<p>{{patchInfo.patch.hash}}</p>
<btn class="btn btn-primary" onclick="copyCommand()">Copy</span>
<button class="btn btn-primary" id="clone-button" onclick="copyCommand()">Copy</button>
const text = document.getElementById("clone-command").textContent
const button = document.getElementById("repo-clone")
const text = document.getElementById("clone-command").innerText
const button = document.getElementById("clone-button")
export default {
eleventyComputed: {
nav: {
repoName: (data) => {
return data.patchPage.repoName
}
}
}
}
navTab: patches
<h2><a href="/repos/{{patchPage.repoName | slugify}}">
{{patchPage.repoName}}</a></h2>
<h3>Patches, page {{patchPage.pageNumber}}</h3>
<ul class="patch-pages">
{% for pageObj in (paginatedPatches | pagesJustForRepo(patchPage.repoName)) %}
<li >
<a {% if pageObj.pageNumber == patchPage.pageNumber %}class="page-current" {% endif %}href="/repos/{{patchPage.repoName | slugify}}/patches/page{{pageObj.pageNumber}}">Page {{ pageObj.pageNumber }}</a>
</li>
{% endfor %}
</ul>
<nav aria-label="Page navigation example">
<ul class="pagination">
{% for pageObj in (paginatedPatches | pagesJustForRepo(patchPage.repoName)) %}
<li class="page-item">
<a class="page-link {% if pageObj.pageNumber == patchPage.pageNumber %}active{% endif %}" href="/repos/{{patchPage.repoName | slugify}}/patches/page{{pageObj.pageNumber}}">{{ pageObj.pageNumber }}</a>
</li>
{% endfor %}
</ul>
</nav>
<ul class="patch-pages">
{% for pageObj in (paginatedPatches | pagesJustForRepo(patchPage.repoName)) %}
<li >
<a {% if pageObj.pageNumber == patchPage.pageNumber %}class="page-current" {% endif %}href="/repos/{{patchPage.repoName | slugify}}/patches/page{{pageObj.pageNumber}}">Page {{ pageObj.pageNumber }}</a>
</li>
{% endfor %}
</ul>
<nav aria-label="Page navigation example">
<ul class="pagination">
{% for pageObj in (paginatedPatches | pagesJustForRepo(patchPage.repoName)) %}
<li class="page-item">
<a class="page-link {% if pageObj.pageNumber == patchPage.pageNumber %}active{% endif %}" href="/repos/{{patchPage.repoName | slugify}}/patches/page{{pageObj.pageNumber}}">{{ pageObj.pageNumber }}</a>
</li>
{% endfor %}
</ul>
</nav>
export default {
eleventyComputed: {
nav: {
repoName: (data) => {
return data.repo
}
}
}
}
navTab: landing
<div class="col">
<h1>{{repo}}</h1>
</div>
</div>
<div class="row">
<div class="col">
<ul class="nav">
<li class="nav-item"><a class="nav-link" href="/repos/{{repo | slugify}}/files">Files</a></li>
<li class="nav-item"><a class="nav-link" href="/repos/{{repo | slugify}}/patches/page1">Patches</a></li>
</ul>
</div>
</div>
<div class="row">
<span class="clone input-group-text">
<span id="clone-command" class="clone input-group-text">
<btn class="btn btn-primary" onclick="copyCommand()">Copy</span>
<button class="btn btn-primary" id="clone-button" onclick="copyCommand()">Copy</button>
{{ repo | getReadMe | renderContent("md") | safe }}
<div class="row">
<div class="col-8">
{{ repo | getReadMe | renderContent("md") | safe }}
</div>
</div>
const text = document.getElementById("clone-command").textContent
const button = document.getElementById("repo-clone")
const text = document.getElementById("clone-command").innerText
const button = document.getElementById("clone-button")