Jekyll-based documentation site for CluedIn.
- Docker and VS Code with the Dev Containers extension
- Open the repository in VS Code.
- When prompted, click Reopen in Container (or run Dev Containers: Reopen in Container from the command palette).
- The container will build and install all Ruby gem dependencies automatically.
Press Ctrl+Shift+B (or run Tasks: Run Build Task) to start the Jekyll development server. The site will be available at http://localhost:4000.
The task uses incremental builds and live reload, so the browser will refresh automatically when files change.
bundle exec jekyll serve --host 0.0.0.0 --livereload --watch --incremental --destination /tmp/_site --force_pollingmake serveTo do a one-off build without starting the server:
bundle exec jekyll buildThe output is written to _site/ by default (or /tmp/_site when using the VS Code task).
bundle install # install gems from Gemfile.lock
bundle update # update gems to latest allowed versionsExpect each build to take ~60 seconds, even with --incremental and even when only a single file has changed.
The root cause is jekyll-remote-theme. Jekyll's incremental build mode only skips re-rendering a page if none of its dependencies have changed. Because the remote theme's layout files (_layouts/default.html, _includes/head.html, _includes/css/activation.scss.liquid, etc.) are dependencies of every page, any change — including to the remote theme cache itself — causes all 416 pages to be re-rendered.
The top render hotspots (from --profile) are all remote theme files:
| Template | Pages rendered | Time (s) |
|---|---|---|
_layouts/default.html |
416 | 26.7 |
_includes/head.html |
416 | 18.5 |
_includes/css/activation.scss.liquid |
416 | 17.6 |
There is no simple workaround without changing the theme strategy (e.g. switching from jekyll-remote-theme to a locally vendored copy of the theme).