Ver Fonte

Add pull-releases records, starting with 001 for this PR

Same convention as the posts repo: one folder per PR with a README
(title on the first line) and desktop and mobile screenshots of the
branch served locally. 001 adds a dark-mode capture. No version
numbers or release notes page here; records live in the repo only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude há 12 horas atrás
pai
commit
c489239688

+ 1 - 0
README.md

@@ -13,6 +13,7 @@ public/            what gets deployed (the site root)
   favicon.svg
 nginx/
   monoexp.com.conf reference copy of the server's vhost file
+pull-releases/     one record per pull request, with screenshots
 ```
 
 ## Adding a project

+ 42 - 0
pull-releases/001-home-page/README.md

@@ -0,0 +1,42 @@
+# Add static home page, nginx vhost and setup README
+
+Branch `feature/home-page`
+
+## What changed
+
+- **Home page (`public/`):** a static showcase for monoexp.com in plain HTML and CSS, with no JavaScript and no build step. It has an about section, then project cards for **Posts** (Visit and Source links) and **DevOps** (Source only).
+- **Light and dark themes:** both follow the visitor's system setting through `prefers-color-scheme`. The favicon switches too.
+- **Accessibility:** link text names its project for screen readers, the nav is labelled, and keyboard focus shows a visible outline.
+- **nginx vhost (`nginx/monoexp.com.conf`):** a reference copy for the server. `www.monoexp.com` redirects to `https://monoexp.com`, and one certificate, `monoexp-home`, covers both names. The stylesheet and icon get a one-hour cache.
+- **README:** layout, how to add a project card, hosting details, first-time setup (certificate, site folder and first deploy, nginx, checks), and onboarding to the merge-to-deploy pipeline.
+- **Release records:** this `pull-releases/` folder, following the posts repo's convention.
+- **LICENSE:** unchanged.
+
+## Notes
+
+- **Nothing is deployed by this PR.** The certificate, site folder, nginx file and pipeline onboarding are manual steps for the Admin, described in the README.
+- **First deploy:** the site folder is created with `mkdir -m 2775` so it's group-writable for `webops`. The first deploy is either the Admin's `rsync` or Claude's `deploy-static`, not both, because whoever deploys first owns the files.
+- **Pipeline entry:** the README gives the actual `sites.json` entry for a static site: `"bajdev/home": { "kind": "static", "host": "monoexp.com" }`. Static sites publish `public/` by default.
+- **Certificate:** `issue-cert` only accepts subdomains, so the apex certificate is issued with certbot directly, as the README shows.
+
+## Testing
+
+- Served `public/` locally: `/`, `/style.css` and `/favicon.svg` return 200 with the right content types.
+- Every link on the page returns 200: Posts, the three Gogs repos, the Gogs home, and the page's own assets.
+- Checked against the server: DNS for `monoexp.com` and `www.monoexp.com` points here, and the existing `.monoexp.com` port-80 block also covers the apex, so the certificate's challenge will be served. The `sites.json` entry parses alongside the installed file. `mkdir -m 2775` gives `drwxrwsr-x` regardless of umask.
+- Not tested: the nginx vhost itself. It can't be checked with `nginx -t` until the `monoexp-home` certificate exists.
+- Viewed desktop, mobile and dark-mode captures: the layout holds at phone width, with the cards stacking into one column.
+
+## Screenshots
+
+From the branch's `public/` folder served locally.
+
+| Desktop | Mobile |
+|---|---|
+| [![Desktop](desktop.png)](desktop.png) | [![Mobile](mobile.png)](mobile.png) |
+
+| Dark mode |
+|---|
+| [![Dark mode](dark.png)](dark.png) |
+
+🤖 Generated with [Claude Code](https://claude.com/claude-code)

BIN
pull-releases/001-home-page/dark.png


BIN
pull-releases/001-home-page/desktop.png


BIN
pull-releases/001-home-page/mobile.png


+ 36 - 0
pull-releases/README.md

@@ -0,0 +1,36 @@
+# Pull releases
+
+One folder per pull request, so each change has a written record with
+screenshots. The record is added on the PR's own branch, so it is reviewed and
+merged with the change. This follows the same convention as the
+[posts](https://git.monoexp.com/bajdev/posts/src/main/pull-releases) repo.
+
+```
+pull-releases/
+  NNN-branch-name/      NNN = next number in sequence, branch name without feature/
+    README.md           title (first line), what changed, notes, testing
+    desktop.png         home page at 1280×900
+    mobile.png          home page at 390×844 (2× pixel density)
+```
+
+To open the PR on Gogs, use the compare link for the branch, paste the first
+line of `README.md` as the title and the rest as the description.
+
+Screenshots are taken from the branch's own `public/` folder served locally,
+before it is deployed, so they show exactly what the PR will put live:
+
+```bash
+python3 -m http.server 18005 --bind 127.0.0.1 --directory public &
+screenshot-site http://127.0.0.1:18005/ pull-releases/NNN-branch-name
+```
+
+Folder names use lowercase letters, digits and hyphens only. Embed the
+screenshots as `[![Desktop](desktop.png)](desktop.png)` so they link to the
+full-size image. Extra captures, such as a dark-mode view, can sit alongside.
+
+Unlike posts, this site has no version number and no release notes page:
+the records live in the repo only.
+
+| PR | Change |
+|---|---|
+| [001](001-home-page/) | Static home page, nginx vhost and setup README |