The TODO Group website serves as the central hub for our community, hosting resources, blog content, guides, and information about OSPOs (Open Source Program Offices). All contributions should align with our mission to provide vendor-neutral, practical resources that help organizations run effective open source programs.
Please read our contributing guidelines to get started
This site is built using the Hugo static site generator and hosted on Netlify. The site uses the Dot-Org Theme for Hugo as a base and then has its own customisations.
In order to build or locally develop the website, you'll need to install Hugo and node.js.
If you don't have them installed, you can install them via brew.sh.
# macOS
brew install hugo nodeThen following these instructions:
-
Clone this repo to a local directory on your computer.
-
Navigate to the newly created directory, and pull in the theme:
git submodule update --init --recursive- Install dependencies:
npm install- Build the site:
npm run build- Start the local server with live reload:
npm run startnpm run dev:start- Starts the local dev environment using exampleSitenpm run dev:start:with-pagefind- Starts the local dev environment using exampleSite with working pagefind searchnpm run dev:build- Builds the site using exampleSite
As mentioned above, fork and clone this repository, run git submodule update --init --recursive, then run following:
./run-hugo-in-docker.shThis command should give an address you can visit on your local machine to see the local copy of your site. Typically this is localhost:1313. Just navigate to http://localhost:1313 in your browser and you should see the site running.
If modifying the theme files, you should never edit the theme that is imported via Git Submodule, as otherwise the changes will be overwritten or lost the next time the theme is updated. Changes should be made in override files inside the root directory as this will override the theme directory. Read docs.
Some brief notes on how to update the theme:
From the site root:
git submodule init
git submodule update
cd themes/dot-org-hugo-theme
git fetch
git checkout main
git pull origin main
cd ../..
git add themes/dot-org-hugo-theme
git commit -m "Updated submodule to the latest version of dot-org-hugo-theme" -s