Migrate fineract-site to Hugo source workflow with containerized build, CI validation, and publish automation#53
Conversation
|
Thank you! I'm reviewing this now. |
|
for posterity: see FINERACT-2484 |
|
Please merge the latest from |
will try to simplify and keep focused docs for contributors , and resolve conflicts before final update. |
|
Hi @meonkeys! As you suggested, here are my thoughts on the YAML maintainability question: I agree with your concern about embedding HTML-heavy content in YAML (lines 156-158 of site-src/data/home.yml). It makes PRs harder to review and risks syntax errors. I'd recommend keeping structured data (versions, links, flags) in YAML but moving prose content (paragraphs with inline HTML) to Markdown files. This gives cleaner diffs, easier editing for non-technical contributors, and reduces the chance of breaking builds with YAML escaping issues. What are your thoughts @airajena? |
8e60ccf to
60bcfb8
Compare
60bcfb8 to
04caf72
Compare
|
@meonkeys done with the changes |
* spell out philosophy explicitly * let Markdown renderers auto-number enumerated lists * don't duplicate instructions in README * add PR guidance
meonkeys
left a comment
There was a problem hiding this comment.
@AliRana30, thanks for your comments.
@airajena, this is awesome work! With this patch, project website dev will be fast, safe, and consistent/aligned with CI.
LGTM, except the failing checks. I'm getting ~60k lines of output about various things when I run checks, including stuff I don't care about (spaces vs. tabs in generated output) and spec-divergent HTML markup suggestions (always double-quote attributes). Before we merge I want all checks passing including htmlhint and axe. I'm fine with reducing the number of checks or removing them entirely. Your call how we resolve this.
I do prefer we run some sanity checks. Maybe Hugo does some/enough already--I don't know.
Thanks! Agreed on the signal/noise issue. The current htmlhint/axe output is dominated by generated/static content and spec-style warnings that are not actionable for this repo, so I’ll simplify checks to keep CI useful and deterministic. Plan:
This keeps sanity checks in place while avoiding ~60k lines of low-value output. This is how I am thinking to resolve this |
|
Sounds good. |
Done |
conform with .github/workflows/verify-commits.yml
Aira removed the HTMLHint check in 4f0e8fb
Just to clean up / clear up intent for posterity.
|
|
After removing the prereqs for axe or htmlhint the |
|
LGTM. 🚢 |
|
Thank you so much. @meonkeys |
|
Thank you @airajena ! Great work. I'm confused by |
[skip-publish] is a tag in the commit message that tells GitHub Actions to not run the publish job for this commit. It’s used on the bot’s own publish commit so the workflow doesn’t trigger itself again and again. Also I need permission to review the PR's for this repo. I can see some changes in CSS files in the draft PR, so need to add my comments if you allow. |




Summary
This PR migrates
fineract-sitefrom manually maintained root HTML pages to a Hugo-based source workflow.The migration introduces:
site-src/Why this change
The existing site structure relied on large hand-maintained HTML files that were hard to review and risky to edit. This migration improves maintainability and contributor velocity by:
Scope of changes
site-src/config.tomlsite-src/layouts/_default/baseof.htmlsite-src/layouts/_default/single.htmlsite-src/layouts/_default/security.htmlsite-src/layouts/index.htmlsite-src/layouts/404.htmlsite-src/layouts/partials/*site-src/content/_index.mdsite-src/content/security.mdsite-src/data/home.ymlindex.htmlsecurity.html404.htmlsrc/security/security.mdinto Hugo content path:site-src/content/security.mdsrc/security/Makefilesrc/security/Readme.mdsrc/security/favicon.htmlscripts/site-build.shscripts/site-build.ps1scripts/site-serve.shscripts/site-serve.ps1scripts/check_internal_links.pyscripts/check-build.ps1.build/site.github/workflows/site-pr-check.yml.github/workflows/site-publish.ymlcss/nav-styles.csscss/fineract.csscss/security.cssREADME.mdCONTRIBUTING.md.gitignore.htmlhintrcURL and compatibility notes
//security.html/404.html/docs/...passthrough assetscss,js,images,font,docs) remain available via Hugo static mounts/output.Testing performed
Local validation was executed using containerized scripts and repository checks:
./scripts/site-build.sh --cleanDestinationDir./scripts/site-build.ps1 --cleanDestinationDir./scripts/site-serve.sh./scripts/site-serve.ps1python ./scripts/check_internal_links.py --site-root .build/siteFollow-up work (non-blocking)
css/fineract.css