Refactor: Restructure project to src/ and output/#43
Merged
Conversation
33 tasks covering: - Directory structure creation - File movements (Jekyll, Tailwind, Docker) - Configuration updates (_config.yml, package.json) - Makefile rewrite (all Docker commands) - Script updates (screenshot paths) - Documentation updates (CLAUDE.md) - Testing (build, serve, build-css, visual-baseline, check-links) All steps include exact commands and expected outputs.
…tput/.jekyll-cache
- Add --user flag for correct permissions (id -u:id -g) - Change mounts from PWD to PWD/src and PWD/output - Update volume references to use new volume names (node_modules, vendor, cache) - Add workdir -w /workspace/jekyll - Add JEKYLL_PATH environment variable - Change 'jekyll serve/build' to 'bundle exec jekyll serve/build' - Update robots.txt path from _site/ to output/_site/
Task 13 - build-css: - Now uses src/tailwind/ directory structure - Mounts node_modules volume for persistence - Runs as current user for proper file permissions Task 14 - install: - Runs npm install in src/tailwind/ - Runs bundle install in src/jekyll/ - Uses appropriate volumes for each dependency type Task 15 - install-gems: - Updated to use src/jekyll/ structure - Uses vendor volume instead of gem volume - Runs as current user for proper permissions Task 16 - clean: - Now removes output/_site instead of _site - Removes output/.jekyll-cache instead of .jekyll-cache
- Move _config_dev.yml to src/jekyll/ - Move Gemfile.lock to src/jekyll/ - Remove old package-lock.json from root - Remove autodownload.sh from root (already in scripts/) Root directory now contains only meta files: - Makefile, CHANGELOG.txt, CLAUDE.md - README.md, LICENSE.txt, .gitignore
Verified: - src/jekyll/ contains all Jekyll source files - src/tailwind/ contains Tailwind CSS configuration - src/docker/ contains Docker files - output/screenshots/ exists for visual regression tests - Root directory clean (only meta files) - No build artifacts in src/ - All source code properly organized Note: Full build/serve testing requires Docker environment
Verified Makefile commands reference correct paths: - build: uses src/jekyll as workspace, outputs to output/_site - serve: uses src/jekyll as workspace - build-css: uses src/tailwind as workspace - All Docker mounts reference src/ and output/ - Volume mounts for caches configured correctly - User permissions set correctly (1000:1000) Commands ready for Docker environment testing.
Verified: - No .html files in src/jekyll/ except index.html (source) - No _site/ directory in src/jekyll/ - No build artifacts in src/tailwind/ - output/_site/ does not exist (clean state) - output/screenshots/ exists for test outputs Source directories are clean and contain only source files.
All source code now in src/: - src/jekyll/ for Jekyll site - src/tailwind/ for Tailwind CSS - src/docker/ for Docker files Generated content in output/: - output/_site/ for Jekyll build output - output/screenshots/ for visual regression tests Docker volumes for caches: - bitprepared-node-modules for npm - bitprepared-vendor for bundle - bitprepared-jekyll-cache for Jekyll cache All commands updated with correct workdirs and permissions. Testing status: - Structure: VERIFIED - Makefile paths: VERIFIED - Source cleanliness: VERIFIED - Build/serve commands: Requires Docker environment for full testing
Added bundle config set commands before bundle exec to ensure BUNDLE_PATH and cache_path are respected inside container. Applied to build, serve, and serve-bg targets.
- Fix robots.txt path (src/jekyll/robots.txt) - Add --host 0.0.0.0 to serve command - Use absolute paths in _config.yml for destination/cache - Add --no-cache to bundle install commands - Update baseline screenshots for new structure - Regenerate tailwind.css
Documentation is project-wide, not Jekyll-specific. - Moved src/jekyll/docs/ → docs/ - All Makefile and CLAUDE.md references already used docs/ - No changes needed to references
…domain - Mount .htmltest.yml config file in container - Add www.bitprepared.it and bitprepared.it to IgnoreURLs - Prevents false positives from canonical links to non-deployed production
Now removes: - output/ directories - src/ temporary directories (created by Docker) - Legacy root directories Ensures clean slate after development
Accessibility reports are generated output, not documentation. - Moved from docs/accessibility/reports/ to output/accessibility/reports/ - Updated all Makefile accessibility targets - Updated scripts: analyze-a11y-reports.sh, check-aria.js - Updated .gitignore to include new location - clean now removes output/accessibility/
- Update build: mount output/ instead of _site/ - Update Jekyll commands: cd src/jekyll for correct working dir - Update accessibility paths: docs/accessibility → output/accessibility - Update zip path: _site → output/_site - Update Dockerfile path: docker/ → src/docker/
Changed from docker/accessibility/Dockerfile to src/docker/accessibility/Dockerfile to match new project structure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
Breaking changes
None - all commands work the same, just internal structure changed.