Conversation
Replace the long sidebar and article excerpts with a responsive card index, a featured latest post, category filtering, and progressively loaded article cards. Document metadata and banner conventions for the external blog repository. Co-Authored-By: Codex <noreply@openai.com> AI-Model: gpt-6-astra AI-Contributed/Feature: 507/507 AI-Contributed/UT: 0/0
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.
Purpose
The current blog index combines an ever-growing sidebar of titles with long, full-width article excerpts. This gives readers very little information per screen: they must scroll through substantial portions of posts before they can identify the few articles relevant to them.
Modern project blogs such as LanceDB, Daft, and Apache Doris use compact card-based overviews that make an archive easier to scan. This PR brings that approach to Fluss: readers can compare covers, titles, short summaries, and categories at a glance, then narrow the archive to their interests.
Dependency and merge order
Depends on apache/fluss-blog#17. Please merge the blog content PR first.
website/setup_blog.shfetchesapache/fluss-blogfrommainduring website setup. The companion PR provides the four-category taxonomy, concise descriptions, and standardized covers used in the previews below. This PR keeps the normal upstream content source; it does not pin deployments to a personal fork.Brief change log
Preview
The screenshots combine website commit
2748aeb0f437adb27934cad993532a1d996fc8e7with blog content commit2ea0a97a5a16d93f0c72b68decf022884b26bdff. They are full-page captures, including the footer, hosted separately from the production change at immutable commit URLs.Desktop — complete initial page (1440 px wide)
Entire archive — all 31 articles loaded
Open the full-resolution archive preview
Mobile — complete initial page (390 px wide)
Dark mode — complete initial page
To reproduce the combined preview before the dependency is merged, run from
website/:Tests
npm run build -- --no-minifypassed after rebasing onto the latestmain.npm run typecheckpassed after the build../mvnw -N -B verify spotless:checkpassed, including license and formatting checks. No Java runtime code changed; the full Java module test suite was not run.npm run buildpassed; all 31 articles have one or two supported tags and the 30 new covers have the documented dimensions. Existing article bodies remain unchanged.git diff --checkpassed in both repositories. Existing broken-anchor warnings in the website and link warnings in the standalone blog build remain.API and Format
No Java API, wire protocol, or storage format changes. The companion PR consolidates blog categories, so the generated category/tag routes reflect the new taxonomy.
Documentation
Update the blog contribution guide with card descriptions, category definitions, and cover-image requirements. The companion PR also updates the blog repository README.
Generative AI used: OpenAI Codex (
gpt-6-astra).