To get started, install the following extensions:
-
GitHub Copilot (
github.copilot): Offers AI-powered code completions, helping you write code faster and learn new APIs and languages along the way. -
GitHub Copilot Chat (
github.copilot-chat): Enables you to interact with GitHub Copilot in a chat interface, allowing for a more conversational and intuitive way to generate code and documentation. -
Git Graph (
mhutchie.git-graph): Visualize your project's Git history in a graph format, making it easier to understand branch structures and commit histories. -
Markdown Preview Enhanced (
shd101wyy.markdown-preview-enhanced): Enhances the Markdown preview in VS Code with support for diagrams, mathematical notation, and custom CSS, making it easier to visualize and work with complex Markdown documents. -
EditorConfig for VS Code (
editorconfig.editorconfig): Helps maintain consistent coding styles for various developers working on the same project across different editors and IDEs by utilizing the.editorconfigfile. -
Code Spell Checker (
streetsidesoftware.code-spell-checker): A comprehensive spell checker that helps catch common spelling errors while also understanding camelCase code, making it invaluable for documentation and comments. -
MarkdownLint (
davidanson.vscode-markdownlint): A Markdown linter that enforces a consistent style and catches common mistakes in Markdown files, ensuring high-quality documentation. -
Prettier - Code formatter (
esbenp.prettier-vscode): An opinionated code formatter that supports many languages, including Markdown. It ensures consistent formatting across your project's codebase.
Note
The required extensions are defined in .vscode/extensions.json. If you do not have a
given extension installed, you will be prompted to install them:
The .vscode/markdown.code-snippets file contains the following snippets:
{
"Workshop Step": {
"prefix": "step",
"body": [
"1. **${1:TBD}**",
"",
" ```markdown",
" ${2:Insert prompt here}",
" ```",
"",
" <details>",
" <summary><strong>View Response</strong></summary>",
" <blockquote>",
"",
"${3:Insert response here}",
"",
" </blockquote>",
" </details>"
],
"description": "Inserts a Workshop step"
},
"Note Snippet": {
"prefix": "note",
"body": ["> [!NOTE]", ">", "> _TBD_"],
"description": "Inserts a Note block"
},
"Tip Snippet": {
"prefix": "tip",
"body": ["> [!TIP]", ">", "> _TBD_"],
"description": "Inserts a Tip block"
},
"Important Snippet": {
"prefix": "important",
"body": ["> [!IMPORTANT]", ">", "> _TBD_"],
"description": "Inserts an Important block"
},
"Warning Snippet": {
"prefix": "warning",
"body": ["> [!WARNING]", ">", "> _TBD_"],
"description": "Inserts a Warning block"
},
"Caution Snippet": {
"prefix": "caution",
"body": ["> [!CAUTION]", ">", "> _TBD_"],
"description": "Inserts a Caution block"
}
}The repository contains the following configuration files:
-
.prettierrc: Configures Prettier to format the Markdown files{ "proseWrap": "always", "printWidth": 90, "overrides": [ { "files": "*.md", "options": { "printWidth": 90 } } ] } -
.editorconfig: Helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.root = true [*] charset = utf-8 indent_style = space indent_size = 3 end_of_line = lf trim_trailing_whitespace = true insert_final_newline = true max_line_length = 90 -
.markdownlint.json: Disables specific rules for Markdownlint, ensuring that our Markdown files follow a consistent style without being overly restrictive.{ "MD007": false, "MD013": false, "MD023": false, "MD029": false, "MD030": false, "MD033": false } -
.vscode/settings.json: Configures VS Code to use Prettier to automatically format on save and paste.
This repository is configured to ensure consistent formatting and processing of Markdown files using Prettier and MarkedPP:
- Prettier: An opinionated code formatter that enforces a consistent style by parsing your code and re-printing it with its own rules.
- MarkedPP: A preprocessor for Markdown files that adds features like automatic numbering, including files, and generating tables of contents.
Automatically processes Markdown files with MarkedPP upon push to the repository. It sets up Node.js, installs MarkedPP, processes all Markdown files, and commits the changes.
- On every push,
markedpp.ymlensures that all Markdown files are processed with MarkedPP for consistent formatting and additional Markdown features.
Runs on pull requests to the main branch. It sets up Node.js, installs Prettier, formats all Markdown files with Prettier, and commits the changes.
- On pull requests to the main branch,
prettier.ymlensures that all Markdown files are formatted according to the rules specified in.prettierrc.