Restructure the blog for the incoming project archives (#60) * Upgrade Docusaurus 3.0.1 -> 3.10.2 Needed for the blog work: year-grouped sidebar and blog/tags.yml descriptions only exist in later 3.x. Fixes the one swizzle that broke: useSidebarBreadcrumbs/useDocsSidebar moved from @docusaurus/theme-common/internal to @docusaurus/plugin-content-docs/client. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit dd63d337c154dbbe9065fa9917f6c0b4ab58192d) * Restructure the blog for the incoming project archives Three changes, all aimed at a blog that stays navigable once the historical Drools/jBPM/OptaPlanner posts land in it: - Sidebar grouped by year, collapsible. Year grouping is stock 3.10 behaviour, but upstream renders each year as a plain div; swizzle BlogSidebar/Content to wrap them in <details>. Open by default: the most recent year, plus the year holding the post being read. - Tags as sections. blog/tags.yml defines a curated taxonomy — one family for components, one for post kinds — each with a description that renders on its landing page. onInlineTags/throw makes an undeclared tag a build failure, so the set stays curated. Retag the four existing posts off the old ad-hoc keywords (apache, 10, kie). - Excerpt-only post list. None of the posts had a truncation marker, so the list rendered every post in full. Add <!-- truncate --> after the opening paragraph and drop the H1 that duplicated the frontmatter title. onUntruncatedBlogPosts/throw keeps it that way. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit c4cc434bef52e448c38d71a399fa850c3c2d56f7) * Blog sidebar title: 'All posts', linking to the blog index Swizzle BlogSidebar/Desktop, where upstream renders the title as a plain div. With collapsible year groups you can be several years down the list with no obvious way back, so the heading becomes that way back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit e6b21703064cb3da7a0b029fd1af368fe383185b) * Link the blog sidebar to the tags index Docusaurus has no built-in tag-filter widget, and the blog plugin registers no global data, so there is no supported way to enumerate tags from /blog. The native surface is the auto-generated /blog/tags index; this just makes it reachable from the blog list instead of only from a post's tag chips. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 50763e7e8f09d83f8338831be86a2e69f5d3f3c4) * Sentence case for the remaining headings in the 10.2 editors post Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit bd3f2e1f85746ae23261c741688bbd861ec3d54c) * Move 'Browse by tag' to the blog's right-hand rail Swizzle BlogLayout to render the right column unconditionally. Upstream only renders it when a toc is passed, so /blog had a two-column gap on the right and nowhere to put the link. Column widths are unchanged — the rail fills space the grid was already reserving. Suppressed on the tag pages themselves, where it points at where you already are, and desktop-only, matching the sidebar and the toc. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 86226226a87882befae1bb1971e8c664075a363e) * Address review feedback on the blog restructure - Year groups: sync open state on client-side navigation. The sidebar survives navigation and the groups are keyed by year, so initial state alone left the active post hidden inside a collapsed year. The effect only ever opens, so a group collapsed by hand stays that way until the current post moves into it. - Tags link: hide it on individual tag pages too, not just the index. Keep the link target site-relative — @docusaurus/Link applies baseUrl itself, so passing the resolved path would risk prefixing it twice. - Author link comment: attribute the hover underline to Infima's --ifm-link-hover-decoration rather than implying these rules set it. - Post title: 'Next-generation editors', for consistent sentence case. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The source repository of static website for Apache KIE (incubating).
[!IMPORTANT] Apache KIE (incubating) is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
Please read the DISCLAIMER and a full explanation of “incubating”.
$ yarn
$ yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
$ yarn build
This command generates static content into the build directory and can be served using any static contents hosting service.
Contributions are welcome, any pull request that is merged will be automatically deployed to live website.
Apache License 2.0