Skip to main content
U.S. flag

An official website of the United States government

Updating the Handbook

Everyone – inside and outside TTS – can submit contributions to the Handbook. If there's something missing, a piece of information is outdated, or something is broken, you're allowed and encouraged to submit a fix! This guide is meant to help you get started and provide documentation for the Handbook's various components and utilities that make editing easier.

There is no dedicated staff for Handbook maintenance. Maintenance is done by TTS staff who are interested and have time to help.

Disclaimers and cautions

Before you make your contribution, there are a few things to remember:

There is also some information that should not be included in the Handbook:

  • We receive training on this, but here are a few reminders about things we shouldn't include in the Handbook:

    • Sensitive information

    • Comments that can be easily interpreted as , external,endorsements (or other potential ethical issues)

    • Information that can easily go out of date and is already published somewhere else in a useful format. This includes:

      • People's email addresses and phone numbers, even if it is public information. We typically link to group/team email addresses or Slack channels. There is also a public-facing GSA staff directory that you can link to.
      • Information that is already well-covered on GSA InSite - link there instead of reproducing it.
      • Specific TTS org chart info (such as lists of names of supervisors and facilitators). Link to the TTS org chart, the 18F org chart, or the Solutions org chart instead.

Choosing a development environment

The first choice you need to make is whether you want to update the Handbook from within GitHub or if you want to download it to your local computer and update it there. The one you choose is your "development environment." You are not locked into an environment – you can choose whichever is more appropriate for each update you want to make, switching back and forth as needed.

GitHub

Using GitHub means you don't need to download or install anything, which is very convenient. For small updates, such as changing some text on a single page, working in GitHub is often easier and faster. Making changes directly in GitHub becomes a little more difficult as you increase the number of pages that you are working with.

Consider using GitHub as your development environment if your proposed changes are fairly simple: adding a single new page or updating content on a small number of existing pages. But if you are working across many pages, working in GitHub may make it more difficult.

If you choose GitHub, you can check the Editing in GitHub page for more information about how to make your edits and submit them for review.

Local

A local development environment requires that you have a text editor installed, have , external,configured your GitHub account with an SSH key, and configured your local git installation. These requirements are only necessary the first time, so while they do introduce complexity, it is only a one-time cost.

Working locally also allows you to build and run the Handbook on your own computer so you can see your changes live in your web browser as you make them, which is especially helpful for larger updates. However, this requires that you either have Docker or Node.js installed and running, additional one-time complexities. Installing those is beyond the scope of this guide for now.

Consider working locally if you are making extensive changes that are worth the time and effort to install a text editor and configure your local git. For more information about working locally, see the editing locally page.

Making your updates

The Handbook is mostly authored in a markup language called Markdown. If you're unfamiliar with Markdown, the , external,Markdown Tutorial is a fun way to learn the basics. If you already know Markdown and just want to brush up on the syntax, the , external,CommonMark reference is a big help.

There is no single Markdown standard. It is a general set of practices with many different "flavors." Some Markdown behaviors that work in GitHub issues, pull requests, or wikis may not work on the Handbook. The Handbook uses a "flavor" called , external,CommonMark whereas GitHub uses , external,GitHub Flavored Markdown.

Find the page you want to update (or create a new one in the pages directory) and start writing! If you need help, feel free to reach out in , external,TTS-only, #tts-handbook. When you're happy with your changes, open a pull request so someone else can review them and get them merged into the Handbook.

The Handbook has a variety of utilities available to make updates easier and help keep everything consistent across pages. There are two primary kinds of utilities:

  • Front matter - This is data that you can supply at the top of your page that can change or control how the page is displayed in a web browser.

  • Shortcodes - These are small snippets that replace one kind of content with another. For example, the Slack link above was created with this shortcode:

    {% slack_channel "tts-handbook" %}
    
  • Components - These are larger pieces of UI that you can add to your page in a consistent way, including alerts, side navigation, or links to more information.

Pull requests (PRs)

Each pull request should be reviewed by at least one other TTS staff member before merging. Once a PR is approved, anyone can merge it (including the original submitter).

If you make a pull request that's best reviewed by a specific person, tag or assign it to that person. It can also help to ping them in Slack to ask for review.

CODEOWNERS

The TTS Handbook uses the GitHub , external,"code owners" feature to automatically add content owners as a reviewer. This means that in most cases, you as a contributor should not need to manually add anyone for a review.

If you suspect that the wrong team was added as a reviewer, feel free to open a pull request to change the CODEOWNERS file, located at the top level of the project.

How to review and merge pull requests

Any TTS staff member can review a pull request. If it's not your area of expertise, ask somebody who has expertise in that area (for instance, by commenting to tag a person or sharing the PR in Slack). If the author of the pull request added a specific person as a reviewer, hold off merging the pull request until at least one specified reviewer has had a chance to review it.

A note to submitters: If you need multiple people to see your PR before it's merged, please add a comment letting reviewers know!

If you're not sure, ask for a second opinion in , external,TTS-only, #tts-handbook first.

Content and accessibility

The handbook follows the , external,18F content guide, and all content should follow web accessibility best practices. Remember to use , external,descriptive link text.

File/folder structure

New files should be created in the pages directory and in the sub-directory that makes the most sense for your content. For example, a new page on an 18F process should go in the pages/18f directory.

Images that should appear in the Handbook should be placed in the _img directory. You can create addition subdirectories and nest them however you need within the _img directory. Use the image shortcode to ensure your images are available on the web after publication.

If you need to include a file for visitors to download, those files should go in the downloads directory. These may also be in subdirectories. Use the download shortcode to ensure the files are published to the web.

Public domain

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the , external,CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Return to the top of the page ^

Questions?

Handbook.tts.gsa.gov

An official website of the U.S. General Services Administration

Looking for U.S. government information and services?
, external,Visit USA.gov