protocolbuffers / protocolbuffers/protocolbuffers.github.io

How to build the documentation? How is it rendered?

Open
#91 3 comments 0 reactions 2 assignees View on GitHub

@jguamie is already working on this.

Since Oct 17, 2025.

Dominant language
HTML
Stars
69
Forks
179
PR merge metrics
No merged PRs in 30d

Description

Q1: How to build the documentation?

Hello, Protobuf Team.

Recently, I tried to build the Protobuf's Documentation from this repo's source on Windows. However, after I followed the commands provided by .github/workflows/gh-pages.yml, it still failed.

First of all, I prepared Npm dependencies and Hugo executable:

Click to expand log
C:\Users\hwhsu1231>where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd

C:\Users\hwhsu1231>npm install autoprefixer postcss postcss-cli

added 74 packages in 1m

19 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New minor version of npm available! 9.6.7 -> 9.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.1
npm notice Run npm install -g npm@9.8.1 to update!
npm notice

C:\Users\hwhsu1231>npm install -g npm@9.8.1

added 1 package in 10s

28 packages are looking for funding
  run `npm fund` for details

C:\Users\hwhsu1231>where hugo && hugo version
C:\Hugo\bin\hugo.exe
hugo v0.115.4-dc9524521270f81d1c038ebbb200f0cfa3427cc5+extended windows/amd64 BuildDate=2023-07-20T06:49:57Z VendorInfo=gohugoio

Then, git clone the repo and run hugo --minify:

D:\Repo\tmp>git clone https://github.com/protocolbuffers/protocolbuffers.github.io.git protobuf-docs
Cloning into 'protobuf-docs'...
remote: Enumerating objects: 9670, done.
remote: Counting objects: 100% (1797/1797), done.
remote: Compressing objects: 100% (257/257), done.
remote: Total 9670 (delta 958), reused 1744 (delta 940), pack-reused 7873
Receiving objects: 100% (9670/9670), 12.21 MiB | 3.60 MiB/s, done.
Resolving deltas: 100% (5301/5301), done.

D:\Repo\tmp>cd protobuf-docs

D:\Repo\tmp\protobuf-docs>hugo --minify
Total in 23 ms
Error: failed to load modules: failed to download modules: binary with name "go" not found

What happened? What do I miss?

Q2: How is the documentation rendered?

BTW, I also checked out to the gh-pages branch to see what the artifact looks like. However, it seems different than what https://protobuf.dev/ displays.

D:\Repo\tmp\protobuf-docs>git checkout gh-pages
Switched to a new branch 'gh-pages'
branch 'gh-pages' set up to track 'origin/gh-pages'.

If I want to see the rendered documentation locally, what should I do?

image
image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.