docs/README.md

15 KiB

GitHub Docs

This repository contains the documentation website code and Markdown source files for docs.github.com.

GitHub's Docs team works on pre-production content in a private repo that regularly syncs with this public repo.

In this article:

Contributing

📝 To find out how you can best contribute to GitHub's product documentation, see CONTRIBUTING.md.

📣 If you'd like help troubleshooting a PR, have a great new idea, or want to share something amazing you've learned in our docs, join us in discussions.

🪲 If you've found a problem, you can open an issue using a template.

If you're having trouble with your GitHub account, contact Support.

💛 We do not accept pull requests for translated content - see CONTRIBUTING.md for more information.

READMEs

In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail:

Developing

This site is powered by Node.js! 🐢 🚀

You'll need Node.js v12 to run the site. If you're using nodenv (you can run nodenv version to find out which Node.js version you're on), read the nodenv section for instructions on switching to Node.js 12. If you're not using nodenv, the best way to install Node.js is to download the LTS installer from nodejs.org.

Once you've installed Node.js, open up Terminal and run the following:

git clone https://github.com/github/docs-internal
cd docs-internal
npm install
npm start

You should now have a running server! Visit localhost:4000 in your browser. It will automatically restart as you make changes to site content.

When you're ready to stop your local server, type CTRLc in your terminal window.

Site structure

This site was originally written in Jekyll and later Nanoc, both of which are Ruby static site generators. This site is now a dynamic Node.js webserver powered by Express, using middleware to add support for proper HTTP redirects, language header detection, and dynamic content generation to support the various flavors of GitHub's product documenation, like dotcom and GitHub Enterprise. For more context on why this change was made, see the new help.github.com proposal doc.

The tech powering the site is now different, but many of the tried-and-true authoring conventions of the original Jekyll site have been preserved:

  • Content is written in Markdown files which live in the content directory.
  • Content can use the Liquid templating language.
  • Files in the data directory are available to templates via the {% data %} tag.
  • Markdown files can contain frontmatter.
  • The redirect_from Jekyll plugin behavior is supported.

See the Content README for more info.

Error handling

Errors generated from requests will be sent to Sentry via middlware/handle-errors.js, and the lib/failbot.js client. This is a lightweight wrapper for sending exceptions to GitHub's Sentry instance.

This site's search functionality is powered by Algolia, a third-party service.

See search.md for details.

License

The GitHub product documentation in the assets, content, and data folders are licensed under a CC-BY license.

All other code in this repository is licensed under a MIT.

When using the GitHub logos, be sure to follow the GitHub logo guidelines.

Contributors

Thanks goes to these wonderful people (emoji key):


Alexandra Bourne

🖋 🐛

Cynthia Rich

🖋 🐛

Emily Gould

🖋 🐛

Felicity Chapman

🖋 🐛

Kevin Heis

🐛 💻

Alistair Christie

🖋 🐛

James M. Greene

🐛 💻

Janice

🖋 🐛

Jason Etcovitch

🐛 💻

James Fletcher

🖋 🐛

Jenn Leaver

🖋 🐛

jmarlena

🖋 🐛

John M. Wargo

🖋 🐛

Laura Coursen

🖋 🐛

Lucas Costi

🖋 🐛

Martin Lopes

🖋 🐛

Matt Pollard

🖋 🐛

mc

🖋 🐛

Meg Bird

🖋 🐛

Melanie Yarbrough

🖋 🐛

Rachael Sewell

🖋 🐛

Leona B. Campbell

🖋 🐛

Sarah Schneider

🐛 💻

Shati Patel

🖋 🐛

Kathy Korevec

🖋 🐛

Amy Burns

🖋 🐛

Vanessa Yuen

🐛 💻

Zeke Sikelianos

🐛 💻

This project follows the all-contributors specification. Contributions of any kind welcome!