This session was about getting the devlog system into a cleaner shape. The repo started with a root-level archive page and a separate Inter-Forge devlog page living inside the Inter-Forge folder. That split made the logging system feel fragmented. If the goal is to keep a real journal of work across the whole site collection, the posts need to live in one place instead of being scattered by subproject.
The first step was moving the Inter-Forge log content into the root archive. Those posts were brought over, labeled as Inter-Forge, and then the root archive got project filtering so the page could still behave like a focused project log when needed. That way the same archive can show everything at once or narrow down to just one branch of the work.
After the migration, the old Inter-Forge devlog page was removed and the Inter-Forge navigation was repointed to the shared root archive with the project filter already applied. That keeps the experience clean from the user side. Clicking Devlog inside Inter-Forge still feels like it goes to the Inter-Forge log, but technically it lands in the central archive with ?project=inter-forge.
The next problem was the archive itself. It was too bulky and dashboard-like. The extra "what to log" content, side sections, and support panels made the page feel heavier than it needed to be. That was stripped out and replaced with a simpler single-column archive view focused on the posts themselves. The page now reads more like an actual blog index and less like an admin surface.
After that, the archive entries were still only summary cards. Clicking them did nothing useful. So the system was expanded again: a shared devlog-posts/ folder was created, a reusable post stylesheet was added, and every current archive entry got its own full HTML post page. Now the archive behaves like a real blog. The cards are the index, and each click opens the full log entry.
There were a couple small bugs during implementation. One was patching around encoded arrow characters in the existing Inter-Forge files. A string match failed because the file content and the patch target were not using the same visible text representation, so the patch had to be retried against the exact current line content. The other was a PowerShell glob issue during verification when checking all post files at once. The initial wildcard command format was not valid for that call and had to be rerun using Get-ChildItem piped into Select-String.
Diff Log: Inter-Forge Link Patch
The Inter-Forge files were still pointing at their local devlog page. That had to be changed to the new root archive with the Inter-Forge filter applied. The first patch attempt failed because the encoded arrow text in the file did not match the patch target exactly, so the fix was to patch against the current real line content.
- <a href="devlog.html" class="btn btn-ghost">Devlog →</a>
+ <a href="../devlog.html?project=inter-forge" class="btn btn-ghost">Devlog →</a>
Diff Log: Verification Command
The first verification pass tried to search all post files using a wildcard path directly in the command. PowerShell did not like that form in this context, so the check was rerun by explicitly listing the files first and then piping them into the search step.
- rg -n "Back To Archive|project=inter-forge|project=the-kitchen" devlog-posts\*.html
+ Get-ChildItem 'devlog-posts\*.html' | Select-String -Pattern 'Back To Archive|project=inter-forge|project=the-kitchen'
None of those issues changed the final direction, but they were the main friction points. The result is better than where it started: one archive, project filtering, full post pages, and no duplicated devlog system living inside individual microsites.