214 lines
7.8 KiB
HTML
214 lines
7.8 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-100">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
|
|
|
|
|
|
|
<title>README - Ayakael</title>
|
|
|
|
<!-- cargo-culted from https://realfavicongenerator.net/ -->
|
|
<!-- for the record: it is absolutely ridiculous that new browsers
|
|
*and* operating systems each want their own little precious
|
|
snowflake just for a frigging icon -->
|
|
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
|
|
<link rel="manifest" href="../site.webmanifest">
|
|
<meta name="msapplication-TileColor" content="#da532c">
|
|
<meta name="theme-color" content="#ffffff">
|
|
|
|
<!-- ikiwiki CSS -->
|
|
<link href="../css/style.css" rel="stylesheet" />
|
|
|
|
<!-- Bootstrap core CSS -->
|
|
<!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 -->
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
|
|
|
|
<!-- Custom styles for this template -->
|
|
<link href="../css/bootstrap.local.css" rel="stylesheet" />
|
|
|
|
<!-- Custom styles for derivatives -->
|
|
|
|
<link rel="stylesheet" href="../css/local.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
<body class="d-flex flex-column h-100">
|
|
|
|
<header>
|
|
<nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light border">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand me-auto" href="../">
|
|
<img alt="Ayakael" src="../favicon.png" width="48" height="48" />
|
|
</a>
|
|
|
|
|
|
|
|
<button class="navbar-toggler collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbarScroll" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<div id="navbar" class="collapse navbar-collapse">
|
|
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
|
|
<ul class="navbar-nav nav-link align-items-center ms-auto">
|
|
<li><a href="../index.en.html">Home</a></li>
|
|
<li><a href="https://ayakael.net/forge/">Forge</a></li>
|
|
<li><a href="../contact/index.en.html">Contact</a></li>
|
|
</ul>
|
|
|
|
<ul class="navbar-nav nav-link align-items-center ms-auto">
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="flex-shrink-0">
|
|
<div class="container" id="content">
|
|
<h1>ayakael.net</h1>
|
|
|
|
<p>Upstream: https://ayakael.net/forge/ayakael.net/actions</p>
|
|
|
|
<p><img src="https://ayakael.net/forge/ayakael.net/badges/workflows/pages.yaml/badge.svg" alt="Build Status" />
|
|
<img src="https://ayakael.net/forge/ayakael.net/badges/workflows/deploy.yaml/badge.svg" alt="Push Status" /></p>
|
|
|
|
<h2>Forgejo Actions</h2>
|
|
|
|
<p>This project's static Pages are built by Forgejo Actions, following the steps
|
|
defined in <a href=".forgejo/workflows/pages.yaml"><code>.forgejo/workflows/pages.yaml</code></a>.
|
|
That builds this website using ikiwiki, and pushes the build artifacts to the
|
|
<code>public</code> branch.</p>
|
|
|
|
<p>The <code>public</code> branch has its own workflow following steps defined in
|
|
<a href="https://ayakael.net/forge/ayakael.net/src/branch/public/.forgejo/workflows/deploy.yaml"><code>forgejo/workflows/deploy.yaml</code></a>
|
|
that uploads the artifacts to a remote HTTP server for deployment in
|
|
production. This workflow is automatically updated from <code>main</code> so that <code>public</code>
|
|
should never be manually modified.</p>
|
|
|
|
<p>The deployment is done by a simple remote git push via SSH to a non-bare repo
|
|
where <code>git config receive.denyCurrentBranch</code> is set as <code>updateInstead</code>. This
|
|
allows this repo to be checked out as <code>public</code>, allowing it to be a root for
|
|
your favorite HTTP server.</p>
|
|
|
|
<p>The following secrets are expected to be set for operation:
|
|
* PAGES_PRIVKEY: SSH private key that is used to push to the HTTP server's git
|
|
repo
|
|
* PAGES_TOKEN: Forgejo application token used to push to <code>public</code> branch.</p>
|
|
|
|
<p>The following variables are expected to be set for operation:
|
|
* PAGES_TARGET: SSH target for HTTP server's git repo, following this format:
|
|
user@example.net:/path/to/http/repo</p>
|
|
|
|
<h2>Building locally</h2>
|
|
|
|
<p>To work locally with this project, you'll have to follow the steps below:</p>
|
|
|
|
<ol>
|
|
<li>Fork, clone or download this project</li>
|
|
<li>Install ikiwiki:
|
|
<ul>
|
|
<li><a href="https://ikiwiki.info/tips/ikiwiki_on_mac_os_x/">mac</a></li>
|
|
<li><a href="https://ikiwiki.info/setup/">linux</a></li>
|
|
<li><a href="https://ikiwiki.info/install/">source</a></li>
|
|
</ul></li>
|
|
<li>Generate the website: <code>ikiwiki --setup ikiwiki.setup</code></li>
|
|
<li>Start http-server: <code>./test-server.sh</code></li>
|
|
<li>Preview your project: open 127.0.0.1:8080 in your browser</li>
|
|
</ol>
|
|
|
|
<p>Read more at ikiwiki's <a href="https://ikiwiki.info/">documentation</a>.</p>
|
|
|
|
<h2>Contributing</h2>
|
|
|
|
<ol>
|
|
<li><p>Fork the main ayakael.net repo.</p></li>
|
|
<li><p>Checkout the forked repository.</p>
|
|
|
|
<ul>
|
|
<li><code>git clone ssh://git@ayakael.net/$USER/ayakael.net</code></li>
|
|
<li><code>cd ayakael.net</code></li>
|
|
</ul></li>
|
|
<li><p>Make your changes.</p></li>
|
|
<li><p>Do local build.</p>
|
|
|
|
<ul>
|
|
<li><code>ikiwiki --setup ikiwiki.setup</code></li>
|
|
</ul></li>
|
|
<li><p>Fix any errors that come up and rebuild until it works locally.</p></li>
|
|
<li><p>Commit the changes to the git repo in a git branch</p>
|
|
|
|
<ul>
|
|
<li><code>git checkout -b <name></code></li>
|
|
<li><code>git add</code> changes</li>
|
|
<li><code>git commit -m 'content/index: descriptive description'</code></li>
|
|
<li><code>git push</code></li>
|
|
</ul></li>
|
|
<li><p>Create a merge request with your changes by following link in server response.</p></li>
|
|
<li><p>Once the tests in the merge-request pass, and reviewers are happy, your changes
|
|
will be merged.</p></li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- legacy Ikiwiki comments.pm section -->
|
|
|
|
|
|
<!-- Mastodon comments -->
|
|
|
|
|
|
<div class="pagedate text-muted">
|
|
<span class="created">Created <time datetime="2024-09-17T19:04:06Z" class="dt-published">Tue Sep 17 19:04:06 2024</time>.</span>
|
|
<span class="edited">
|
|
|
|
Edited <time datetime="2024-09-17T19:04:06Z">Tue Sep 17 19:04:06 2024</time>.
|
|
|
|
</span>
|
|
</div>
|
|
|
|
</div> <!-- /container -->
|
|
</main>
|
|
|
|
<footer class="footer mt-auto bg-light py-2" role="contentinfo">
|
|
<div class="container">
|
|
<div class="row text-muted">
|
|
<div class="col-sm">
|
|
Copyleft © 2024 ayakael <a href="../meta/license/">CC-BY-SA</a>
|
|
</div>
|
|
<div class="col-sm text-sm-end">
|
|
Powered by <a href="http://ikiwiki.info/">ikiwiki</a>.
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
<!-- Bootstrap core JavaScript
|
|
================================================== -->
|
|
<!-- Placed at the end of the document so the pages load faster -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
|
|
|
|
<!-- TODO: Find other ways to setup analytics
|
|
<script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>
|
|
<noscript>
|
|
<img src="https://analytics.anarc.at/count?p=README&t=README" alt="tracking pixel to count visitors when Javascript is disabled" />
|
|
</noscript>
|
|
-->
|
|
</body>
|
|
</html>
|