1
0
mirror of synced 2025-12-19 18:10:59 -05:00

Hello git history spelunker!

Are you looking for something? Here is all of the GitHub Docs history in one single commit. Enjoy! 🎉
This commit is contained in:
Vanessa Yuen
2020-09-27 14:10:11 +02:00
parent fa8bb2322f
commit 3df90fc9b8
28386 changed files with 1723440 additions and 3 deletions

297
.all-contributorsrc Normal file
View File

@@ -0,0 +1,297 @@
{
"files": [
"README.md"
],
"imageSize": 64,
"commit": false,
"badgeTemplate": "",
"contributors": [
{
"login": "alebourne",
"name": "Alexandra Bourne",
"avatar_url": "https://avatars1.githubusercontent.com/u/24581915?v=4",
"profile": "https://github.com/alebourne",
"contributions": [
"content",
"bug"
]
},
{
"login": "crichID",
"name": "Cynthia Rich",
"avatar_url": "https://avatars0.githubusercontent.com/u/9950121?v=4",
"profile": "http://cynthiarich.me/",
"contributions": [
"content",
"bug"
]
},
{
"login": "emilyistoofunky",
"name": "Emily Gould",
"avatar_url": "https://avatars1.githubusercontent.com/u/4822039?v=4",
"profile": "https://github.com/emilyistoofunky",
"contributions": [
"content",
"bug"
]
},
{
"login": "felicitymay",
"name": "Felicity Chapman",
"avatar_url": "https://avatars1.githubusercontent.com/u/1877141?v=4",
"profile": "https://github.com/felicitymay",
"contributions": [
"content",
"bug"
]
},
{
"login": "heiskr",
"name": "Kevin Heis",
"avatar_url": "https://avatars2.githubusercontent.com/u/1221423?v=4",
"profile": "https://heiskr.com/",
"contributions": [
"bug",
"code"
]
},
{
"login": "hubwriter",
"name": "Alistair Christie",
"avatar_url": "https://avatars1.githubusercontent.com/u/54933897?v=4",
"profile": "https://github.com/hubwriter",
"contributions": [
"content",
"bug"
]
},
{
"login": "JamesMGreene",
"name": "James M. Greene",
"avatar_url": "https://avatars2.githubusercontent.com/u/417751?v=4",
"profile": "https://jamesmgreene.github.io/",
"contributions": [
"bug",
"code"
]
},
{
"login": "janiceilene",
"name": "Janice",
"avatar_url": "https://avatars3.githubusercontent.com/u/9817819?v=4",
"profile": "https://github.com/janiceilene",
"contributions": [
"content",
"bug"
]
},
{
"login": "jasonetco",
"name": "Jason Etcovitch",
"avatar_url": "https://avatars1.githubusercontent.com/u/10660468?v=4",
"profile": "https://jasonet.co",
"contributions": [
"bug",
"code"
]
},
{
"login": "jf205",
"name": "James Fletcher",
"avatar_url": "https://avatars2.githubusercontent.com/u/42464962?v=4",
"profile": "https://github.com/jf205",
"contributions": [
"content",
"bug"
]
},
{
"login": "jleaver",
"name": "Jenn Leaver",
"avatar_url": "https://avatars2.githubusercontent.com/u/4453117?v=4",
"profile": "https://github.com/jleaver",
"contributions": [
"content",
"bug"
]
},
{
"login": "jmarlena",
"name": "jmarlena",
"avatar_url": "https://avatars3.githubusercontent.com/u/6732600?v=4",
"profile": "https://github.com/jmarlena",
"contributions": [
"content",
"bug"
]
},
{
"login": "jwargo",
"name": "John M. Wargo",
"avatar_url": "https://avatars0.githubusercontent.com/u/30843404?v=4",
"profile": "https://johnwargo.com/",
"contributions": [
"content",
"bug"
]
},
{
"login": "lecoursen",
"name": "Laura Coursen",
"avatar_url": "https://avatars3.githubusercontent.com/u/14935376?v=4",
"profile": "https://github.com/lecoursen",
"contributions": [
"content",
"bug"
]
},
{
"login": "lucascosti",
"name": "Lucas Costi",
"avatar_url": "https://avatars3.githubusercontent.com/u/4434330?v=4",
"profile": "https://lucascosti.com/",
"contributions": [
"content",
"bug"
]
},
{
"login": "martin389",
"name": "Martin Lopes",
"avatar_url": "https://avatars3.githubusercontent.com/u/54248166?v=4",
"profile": "https://github.com/martin389",
"contributions": [
"content",
"bug"
]
},
{
"login": "mattpollard",
"name": "Matt Pollard",
"avatar_url": "https://avatars0.githubusercontent.com/u/1894408?v=4",
"profile": "https://github.com/mattpollard",
"contributions": [
"content",
"bug"
]
},
{
"login": "mchammer01",
"name": "mc",
"avatar_url": "https://avatars3.githubusercontent.com/u/42146119?v=4",
"profile": "https://github.com/mchammer01",
"contributions": [
"content",
"bug"
]
},
{
"login": "megbird",
"name": "Meg Bird",
"avatar_url": "https://avatars2.githubusercontent.com/u/5658046?v=4",
"profile": "http://meaganbird.com/",
"contributions": [
"content",
"bug"
]
},
{
"login": "myarb",
"name": "Melanie Yarbrough",
"avatar_url": "https://avatars2.githubusercontent.com/u/11952755?v=4",
"profile": "https://github.com/myarb",
"contributions": [
"content",
"bug"
]
},
{
"login": "rachmari",
"name": "Rachael Sewell",
"avatar_url": "https://avatars2.githubusercontent.com/u/9831992?v=4",
"profile": "https://github.com/rachmari",
"contributions": [
"content",
"bug"
]
},
{
"login": "runleonarun",
"name": "Leona B. Campbell",
"avatar_url": "https://avatars1.githubusercontent.com/u/3880403?v=4",
"profile": "https://github.com/runleonarun",
"contributions": [
"content",
"bug"
]
},
{
"login": "sarahs",
"name": "Sarah Schneider",
"avatar_url": "https://avatars3.githubusercontent.com/u/821071?v=4",
"profile": "https://github.com/sarahs",
"contributions": [
"bug",
"code"
]
},
{
"login": "shati-patel",
"name": "Shati Patel",
"avatar_url": "https://avatars3.githubusercontent.com/u/42641846?v=4",
"profile": "https://github.com/shati-patel",
"contributions": [
"content",
"bug"
]
},
{
"login": "simpsoka",
"name": "Kathy Korevec",
"avatar_url": "https://avatars3.githubusercontent.com/u/704152?v=4",
"profile": "http://kathy.pm/",
"contributions": [
"content",
"bug"
]
},
{
"login": "timeyoutakeit",
"name": "Amy Burns",
"avatar_url": "https://avatars3.githubusercontent.com/u/5012825?v=4",
"profile": "https://github.com/timeyoutakeit",
"contributions": [
"content",
"bug"
]
},
{
"login": "vanessayuenn",
"name": "Vanessa Yuen",
"avatar_url": "https://avatars3.githubusercontent.com/u/6842965?v=4",
"profile": "https://github.com/vanessayuenn",
"contributions": [
"bug",
"code"
]
},
{
"login": "zeke",
"name": "Zeke Sikelianos",
"avatar_url": "https://avatars1.githubusercontent.com/u/2289?v=4",
"profile": "http://zeke.sikelianos.com/",
"contributions": [
"bug",
"code"
]
}
],
"contributorsPerLine": 7,
"projectName": "docs",
"projectOwner": "github",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true,
"commitConvention": "none"
}

6
.env.example Normal file
View File

@@ -0,0 +1,6 @@
ALGOLIA_API_KEY=
ALGOLIA_APPLICATION_ID=
ALLOW_TRANSLATION_COMMITS=
EARLY_ACCESS_HOSTNAME=
EARLY_ACCESS_SHARED_SECRET=
GITHUB_TOKEN=

6
.gitattributes vendored Normal file
View File

@@ -0,0 +1,6 @@
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto
# Explicitly declare text files we want to always be normalized and converted
# to native line endings on checkout.
*.md text

16
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,16 @@
# Order is important. The LAST matching pattern has the MOST precedence.
# gitignore style patterns are used, not globs.
# https://help.github.com/articles/about-codeowners
# https://git-scm.com/docs/gitignore
/translations/ @github/docs-localization @github-actions
*.js @github/docs-engineering
/.github/ @github/docs-engineering
/script/ @github/docs-engineering
app.json @github/docs-engineering
crowdin.yml @github/docs-engineering
Dockerfile @github/docs-engineering
package-lock.json @github/docs-engineering
package.json @github/docs-engineering
/content/github/site-policy/ @github/site-policy-admins

View File

@@ -0,0 +1,44 @@
---
name: Docs Engineering support request
about: Get help from the Docs Engineering team with bugs, site features, testing, deployment, etc.
title: ''
labels: engineering
projects: github/1269
assignees: ''
---
<!--
Confirm you've read the escalation documentation for the content platform engineering team before
submitting this issue:
https://github.com/github/docs-engineering/blob/main/docs/escalation/docs.md
-->
### What's happening?
<!-- include links to existing issues, PRs, and failing checks if applicable -->
### What did you expect to happen?
### What have you tried?
<!-- delete this section if its not relevant to your issue -->
- [ ] Inspected failing test output 🔍
- [ ] Reproduced the problem locally on your own computer 💻
- [ ] Redeployed to staging
- [ ] Asked writers on the `@github/product-docs` team for 👀
- [ ] Other...
### What is the timeframe?
<!--
If you are blocked on a PR, when does it ship? Otherwise, an estimated timeframe
is helpful (for example, "TBD next month" or even "Whenever you get to it")
If this issue requires immediate attention, please let us know on Slack in #docs-engineering
after you've opened it.
-->
<!--
This issue will be automatically added to the Docs Engineering - Backlog to be triaged by our first responder and EPD leads. We typically triage on Monday.
-->

View File

@@ -0,0 +1,15 @@
---
name: Enterprise Release issue
about: Playbook for releasing new Enterprise versions
title: ''
labels: engineering
assignees: ''
---
- [ ] Prepend the new version string to the `supported` array in [lib/enterprise-server-releases.js](lib/enterprise-server-releases.js)
- [ ] Run `npm run sync-search` to generate and upload new Algolia indices in each supported language for the new GHE version. You can also run `npm run sync-search-dry-run` to do a test build of all the indices without actually uploading anything to Algolia's servers. See [search.md#development](https://github.com/github/docs-internal/blob/main/search.md#development) for more details.
- [ ] Run `script/update-enterprise-dates.js` to get the latest Enterprise release and deprecation dates.
**Note**: The `update-enterprise-dates.js` script requires that you have a GitHub Personal Access Token in a `.env` file. See [script/README.md](https://github.com/github/docs-internal/blob/main/script/README.md#additional-scripts) for details.
cc @github/docs-engineering

View File

@@ -0,0 +1,13 @@
---
name: Docs content issues have moved!
about: Create an issue about existing content (not upcoming releases/ships), whether reported by users or noticed by Hubbers.
title: ''
labels:
- Improve existing docs
assignees: ''
---
# Docs content issues have moved!
When we open source in October :tada: all of our issue templates will be visible to the public. From now on, you can open new docs issues for docs.github.com in our [docs-content repo](https://github.com/github/docs-content) :dizzy:
# :boom::point_right:[new issue templates](https://github.com/github/docs-content/issues/new/choose):point_left::boom:

27
.github/ISSUE_TEMPLATE/issue-party.md vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Issue party content strategy plan
about: Create an issue about existing content for external contributors to work on in the soon to be public repo.
title: ''
labels:
- transfer-to-oss
assignees: ''
---
## Issue party content strategy plan
## Content plan
_Summarize the issue, the impact on GitHub users, and the documentation changes we'll make to resolve the issue._
### Audience
Describe the audience for the change.
### Content to update
List the articles we'll update with relevant details on the change to make.
### Questions
If you have any questions after writing a plan, ask them here!

15
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,15 @@
<!--
Hello! Thanks for your interest in contributing to this project.
Before opening a PR, please see our [CONTRIBUTING.md](https://github.com/github/docs-internal/blob/main/CONTRIBUTING.md) for information about how we discuss and track changes.
Please link to a corresponding issue when you open a PR:
- If there's an existing issue for your change, please link to it.
- If there's _not_ an existing issue, please open one first according to the contributing guidelines: https://github.com/github/docs-internal/issues/new/choose.
For code/platform related requests, please open a Docs Engineering support request using [this template](https://github.com/github/docs-internal/issues/new?assignees=&labels=engineering&template=engineering-issue.md&title=).
For changes to content in [site policy](https://github.com/github/docs-internal/tree/main/content/github/site-policy), please use the [site policy PR template](https://github.com/github/site-policy-internal/blob/master/site-policy-PR-template.md) in this PR and make sure to include the ping to `@github/site-policy-admins`.
Thanks again! :octocat:
-->

15
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
engineering:
- lib/*
- lib/**/*
- layouts/*
- layouts/**/*
- middleware/*
- middleware/**/*
- tests/*
- tests/**/*
- stylesheets/*
- stylesheets/**/*
- script/*
- script/**/*
- javascripts/*
- javascripts/**/*

View File

@@ -0,0 +1,20 @@
name: 60 Days Stale Check
on:
schedule:
- cron: "40 16 * * *" # Run each day at 16:40 UTC / 8:40 PST
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity.'
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity.'
days-before-stale: 60
days-before-close: -1
only-labels: 'engineering'
stale-issue-label: 'stale'
stale-pr-label: 'stale'

12
.github/workflows/auto-label-prs.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
name: Auto label Pull Requests
on:
- pull_request
jobs:
triage:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

37
.github/workflows/automerge.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: automerge
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}
jobs:
automerge:
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'automerge')
steps:
- name: automerge
uses: "pascalgn/automerge-action@135f0bdb927d9807b5446f7ca9ecc2c51de03c4a"
env:
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
MERGE_LABELS: "automerge"
MERGE_REMOVE_LABELS: ""
MERGE_COMMIT_MESSAGE: "pull-request-title"
MERGE_METHOD: "merge"
MERGE_FORKS: "true"
MERGE_RETRIES: "50"
MERGE_RETRY_SLEEP: "10000"
UPDATE_LABELS: "automerge"
UPDATE_METHOD: "merge"

37
.github/workflows/autosquash.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: autosquash
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}
jobs:
automerge:
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'autosquash')
steps:
- name: autosquash
uses: "pascalgn/automerge-action@135f0bdb927d9807b5446f7ca9ecc2c51de03c4a"
env:
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
MERGE_LABELS: "autosquash"
MERGE_REMOVE_LABELS: ""
MERGE_COMMIT_MESSAGE: "pull-request-title"
MERGE_METHOD: "squash"
MERGE_FORKS: "true"
MERGE_RETRIES: "50"
MERGE_RETRY_SLEEP: "10000"
UPDATE_LABELS: "automerge"
UPDATE_METHOD: "merge"

16
.github/workflows/autoupdate-branch.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: autoupdate branch
on:
push:
branches:
- main
jobs:
autoupdate:
name: autoupdate
runs-on: ubuntu-18.04
steps:
- uses: docker://chinthakagodawita/autoupdate-action:v1
env:
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
PR_FILTER: labelled
PR_LABELS: autoupdate
MERGE_MSG: "Branch was updated using the 'autoupdate branch' Actions workflow."

18
.github/workflows/browser-test.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: Browser Tests
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install
uses: ianwalter/puppeteer@3.0.0
with:
args: npm ci
- name: Test
uses: ianwalter/puppeteer@3.0.0
with:
args: npm run browser-test

View File

@@ -0,0 +1,36 @@
name: Check all English links
on:
schedule:
- cron: "40 19 * * *" # once a day at 19:40 UTC / 11:40 PST
jobs:
check_all_english_links:
name: Check all links
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: npm ci
run: npm ci
- name: npm run build
run: npm run build
- name: Run script
run: script/check-external-links en > broken_links.md
- name: Check if any broken links
id: check
run: |
if [ "$(grep 'All links are good' broken_links.md)" ]; then
echo ::set-output name=continue::no
else
echo "::set-output name=continue::yes"
echo "::set-output name=title::$(grep 'found on help.github.com' broken_links.md)"
fi
- if: ${{ steps.check.outputs.continue == 'yes' }}
name: Create issue from file
uses: peter-evans/create-issue-from-file@v2
with:
token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
title: ${{ steps.check.outputs.title }}
content-filepath: ./broken_links.md
labels: broken link report

23
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: "CodeQL analysis"
on:
push:
paths:
- '**/*.js'
- '.github/workflows/codeql.yml'
jobs:
build:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: github/codeql-action/init@v1
with:
languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
- uses: github/codeql-action/analyze@v1
continue-on-error: true

View File

@@ -0,0 +1,23 @@
on:
pull_request:
types: ['closed']
jobs:
comment:
if: github.event.repository.private == false && github.event.pull_request.merged && github.event.pull_request.base.ref == github.event.repository.default_branch
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
with:
script: |
github.issues.createComment({
...context.repo,
issue_number: context.payload.pull_request.number,
body: `Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. To add your ✨ contribution to the README.md, create a new comment in this PR with:
```
@all-contributors please add @${context.payload.pull_request.user.login} for docs
```
If you want to, you can use the [emoji key](https://allcontributors.org/docs/en/emoji-key) to replace docs with a different contribution type.`
})

30
.github/workflows/pa11y.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: "Pa11y"
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run build scripts
run: npm run build
- name: Run pa11y tests
run: npm run pa11y-test

21
.github/workflows/ping-staging-apps.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: Ping staging apps
on:
schedule:
- cron: "*/20 * * * *" # every twenty minutes
jobs:
ping_staging_apps:
name: Ping
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
env:
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
steps:
- uses: actions/checkout@v2
- name: npm ci
run: npm ci
- name: npm run build
run: npm run build
- name: Run script
run: script/ping-staging-apps.js

View File

@@ -0,0 +1,55 @@
name: Remove unused assets
env:
FREEZE: ${{ secrets.FREEZE }}
on:
schedule:
# - cron: "20 15 * * 0" # run every Sunday at 20:15 UTC / 12:15 PST
- cron: 0 0 1 1 * # run next January 1st, aka temporarily disabled
jobs:
remove_unused_assets:
name: Remove unused assets
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- if: ${{ env.FREEZE == 'true' }}
run: |
echo 'The repo is currently frozen! Exiting this workflow.'
exit 1 # prevents further steps from running
- name: Checkout
uses: actions/checkout@v2
- name: npm ci
run: npm ci
- name: Run scripts
run: |
script/remove-unused-assets.js > results.md
script/remove-extraneous-translation-files.js
- name: Get script results to use in PR body
id: results
uses: juliangruber/read-file-action@v1
with:
path: ./results.md
- name: Remove script results file
run: rm -rf ./results.md
- name: Create pull request
uses: peter-evans/create-pull-request@v2
with:
# need to use a token with repo and workflow scopes for this step
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
commit-message: Action ran script/remove-unused-assets.js
title: Remove unused assets
body: "Hello! This PR removes some files that exist in the repo but are not used in content or data files:\n\n
${{ steps.results.outputs.content }}
\n\nIf you have any questions, please contact @github/docs-engineering."
labels: unused assets
project: Core docs work for the current week
project-column: Should do
branch: remove-unused-assets
- if: ${{ failure() }}
name: Delete remote branch (if previous steps failed)
uses: dawidd6/action-delete-branch@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branches: remove-unused-assets

67
.github/workflows/repo-sync.yml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: Repo Sync
on:
schedule:
- cron: "*/15 * * * *" # every 15 minutes
env:
FREEZE: ${{ secrets.FREEZE }}
jobs:
repo-sync:
name: Repo Sync
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Exit if repo is frozen
if: ${{ env.FREEZE == 'true' }}
run: |
echo 'The repo is currently frozen! Exiting this workflow.'
exit 1 # prevents further steps from running
- name: Check out repo
uses: actions/checkout@v2
- name: Sync repo to branch
uses: repo-sync/github-sync@v2.1.0
env:
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
with:
source_repo: ${{ secrets.SOURCE_REPO }}
source_branch: main
destination_branch: repo-sync
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
- name: Create pull request
uses: repo-sync/pull-request@v2
env:
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
with:
source_branch: repo-sync
destination_branch: main
pr_title: "repo sync"
pr_body: "This is an automated pull request to sync changes between the public and private docs repos.\n\n:robot: Please let a bot do the merging!"
pr_label: "automerge"
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
- name: Find pull request
uses: juliangruber/find-pull-request-action@v1
id: find-pull-request
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
branch: repo-sync
- name: Approve pull request
if: ${{ steps.find-pull-request.outputs.number }}
uses: juliangruber/approve-pull-request-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
number: ${{ steps.find-pull-request.outputs.number }}
- name: Send Slack notification if workflow fails
uses: rtCamp/action-slack-notify@master
if: failure()
env:
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22

View File

@@ -0,0 +1,28 @@
name: Send Issue to EPD backlog
on:
issues:
types: [labeled, reopened]
jobs:
triage:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Add issues with engineering label to project board
if: contains(github.event.issue.labels.*.name, 'engineering') || contains(github.event.issue.labels.*.name, 'design') || contains(github.event.issue.labels.*.name, 'Design')
uses: actions/github-script@v2
with:
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
script: |
var column_id = 9659080;
try {
github.projects.createCard({
column_id: column_id,
content_id: context.payload.issue.id,
content_type: "Issue"
});
} catch (error) {
console.log(error);
}

View File

@@ -0,0 +1,64 @@
name: Start new engineering PR workflow
on:
pull_request:
types: [opened, reopened]
jobs:
triage:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
continue-on-error: true
env:
DRAFT_COLUMN_ID: 10095775
REGULAR_COLUMN_ID: 10095779
steps:
- name:
uses: actions/github-script@v2
with:
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
script: |
// Only assign the engineering folks
try {
await github.teams.getMembershipForUserInOrg({
org: 'github',
team_slug: 'docs-engineering',
username: context.payload.sender.login,
});
} catch(err) {
return
}
// Set column ID
const column_id = context.payload.pull_request.draft
? process.env.DRAFT_COLUMN_ID
: process.env.REGULAR_COLUMN_ID
// Try to create the card on the GitHub Project
try {
await github.projects.createCard({
column_id: column_id,
content_type: 'PullRequest',
content_id: context.payload.pull_request.id
});
} catch(error) {
console.log(error);
}
// Try to set the author as the assignee
const owner = context.payload.repository.owner.login
const repo = context.payload.repository.name
try {
await github.issues.addAssignees({
owner: owner,
repo: repo,
issue_number: context.payload.pull_request.number,
assignees: [
context.payload.sender.login
]
});
} catch(error) {
console.log(error);
}

View File

@@ -0,0 +1,39 @@
name: Algolia
on:
push:
branches:
- main
jobs:
updateIndices:
name: Update indices
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: "12.x"
- name: cache node modules
uses: actions/cache@v1
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: npm ci
run: npm ci
- name: sync indices
env:
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run sync-search
- name: Send slack notification if workflow run fails
uses: rtCamp/action-slack-notify@v2.1.0
if: failure()
env:
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. See https://github.com/github/docs-internal/actions?query=workflow%3AAlgolia

79
.github/workflows/test-translations.yml vendored Normal file
View File

@@ -0,0 +1,79 @@
# NOTE: Changes to this file should also be applied to './test-windows.yml' and './test.yml'
name: Node.js Tests - Translations
on:
schedule:
- cron: "10 20 * * *" # once a day at 20:10 UTC / 12:10 PST
jobs:
lint:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v2
with:
ref: translations # check out the 'translations' branch
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run linter
run: npx standard
- name: Check dependencies
run: npm run check-deps
test:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
test-group: [content, meta, rendering, routing, unit, links-and-images]
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run tests
run: npx jest tests/${{ matrix.test-group }}/

83
.github/workflows/test-windows.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
# NOTE: Changes to this file should also be applied to './test.yml' and './test-translations.yml'
name: Node.js Tests - Windows
on:
schedule:
- cron: "50 19 * * *" # once a day at 19:50 UTC / 11:50 PST
env:
CI: true
jobs:
lint:
if: github.repository == 'github/docs-internal'
runs-on: windows-latest
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run linter
run: npx standard
- name: Check dependencies
run: npm run check-deps
test:
if: github.repository == 'github/docs-internal'
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
test-group: [content, meta, rendering, routing, unit, links-and-images]
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run build script
run: npm run build
- name: Run tests
run: npx jest tests/${{ matrix.test-group }}/

92
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,92 @@
# NOTE: Changes to this file should also be applied to './test-windows.yml' and './test-translations.yml'
name: Node.js Tests
on:
push:
branches:
- main
pull_request:
branches-ignore:
- translations
env:
CI: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run linter
run: npx standard
- name: Check dependencies
run: npm run check-deps
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
test-group: [content, meta, rendering, routing, unit, links-and-images]
steps:
- name: Check out repo
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: npm ci
- name: Run build script
run: npm run build
- name: Run tests
run: npx jest tests/${{ matrix.test-group }}/
- name: Send Slack notification if workflow fails
uses: rtCamp/action-slack-notify@master
if: failure() && github.ref == 'early-access'
env:
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
SLACK_MESSAGE: "Tests are failing on the `early-access` branch. https://github.com/github/docs-internal/tree/early-access"

56
.github/workflows/translations.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: Translations
on:
schedule:
- cron: "20 19 * * *" # once a day at 19:20 UTC / 11:20 PST
env:
FREEZE: ${{ secrets.FREEZE }}
jobs:
prepare:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- if: ${{ env.FREEZE == 'true' }}
run: |
echo 'The repo is currently frozen! Exiting this workflow.'
exit 1 # prevents further steps from running
- name: Find original Pull Request
uses: juliangruber/find-pull-request-action@v1
id: pr
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
branch: translations
- if: ${{ steps.pr.outputs.number }}
name: Check if already labeled
uses: actions/github-script@0.9.0
id: has-label
with:
script: |
const { data: labels } = await github.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: ${{ steps.pr.outputs.number }}
})
if (labels.find(label => label.name === 'automerge')) {
return 'ok'
}
- if: ${{ !steps.has-label.outputs.result }}
name: Approve Pull Request
uses: juliangruber/approve-pull-request-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
number: ${{ steps.pr.outputs.number }}
- if: ${{ !steps.has-label.outputs.result }}
name: Add automerge label
uses: actions/github-script@0.9.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: ${{ steps.pr.outputs.number }},
labels: ['automerge']
})

View File

@@ -0,0 +1,72 @@
name: Update GraphQL files
# **IMPORTANT:** Do not change the FREEZE environment variable set here.
# This workflow runs every hour. To temporarily disable it (for example, during
# a docs freeze), add a secret to the docs repo settings called `FREEZE`
# with a value of `true`. To reenable GraphQL updates, delete the secret in
# the repo settings. The env variable here will evaluate whether the secret exists.
env:
FREEZE: ${{ secrets.FREEZE }}
on:
schedule:
- cron: "20 16 * * *" # run every day at 16:20 UTC / 8:20 PST
jobs:
update_graphql_files:
if: github.repository == 'github/docs-internal'
runs-on: ubuntu-latest
steps:
- if: ${{ env.FREEZE == 'true' }}
run: |
echo 'The repo is currently frozen! Exiting this workflow.'
exit 1 # prevents further steps from running
- name: Checkout
uses: actions/checkout@v2
- name: Set up Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: '2.4'
- name: Install Ruby dependencies
run: |
gem install bundler
bundle install
- name: Install Node.js dependencies
run: npm ci
- name: Run updater scripts
env:
# need to use a token from a user with access to github/github for this step
GITHUB_TOKEN: ${{ secrets.ZEKE_PAT_WITH_REPO_AND_WORKFLOW_SCOPE_FOR_REPO_SYNC }}
# technically the changelog should only be updated once per day, but we can safely
# run build-changelog-from-markdown.js in its current form once per hour; when we
# rewrite the changelog script, we may need to run it in a separate workflow on a
# once-per-day schedule; see details in https://github.com/github/docs-internal/issues/12722.
run: |
script/graphql/update-files.js
script/graphql/build-changelog-from-markdown.js
- name: Create pull request
id: create-pull-request
uses: peter-evans/create-pull-request@v2
with:
# need to use a token with repo and workflow scopes for this step
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
commit-message: 'Action ran graphql scripts "update-files" and "build-changelog-from-markdown"'
title: GraphQL schema update
body: "Hello! Some GraphQL data in github/github was updated recently. This PR
syncs up the GraphQL data in this repo.\n\n
If CI passes, this PR will be auto-merged. :green_heart:\n\n
If CI does not pass or other problems arise, contact #docs-engineering on slack."
labels: automerge
branch: graphql-schema-update
- if: ${{ failure() }}
name: Delete remote branch (if previous steps failed)
uses: dawidd6/action-delete-branch@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branches: graphql-schema-update
- if: ${{ steps.create-pull-request.outputs.pr_number }}
name: Approve
uses: juliangruber/approve-pull-request-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
number: ${{ steps.create-pull-request.outputs.pr_number }}

11
.gitignore vendored Normal file
View File

@@ -0,0 +1,11 @@
.algolia-cache
.DS_Store
.env
node_modules
npm-debug.log
coverage
# blc: broken link checker
blc_output.log
blc_output_internal.log
dist

1
.node-version Normal file
View File

@@ -0,0 +1 @@
12.8.0

2
.npmrc Normal file
View File

@@ -0,0 +1,2 @@
# skip installing optional dependencies to avoid issues with troublesome `fsevents` module
optional=false

104
.pa11yci Normal file
View File

@@ -0,0 +1,104 @@
{
"urls": [
"http://localhost:4001/en",
"http://localhost:4001/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent",
"http://localhost:4001/en/github/working-with-github-pages",
"http://localhost:4001/en/github/authenticating-to-github/connecting-to-github-with-ssh",
"http://localhost:4001/en/github/site-policy/github-terms-of-service",
"http://localhost:4001/en/github/site-policy/github-privacy-statement",
"http://localhost:4001/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account",
"http://localhost:4001/en/github/authenticating-to-github/creating-a-strong-password",
"http://localhost:4001/en/github",
"http://localhost:4001/en/github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line",
"http://localhost:4001/en/actions",
"http://localhost:4001/en/github/authenticating-to-github/creating-a-personal-access-token",
"http://localhost:4001/en/github/authenticating-to-github/checking-for-existing-ssh-keys",
"http://localhost:4001/en/github/using-git/changing-a-remotes-url",
"http://localhost:4001/en/github/getting-started-with-github/set-up-git",
"http://localhost:4001/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository",
"http://localhost:4001/en/github/writing-on-github/basic-writing-and-formatting-syntax",
"http://localhost:4001/en/actions/reference/workflow-syntax-for-github-actions",
"http://localhost:4001/en/github/using-git/which-remote-url-should-i-use",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line",
"http://localhost:4001/en/github/using-git/setting-your-username-in-git",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address",
"http://localhost:4001/en/github/authenticating-to-github/configuring-two-factor-authentication",
"http://localhost:4001/en/github/using-git/adding-a-remote",
"http://localhost:4001/en/rest",
"http://localhost:4001/en/github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/changing-your-primary-email-address",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile",
"http://localhost:4001/en/github/authenticating-to-github/error-permission-denied-publickey",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository",
"http://localhost:4001/en/github/committing-changes-to-your-project/changing-a-commit-message",
"http://localhost:4001/en/github/getting-started-with-github/types-of-github-accounts",
"http://localhost:4001/en/github/using-git/pushing-commits-to-a-remote-repository",
"http://localhost:4001/en/github/authenticating-to-github/testing-your-ssh-connection",
"http://localhost:4001/en/github/getting-started-with-github/fork-a-repo",
"http://localhost:4001/en/graphql",
"http://localhost:4001/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site",
"http://localhost:4001/en/developers",
"http://localhost:4001/en/github/getting-started-with-github/supported-browsers",
"http://localhost:4001/en/github/managing-your-work-on-github/about-project-boards",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork",
"http://localhost:4001/en/github/working-with-github-pages/creating-a-github-pages-site",
"http://localhost:4001/en/github/authenticating-to-github/working-with-ssh-key-passphrases",
"http://localhost:4001/en/github/authenticating-to-github",
"http://localhost:4001/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages",
"http://localhost:4001/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site",
"http://localhost:4001/en/github/working-with-github-pages/about-github-pages",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-profile",
"http://localhost:4001/en/actions/getting-started-with-github-actions/about-github-actions",
"http://localhost:4001/en/github/getting-started-with-github",
"http://localhost:4001/en/github/creating-cloning-and-archiving-repositories/duplicating-a-repository",
"http://localhost:4001/en/actions/getting-started-with-github-actions",
"http://localhost:4001/en/actions/reference/events-that-trigger-workflows",
"http://localhost:4001/en/desktop/getting-started-with-github-desktop/installing-github-desktop",
"http://localhost:4001/en/github/using-git/ignoring-files",
"http://localhost:4001/en/desktop",
"http://localhost:4001/en/packages",
"http://localhost:4001/en/actions/configuring-and-managing-workflows/configuring-a-workflow",
"http://localhost:4001/en/github/authenticating-to-github/managing-commit-signature-verification",
"http://localhost:4001/en/github/setting-up-and-managing-organizations-and-teams/about-oauth-app-access-restrictions",
"http://localhost:4001/en/github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line",
"http://localhost:4001/en/github/getting-started-with-github/access-permissions-on-github",
"http://localhost:4001/en/github/getting-started-with-github/githubs-products",
"http://localhost:4001/en/packages/publishing-and-managing-packages/about-github-packages",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews",
"http://localhost:4001/en/github/writing-on-github/creating-and-highlighting-code-blocks",
"http://localhost:4001/en/github/searching-for-information-on-github/searching-issues-and-pull-requests",
"http://localhost:4001/en/actions/reference/context-and-expression-syntax-for-github-actions",
"http://localhost:4001/en/github/managing-files-in-a-repository/navigating-code-on-github",
"http://localhost:4001/en/github/teaching-and-learning-with-github-education/applying-for-a-student-developer-pack",
"http://localhost:4001/en/github/using-git/caching-your-github-credentials-in-git",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/changing-your-github-username",
"http://localhost:4001/en/github/getting-started-with-github/create-a-repo",
"http://localhost:4001/en/github/working-with-github-pages/getting-started-with-github-pages",
"http://localhost:4001/en/github/administering-a-repository/deleting-a-repository",
"http://localhost:4001/en/actions/configuring-and-managing-workflows/using-environment-variables",
"http://localhost:4001/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets",
"http://localhost:4001/en/github/authenticating-to-github/removing-sensitive-data-from-a-repository",
"http://localhost:4001/en/github/using-git/removing-a-remote",
"http://localhost:4001/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line",
"http://localhost:4001/en/github/setting-up-and-managing-billing-and-payments-on-github/setting-your-billing-email",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account",
"http://localhost:4001/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue",
"http://localhost:4001/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates",
"http://localhost:4001/en/github/authenticating-to-github/about-two-factor-authentication",
"http://localhost:4001/en/github/working-with-github-pages/about-custom-domains-and-github-pages",
"http://localhost:4001/en/github/searching-for-information-on-github/searching-code",
"http://localhost:4001/en/github/using-git/configuring-git-to-handle-line-endings",
"http://localhost:4001/en/github/using-git/getting-changes-from-a-remote-repository",
"http://localhost:4001/en/github/authenticating-to-github/generating-a-new-gpg-key",
"http://localhost:4001/en/github/authenticating-to-github/accessing-github-using-two-factor-authentication",
"http://localhost:4001/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository",
"http://localhost:4001/en/github/getting-started-with-github/verifying-your-email-address",
"http://localhost:4001/en/github/setting-up-and-managing-your-github-profile/personalizing-your-profile",
"http://localhost:4001/en/github/working-with-github-pages/setting-up-a-github-pages-site-with-jekyll",
"http://localhost:4001/en/github/managing-subscriptions-and-notifications-on-github",
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork"
]
}

5
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"files.exclude": {
"**/translations": true
}
}

79
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,79 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at opensource@github.com. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at <https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at <https://www.contributor-covenant.org/faq>. Translations are available at <https://www.contributor-covenant.org/translations>.

194
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,194 @@
# Contributing to this repository <!-- omit in toc -->
We welcome contributions from the community. Read on to learn about the ways you can contribute to GitHub Docs.
- [Types of contributions :memo:](#types-of-contributions-memo)
- [:mega: Discussions](#mega-discussions)
- [:beetle: Issues](#beetle-issues)
- [:hammer_and_wrench: Pull requests](#hammer_and_wrench-pull-requests)
- [:question: Support](#question-support)
- [:earth_asia: Translations](#earth_asia-translations)
- [:balance_scale: Site Policy](#balance_scale-site-policy)
- [Starting with an issue](#starting-with-an-issue)
- [Labels](#labels)
- [Opening a pull request](#opening-a-pull-request)
- [Fork using GitHub Desktop](#fork-using-github-desktop)
- [Fork using the command line](#fork-using-the-command-line)
- [Working in the github/docs repository](#working-in-the-githubdocs-repository)
- [Resolving merge conflicts](#resolving-merge-conflicts)
- [In the GitHub user interface](#in-the-github-user-interface)
- [Editing the file and committing the changes](#editing-the-file-and-committing-the-changes)
- [Troubleshooting](#troubleshooting)
- [Failed status checks](#failed-status-checks)
- [Draft pull requests](#draft-pull-requests)
- [Reviewing](#reviewing)
- [Self review](#self-review)
- [Pull request template](#pull-request-template)
- [Suggested changes](#suggested-changes)
- [Windows](#windows)
## Types of contributions :memo:
You can contribute to the GitHub Docs content and site in several ways.
### :mega: Discussions
Discussions are where we have conversations.
If you'd like help troubleshooting a docs PR you're working on, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/github/docs/discussions).
### :beetle: Issues
[Issues](https://docs.github.com/en/github/managing-your-work-on-github/about-issues) are used to track tasks that contributors can help with. If an issue has a triage label, we haven't reviewed it yet and you shouldn't begin work on it.
If you've found something in the content or the website that should be updated, search open issues to see if someone else has reported the same thing. If it's something new, open an issue using a [template](https://github.com/github/docs/issues/new/choose). We'll use the issue to have a conversation about the problem you want to fix.
### :hammer_and_wrench: Pull requests
A [pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) is a way to suggest changes in our repository.
When we merge those changes, they should be deployed to the live site within 24 hours. :earth_africa: To learn more about opening a pull request in this repo, see [Opening a pull request](#opening-a-pull-request) below.
### :question: Support
We are a small team working hard to keep up with the documentation demands of a continously changing product. Unfortunately, we just can't help with support questions in this repository. If you are experiencing a problem with GitHub, unrelated to our documentation, please [contact GitHub Support directly](https://support.github.com/contact). Any issues, discussions, or pull requests opened here requesting support will be given information about how to contact GitHub Support, then closed and locked.
If you're having trouble with your GitHub account, contact [Support](https://support.github.com/contact).
### :earth_asia: Translations
This website is internationalized and available in multiple languages. The source content in this repository is written in English. We integrate with an external localization platform called [Crowdin](https://crowdin.com) and work with professional translators to localize the English content.
**We do not currently accept contributions for translated content**, but we hope to in the future.
### :balance_scale: Site Policy
GitHub's site policies are published on docs.github.com, too!
If you find a typo in the site policy section, you can open a pull request to fix it. For anything else, see [the CONTRIBUTING guide in the site-policy repo](https://github.com/github/site-policy/blob/main/CONTRIBUTING.md).
## Starting with an issue
You can browse existing issues to find something that needs help!
### Labels
Labels can help you find an issue you'd like to help with.
- The [`good-first-issue` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3Agood-first-issue) is for problems or updates we think are ideal for beginners.
- The [`content` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3Acontent) is for problems or updates in the content on docs.github.com. These will usually require some knowledge of Markdown.
- The [`engineering` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3Aengineering) is for problems or updates in the docs.github.com website. These will usually require some knowledge of JavaScript/Node.js or YAML to fix.
## Opening a pull request
You can use the GitHub user interface :pencil2: for some small changes, like fixing a typo or updating a readme. You can also fork the repo and then clone it locally, to view changes and run your tests on your machine.
### Fork using GitHub Desktop
[Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)!
### Fork using the command line
1. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) the repo.
2. Open the terminal.
3. Enter the following command. Use your GitHub username instead of `YOUR-USERNAME`.
```
git clone git@github.com:YOUR-USERNAME/docs
```
## Working in the github/docs repository
Here's some information that might be helpful while working on a Docs PR:
- [Content markup reference](/contributing/content-markup-reference.md) - All of our content is written in GitHub-flavored Markdown, with some additional enhancements.
- [Content style guide for GitHub Docs](/contributing/content-style-guide.md) - This guide covers GitHub-specific information about how we style our content and images. It also links to the resources we use for general style guidelines.
- [Reusables](/data/reusables/README.md) - We use reusables to help us keep content up to date. Instead of writing the same long string of information in several articles, we create a reusable, then call it from the individual articles.
- [Variables](/data/variables/README.md) - We use variables the same way we use reusables. Variables are for short strings of reusable text.
- [Liquid](/contribution/liquid-helpers.md) - We use liquid helpers to create different versions of our content.
- [Scripts](/script/README.md) - The scripts directory is the home for all of the scripts you can run locally.
- [Tests](/tests/README.md) - We use tests to ensure content will render correctly on the site. Tests run automatically in your PR, and sometimes it's also helpful to run them locally.
## Resolving merge conflicts
When you try to merge two branches that change the same part of the same file, you will get a merge conflict.
### In the GitHub user interface
You can resolve the merge conflicts in the [GitHub UI](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github). This is useful for small conflicts, but if the conflict is more involved, you'll want to use your editor.
#### Editing the file and committing the changes
1. On the command line or GitHub Desktop, note the file that contains merge conflicts.
2. Open the file in your editor.
3. In the file, look for the merge conflict markers. (this is what it looks like in Atom)
```command-line
<<<<<<< HEAD
Here are your changes.
=====================
Here are the changes you are pulling in.
>>>>>>> main
```
4. Decide which changes to keep and delete the unwanted changes and the merge conflict markers. If there are multiple files with merge conflicts, repeat this step until you resolve all conflicts.
```command-line
Here are your changes.
```
**Note**: Resolving merge conflicts requires thought; it isn't purely mechanical and rote. Sometimes you outright accept your own changes, sometimes you take the upstream changes, and sometimes you combine the two to make a glorious hybrid update.
5. To commit your new changes:
- Using Desktop:
- Check out this [GitHub Desktop](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project) article.
- Using the terminal:
- Stage the file (or files) you just modified for commit.
```command-line
$ git add <EXAMPLE-CHANGED-FILE.md>
```
- Commit the file to your local branch.
```command-line
$ git commit -m "resolves merge conflicts"
```
- Push the committed changes to the remote branch of the repository on GitHub.
```command-line
$ git push origin
```
## Troubleshooting
If you get stuck while you're trying to contribute, see if someone else has had a similar problem in [discussions](https://github.com/github/docs/discussions). If not, open a new discussion!
While you're there, we'd appreciate any help answering questions you feel knowledgeable about.
### Failed status checks
If your pull request has failing status checks, [Troubleshooting](/contributing/troubleshooting.md) will walk you through some of the possible reasons.
## Draft pull requests
Do not review any [draft PRs](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests), they're not ready! The docs team uses draft PRs to work on projects over time. When the PR is ready for feedback, we'll change the state from draft to ready for review.
## Reviewing
We (usually the docs team, but sometimes GitHub product managers, engineers, or supportocats too!) review every single PR. The purpose of reviews is to create the best content we can for people who use GitHub.
:yellow_heart: Reviews are always respectful, acknowledging that everyone did the best possible job with the knowledge they had at the time.
:yellow_heart: Reviews discuss content, not the person who created it.
:yellow_heart: Reviews are constructive and start conversation around feedback.
### Self review
You should always review your own PR first.
For content changes, make sure that you:
- [ ] Confirm that the changes address every part of the content strategy plan from your issue (if there are differences, explain them).
- [ ] Review the content for technical accuracy.
- [ ] Review the entire pull request using the [localization checklist](contribution/localization-checklist.md).
- [ ] Copy-edit the changes for grammar, spelling, and adherence to the style guide.
- [ ] Check new or updated Liquid statements to confirm that versioning is correct.
- [ ] Check that all of your changes render correctly in staging. Remember, that lists and tables can be tricky.
- [ ] If there are any failing checks in your PR, troubleshoot them until they're all passing.
### Pull request template
When you open a pull request, you must fill out the "Ready for review" template before we can review your PR. This template helps reviewers understand your changes and the purpose of your pull request.
### Suggested changes
We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations).
## Windows
This site can be developed on Windows, however a few potential gotchas need to be kept in mind:
1. Regular Expressions: Windows uses `\r\n` for line endings, while Unix based systems use `\n`. Therefore when working on Regular Expressions, use `\r?\n` instead of `\n` in order to support both environments. The Node.js [`os.EOL`](https://nodejs.org/api/os.html#os_os_eol) property can be used to get an OS-specific end-of-line marker.
1. Paths: Windows systems use `\` for the path separator, which would be returned by `path.join` and others. You could use `path.posix`, `path.posix.join` etc and the [slash](https://ghub.io/slash) module, if you need forward slashes - like for constructing URLs - or ensure your code works with either.
1. Bash: Not every Windows developer has a terminal that fully supports Bash, so it's generally preferred to write [scripts](/script) in JavaScript instead of Bash.

67
Dockerfile Normal file
View File

@@ -0,0 +1,67 @@
# This Dockerfile can be used for docker-based deployments to platforms
# like Now or Moda, but it is currently _not_ used by our Heroku deployments
# It uses three multi-stage builds: `installation`, `bundles`, and the main build.
# --------------------------------------------------------------------------------
# INSTALLATION IMAGE
# A temporary image that installs production-only dependencies
FROM node:12-alpine as installation
ENV NODE_ENV production
WORKDIR /usr/src/docs
COPY package*.json ./
# Install the project's dependencies
RUN npm ci
# --------------------------------------------------------------------------------
# BUNDLE IMAGE
# A temporary image that installs dependencies and builds the production-ready front-end bundles.
FROM node:12-alpine as bundles
WORKDIR /usr/src/docs
# Install the files used to create the bundles
COPY package*.json ./
COPY javascripts ./javascripts
COPY stylesheets ./stylesheets
COPY lib ./lib
COPY webpack.config.js ./webpack.config.js
# Install the project's dependencies and build the bundles
RUN npm ci && npm run build
# --------------------------------------------------------------------------------
# MAIN IMAGE
FROM node:12-alpine
# Let's make our home
WORKDIR /usr/src/docs
# Ensure our node user owns the directory we're using
RUN chown node:node /usr/src/docs -R
# This should be our normal running user
USER node
# Copy our dependencies
COPY --chown=node:node --from=installation /usr/src/docs/node_modules /usr/src/docs/node_modules
# Copy our front-end code
COPY --chown=node:node --from=bundles /usr/src/docs/dist /usr/src/docs/dist
# We should always be running in production mode
ENV NODE_ENV production
# Copy only what's needed to run the server
COPY --chown=node:node assets ./assets
COPY --chown=node:node content ./content
COPY --chown=node:node data ./data
COPY --chown=node:node includes ./includes
COPY --chown=node:node lib ./lib
COPY --chown=node:node middleware ./middleware
COPY --chown=node:node translations ./translations
COPY --chown=node:node server.js ./server.js
COPY --chown=node:node package*.json ./
EXPOSE 443
CMD ["node", "server.js"]

5
Gemfile Normal file
View File

@@ -0,0 +1,5 @@
source 'http://rubygems.org'
# ruby '2.4'
gem 'graphql', '1.10.6'
gem 'graphql-schema_comparator', '~> 1.0.0'

19
Gemfile.lock Normal file
View File

@@ -0,0 +1,19 @@
GEM
remote: http://rubygems.org/
specs:
graphql (1.10.6)
graphql-schema_comparator (1.0.0)
bundler (>= 1.14)
graphql (~> 1.10)
thor (>= 0.19, < 2.0)
thor (1.0.1)
PLATFORMS
ruby
DEPENDENCIES
graphql (= 1.10.6)
graphql-schema_comparator (~> 1.0.0)
BUNDLED WITH
2.1.4

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

1
Procfile Normal file
View File

@@ -0,0 +1 @@
web: NODE_ENV=production node server.js

162
README.md
View File

@@ -1,4 +1,160 @@
enterprise-docs
===============
## GitHub Docs <!-- omit in toc -->
Knowledge base articles for GitHub Enterprise written in Markdown
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](#contributing)
- [READMEs](#readmes)
- [Developing](#developing)
- [Site structure](#site-structure)
- [Error handling](#error-handling)
- [Search](#search)
- [License](#license)
- [Contributors ✨](#contributors-)
## Contributing
:memo: To find out how you can best contribute to GitHub's product documentation, see [CONTRIBUTING.md](/CONTRIBUTING.md).
:mega: 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](https://github.com/github/docs/discussions).
:beetle: If you've found a problem, you can open an issue using a [template](https://github.com/github/docs/issues/new/choose).
:question: If you're having trouble with your GitHub account, contact [Support](https://support.github.com/contact).
:yellow_heart: We do not accept pull requests for translated content - see [CONTRIBUTING.md](/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:
- [content/README.md](content/README.md)
- [data/README.md](data/README.md)
- [data/reusables/README.md](data/reusables/README.md)
- [data/variables/README.md](data/variables/README.md)
- [includes/liquid-tags/README.md](includes/liquid-tags/README.md)
- [includes/README.md](includes/README.md)
- [javascripts/README.md](javascripts/README.md)
- [layouts/README.md](layouts/README.md)
- [lib/liquid-tags/README.md](lib/liquid-tags/README.md)
- [middleware/README.md](middleware/README.md)
- [script/README.md](script/README.md)
- [stylesheets/README.md](stylesheets/README.md)
- [tests/README.md](tests/README.md)
## Developing
This site is powered by Node.js! :turtle: :rocket:
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](#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](https://nodejs.org).
Once you've installed Node.js, open up Terminal and run the following:
```sh
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](http://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 <kbd>CTRL</kbd><kbd>c</kbd> in your terminal window.
## Site structure
This site was originally written in [Jekyll](https://jekyllrb.com/) and later
[Nanoc](https://nanoc.ws/), 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](https://github.com/github/product-documentation/tree/master/new-docs-site#static-vs-dynamic)
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](https://jekyllrb.com/docs/front-matter).
- The [`redirect_from`](https://github.com/jekyll/jekyll-redirect-from) Jekyll plugin behavior is supported.
See the [Content README](content) 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.
## Search
This site's search functionality is powered by [Algolia](https://www.algolia.com), a third-party service.
See [search.md](search.md) for details.
## License
The GitHub product documentation in the assets, content, and data folders are licensed under a [CC-BY license](content/LICENSE).
All other code in this repository is licensed under a [MIT](LICENSE.md).
When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/alebourne"><img src="https://avatars1.githubusercontent.com/u/24581915?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Alexandra Bourne</b></sub></a><br /><a href="#content-alebourne" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aalebourne" title="Bug reports">🐛</a></td>
<td align="center"><a href="http://cynthiarich.me/"><img src="https://avatars0.githubusercontent.com/u/9950121?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Cynthia Rich</b></sub></a><br /><a href="#content-crichID" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3AcrichID" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/emilyistoofunky"><img src="https://avatars1.githubusercontent.com/u/4822039?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Emily Gould</b></sub></a><br /><a href="#content-emilyistoofunky" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Aemilyistoofunky" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/felicitymay"><img src="https://avatars1.githubusercontent.com/u/1877141?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Felicity Chapman</b></sub></a><br /><a href="#content-felicitymay" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Afelicitymay" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://heiskr.com/"><img src="https://avatars2.githubusercontent.com/u/1221423?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Kevin Heis</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Aheiskr" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=heiskr" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/hubwriter"><img src="https://avatars1.githubusercontent.com/u/54933897?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Alistair Christie</b></sub></a><br /><a href="#content-hubwriter" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ahubwriter" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://jamesmgreene.github.io/"><img src="https://avatars2.githubusercontent.com/u/417751?v=4?s=64" width="64px;" alt=""/><br /><sub><b>James M. Greene</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3AJamesMGreene" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=JamesMGreene" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/janiceilene"><img src="https://avatars3.githubusercontent.com/u/9817819?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Janice</b></sub></a><br /><a href="#content-janiceilene" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajaniceilene" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://jasonet.co"><img src="https://avatars1.githubusercontent.com/u/10660468?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Jason Etcovitch</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Ajasonetco" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=jasonetco" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jf205"><img src="https://avatars2.githubusercontent.com/u/42464962?v=4?s=64" width="64px;" alt=""/><br /><sub><b>James Fletcher</b></sub></a><br /><a href="#content-jf205" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajf205" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/jleaver"><img src="https://avatars2.githubusercontent.com/u/4453117?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Jenn Leaver</b></sub></a><br /><a href="#content-jleaver" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajleaver" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/jmarlena"><img src="https://avatars3.githubusercontent.com/u/6732600?v=4?s=64" width="64px;" alt=""/><br /><sub><b>jmarlena</b></sub></a><br /><a href="#content-jmarlena" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajmarlena" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://johnwargo.com/"><img src="https://avatars0.githubusercontent.com/u/30843404?v=4?s=64" width="64px;" alt=""/><br /><sub><b>John M. Wargo</b></sub></a><br /><a href="#content-jwargo" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ajwargo" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/lecoursen"><img src="https://avatars3.githubusercontent.com/u/14935376?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Laura Coursen</b></sub></a><br /><a href="#content-lecoursen" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alecoursen" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://lucascosti.com/"><img src="https://avatars3.githubusercontent.com/u/4434330?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Lucas Costi</b></sub></a><br /><a href="#content-lucascosti" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Alucascosti" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/martin389"><img src="https://avatars3.githubusercontent.com/u/54248166?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Martin Lopes</b></sub></a><br /><a href="#content-martin389" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amartin389" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/mattpollard"><img src="https://avatars0.githubusercontent.com/u/1894408?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Matt Pollard</b></sub></a><br /><a href="#content-mattpollard" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amattpollard" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/mchammer01"><img src="https://avatars3.githubusercontent.com/u/42146119?v=4?s=64" width="64px;" alt=""/><br /><sub><b>mc</b></sub></a><br /><a href="#content-mchammer01" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amchammer01" title="Bug reports">🐛</a></td>
<td align="center"><a href="http://meaganbird.com/"><img src="https://avatars2.githubusercontent.com/u/5658046?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Meg Bird</b></sub></a><br /><a href="#content-megbird" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amegbird" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/myarb"><img src="https://avatars2.githubusercontent.com/u/11952755?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Melanie Yarbrough</b></sub></a><br /><a href="#content-myarb" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Amyarb" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/rachmari"><img src="https://avatars2.githubusercontent.com/u/9831992?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Rachael Sewell</b></sub></a><br /><a href="#content-rachmari" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arachmari" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/runleonarun"><img src="https://avatars1.githubusercontent.com/u/3880403?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Leona B. Campbell</b></sub></a><br /><a href="#content-runleonarun" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Arunleonarun" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/sarahs"><img src="https://avatars3.githubusercontent.com/u/821071?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Sarah Schneider</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Asarahs" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=sarahs" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/shati-patel"><img src="https://avatars3.githubusercontent.com/u/42641846?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Shati Patel</b></sub></a><br /><a href="#content-shati-patel" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Ashati-patel" title="Bug reports">🐛</a></td>
<td align="center"><a href="http://kathy.pm/"><img src="https://avatars3.githubusercontent.com/u/704152?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Kathy Korevec</b></sub></a><br /><a href="#content-simpsoka" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Asimpsoka" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/timeyoutakeit"><img src="https://avatars3.githubusercontent.com/u/5012825?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Amy Burns</b></sub></a><br /><a href="#content-timeyoutakeit" title="Content">🖋</a> <a href="https://github.com/github/docs/issues?q=author%3Atimeyoutakeit" title="Bug reports">🐛</a></td>
<td align="center"><a href="https://github.com/vanessayuenn"><img src="https://avatars3.githubusercontent.com/u/6842965?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Vanessa Yuen</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Avanessayuenn" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=vanessayuenn" title="Code">💻</a></td>
<td align="center"><a href="http://zeke.sikelianos.com/"><img src="https://avatars1.githubusercontent.com/u/2289?v=4?s=64" width="64px;" alt=""/><br /><sub><b>Zeke Sikelianos</b></sub></a><br /><a href="https://github.com/github/docs/issues?q=author%3Azeke" title="Bug reports">🐛</a> <a href="https://github.com/github/docs/commits?author=zeke" title="Code">💻</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

16
app.json Normal file
View File

@@ -0,0 +1,16 @@
{
"name": "docs.github.com",
"env": {
"NODE_ENV": "production",
"NPM_CONFIG_PRODUCTION": "true"
},
"buildpacks": [
{ "url": "heroku/nodejs" }
],
"formation": {
"web": {
"quantity": 1,
"size": "standard-2x"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
assets/images/app_id.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
assets/images/cancel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

BIN
assets/images/cancel@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 1311.64 355.08" xmlns="http://www.w3.org/2000/svg"><path d="m78.58 355.08a78.58 78.58 0 1 1 78.57-78.58 78.67 78.67 0 0 1 -78.57 78.58zm0-124.3a45.73 45.73 0 1 0 45.72 45.72 45.77 45.77 0 0 0 -45.72-45.72z" fill="#58c4de" opacity=".85"/><circle cx="840.66" cy="79.73" fill="#3064a6" opacity=".7" r="78.37"/><circle cx="757.21" cy="127.43" fill="#58c4de" opacity=".71" r="61.54"/><path d="m229.628 43.29 128.836-43.31 43.308 128.836-128.836 43.308z" fill="#3064a6" opacity=".7"/><path d="m196.07 56.225 105.748 52.47-18.588 37.462-105.748-52.47z" fill="#fff"/><path d="m1161.37 145.04 150.27-137.89-19.13 278.03z" fill="#58c4de" opacity=".75"/><path d="m1123.94 186.9 144.82-40.73-50.43 92.45z" fill="#3064a6" opacity=".7"/><path d="m1059.06 133.91h-19.13a3.33 3.33 0 1 1 0-6.65h12.48v-15h14.59v-12.87h13.72v-16.22h13.28v-15.39a3.33 3.33 0 0 1 6.66 0v22h-13.31v16.22h-13.73v12.9h-14.56z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 924 B

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 1344.5 495.1" xmlns="http://www.w3.org/2000/svg"><circle cx="1265" cy="226.8" fill="#58c4de" opacity=".75" r="74.3"/><ellipse cx="1295.3" cy="305.7" fill="#3064a6" opacity=".7" rx="61.4" ry="61.4" transform="matrix(.40451918 -.91452951 .91452951 .40451918 491.752846 1366.681821)"/><path d="m1093.9 384.2c-51.6 9.6-85.6 59.3-76 110.9l186.9-34.9c-9.7-51.6-59.3-85.6-110.9-76z" fill="#fff"/><path d="m217.3 320.3c-33-35.5-88.6-37.5-124.1-4.5l119.6 128.6c35.5-33.1 37.5-88.6 4.5-124.1z" fill="#58c4de" opacity=".74"/><path d="m165.8 324.2c-19.9-71.6-94.2-113.6-165.8-93.6l72.2 259.4c71.6-19.9 113.5-94.2 93.6-165.8z" fill="#3064a6" opacity=".7"/><path d="m916.8 325.7c-.9 2.3-3.5 3.3-5.7 2.4l-6.6-2.7-4.3 10.7-10.7-4.4-3.9 9.7-11.2-4.5-4.1 10.2-10.7-4.4-4.6 11.2-16.8-6.9c-2.2-1-3.3-3.5-2.3-5.8.9-2.2 3.4-3.2 5.7-2.4l8.7 3.5 4.6-11.2 10.7 4.4 4.2-10.2 11.2 4.6 3.9-9.7 10.7 4.4 4.3-10.7 14.8 6c2 1 3.1 3.6 2.1 5.8z" fill="#58c4de"/><path d="m600.8 352.9 34.5 72.3c29.6-13.9 47.7-44.6 45.6-77.2-.7-11.6-2.4-19.4-7.5-29" fill="#fff" opacity=".75"/><path d="m568.1 280.4c-28.8 13.2-47.8 43.8-46 77.4.6 11.6 2.2 19.4 7.2 29.1l71.5-34" fill="#3064a6" opacity=".7"/><path d="m346.8 331.7-5.5-4.5c3-6.5.1-14.2-6.4-17.2-4.2-1.9-9.2-1.5-13 1.2l-5-4.1c-1.4-1.2-3.4-1-4.6.3-1.2 1.4-1 3.4.3 4.6l.1.1 5 4.1c-3 6.5-.1 14.2 6.4 17.2 4.2 1.9 9.2 1.5 12.9-1.2l5.5 4.5c1.4 1.1 3.5.8 4.5-.7 1.2-1.3 1-3.2-.2-4.3zm-21.3-5c-2.8-2.3-3.2-6.4-.9-9.2s6.4-3.2 9.2-.9 3.2 6.4.9 9.2c-2.4 2.8-6.5 3.2-9.2.9z" fill="#fff"/><path d="m1071.8 289.6c-9.1 0-16.4-7.3-16.4-16.4s7.3-16.4 16.4-16.4 16.4 7.3 16.4 16.4c0 9-7.3 16.3-16.4 16.4zm0-25.4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9z" fill="#2976b3"/><path d="m680.9 347.8c-2.8-44-40.8-77.3-84.7-74.4-9.7.6-19.3 3-28.2 7.1l35.6 78.2 31.7 66.3c29.6-14 47.7-44.6 45.6-77.2z" fill="#58c4de" opacity=".79"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="220" height="220"><path d="M104.868 104.868H0V0h104.868v104.868z" fill="#f35325"/><path d="M220.654 104.868H115.788V0h104.866v104.868z" fill="#81bc06"/><path d="M104.865 220.695H0V115.827h104.865v104.868z" fill="#05a6f0"/><path d="M220.654 220.695H115.788V115.827h104.866v104.868z" fill="#ffba08"/></svg>

After

Width:  |  Height:  |  Size: 351 B

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
<path d="M34,26.15L7.85,52.31,0,44.46,19.62,26.15,0,7.85,7.85,0Z" fill="#cccccc"/>
</svg>

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
assets/images/domains.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More