reorganize workspace directory #53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/reorganize-src"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
- package.json (empty {}) and package-lock.json (no real packages): terser is installed globally via npm install -g in both Dockerfile and .devcontainer/Dockerfile; the Makefile uses npx terser which resolves the global binary, so these files have no consumer. - .dir-locals.el: empty file (0 bytes), Emacs placeholder with no effect. - .ignore: contains only "_site", redundant with .gitignore which already excludes _site/. Both ripgrep and silver_searcher honor .gitignore.Separate site source from build/repo metadata by moving every Jekyll source root, static site asset, and the .well-known directory into a dedicated src/ subdirectory, set as Jekyll's source via _config.yml. Layout changes: - All underscore dirs (_pages, _layouts, _includes, _sass, _i18n, _assets, assets) plus webfonts/ and .well-known/ moved into src/. - Static root files (index.html, 404.html, favicon.ico, apple-touch-icon.png, icon-{192,512}.png, logo.png, path.webmanifest, robots.txt, search.json, rss.opml, info_at_unitoo_dot_it.gpg) moved into src/. - Generated tag/ removed from git and moved into the gitignored src/tag/; tag-generator.py rebuilds it on every build (already a dependency of `make build` and run in the Dockerfile). Config updates: - _config.yml: add `source: src`. Drop most exclude entries (README.md, Gemfile*, Makefile, Dockerfile, CLAUDE.md, .devcontainer, .forgejo, node_modules, vendor, scripts) since they now live outside the source dir and Jekyll naturally ignores them. Keep "_assets/javascripts" since it lives under src/. Keep `include: [".well-known"]` since it's still a dotted dir at the source root. - Makefile: prefix all build paths with src/ (JS_SOURCES, LOGO_*, terser output, matomo copy). Add src/tag to the clean target. - .gitignore: prefix build outputs with src/, add src/tag/. - scripts/tag-generator.py: read from src/_pages/, write to src/tag/. URL contract preserved: /favicon.ico, /path.webmanifest, /icon-*.png, /logo.png, /info_at_unitoo_dot_it.gpg, /webfonts/*, /.well-known/matrix/*, sitemap.xml, /tag/* and i18n routes (/it/*, /en/*) all serve unchanged. Build diff verified: structurally identical _site/, only differences are the cache-busting query string (?v={{ site.time }}) on main.css/main.js links, which changes on every build by design. Binary assets, generated CSS/JS, and .well-known are byte-identical to the pre-move build. Side cleanup: stop publishing dev metadata (COPYING, package*.json) that Jekyll was implicitly copying into _site because they sat in the source root with no exclude entry.