Skip to content

apache/fineract-site

fineract-site

Apache Fineract website source repository for https://fineract.apache.org.

Prerequisites

  • Git
  • Docker

Source Of Truth

  • Hugo source is in site-src/.
  • Generated output is in .build/site.
  • Static passthrough is mounted from:
    • docs/ -> /docs/
    • css/ -> /css/
    • js/ -> /js/
    • images/ -> /images/
    • font/ -> /font/
    • .htaccess -> /.htaccess
    • doap_Fineract.rdf -> /doap_Fineract.rdf

Do not edit generated output directly. Edit files under site-src/ and mounted static sources instead.

Local Build and Checks (Docker)

  1. Build the site tool image:
docker build -t fineract-site .
  1. Build site and run checks:
docker run --rm -u "$(id -u):$(id -g)" -v "$PWD:/src" -w /src/site-src fineract-site build
  1. Serve locally with watch mode:
docker run --rm -it -u "$(id -u):$(id -g)" -v "$PWD:/src" -w /src/site-src -p 1313:1313 fineract-site serve
  1. Optional: run checks only (without rebuilding):
docker run --rm -u "$(id -u):$(id -g)" -v "$PWD:/src" -w /src/site-src fineract-site check

Windows PowerShell equivalent (no UID/GID mapping):

docker build -t fineract-site .
docker run --rm -v "${PWD}:/src" -w /src/site-src fineract-site build
docker run --rm -it -p 1313:1313 -v "${PWD}:/src" -w /src/site-src fineract-site serve

Verifying ASF project website compliance

Apache Whimsy periodically checks that the public homepage follows ASF conventions. Output of these checks is displayed here. 24 hours after code is changed and https://fineract.apache.org updates, ensure all checks remain green.

CI/CD

  • PR validation workflow: .github/workflows/site-pr-check.yml
    • Builds the same Docker image used locally
    • Runs build + checks in container
  • Publish workflow: .github/workflows/site-publish.yml
    • Builds on pushes to asf-site
    • Commits generated publish files back to asf-site via GitHub Actions

Note: .build/ is ignored in .gitignore and is never pushed.

Contributor Guide

See CONTRIBUTING.md for branch/PR workflow and validation checklist.