My personal website
Find a file
IkiWiki 796b9be6f3
Some checks failed
/ render (push) Failing after 34s
forgejo-ci: clear-out public workflow when deploying
2024-08-25 20:47:26 -04:00
.forgejo/workflows forgejo-ci: clear-out public workflow when deploying 2024-08-25 20:47:26 -04:00
basewiki basewiki/bootstrap.local.css: clean-up language-switcher css 2024-06-21 13:54:54 -04:00
content content/index: fix forge link 2024-08-11 00:06:15 -04:00
lib/IkiWiki/Plugin {templates,basewiki,lib}/*: move out of submodule 2024-06-21 13:31:01 -04:00
templates templates/page: fix orphaned div for untranslated pages 2024-06-24 22:53:02 -04:00
.gitignore gitignore: update for test-server 2024-06-24 11:51:00 -04:00
.gitlab-ci.yml gitlab-ci: fix test preview feature 2024-06-24 12:23:51 -04:00
ikiwiki.setup content/*: translate rest of pages 2024-06-21 13:47:07 -04:00
LICENSE Add license 2016-07-07 08:25:49 +00:00
README.md forgejo-cI; rename push to deploy 2024-08-25 20:45:42 -04:00
test-server.sh test-server.sh: add test-server script for local development 2024-06-21 13:57:37 -04:00

ayakael.net

Upstream: https://ayakael.net/forge/ayakael.net/actions

Build Status Push Status

Forgejo Actions

This project's static Pages are built by Forgejo Actions, following the steps defined in .forgejo/workflows/pages.yaml. That builds this website using ikiwiki, and pushes the build artifacts to the public branch.

The public branch has its own workflow following steps defined in forgejo/workflows/deploy.yaml that uploads the artifacts to a remote HTTP server for deployment in production. This workflow is automatically updated from main so that public should never be manually modified.

The deployment is done by a simple remote git push via SSH to a non-bare repo where git config receive.denyCurrentBranch is set as updateInstead. This allows this repo to be checked out as public, allowing it to be a root for your favorite HTTP server.

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 public branch.

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

Building locally

To work locally with this project, you'll have to follow the steps below:

  1. Fork, clone or download this project
  2. Install ikiwiki:
  3. Generate the website: ikiwiki --setup ikiwiki.setup
  4. Start http-server: ./test-server.sh
  5. Preview your project: open 127.0.0.1:8080 in your browser

Read more at ikiwiki's documentation.

Contributing

  1. Fork the main ayakael.net repo.

  2. Checkout the forked repository.

    • git clone ssh://git@ayakael.net/$USER/ayakael.net
    • cd ayakael.net
  3. Make your changes.

  4. Do local build.

    • ikiwiki --setup ikiwiki.setup
  5. Fix any errors that come up and rebuild until it works locally.

  6. Commit the changes to the git repo in a git branch

    • git checkout -b <name>
    • git add changes
    • git commit -m 'content/index: descriptive description'
    • git push
  7. Create a merge request with your changes by following link in server response.

  8. Once the tests in the merge-request pass, and reviewers are happy, your changes will be merged.