No description
- SCSS 50.3%
- Shell 28.6%
- HTML 18.4%
- Ruby 2.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| _includes | ||
| _layouts | ||
| _posts | ||
| _sass | ||
| assets | ||
| .gitignore | ||
| .ruby-version | ||
| 404.html | ||
| _config.yml | ||
| AGENTS.md | ||
| apple-touch-icon-precomposed.png | ||
| apple-touch-icon.png | ||
| deploy.sh | ||
| favicon.ico | ||
| Gemfile | ||
| Gemfile.lock | ||
| index.md | ||
| privacy-policy.md | ||
| README.md | ||
| relevant.md | ||
| serve.sh | ||
Interesting
https://interesting.dennisppaul.de
local preview
./serve.sh # http://127.0.0.1:4000, with livereload
./serve.sh 4001 # a different port
deploy
./deploy.sh -n # dry run, changes nothing
./deploy.sh # preview, then confirm
./deploy.sh -y # no prompt
Target and ssh key live in deploy.conf, which is gitignored.
automatic deploy
.forgejo/workflows/deploy.yml runs the same ./deploy.sh -y on every push to
main, and on demand from the Actions tab. Because deploy.conf is gitignored
it configures the script through the environment instead, which needs three
repository secrets (Settings → Actions → Secrets):
| secret | value |
|---|---|
DEPLOY_SSH_KEY |
private key whose public half is in the server's authorized_keys |
DEPLOY_KNOWN_HOSTS |
output of ssh-keyscan -p <port> <host> |
DEPLOY_TARGET |
user@host:/abs/path — a real hostname, not the ionos-server ssh alias |
Optional variable DEPLOY_URL overrides the post-deploy HTTP check.
writing
- posts go in
_posts/asYYYY-MM-DD-title.md - images and other files go in
assets/ - pages are markdown files in the project root; list them under
header_pagesin_config.ymlto show them in the nav - title, author, mail and url all come from
_config.yml