Skip to content

Draft: Fixes ability to run the handbook locally via Hugo CLI

Why is this change being made?

💡 Provide a detailed answer to the question on why this change is being proposed, in accordance with our value of Transparency.

Please add the details saying why, not just what in this section. Example: We have discussed the topic in Slack - (copy of Slack conversation). The current process is not efficient, this MR makes the description of X more clear, and helps move Y forward.

Whilst trying to get the handbook running locally, I noticed a few rendering issues:

  • In the hugo output as it tried to render all-content/_index.md. Looking through the code, this looked a little barebones and potentially unused. I've checked the production link: https://handbook.gitlab.com/all-content/ and have validated that it's rendering as a white page currently. As such, it makes sense to simplify the project a little and remove one tiny barrier to running this locally.
    • I've checked with security about moving the one link that this breaks to a more sensible page.
  • Some of the delimiters used on the includes shortcodes were seemingly incorrect. This caused the local hugo CLI tool to be really quite sad and it would fail to render the site at all.

The outcome of this work is that we now have the ability to run this locally again via the Makefile. I've cheekily added the --navigateToChanged flag to the command because this really improves the development flow and automatically re-renders the page you're currently editing .

I'd like reviewers to pay particular attention to ensure that I've not broken how these pages are displaying with the delimiter changes.

The outcome of this MR is that new developers will be able to run these two commands:

mise install
make view

And navigate to http://localhost:1313/ in their local browser. They are then free to make changs to the various content pages and the site should automatically redirect and rerender when it detects these changes.

Author and Reviewer Checklist

Please verify the check list and ensure to tick them off before the MR is merged.

  • Provided a concise title for this Merge Request (MR)
  • Added a description to this MR explaining the reasons for the proposed change, per say why, not just what
    • Copy/paste the Slack conversation to document it for later, or upload screenshots. Verify that no confidential data is added, and the content is SAFE
  • Assign reviewers for this MR to the correct
    • The when to get approval handbook section explains when DRI approval is required
    • The who can approve handbook section explains how to identify the DRI
    • If the MR does not require DRI approval, consider asking someone on your team, such as your manager.
    • The approver may merge the MR. If they approve but don't merge, you can merge.
  • For transparency, share this MR with the audience that will be impacted.
    • Team: For changes that affect your direct team, share in your group Slack channel
    • Department: If the update affects your department, share the MR in your department Slack channel
    • Division: If the update affects your division, share the MR in your division Slack channel
    • Company: If the update affects all (or the majority of) GitLab team members, post an update in #whats-happening-at-gitlab linking to this MR

Verification Of Deploy

Commits

  • Removes the all-content page which doesn't render in production
  • Fixes the delimiters used when rendering shortcodes so that building locally works
  • Improves the developer experience by appending the --navigateToChanged flag to the make view command.

Edited by Elliot Forbes

Merge request reports

Loading