airajena opened a new pull request, #53:
URL: https://github.com/apache/fineract-site/pull/53
## Summary
This PR migrates `fineract-site` from manually maintained root HTML pages to
a Hugo-based source workflow.
The migration introduces:
- Hugo source of truth under `site-src/`
- Data-driven homepage sections and reusable partials
- Security page migration into Hugo content/layout
- Containerized local build and serve scripts
- CI workflow for PR validation (build + link checks)
- Publish workflow for deployment branch updates
## 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:
- centralizing editable source in one structure
- reducing duplication via partials/templates
- standardizing local and CI builds with pinned container tooling
- preserving existing public URLs and static docs behavior
## Scope of changes
1. Source of truth moved to Hugo
- Added `site-src/config.toml`
- Added Hugo layouts:
- `site-src/layouts/_default/baseof.html`
- `site-src/layouts/_default/single.html`
- `site-src/layouts/_default/security.html`
- `site-src/layouts/index.html`
- `site-src/layouts/404.html`
- `site-src/layouts/partials/*`
- Added data/content files:
- `site-src/content/_index.md`
- `site-src/content/security.md`
- `site-src/data/home.yml`
2. Legacy root HTML cleanup
- Removed hand-maintained root pages from source editing path:
- `index.html`
- `security.html`
- `404.html`
3. Security page migration
- Migrated `src/security/security.md` into Hugo content path:
- `site-src/content/security.md`
- Removed old security generation artifacts:
- `src/security/Makefile`
- `src/security/Readme.md`
- `src/security/favicon.html`
4. Build and local developer workflow
- Added scripts:
- `scripts/site-build.sh`
- `scripts/site-build.ps1`
- `scripts/site-serve.sh`
- `scripts/site-serve.ps1`
- `scripts/check_internal_links.py`
- `scripts/check-build.ps1`
- Build output standardized to `.build/site`
5. CI/CD automation
- Added PR validation workflow:
- `.github/workflows/site-pr-check.yml`
- Added publish workflow:
- `.github/workflows/site-publish.yml`
6. Styling and UI parity work
- Kept existing visual direction while making styles maintainable
- Split/add navbar CSS in:
- `css/nav-styles.css`
- Updated global and section styles in:
- `css/fineract.css`
- `css/security.css`
7. Contributor and repository docs
- Updated:
- `README.md`
- `CONTRIBUTING.md`
- `.gitignore`
- `.htmlhintrc`
## URL and compatibility notes
- Preserved primary URL behavior:
- `/`
- `/security.html`
- `/404.html`
- `/docs/...` passthrough assets
- Static assets (`css`, `js`, `images`, `font`, `docs`) remain available via
Hugo static mounts/output.
## Testing performed
Local validation was executed using containerized scripts and repository
checks:
1. Build
- `./scripts/site-build.sh --cleanDestinationDir`
- `./scripts/site-build.ps1 --cleanDestinationDir`
2. Local serve
- `./scripts/site-serve.sh`
- `./scripts/site-serve.ps1`
3. Link checks
- `python ./scripts/check_internal_links.py --site-root .build/site`
4. Visual verification
- Compared pre/post migration rendering for:
- homepage section layout
- navbar behavior on desktop/mobile
- about/contribute/resources card and list styling
- security page structure
## Follow-up work (non-blocking)
- Further reduce duplicate or legacy CSS blocks in `css/fineract.css`
- Add stricter HTML/CSS linting gates if desired
- Continue iterative UI refinement while preserving migration architecture
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]