| .forgejo/workflows | ||
| basewiki | ||
| content | ||
| lib/IkiWiki/Plugin | ||
| src | ||
| templates | ||
| .gitignore | ||
| ikiwiki.setup | ||
| LICENSE | ||
| README.md | ||
| test-server.sh | ||
ilot.io
Upstream: https://forge.ilot.io/ilot/ilot.io
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
publicbranch.
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:
- Fork, clone or download this project
- Install ikiwiki:
- Generate the website:
ikiwiki --setup ikiwiki.setup - Start http-server:
./test-server.sh - Preview your project: open 127.0.0.1:8080 in your browser
Read more at ikiwiki's documentation.
Contributing
-
Fork the main ilot.io repo.
-
Checkout the forked repository.
git clone ssh://git@forge.ilot.io/$USER/ilot.iocd ilot.io
-
Make your changes.
-
Do local build.
ikiwiki --setup ikiwiki.setup
-
Fix any errors that come up and rebuild until it works locally.
-
Commit the changes to the git repo in a git branch
git checkout -b <name>git addchangesgit commit -m 'content/index: descriptive description'git push
-
Create a merge request with your changes by following link in server response.
-
Once the tests in the merge-request pass, and reviewers are happy, your changes will be merged.