Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/casket-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,39 @@ jobs:
cd .casket-ssg && cabal run casket-ssg -- build ../.site-src ../_site
touch ../_site/.nojekyll

- name: Overlay the canonical www bundle
shell: bash
run: |
set -euo pipefail
# Publish the canonical bundle alongside whatever the SSG produced.
#
# www/public/ -> the servable site root, used as a fallback
# www/.well-known/ -> must be reachable at /.well-known/ on this
# origin (RFC 9116, and the RSR check on
# www/.well-known/security.txt)
#
# Everything else under www/ (dns/, policies/, profiles/, runbooks/,
# errors/) is source material and is deliberately NOT published, so
# only these two subtrees are copied rather than all of www/.
mkdir -p _site
# -n (no-clobber): a page the SSG did produce always wins, so the
# bundle can never regress a working site. It only fills the gaps.
if [ -d www/public ]; then
cp -an www/public/. _site/
fi
if [ -d www/.well-known ]; then
mkdir -p _site/.well-known
cp -a www/.well-known/. _site/.well-known/
fi
echo "published tree:"
find _site -maxdepth 2 | sort
- name: Setup Pages
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5

- name: Upload artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
include-hidden-files: true
path: '_site'

deploy:
Expand Down
21 changes: 21 additions & 0 deletions www/public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>InvestigativeJournalism.jl</title>
<style>
body { font-family: system-ui, sans-serif; max-width: 42rem; margin: 4rem auto;
padding: 0 1.5rem; line-height: 1.6; color: #111; }
@media (prefers-color-scheme: dark) { body { background: #111; color: #eee; } }
</style>
</head>
<body>
<h1>InvestigativeJournalism.jl</h1>
<p>Site in preparation.</p>
<p>
Machine-readable metadata is served from
<a href="/.well-known/security.txt">/.well-known/security.txt</a>.
</p>
</body>
</html>
Loading