Skip to content

[GEODE-10650] Migrate geode-site to Pelican - #30

Open
JinwooHwang wants to merge 8 commits into
apache:masterfrom
JinwooHwang:feature/GEODE-10650
Open

JinwooHwang wants to merge 8 commits into
apache:masterfrom
JinwooHwang:feature/GEODE-10650

Conversation

@JinwooHwang

@JinwooHwang JinwooHwang commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

GEODE-10650: Migrate geode-site to Pelican

Replaces the old nanoc/Gradle website build with the ASF Infrastructure Pelican GitHub Action, and refreshes the site design.

Changes

  • Build: pelicanconf.py plus .github/workflows/build-pelican.yml. Pull requests are built only; pushes to master publish to the output/ directory of asf-site.
  • Theme: new responsive theme using the Apache Geode logo colors and a self-hosted Bootstrap 5.3.8. Nothing loads from external sites, and the footer has the ASF Events and Privacy links, fixing all three failing Whimsy site checks.
  • Content: pages are now Markdown. Releases come from data/releases.yaml, which lists only releases on downloads.apache.org (2.0.2, 1.15.4, 1.14.4, 1.13.8, Kafka Connector 1.1.0). This fixes the broken 2.0.0, 1.15.2 and 1.15.1 download links.
  • Docs: the User Guides, native client guides, API references, schemas and redirects move from asf-site into content/, so every existing URL keeps working.
  • Repo files: README, LICENSE and .rat-excludes are updated for the new build.

Preview locally

Requires Python 3.10 or later. Expect about a 600 MB download and a build of a minute or two.

git clone --depth 1 https://github.com/apache/infrastructure-actions.git
git clone --depth 1 -b feature/GEODE-10650 https://github.com/JinwooHwang/geode-site.git
cd geode-site
python3 -m venv .venv
. .venv/bin/activate
pip install "pelican[markdown]==4.11.0.post0" ../infrastructure-actions/pelican
pelican content -o output -e 'PLUGIN_PATHS=["../infrastructure-actions/pelican/plugins"]'
python3 -m http.server -d output 8000

Then open http://localhost:8000.

Note: the local server ignores .htaccess, so redirects and the custom 404 page only work on the live site. The local build also uses Pelican's standard Markdown reader, while the published site uses GitHub Flavored Markdown, so minor rendering differences are possible.

Reviewing

Commit cc75db940 only imports 5,757 generated doc files from asf-site unchanged, so it's safe to skip.

Testing

  • Built locally with the same Pelican version and GFM setup as the action. The build passes with 5,803 output files, and every static file is accounted for.
  • All 99 external links return HTTP 200.
  • Apache RAT 0.16.1 reports 0 unknown licenses.
  • Pages checked at desktop and phone widths.

Before go-live

  1. After merge, update .asf.yaml on asf-site to:
    publish:
      whoami: asf-site
      subdir: output
  2. Once the new site is verified, remove the old top-level files from asf-site.

@semioticrobotic

Copy link
Copy Markdown
Member

@harmoncoffee: Can you please assess this PR in the context of the work you've already accomplished in your branch. We'd made significant progress on the path to closing GEODE-10468 and I want to be sure that the work we did to address GEODE-10485, GEODE-10474, and others is reflected if this is the path the team decides to take.

@harmoncoffee

Copy link
Copy Markdown

Sure thing @semioticrobotic we were facing many issues with links and anchors, I will take a look to it, if this gets past those issues that would be great

@semioticrobotic

Copy link
Copy Markdown
Member

Thanks for weighing in, @harmoncoffee! Please see, too, the mailing list discussion of this PR. At issue is whether you feel the work in your branch is sufficiently ready to move forward, even in spite of the link breakages, to sufficiently modernize the site's foundation.

@harmoncoffee

Copy link
Copy Markdown

Oh yes, I do see that discussion. I will take a look anyways on this. But I think Jinwoo is intending this as a better supported interim state. This technically isn't making the documentation into markdown files at all from what I see in the pr. Just porting the html pages that used to be in the other format. And centralize it here. I am happy with an interim state. I would like the other one to be more polished. Maybe we can review it together again soon and see what we think. We can discuss the pros or cons of that.

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.

3 participants