This is where the codemeta.github.io website
is built from, using a Static Site Generator called Hugo; a framework that
turns Markdown into static HTML pages that can be served from anywhere. Our
theme uses the Bootstrap framework.
We use GitHub actions to build and deploy the Hugo site to GitHub Pages. Many changes to the site are possible with the GitHub web interface, however for complex changes it will be quicker to use git directly.
These tools have good documentation:
- Hugo documentation
- Bootstrap documentation (currently 5.3)
- GitHub Actions documentation
- Git documentation
The website's content content often uses JSON and CodeMeta itself is based on JSON-LD. Updating the site might involve editing such data.
Building the website locally may require installing a few packages. Install
git and hugo if they are not already available.
Optional: If you require new Crosswalk data that is not yet synced with
this repository, you will need Make.
- deb-based:
sudo apt install build-essential - rpm-based:
sudo dnf group install 'Development tools' - arch-based:
sudo pacman -S base-devel - Windows: through
wsland distro-specific package manager - MacOS: install
xcodeor use macports
Run make in the codemeta.github.io git directory to sync the data.
Generate the website by running hugo in the git directory. Hugo will output
the files to ../website according to configuration. If desired, set an
alternative path with the --destination=<path> option, where
<path> is the desired location for the website.
Hugo comes with a staging webserver. Run hugo serve to make hugo serve the
website it generates. Hugo will serve the website at http://localhost:1313.
Preview the site from another device by passing the options
--baseURL=<host> and --bind=<host>, where <host> is the
desired IP or domain.
A combination of the above can be used to serve the website with a standard
web server. Use --appendPort=false to remove the port number from links.