My personal website
Find a file
2024-09-10 22:22:41 -04:00
.forgejo/workflows forgejo-ci: use mirrored ssh-agent action 2024-09-10 07:55:17 -04:00
basewiki fix footer 2024-09-10 22:11:29 -04:00
content updated PO files 2024-09-10 22:13:38 -04:00
lib/IkiWiki/Plugin {templates,basewiki,lib}/*: move out of submodule 2024-06-21 13:31:01 -04:00
templates templates/page.tmpl: drop footer navigation 2024-09-10 21:52:45 -04:00
.gitignore gitignore: update for test-server 2024-06-24 11:51:00 -04:00
ikiwiki.setup ikiwiki: disable git 2024-09-10 22:22:41 -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.