Skip to content

feat: migrate documentation to zensical#5

Merged
paul58914080 merged 15 commits intomainfrom
feature/zensical
Feb 6, 2026
Merged

feat: migrate documentation to zensical#5
paul58914080 merged 15 commits intomainfrom
feature/zensical

Conversation

@paul58914080
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings February 6, 2026 16:04
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

📘 Site preview available:

https://ff4j.github.io/docs/pr-5/

@paul58914080 paul58914080 merged commit afe2622 into main Feb 6, 2026
7 checks passed
@paul58914080 paul58914080 deleted the feature/zensical branch February 6, 2026 16:08
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the documentation site from the previous MkDocs configuration to a Zensical + uv-managed setup, updating the build/deploy pipeline and site theming/templates accordingly.

Changes:

  • Replace mkdocs.yml configuration with zensical.toml and add a Python/uv project (pyproject.toml, uv.lock, .python-version)
  • Add a new GitHub Actions workflow for PR previews + Pages publishing, plus repo governance files (CODEOWNERS, PR template, Dependabot)
  • Refresh homepage template/styles and add Bootstrap grid CSS for layout

Reviewed changes

Copilot reviewed 41 out of 121 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
zensical.toml Introduces Zensical site configuration (project metadata, theme, nav, CSS).
uv.lock Adds locked Python dependencies for Zensical-based docs build.
serve.sh Adds local serve command wrapper (uv run zensical serve -o).
pyproject.toml Defines the Python project and Zensical dependency.
mkdocs.yml Removes legacy MkDocs configuration.
docs/stylesheets/theme.css Adds/updates site theming CSS variables and homepage styling.
docs/stylesheets/bootstrap-grid.min.css Adds Bootstrap grid stylesheet for responsive layout.
docs/pages/web/thymeleaf.md Removes legacy MkDocs content page.
docs/pages/web/taglib.md Removes legacy MkDocs content page.
docs/pages/web/index.md Removes legacy MkDocs content page.
docs/pages/web/console.md Removes legacy MkDocs content page.
docs/pages/web/apis.md Removes legacy MkDocs content page.
docs/pages/v2/index.md Removes legacy MkDocs content page.
docs/pages/strategy/index.md Removes legacy MkDocs content page.
docs/pages/stores/index.md Removes legacy MkDocs content page.
docs/pages/spring/index.md Removes legacy MkDocs content page.
docs/pages/samples/index.md Removes legacy MkDocs content page.
docs/pages/configuration.md Removes legacy MkDocs content page.
docs/pages/basics/security.md Removes legacy MkDocs content page.
docs/pages/basics/property-store.md Removes legacy MkDocs content page.
docs/pages/basics/index.md Removes legacy MkDocs content page.
docs/pages/basics/flipping-strategy.md Removes legacy MkDocs content page.
docs/pages/basics/feature.md Removes legacy MkDocs content page.
docs/pages/basics/feature-store.md Removes legacy MkDocs content page.
docs/pages/basics/architecture.md Removes legacy MkDocs content page.
docs/pages/advanced/spring-boot.md Removes legacy MkDocs content page.
docs/pages/advanced/jmx.md Removes legacy MkDocs content page.
docs/pages/advanced/feature-groups.md Removes legacy MkDocs content page.
docs/pages/advanced/cli.md Removes legacy MkDocs content page.
docs/pages/advanced/caching.md Removes legacy MkDocs content page.
docs/pages/advanced/aop.md Removes legacy MkDocs content page.
docs/overrides/main.html Simplifies override to only extend base.html.
docs/overrides/home.html Reworks homepage layout/content using grid + new visuals.
docs/index.md Switches index page to use the new home.html template only.
docs/img/ff4j-logo.svg Adds SVG logo asset used by the new theme config.
docs/home/img/upcoming.svg Adds new homepage illustration asset.
docs/home/img/strategy.svg Adds new homepage illustration asset.
docs/home/img/featuretoggle.svg Adds new homepage illustration asset.
docs/home/img/canaryrelease.svg Adds new homepage illustration asset.
docs/cheat.md Removes legacy MkDocs “cheat sheet” page.
README.md Updates local run instructions to the new toolchain entrypoint.
.python-version Pins local Python version for the new uv workflow.
.gitignore Updates ignores for uv venv/cache and site output.
.github/workflows/pages.yml Adds PR preview publishing + Pages deploy workflow for Zensical build output.
.github/workflows/main.yml Removes old MkDocs deployment workflow.
.github/dependabot.yml Adds Dependabot config for uv + GitHub Actions updates.
.github/PULL_REQUEST_TEMPLATE.md Adds a PR template focused on docs review/preview checks.
.github/CODEOWNERS Adds code ownership for review routing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +79 to +82
if: github.event_name == 'pull_request' &&
github.event.action == 'closed' &&
github.event.pull_request.merged == false
runs-on: ubuntu-latest
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The preview cleanup job only runs when a PR is closed and not merged, which leaves the pr-<number>/ preview folder behind for merged PRs. If previews should be ephemeral, adjust the condition to also clean up after merges (or document why merged previews should be retained).

Copilot uses AI. Check for mistakes.
Comment on lines +5 to 13
## Prerequisites

## Run the website locally
- [zensical](https://zensical.org/docs/get-started/)

### 1. Installation
## Run locally

```bash
python3 -m pip install --upgrade pip # install pip
python3 -m pip install mkdocs # install mkdocs
python3 -m pip install mkdocs-material # install material theme
#python3 -m pip install https://github.com/bmcorser/fontawesome-markdown/archive/master.zip # install font-awesome
python3 -m pip install mkdocs-git-revision-date-plugin # install git revision date
python3 -m pip install mkdocs-video # install git revision date
```shell
sh ./serve.sh
```
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Prerequisites" section only mentions Zensical, but serve.sh relies on uv being installed (and a compatible Python version). Consider updating the README to include installing uv (and running uv sync once) so the local run instructions are complete.

Copilot uses AI. Check for mistakes.
Comment on lines +10 to +12
nav = [
{ "Home" = "index.md" }
]
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new Zensical nav only includes index.md, and the previous documentation pages appear to have been removed from docs/ (no other .md files remain). If the intent is a full migration from the prior MkDocs site, you likely need to add the missing pages back (or relocate them) and expand nav so the documentation remains accessible.

Copilot uses AI. Check for mistakes.
Comment on lines +12 to +17
<a href="#" class="md-button md-button--primary">
Get started
</a>
<a href="#" class="md-button link-color">
Learn more
</a>
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The primary CTA links use href="#", which results in non-functional links in the generated homepage. Point these buttons to real pages (e.g., the first docs section / getting-started page) so users can navigate from the landing page.

Copilot uses AI. Check for mistakes.
Comment on lines +44 to +60
- name: Comment PR with preview URL
if: github.event_name == 'pull_request'
uses: actions/github-script@v7
with:
script: |
const pr = context.payload.pull_request.number;
const { owner, repo } = context.repo;

const url = `https://ff4j.github.io/docs/pr-${pr}/`;

await github.rest.issues.createComment({
owner,
repo,
issue_number: pr,
body: `📘 **Site preview available**:\n\n${url}`
});

Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow posts a new PR comment on every synchronize event, which will spam the PR thread on iterative pushes. Consider making the comment idempotent (search for an existing comment containing a unique marker and update it) or use a dedicated "sticky comment" approach.

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +26
- name: "Set up Python"
uses: actions/setup-python@v6
with:
python-version-file: "pyproject.toml"

Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/setup-python is configured with python-version-file: "pyproject.toml", but this repo also adds a .python-version file. If setup-python can't parse pyproject.toml for the version, CI will fail; it’s safer to point python-version-file at .python-version (or set python-version explicitly).

Copilot uses AI. Check for mistakes.
Comment on lines +71 to +74
environment:
name: github-pages
url: https://paulwilliams.dev
steps:
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The GitHub Pages environment URL is set to https://paulwilliams.dev, which doesn’t match the project’s configured docs URL (https://ff4j.github.io/docs/). This will show an incorrect deployment link in GitHub’s UI; update it to the actual GitHub Pages (or custom) domain for this site.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant