Files
andwati.com/sws.toml
T
andwati d958a298f7 feat(cms): implement Git publishing for content changes and add entrypoint script
- Added a Docker entrypoint script to manage content repository cloning and updates.
- Updated server configuration to include public URL and proxy settings.
- Enhanced content file utilities to return file paths for written entries.
- Introduced GitPublisher class for handling Git operations and deployments.
- Added tests for Git publishing functionality.
- Updated Dockerfile and docker-compose for production setup.
- Added new public PGP key and security.txt for contact information.
- Created new About and Archive pages in the site.
- Updated site configuration to include new navigation links.
2026-09-01 16:50:26 +03:00

128 lines
3.5 KiB
TOML

[general]
page404 = "./404.html"
[advanced]
[[advanced.headers]]
source = "**"
[advanced.headers.headers]
Content-Security-Policy = "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-src https://www.youtube-nocookie.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests"
X-Frame-Options = "DENY"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "strict-origin-when-cross-origin"
Permissions-Policy = "camera=(), microphone=(), geolocation=(), interest-cohort=()"
Strict-Transport-Security = "max-age=63072000; includeSubDomains; preload"
[[advanced.redirects]]
source = "/security.txt"
destination = "/.well-known/security.txt"
kind = 301
[[advanced.redirects]]
source = "/index.xml"
destination = "/rss.xml"
kind = 301
# BEGIN migrated-posts-redirects (generated by scripts/migrate-posts-to-writings.mjs)
[[advanced.redirects]]
source = "/posts/a-fresh-coat-of-paint/"
destination = "/writings/a-fresh-coat-of-paint/"
kind = 301
[[advanced.redirects]]
source = "/posts/file-over-app/"
destination = "/writings/file-over-app/"
kind = 301
[[advanced.redirects]]
source = "/posts/from-c-to-machine-code/"
destination = "/writings/from-c-to-machine-code/"
kind = 301
[[advanced.redirects]]
source = "/posts/generate-django-secret-key/"
destination = "/writings/generate-django-secret-key/"
kind = 301
[[advanced.redirects]]
source = "/posts/hello-world/"
destination = "/writings/hello-world/"
kind = 301
[[advanced.redirects]]
source = "/posts/inertia/"
destination = "/writings/inertia/"
kind = 301
[[advanced.redirects]]
source = "/posts/install-postgresql-15-on-arch-manjaro-garuda-linux/"
destination = "/writings/install-postgresql-15-on-arch-manjaro-garuda-linux/"
kind = 301
[[advanced.redirects]]
source = "/posts/integrating-netlify/"
destination = "/writings/integrating-netlify/"
kind = 301
[[advanced.redirects]]
source = "/posts/javascript-exporting-modules/"
destination = "/writings/javascript-exporting-modules/"
kind = 301
[[advanced.redirects]]
source = "/posts/mmuctf2025/"
destination = "/writings/mmuctf2025/"
kind = 301
[[advanced.redirects]]
source = "/posts/obsidian-sync/"
destination = "/writings/obsidian-sync/"
kind = 301
[[advanced.redirects]]
source = "/posts/scriptctf2025/"
destination = "/writings/scriptctf2025/"
kind = 301
[[advanced.redirects]]
source = "/posts/self-hosting-gitea-and-mirroring-github/"
destination = "/writings/self-hosting-gitea-and-mirroring-github/"
kind = 301
[[advanced.redirects]]
source = "/posts/semantic-version-and-conventional-commits/"
destination = "/writings/semantic-version-and-conventional-commits/"
kind = 301
[[advanced.redirects]]
source = "/posts/subresource-integrity/"
destination = "/writings/subresource-integrity/"
kind = 301
[[advanced.redirects]]
source = "/posts/the-single-byte-that-kills-your-exploit-understanding-endianness/"
destination = "/writings/the-single-byte-that-kills-your-exploit-understanding-endianness/"
kind = 301
[[advanced.redirects]]
source = "/posts/utterances-comments/"
destination = "/writings/utterances-comments/"
kind = 301
[[advanced.redirects]]
source = "/posts/vuejs-tailwind/"
destination = "/writings/vuejs-tailwind/"
kind = 301
[[advanced.redirects]]
source = "/posts/what-is-pwn/"
destination = "/writings/what-is-pwn/"
kind = 301
[[advanced.redirects]]
source = "/posts/wifi-hotspot-arch/"
destination = "/writings/wifi-hotspot-arch/"
kind = 301
# END migrated-posts-redirects