- Static Site Generator: Hugo + TypeScript +
- Hosting: Cloudflare Pages
The minimum Node and NPM versions can be found in the
package.json file under engines
.
If you need help installing and/or managing Node and NPM versions, check out NVM.
npm install
npm install
installs the necessary node modules for development.
You should install our pre-commit hook. You can do this from your checkout
by running git/setup.sh
. These hooks do things like ensure that the code you
commit is tidy and passes various linter checks.
brew install hugo
It is recommended that you install the latest release of Hugo. For debian and ubuntu users, they offer a .deb file.
Download
Embedded Dart Sass and
make sure it is in your $PATH
. This is necessary for Hugo to process SASS and
SCSS files. See the
Hugo documentation for more
information.
The development server watches files, rebuilds the site, and reloads the browser when files change.
hugo server
Whenever you create your first release note for a product category for a new year:
- Add a file called
<year>.md
to the/content/<product>/release-notes
folder. (e.g.,/content/geoip/release-notes/2024.md
) - Add the header to your new release note file with the title:<Product> Release Notes
(e.g.,GeoIP2 Release Notes
) and draft tofalse
. - Add the RSS notification to the top of the new file. - Change the
title:
field in the previous year'smd
file to read:<Product> Release Notes - <Year> Archive
(e.g.,GeoIP2 Release Notes - 2023 Archive
) - Remove the RSS notification from the top of the archived file. - Update link to the release notes in the navigation menu (
hugo.toml
) to point to the current year's path. - Update the URLs in the redirects file (
static/_redirects
) to the current year's path.
To do this, use the create-example-csv-zips-for-dev-site
script in the
internal oneoffs repository.
In the markdown (mdx) file, add a description
to the frontmatter located at
the top of the file:
---
draft: false
title: GeoIP2 is the best
description: GeoIP2 is the bestest IP Intelligence product suite ever made
---
-
Add your image to the static/images directory.
-
In the markdown (mdx) file, add the path to the
image
key in the frontmatter located at the top of the file. Do not includestatic
to the path. For example, if your file is atstatic/images/geoip2-so-cool.gif
, your frontmatter would look like:
---
draft: false
title: GeoIP2 is the best
description: GeoIP2 is the bestest IP Intelligence product suite ever made
image: /images/geoip2-so-cool.gif
---