docs/script
Sarah Schneider 0b1c7ad466
Update Enterprise Liquid deprecation handling to use new versions (#15818)
* update Liquid deprecation fixtures to use new versions

* update module that removes deprecated GHES frontmatter for new versions

* update module that removes deprecated GHES conditionals for new versions

* update script to use new versions and also remove internal-developer checkout option

* update deprecated Liquid tests to use new versions

* remove unnecessary leading slash in getEnterpriseServerNumber pattern

* include a step that runs script/remove-unused-assets.js

* Update script/remove-deprecated-enterprise-version-markup.js

Co-authored-by: Jason Etcovitch <jasonetco@github.com>

* require script instead of execSync

Co-authored-by: Jason Etcovitch <jasonetco@github.com>
2020-09-30 19:29:08 -04:00
..
content-migrations Update all files to use `{% data %}` (#15253) 2020-09-29 16:01:04 -04:00
graphql Remove versions feature flag code (#15793) 2020-09-29 13:36:07 -04:00
new-versioning Hello git history spelunker! 2020-09-27 14:10:11 +02:00
README.md Hello git history spelunker! 2020-09-27 14:10:11 +02:00
archive-enterprise-version.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
backfill-missing-localizations.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
bootstrap Hello git history spelunker! 2020-09-27 14:10:11 +02:00
check-deps.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
check-external-links Hello git history spelunker! 2020-09-27 14:10:11 +02:00
check-for-node Hello git history spelunker! 2020-09-27 14:10:11 +02:00
check-internal-links Hello git history spelunker! 2020-09-27 14:10:11 +02:00
check-s3-images.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
create-glossary-from-spreadsheet.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
delete-unused-staging-apps.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
get-blc-command.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
get-new-dotcom-path.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
get-new-version-path.js Remove versions feature flag code (#15793) 2020-09-29 13:36:07 -04:00
list-image-sizes.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
move-category-to-product.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
move-reusables-to-markdown.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
pages-with-liquid-titles.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
ping-staging-apps.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
prevent-pushes-to-main.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
prevent-translation-commits.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
preview-openapi-changes Hello git history spelunker! 2020-09-27 14:10:11 +02:00
purge-fastly Hello git history spelunker! 2020-09-27 14:10:11 +02:00
purge-fastly-by-url.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
reconcile-category-dirs-with-ids.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
reconcile-filenames-with-ids.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
remove-deprecated-enterprise-version-markup.js Update Enterprise Liquid deprecation handling to use new versions (#15818) 2020-09-30 19:29:08 -04:00
remove-extraneous-translation-files.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
remove-unused-assets.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
reset-translated-file.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
sample-unix-commands.md Hello git history spelunker! 2020-09-27 14:10:11 +02:00
server Hello git history spelunker! 2020-09-27 14:10:11 +02:00
server-all-languages Hello git history spelunker! 2020-09-27 14:10:11 +02:00
standardize-frontmatter-order.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
sync-algolia-search-indices.js Remove versions feature flag code (#15793) 2020-09-29 13:36:07 -04:00
test Hello git history spelunker! 2020-09-27 14:10:11 +02:00
todo Hello git history spelunker! 2020-09-27 14:10:11 +02:00
update-enterprise-dates.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
update-readme.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
update-s3cmd-config.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
update-versioning-in-files.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00
upload-enterprise-images-to-s3.js Hello git history spelunker! 2020-09-27 14:10:11 +02:00

README.md

Scripts

Scripts to rule them all

This directory follows the Scripts to Rule Them All pattern:

bootstrap

Installs/updates all dependencies necessary for the docs environment. Equivalent of npm install.


server

Starts the local development server. Equivalent of npm start.

To keep things snappy, only English and Japanese are enabled. To run the server with all languages enabled, run script/server-all-languages


test

Runs tests. Equivalent of npm test.


Additional scripts

archive-enterprise-version.js

Run this script during the Enterprise deprecation process to download static copies of all pages for the oldest supported Enterprise version. See the Enterprise deprecation issue template for instructions.


backfill-missing-localizations.js

This script copies any English files that are missing from the translations directory into the translations directory. We only need to run this if problems occur with Crowdin's automatic sync.


check-deps.js

This script checks which modules you have used in your code and then makes sure they are listed as dependencies in your package.json, or vice-versa

https://github.com/dependency-check-team/dependency-check

The ignore array is for client-side or build-time stuff that doesn't get require()d in the normal way.


The script is run once per day via a scheduled GitHub Action to check all links in the site. It automatically opens an issue if it finds broken links. To exclude a URL from the link check, add it to lib/excluded-links.js.

For checking internal links, see script/check-internal-links.


check-for-node

This script is run automatically when you run the server locally. It checks whether Node.js is installed.


This script wraps tests/links-and-images.js and provides an option to output results to a file.

For more information, see tests/README.md#broken-link-test.


check-s3-images.js

Run this script in your branch to check whether any images referenced in Enterprise content are not in the expected S3 bucket. You will need to authenticate to S3 via awssume to use this script. Instructions for the one-time setup are here.


create-glossary-from-spreadsheet.js

This script turns a Google Sheets CSV spreadsheet into a YAML file.


delete-unused-staging-apps.js

This script finds and lists all the Heroku staging apps and deletes any leftover apps that have closed PRs


get-blc-command.js

This script parses options for script/check-external-links.


get-new-dotcom-path.js

Pass this script any old dotcom path (e.g., articles/foo or foo.md) and it will output the new path in the content/github directory.


graphql/build-changelog-from-markdown.js


graphql/update-files.js


graphql/utils/data-filenames.json


graphql/utils/prerender-objects.js


graphql/utils/process-previews.js


graphql/utils/process-schemas.js


graphql/utils/process-upcoming-changes.js


graphql/utils/remove-hidden-schema-members.rb


graphql/utils/schema-helpers.js


list-image-sizes.js

This script lists all local image files, sorted by their dimensions.


move-category-to-product.js

Pass this script three arguments: 1. current category path (e.g., github/automating-your-workflows-with-github-actions) 2. new product ID (e.g., actions) 3. new product name in quotes (e.g., "GitHub Actions") and it does everything that needs to be done to make the category into a new product.


move-reusables-to-markdown.js

This script moves reusables out of YAML files into individual Markdown files.


pages-with-liquid-titles.js

This is a temporary script to visualize which pages have liquid (and conditionals) in their title frontmatter


prevent-pushes-to-master.js

This script is intended to be used as a git "prepush" hook. If the current branch is master, it will exit unsuccesfully and prevent the push.


prevent-translation-commits.js

This script is run as a git precommit hook (installed by husky after npm install). It detects changes to files the in the translations folder and prevents the commit if any changes exist.


purge-fastly

Run this script to manually purge the Fastly cache. Note this script requires a FASTLY_SERVICE_ID and FASTLY_TOKEN in your .env file.


purge-fastly-by-url.js

Run this script to manually purge the Fastly cache for all language variants of a single URL or for a batch of URLs in a file. This script does not require authentication.


reconcile-filenames-with-ids.js

An automated test checks for discrepancies between filenames and autogenerated heading IDs. If the test fails, a human needs to run this script to update the filenames.

This script is not currently supported on Windows.


remove-deprecated-enterprise-version-markup.js

Run this script after an Enterprise deprecation to remove Liquid statements and frontmatter that contain the deprecated Enterprise version. See the Enterprise deprecation issue template for instructions.

You can run this script on either the help docs or the developer docs. To run it on the help docs, enter:

script/remove-deprecated-enterprise-version-markup.js

To run it on the developer docs, provide a path to your developer docs checkout as an argument. You can use a tilde to represent your home directory. For example:

script/remove-deprecated-enterprise-version-markup.js ~/Desktop/internal-developer.github.com/


remove-extraneous-translation-files.js

An automated test checks for files in the translations/ directory that do not have an equivalent English file in the content/ directory, and fails if it finds extraneous files. When the test fails, a human needs to run this script to remove the files.


remove-unused-assets.js

Run this script to remove reusables and image files that exist in the repo but are not used in content files. It also displays a list of unused variables. Set the --dry-run to flag to print results without deleting any files. For images you don't want to delete, add them to ignoreList in lib/find-unused-assets.js


reset-translated-file.js

This is a convenience script for replacing the contents of translated files with the English content from their corresponding source file.

It's intended to be a workaround to temporarily bypass Crowdin parser bugs while we wait for Crowdin to fix them.

Usage: script/reset-translated-File.js []

script/reset-translated-File.js content/desktop/foo.md -> resets all translations of foo.md

script/reset-translated-File.js content/desktop/foo.md de -> resets german translation of foo.md


sample-unix-commands.md


server-all-languages

Starts the local development server with all of the available languages enabled.


standardize-frontmatter-order.js

Run this script to standardize frontmatter fields in all content files, per the order decided in https://github.com/github/docs-internal/issues/9658#issuecomment-485536265.


sync-algolia-search-indices.js

This script is run automatically via GitHub Actions on every push to master to generate searchable data and upload it to our Algolia account. It can also be run manually. For more info see search.md


todo

List all the TODOs in our JavaScript files and stylesheets.


update-enterprise-dates.js

Run this script during Enterprise releases and deprecations. It uses the GitHub API to get dates from enterprise-releases and updates lib/enterprise-dates.json. The help site uses this JSON to display dates at the top of some Enterprise versions.

This script requires that you have a GitHub Personal Access Token in a .env file. If you don't have a token, get one here. If you don't have an .env file in your docs checkout, run this command in Terminal:

cp .env.example .env

Open the .env file in a text editor, and find the GITHUB_TOKEN= placeholder. Add your token after the equals sign.

Do not commit the .env file; just leave it in your checkout.


update-readme.js

This script crawls the script directory, hooks on special comment markers in each script, and adds the comment to script/README.md.


update-s3cmd-config.js

This script is used by other scripts to update temporary AWS credentials and authenticate to S3. See docs at Setting up awssume and S3cmd.


upload-enterprise-images-to-s3.js

Run this script to: upload individual files to S3 or: upload a batch of files to S3 for a new Enterprise release. Run upload-enterprise-images-to-s3.js --help for usage details.