├── .editorconfig ├── .eslintrc.js ├── .gitattributes ├── .github └── workflows │ └── documentation.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .vscode └── extensions.json ├── README.md ├── babel.config.js ├── docs ├── tutorial-basics │ ├── _category_.json │ ├── congratulations.md │ ├── create-a-blog-post.md │ ├── create-a-document.md │ ├── create-a-page.md │ ├── deploy-your-site.md │ └── markdown-features.mdx ├── tutorial-extras │ ├── _category_.json │ ├── manage-docs-versions.md │ └── translate-your-site.md ├── website │ ├── _category_.json │ └── getting-started.mdx └── welcome.md ├── docusaurus.config.js ├── package-lock.json ├── package.json ├── sidebars.js ├── src ├── components │ ├── HomepageFeatures.js │ └── HomepageFeatures.module.css ├── css │ └── custom.css └── pages │ ├── index.js │ ├── index.module.css │ └── markdown-page.md ├── static ├── .nojekyll ├── CNAME └── img │ ├── docusaurus.png │ ├── favicon.ico │ ├── logo.svg │ ├── tutorial │ ├── docsVersionDropdown.png │ └── localeDropdown.png │ ├── undraw_docusaurus_mountain.svg │ ├── undraw_docusaurus_react.svg │ └── undraw_docusaurus_tree.svg └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = UTF-8 8 | insert_final_newline = true 9 | 10 | [.{env*,npmrc,mailmap}] 11 | insert_final_newline = false 12 | 13 | [*.{cmd,bat,ps1}] 14 | end_of_line = crlf 15 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true, 5 | es6: true, 6 | commonjs: true, 7 | }, 8 | parser: "@typescript-eslint/parser", 9 | parserOptions: { ecmaVersion: 8 /* sourceType: "module" */ }, // to enable features such as async/await 10 | // We don't want to lint generated files nor node_modules, but we want to lint .prettierrc.js (ignored by default by eslint) 11 | ignorePatterns: [ 12 | "node_modules/*", 13 | "build/*", 14 | "http/*", 15 | "certs/*", 16 | "logs/*", 17 | "certs/*", 18 | "!.prettierrc", 19 | ], 20 | extends: [ 21 | "eslint:recommended", 22 | "plugin:react/recommended", // React rules 23 | "plugin:react-hooks/recommended", // React hooks rules 24 | "plugin:jsx-a11y/recommended", // Accessibility rules 25 | "plugin:prettier/recommended", // Prettier plugin 26 | ], 27 | rules: { 28 | // may turn this on later, creates issues for HTML 29 | "react/no-unescaped-entities": 0, 30 | 31 | // We will use TypeScript's types for component props instead 32 | "react/prop-types": "off", 33 | 34 | "react/react-in-jsx-scope": "off", 35 | 36 | "jsx-a11y/accessible-emoji": "off", 37 | 38 | "prettier/prettier": ["warn", {}, { usePrettierrc: true }], // Includes .prettierrc rules 39 | }, 40 | overrides: [ 41 | // This configuration will apply only to TypeScript files 42 | { 43 | files: ["**/*.ts", "**/*.tsx"], 44 | env: { 45 | browser: true, 46 | node: true, 47 | es6: true, 48 | }, 49 | extends: [ 50 | "plugin:@typescript-eslint/recommended", // TypeScript rules 51 | ], 52 | rules: { 53 | // we should allow implicit any 54 | "@typescript-eslint/no-explicit-any": "off", 55 | 56 | // We don't need this ... for now 57 | "@typescript-eslint/explicit-module-boundary-types": "off", 58 | 59 | // should probably allow this ... but we wont for now 60 | "@typescript-eslint/no-non-null-assertion": "off", 61 | 62 | // turn off default rule 63 | "no-unused-vars": "off", 64 | 65 | // Why would you want unused vars? 66 | "@typescript-eslint/no-unused-vars": ["warn"], 67 | 68 | // I suggest this setting for requiring return types on functions only where useful 69 | // '@typescript-eslint/explicit-function-return-type': [ 70 | // 'warn', 71 | // { 72 | // allowExpressions: true, 73 | // allowConciseArrowFunctionExpressionsStartingWithVoid: true, 74 | // }, 75 | // ], 76 | }, 77 | }, 78 | ], 79 | settings: { react: { version: "detect" } }, 80 | }; 81 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | 3 | # Source code 4 | *.bash text eol=lf 5 | *.bat text eol=crlf 6 | *.cmd text eol=crlf 7 | *.coffee text 8 | *.css text 9 | *.htm text diff=html 10 | *.html text diff=html 11 | *.inc text 12 | *.ini text 13 | *.js text 14 | *.json text 15 | *.jsx text 16 | *.less text 17 | *.ls text 18 | *.map text -diff 19 | *.od text 20 | *.onlydata text 21 | *.php text diff=php 22 | *.pl text 23 | *.ps1 text eol=crlf 24 | *.py text diff=python 25 | *.rb text diff=ruby 26 | *.sass text 27 | *.scm text 28 | *.scss text diff=css 29 | *.sh text eol=lf 30 | *.sql text 31 | *.styl text 32 | *.tag text 33 | *.ts text 34 | *.tsx text 35 | *.xml text 36 | *.xhtml text diff=html 37 | 38 | # Documentation 39 | *.ipynb text 40 | *.markdown text 41 | *.md text 42 | *.mdwn text 43 | *.mdown text 44 | *.mkd text 45 | *.mkdn text 46 | *.mdtxt text 47 | *.mdtext text 48 | *.txt text 49 | AUTHORS text 50 | CHANGELOG text 51 | CHANGES text 52 | CONTRIBUTING text 53 | COPYING text 54 | copyright text 55 | *COPYRIGHT* text 56 | INSTALL text 57 | license text 58 | LICENSE text 59 | NEWS text 60 | readme text 61 | *README* text 62 | TODO text 63 | 64 | # Configs 65 | *.cnf text 66 | *.conf text 67 | *.config text 68 | .editorconfig text 69 | .env text 70 | .gitattributes text 71 | .gitconfig text 72 | .htaccess text 73 | *.lock text -diff 74 | package-lock.json text -diff 75 | *.toml text 76 | *.yaml text 77 | *.yml text 78 | browserslist text 79 | Makefile text 80 | makefile text 81 | 82 | # Fonts 83 | *.ttf binary 84 | *.eot binary 85 | *.otf binary 86 | *.woff binary 87 | *.woff2 binary 88 | 89 | # RC files (like .babelrc or .eslintrc) 90 | *.*rc text 91 | 92 | # Ignore files (like .npmignore or .gitignore) 93 | *.*ignore text 94 | 95 | # Graphics 96 | *.ai binary 97 | *.bmp binary 98 | *.eps binary 99 | *.gif binary 100 | *.gifv binary 101 | *.ico binary 102 | *.jng binary 103 | *.jp2 binary 104 | *.jpg binary 105 | *.jpeg binary 106 | *.jpx binary 107 | *.jxr binary 108 | *.pdf binary 109 | *.png binary 110 | *.psb binary 111 | *.psd binary 112 | *.svgz binary 113 | *.tif binary 114 | *.tiff binary 115 | *.wbmp binary 116 | *.webp binary 117 | 118 | linguist-vendored 119 | *.php linguist-detectable=false 120 | *.ttf linguist-detectable=false 121 | -------------------------------------------------------------------------------- /.github/workflows/documentation.yml: -------------------------------------------------------------------------------- 1 | name: documentation 2 | 3 | on: 4 | pull_request: 5 | branches: [main] 6 | push: 7 | branches: [main] 8 | 9 | jobs: 10 | checks: 11 | if: github.event_name != 'push' 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v1 15 | - uses: actions/setup-node@v1 16 | with: 17 | node-version: '14.16.0' 18 | - name: Test Build 19 | run: | 20 | if [ -e yarn.lock ]; then 21 | yarn install --frozen-lockfile 22 | elif [ -e package-lock.json ]; then 23 | npm ci 24 | else 25 | npm i 26 | fi 27 | npm run build 28 | gh-release: 29 | if: github.event_name != 'pull_request' 30 | runs-on: ubuntu-latest 31 | steps: 32 | - uses: actions/checkout@v1 33 | - uses: actions/setup-node@v1 34 | with: 35 | node-version: '14.16.0' 36 | - uses: webfactory/ssh-agent@v0.5.0 37 | with: 38 | ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }} 39 | - name: Release to GitHub Pages 40 | env: 41 | USE_SSH: true 42 | GIT_USER: git 43 | DEPLOYMENT_BRANCH: gh-pages 44 | github_token: ${{ secrets.MY_GITHUB_TOKEN }} 45 | run: | 46 | git config --global user.email "sdquinones1@gmail.com" 47 | git config --global user.name "Samuel Quiñones" 48 | if [ -e yarn.lock ]; then 49 | yarn install --frozen-lockfile 50 | elif [ -e package-lock.json ]; then 51 | npm ci 52 | else 53 | npm i 54 | fi 55 | npm run deploy 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-exact = true -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v14.16.0 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | out/ 3 | package-lock.json 4 | build/ 5 | logs/ 6 | http/ 7 | certs/ 8 | .docusaurus/ 9 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 2, 4 | "useTabs": false, 5 | "semi": true, 6 | "trailingComma": "es5", 7 | "endOfLine": "auto", 8 | "bracketSpacing": true, 9 | "embeddedLanguageFormatting": "auto", 10 | "htmlWhitespaceSensitivity": "css", 11 | "quoteProps": "as-needed", 12 | "singleQuote": false 13 | } 14 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "xyc.vscode-mdx-preview", 4 | "silvenon.mdx" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Website 2 | 3 | This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. 4 | 5 | ## Installation 6 | 7 | ```console 8 | yarn install 9 | ``` 10 | 11 | ## Local Development 12 | 13 | ```console 14 | yarn start 15 | ``` 16 | 17 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 18 | 19 | ## Build 20 | 21 | ```console 22 | yarn build 23 | ``` 24 | 25 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 26 | 27 | ## Deployment 28 | 29 | ```console 30 | GIT_USER= USE_SSH=true yarn deploy 31 | ``` 32 | 33 | If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. 34 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve("@docusaurus/core/lib/babel/preset")], 3 | }; 4 | -------------------------------------------------------------------------------- /docs/tutorial-basics/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Basics", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/tutorial-basics/congratulations.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | --- 4 | 5 | # Congratulations! 6 | 7 | You have just learned the **basics of Docusaurus** and made some changes to the **initial template**. 8 | 9 | Docusaurus has **much more to offer**! 10 | 11 | Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**. 12 | 13 | Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610) 14 | 15 | ## What's next? 16 | 17 | - Read the [official documentation](https://docusaurus.io/). 18 | - Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout) 19 | - Add a [search bar](https://docusaurus.io/docs/search) 20 | - Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase) 21 | - Get involved in the [Docusaurus Community](https://docusaurus.io/community/support) 22 | -------------------------------------------------------------------------------- /docs/tutorial-basics/create-a-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Create a Blog Post 6 | 7 | Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... 8 | 9 | ## Create your first Post 10 | 11 | Create a file at `blog/2021-02-28-greetings.md`: 12 | 13 | ```md title="blog/2021-02-28-greetings.md" 14 | --- 15 | slug: greetings 16 | title: Greetings! 17 | author: Steven Hansel 18 | author_title: Docusaurus Contributor 19 | author_url: https://github.com/ShinteiMai 20 | author_image_url: https://github.com/ShinteiMai.png 21 | tags: [greetings] 22 | --- 23 | 24 | Congratulations, you have made your first post! 25 | 26 | Feel free to play around and edit this post as much you like. 27 | ``` 28 | 29 | A new blog post is now available at `http://localhost:3000/blog/greetings`. 30 | -------------------------------------------------------------------------------- /docs/tutorial-basics/create-a-document.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Create a Document 6 | 7 | Documents are **groups of pages** connected through: 8 | 9 | - a **sidebar** 10 | - **previous/next navigation** 11 | - **versioning** 12 | 13 | ## Create your first Doc 14 | 15 | Create a markdown file at `docs/hello.md`: 16 | 17 | ```md title="docs/hello.md" 18 | # Hello 19 | 20 | This is my **first Docusaurus document**! 21 | ``` 22 | 23 | A new document is now available at `http://localhost:3000/docs/hello`. 24 | 25 | ## Configure the Sidebar 26 | 27 | Docusaurus automatically **creates a sidebar** from the `docs` folder. 28 | 29 | Add metadatas to customize the sidebar label and position: 30 | 31 | ```md title="docs/hello.md" {1-4} 32 | --- 33 | sidebar_label: "Hi!" 34 | sidebar_position: 3 35 | --- 36 | 37 | # Hello 38 | 39 | This is my **first Docusaurus document**! 40 | ``` 41 | 42 | It is also possible to create your sidebar explicitly in `sidebars.js`: 43 | 44 | ```diff title="sidebars.js" 45 | module.exports = { 46 | tutorialSidebar: [ 47 | { 48 | type: 'category', 49 | label: 'Tutorial', 50 | - items: [...], 51 | + items: ['hello'], 52 | }, 53 | ], 54 | }; 55 | ``` 56 | -------------------------------------------------------------------------------- /docs/tutorial-basics/create-a-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Create a Page 6 | 7 | Add **Markdown or React** files to `src/pages` to create a **standalone page**: 8 | 9 | - `src/pages/index.js` -> `localhost:3000/` 10 | - `src/pages/foo.md` -> `localhost:3000/foo` 11 | - `src/pages/foo/bar.js` -> `localhost:3000/foo/bar` 12 | 13 | ## Create your first React Page 14 | 15 | Create a file at `src/pages/my-react-page.js`: 16 | 17 | ```jsx title="src/pages/my-react-page.js" 18 | import React from "react"; 19 | import Layout from "@theme/Layout"; 20 | 21 | export default function MyReactPage() { 22 | return ( 23 | 24 |

My React page

25 |

This is a React page

26 |
27 | ); 28 | } 29 | ``` 30 | 31 | A new page is now available at `http://localhost:3000/my-react-page`. 32 | 33 | ## Create your first Markdown Page 34 | 35 | Create a file at `src/pages/my-markdown-page.md`: 36 | 37 | ```mdx title="src/pages/my-markdown-page.md" 38 | # My Markdown page 39 | 40 | This is a Markdown page 41 | ``` 42 | 43 | A new page is now available at `http://localhost:3000/my-markdown-page`. 44 | -------------------------------------------------------------------------------- /docs/tutorial-basics/deploy-your-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Deploy your site 6 | 7 | Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). 8 | 9 | It builds your site as simple **static HTML, JavaScript and CSS files**. 10 | 11 | ## Build your site 12 | 13 | Build your site **for production**: 14 | 15 | ```bash 16 | npm run build 17 | ``` 18 | 19 | The static files are generated in the `build` folder. 20 | 21 | ## Deploy your site 22 | 23 | Test your production build locally: 24 | 25 | ```bash 26 | npm run serve 27 | ``` 28 | 29 | The `build` folder is now served at `http://localhost:3000/`. 30 | 31 | You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). 32 | -------------------------------------------------------------------------------- /docs/tutorial-basics/markdown-features.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | --- 4 | 5 | # Markdown Features 6 | 7 | Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**. 8 | 9 | ## Front Matter 10 | 11 | Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/): 12 | 13 | ```text title="my-doc.md" 14 | // highlight-start 15 | --- 16 | id: my-doc-id 17 | title: My document title 18 | description: My document description 19 | slug: /my-custom-url 20 | --- 21 | // highlight-end 22 | 23 | ## Markdown heading 24 | 25 | Markdown text with [links](./hello.md) 26 | ``` 27 | 28 | ## Links 29 | 30 | Regular Markdown links are supported, using url paths or relative file paths. 31 | 32 | ```md 33 | Let's see how to [Create a page](/create-a-page). 34 | ``` 35 | 36 | ```md 37 | Let's see how to [Create a page](./create-a-page.md). 38 | ``` 39 | 40 | **Result:** Let's see how to [Create a page](./create-a-page.md). 41 | 42 | ## Images 43 | 44 | Regular Markdown images are supported. 45 | 46 | Add an image at `static/img/docusaurus.png` and display it in Markdown: 47 | 48 | ```md 49 | ![Docusaurus logo](/img/docusaurus.png) 50 | ``` 51 | 52 | ![Docusaurus logo](/img/docusaurus.png) 53 | 54 | ## Code Blocks 55 | 56 | Markdown code blocks are supported with Syntax highlighting. 57 | 58 | ```jsx title="src/components/HelloDocusaurus.js" 59 | function HelloDocusaurus() { 60 | return ( 61 |

Hello, Docusaurus!

62 | ) 63 | } 64 | ``` 65 | 66 | ```jsx title="src/components/HelloDocusaurus.js" 67 | function HelloDocusaurus() { 68 | return

Hello, Docusaurus!

; 69 | } 70 | ``` 71 | 72 | ## Admonitions 73 | 74 | Docusaurus has a special syntax to create admonitions and callouts: 75 | 76 | :::tip My tip 77 | 78 | Use this awesome feature option 79 | 80 | ::: 81 | 82 | :::danger Take care 83 | 84 | This action is dangerous 85 | 86 | ::: 87 | 88 | :::tip My tip 89 | 90 | Use this awesome feature option 91 | 92 | ::: 93 | 94 | :::danger Take care 95 | 96 | This action is dangerous 97 | 98 | ::: 99 | 100 | ## MDX and React Components 101 | 102 | [MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**: 103 | 104 | ```jsx 105 | export const Highlight = ({children, color}) => ( 106 | { 115 | alert(`You clicked the color ${color} with label ${children}`) 116 | }}> 117 | {children} 118 | 119 | ); 120 | 121 | This is Docusaurus green ! 122 | 123 | This is Facebook blue ! 124 | ``` 125 | 126 | export const Highlight = ({ children, color }) => ( 127 | { 136 | alert(`You clicked the color ${color} with label ${children}`); 137 | }} 138 | > 139 | {children} 140 | 141 | ); 142 | 143 | This is Docusaurus green ! 144 | 145 | This is Facebook blue ! 146 | -------------------------------------------------------------------------------- /docs/tutorial-extras/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Extras", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/tutorial-extras/manage-docs-versions.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Manage Docs Versions 6 | 7 | Docusaurus can manage multiple versions of your docs. 8 | 9 | ## Create a docs version 10 | 11 | Release a version 1.0 of your project: 12 | 13 | ```bash 14 | npm run docusaurus docs:version 1.0 15 | ``` 16 | 17 | The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created. 18 | 19 | Your docs now have 2 versions: 20 | 21 | - `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs 22 | - `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs** 23 | 24 | ## Add a Version Dropdown 25 | 26 | To navigate seamlessly across versions, add a version dropdown. 27 | 28 | Modify the `docusaurus.config.js` file: 29 | 30 | ```js title="docusaurus.config.js" 31 | module.exports = { 32 | themeConfig: { 33 | navbar: { 34 | items: [ 35 | // highlight-start 36 | { 37 | type: "docsVersionDropdown", 38 | }, 39 | // highlight-end 40 | ], 41 | }, 42 | }, 43 | }; 44 | ``` 45 | 46 | The docs version dropdown appears in your navbar: 47 | 48 | ![Docs Version Dropdown](/img/tutorial/docsVersionDropdown.png) 49 | 50 | ## Update an existing version 51 | 52 | It is possible to edit versioned docs in their respective folder: 53 | 54 | - `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello` 55 | - `docs/hello.md` updates `http://localhost:3000/docs/next/hello` 56 | -------------------------------------------------------------------------------- /docs/tutorial-extras/translate-your-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Translate your site 6 | 7 | Let's translate `docs/intro.md` to French. 8 | 9 | ## Configure i18n 10 | 11 | Modify `docusaurus.config.js` to add support for the `fr` locale: 12 | 13 | ```js title="docusaurus.config.js" 14 | module.exports = { 15 | i18n: { 16 | defaultLocale: "en", 17 | locales: ["en", "fr"], 18 | }, 19 | }; 20 | ``` 21 | 22 | ## Translate a doc 23 | 24 | Copy the `docs/intro.md` file to the `i18n/fr` folder: 25 | 26 | ```bash 27 | mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/ 28 | 29 | cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md 30 | ``` 31 | 32 | Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French. 33 | 34 | ## Start your localized site 35 | 36 | Start your site on the French locale: 37 | 38 | ```bash 39 | npm run start -- --locale fr 40 | ``` 41 | 42 | Your localized site is accessible at `http://localhost:3000/fr/` and the `Getting Started` page is translated. 43 | 44 | :::caution 45 | 46 | In development, you can only use one locale at a same time. 47 | 48 | ::: 49 | 50 | ## Add a Locale Dropdown 51 | 52 | To navigate seamlessly across languages, add a locale dropdown. 53 | 54 | Modify the `docusaurus.config.js` file: 55 | 56 | ```js title="docusaurus.config.js" 57 | module.exports = { 58 | themeConfig: { 59 | navbar: { 60 | items: [ 61 | // highlight-start 62 | { 63 | type: "localeDropdown", 64 | }, 65 | // highlight-end 66 | ], 67 | }, 68 | }, 69 | }; 70 | ``` 71 | 72 | The locale dropdown now appears in your navbar: 73 | 74 | ![Locale Dropdown](/img/tutorial/localeDropdown.png) 75 | 76 | ## Build your localized site 77 | 78 | Build your site for a specific locale: 79 | 80 | ```bash 81 | npm run build -- --locale fr 82 | ``` 83 | 84 | Or build your site to include all the locales at once: 85 | 86 | ```bash 87 | npm run build 88 | ``` 89 | -------------------------------------------------------------------------------- /docs/website/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Website", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/website/getting-started.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | import Tabs from "@theme/Tabs"; 6 | import TabItem from "@theme/TabItem"; 7 | 8 | # Setting up the Environment 9 | 10 | In order to develop for this project, you'll need to get set up for web development. This first part will go over how to get set up with node and npm. This project makes use of npm **we do not use yarn**. 11 | 12 | ## Installing Node / NPM 13 | 14 | You'll want to be sure to have **Node 14.x.x** and **NPM 6.x.x** 15 | 16 | ### Using NVM (recommended) 17 | 18 | 26 | 27 | 28 | Visit [NVM for Windows page](https://github.com/coreybutler/nvm-windows) 29 | 30 | Scroll down to [`Installation & Upgrades`](https://github.com/coreybutler/nvm-windows#installation--upgrades) and go through the instructions outlined on this page. 31 | 32 | :::note 33 | You Will **NEED** to uninstall any existing node / npm installations, the Github Repo outlines how to do this 34 | ::: 35 | 36 | Open the project in your editor of choice and / or open the directory in PowerShell / CMD and run the following 37 | 38 | ```powershell 39 | nvm use 14.16.0 40 | ``` 41 | 42 | :::note 43 | `nvm use` without a version does NOT work for the windows version like it does for Mac / Linux 44 | ::: 45 | 46 | 47 | 48 | 49 | It is recommended, but *not required* that you uninstall any existing node / npm installations 50 | 51 | Visit the [NVM Github page](https://github.com/nvm-sh/nvm) 52 | 53 | Scroll down to [`Installing and Updating`](https://github.com/nvm-sh/nvm#installing-and-updating) and follow the instructions 54 | 55 | Open the project in your editor of choice and / or open the directory in the terminal and run the following: 56 | 57 | ```bash 58 | nvm use 59 | ``` 60 | 61 | You can also do: 62 | 63 | ```bash 64 | nvm use 14.16.0 65 | ``` 66 | 67 | 68 | 69 | 70 | It is recommended, but *not required* that you uninstall any existing node / npm installations 71 | 72 | Visit the [NVM Github page](https://github.com/nvm-sh/nvm) 73 | 74 | Scroll down to [`Installing and Updating`](https://github.com/nvm-sh/nvm#installing-and-updating) and follow the instructions 75 | 76 | Open the project in your editor of choice and / or open the directory in the terminal and run the following: 77 | 78 | ```bash 79 | nvm use 80 | ``` 81 | 82 | You can also do: 83 | 84 | ```bash 85 | nvm use 14.16.0 86 | ``` 87 | 88 | 89 | 90 | 91 | 92 |
93 | 94 | ### Using the installer 95 | 96 | Visit the [Node JS Website](https://nodejs.org/) and download the **LTS Release**. At the time of writing this, it is **14.17.1**. 97 | 98 | Run the installer that it downloads and go through the setup. After setup finishes open your terminal and type: 99 | 100 | ```bash 101 | node -v 102 | # AND 103 | npm -v 104 | ``` 105 | 106 | if the install was successful, each command will output a response with a version number. 107 | 108 | :::caution 109 | On unix based operating systems, you may run into permission issues when trying to globally install packages. To fix this, follow [this guide](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) which explains how to change the npm global location. 110 | ::: 111 | 112 | ## Getting **GLOBAL** packages 113 | 114 | You may find that you need to install the `typescript` package globally, in fact it is generally recommended. 115 | 116 | ```bash 117 | npm i -g typescript 118 | ``` 119 | 120 | To check if the installations worked, you can run: 121 | 122 | ```bash 123 | tsc -v 124 | ``` 125 | 126 | Typescript is the codebase of the website, and the installation includes a compiler. In case your IDE can not be configured to use the one in `node_modules/typescript/lib` you will need an installation to fall back on. 127 | 128 | And that is all you'll need to get set up, the project itself contains the rest of the npm modules needed to run. 129 | 130 | **More info coming soon...** 131 | -------------------------------------------------------------------------------- /docs/welcome.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Tutorial Intro 6 | 7 | Let's discover **Docusaurus in less than 5 minutes**. 8 | 9 | ## Getting Started 10 | 11 | Get started by **creating a new site**. 12 | 13 | Or **try Docusaurus immediately** with **[new.docusaurus.io](https://new.docusaurus.io)**. 14 | 15 | ## Generate a new site 16 | 17 | Generate a new Docusaurus site using the **classic template**: 18 | 19 | ```shell 20 | npx @docusaurus/init@latest init my-website classic 21 | ``` 22 | 23 | ## Start your site 24 | 25 | Run the development server: 26 | 27 | ```shell 28 | cd my-website 29 | 30 | npx docusaurus start 31 | ``` 32 | 33 | Your site starts at `http://localhost:3000`. 34 | 35 | Open `docs/intro.md` and edit some lines: the site **reloads automatically** and display your changes. 36 | -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | const lightCodeTheme = require("prism-react-renderer/themes/github"); 2 | const darkCodeTheme = require("prism-react-renderer/themes/dracula"); 3 | 4 | /** @type {import('@docusaurus/types').DocusaurusConfig} */ 5 | module.exports = { 6 | title: "Stream-Pi Documentation", 7 | tagline: "A Robust Macro Keyboard Software", 8 | url: "https://documentation.stream-pi.com", 9 | baseUrl: "/", 10 | onBrokenLinks: "throw", 11 | onBrokenMarkdownLinks: "warn", 12 | favicon: "img/favicon.ico", 13 | organizationName: "stream-pi", // Usually your GitHub org/user name. 14 | projectName: "documentation", // Usually your repo name. 15 | themeConfig: { 16 | colorMode: { 17 | respectPrefersColorScheme: true, 18 | }, 19 | navbar: { 20 | title: "Stream-Pi", 21 | logo: { 22 | alt: "My Site Logo", 23 | src: "img/logo.svg", 24 | }, 25 | items: [ 26 | { 27 | type: "doc", 28 | docId: "welcome", 29 | position: "left", 30 | label: "Getting Started", 31 | }, 32 | { 33 | href: "https://github.com/stream-pi", 34 | label: "GitHub", 35 | position: "right", 36 | }, 37 | ], 38 | }, 39 | footer: { 40 | style: "dark", 41 | links: [ 42 | { 43 | title: "Docs", 44 | items: [ 45 | { 46 | label: "Getting Started", 47 | to: "/welcome", 48 | }, 49 | ], 50 | }, 51 | { 52 | title: "Community", 53 | items: [ 54 | { 55 | label: "Matrix", 56 | href: "https://matrix.to/#/!hTwUYZonUXThjkMhCD:matrix.org?via=matrix.org", 57 | }, 58 | { 59 | label: "Discord", 60 | href: "https://discord.gg/BExqGmk", 61 | }, 62 | { 63 | label: "Twitter", 64 | href: "https://twitter.com/stream_pi", 65 | }, 66 | ], 67 | }, 68 | { 69 | title: "More", 70 | items: [ 71 | { 72 | label: "GitHub", 73 | href: "https://github.com/stream-pi", 74 | }, 75 | ], 76 | }, 77 | ], 78 | copyright: `Copyright © ${new Date().getFullYear()} Stream-Pi, Built with Docusaurus.`, 79 | }, 80 | prism: { 81 | theme: lightCodeTheme, 82 | darkTheme: darkCodeTheme, 83 | additionalLanguages: ["java", "powershell"], 84 | }, 85 | }, 86 | presets: [ 87 | [ 88 | "@docusaurus/preset-classic", 89 | { 90 | docs: { 91 | routeBasePath: "/", 92 | sidebarPath: require.resolve("./sidebars.js"), 93 | // Please change this to your repo. 94 | editUrl: "https://github.com/stream-pi/documentation/edit/main/", 95 | }, 96 | theme: { 97 | customCss: require.resolve("./src/css/custom.css"), 98 | }, 99 | }, 100 | ], 101 | ], 102 | }; 103 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "streampi-documentation", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids", 15 | "eslint": "eslint --ext js,ts,tsx", 16 | "lint": "npm run eslint .", 17 | "lint:fix": "npm run eslint -- --fix .", 18 | "pretty:check": "prettier --check .", 19 | "pretty:fix": "prettier --write .", 20 | "checkTs": "tsc --noEmit" 21 | }, 22 | "dependencies": { 23 | "@docusaurus/core": "2.0.0-beta.ff31de0ff", 24 | "@docusaurus/preset-classic": "2.0.0-beta.ff31de0ff", 25 | "@mdx-js/react": "1.6.22", 26 | "@svgr/webpack": "5.5.0", 27 | "clsx": "1.1.1", 28 | "file-loader": "6.2.0", 29 | "prism-react-renderer": "1.2.1", 30 | "react": "17.0.2", 31 | "react-dom": "17.0.2", 32 | "url-loader": "4.1.1" 33 | }, 34 | "browserslist": { 35 | "production": [ 36 | ">0.5%", 37 | "not dead", 38 | "not op_mini all" 39 | ], 40 | "development": [ 41 | "last 1 chrome version", 42 | "last 1 firefox version", 43 | "last 1 safari version" 44 | ] 45 | }, 46 | "devDependencies": { 47 | "@docusaurus/module-type-aliases": "2.0.0-beta.3", 48 | "@tsconfig/docusaurus": "1.0.2", 49 | "@types/react": "17.0.11", 50 | "@types/react-helmet": "6.1.1", 51 | "@types/react-router-dom": "5.1.7", 52 | "@typescript-eslint/eslint-plugin": "4.28.2", 53 | "@typescript-eslint/parser": "4.28.2", 54 | "eslint": "7.30.0", 55 | "eslint-config-prettier": "8.3.0", 56 | "eslint-plugin-jsx-a11y": "6.4.1", 57 | "eslint-plugin-prettier": "3.4.0", 58 | "eslint-plugin-react": "7.24.0", 59 | "eslint-plugin-react-hooks": "4.2.0", 60 | "prettier": "2.3.2", 61 | "typescript": "4.3.4" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | module.exports = { 13 | // By default, Docusaurus generates a sidebar from the docs folder structure 14 | tutorialSidebar: [{ type: "autogenerated", dirName: "." }], 15 | 16 | // But you can create a sidebar manually 17 | /* 18 | tutorialSidebar: [ 19 | { 20 | type: 'category', 21 | label: 'Tutorial', 22 | items: ['hello'], 23 | }, 24 | ], 25 | */ 26 | }; 27 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import clsx from "clsx"; 3 | import styles from "./HomepageFeatures.module.css"; 4 | 5 | const FeatureList = [ 6 | { 7 | title: "Easy to Use", 8 | Svg: require("../../static/img/undraw_docusaurus_mountain.svg").default, 9 | description: ( 10 | <> 11 | Docusaurus was designed from the ground up to be easily installed and 12 | used to get your website up and running quickly. 13 | 14 | ), 15 | }, 16 | { 17 | title: "Focus on What Matters", 18 | Svg: require("../../static/img/undraw_docusaurus_tree.svg").default, 19 | description: ( 20 | <> 21 | Docusaurus lets you focus on your docs, and we'll do the chores. Go 22 | ahead and move your docs into the docs directory. 23 | 24 | ), 25 | }, 26 | { 27 | title: "Powered by React", 28 | Svg: require("../../static/img/undraw_docusaurus_react.svg").default, 29 | description: ( 30 | <> 31 | Extend or customize your website layout by reusing React. Docusaurus can 32 | be extended while reusing the same header and footer. 33 | 34 | ), 35 | }, 36 | ]; 37 | 38 | function Feature({ Svg, title, description }) { 39 | return ( 40 |
41 |
42 | 43 |
44 |
45 |

{title}

46 |

{description}

47 |
48 |
49 | ); 50 | } 51 | 52 | export default function HomepageFeatures() { 53 | return ( 54 |
55 |
56 |
57 | {FeatureList.map((props, idx) => ( 58 | 59 | ))} 60 |
61 |
62 |
63 | ); 64 | } 65 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | .features { 4 | display: flex; 5 | align-items: center; 6 | padding: 2rem 0; 7 | width: 100%; 8 | } 9 | 10 | .featureSvg { 11 | height: 200px; 12 | width: 200px; 13 | } 14 | -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | /** 3 | * Any CSS included here will be global. The classic template 4 | * bundles Infima by default. Infima is a CSS framework designed to 5 | * work well for content-centric websites. 6 | */ 7 | 8 | /* You can override the default Infima variables here. */ 9 | :root { 10 | --ifm-color-primary: #25c2a0; 11 | --ifm-color-primary-dark: rgb(33, 175, 144); 12 | --ifm-color-primary-darker: rgb(31, 165, 136); 13 | --ifm-color-primary-darkest: rgb(26, 136, 112); 14 | --ifm-color-primary-light: rgb(70, 203, 174); 15 | --ifm-color-primary-lighter: rgb(102, 212, 189); 16 | --ifm-color-primary-lightest: rgb(146, 224, 208); 17 | --ifm-code-font-size: 95%; 18 | } 19 | 20 | .docusaurus-highlight-code-line { 21 | background-color: rgba(0, 0, 0, 0.1); 22 | display: block; 23 | margin: 0 calc(-1 * var(--ifm-pre-padding)); 24 | padding: 0 var(--ifm-pre-padding); 25 | } 26 | 27 | html[data-theme="dark"] .docusaurus-highlight-code-line { 28 | background-color: rgba(0, 0, 0, 0.3); 29 | } 30 | -------------------------------------------------------------------------------- /src/pages/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import clsx from "clsx"; 3 | import Layout from "@theme/Layout"; 4 | import Link from "@docusaurus/Link"; 5 | import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; 6 | import styles from "./index.module.css"; 7 | import HomepageFeatures from "../components/HomepageFeatures"; 8 | 9 | function HomepageHeader() { 10 | const { siteConfig } = useDocusaurusContext(); 11 | return ( 12 |
13 |
14 |

{siteConfig.title}

15 |

{siteConfig.tagline}

16 |
17 | 18 | Docusaurus Tutorial - 5min ⏱️ 19 | 20 |
21 |
22 |
23 | ); 24 | } 25 | 26 | export default function Home() { 27 | const { siteConfig } = useDocusaurusContext(); 28 | return ( 29 | 33 | 34 |
35 | 36 |
37 |
38 | ); 39 | } 40 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | /** 4 | * CSS files with the .module.css suffix will be treated as CSS modules 5 | * and scoped locally. 6 | */ 7 | 8 | .heroBanner { 9 | padding: 4rem 0; 10 | text-align: center; 11 | position: relative; 12 | overflow: hidden; 13 | } 14 | 15 | @media screen and (max-width: 966px) { 16 | .heroBanner { 17 | padding: 2rem; 18 | } 19 | } 20 | 21 | .buttons { 22 | display: flex; 23 | align-items: center; 24 | justify-content: center; 25 | } 26 | -------------------------------------------------------------------------------- /src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stream-pi/documentation/3735d8d9243bfa15b362bb9e0b36060aea805072/static/.nojekyll -------------------------------------------------------------------------------- /static/CNAME: -------------------------------------------------------------------------------- 1 | documentation.stream-pi.com 2 | -------------------------------------------------------------------------------- /static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stream-pi/documentation/3735d8d9243bfa15b362bb9e0b36060aea805072/static/img/docusaurus.png -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stream-pi/documentation/3735d8d9243bfa15b362bb9e0b36060aea805072/static/img/favicon.ico -------------------------------------------------------------------------------- /static/img/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/img/tutorial/docsVersionDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stream-pi/documentation/3735d8d9243bfa15b362bb9e0b36060aea805072/static/img/tutorial/docsVersionDropdown.png -------------------------------------------------------------------------------- /static/img/tutorial/localeDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stream-pi/documentation/3735d8d9243bfa15b362bb9e0b36060aea805072/static/img/tutorial/localeDropdown.png -------------------------------------------------------------------------------- /static/img/undraw_docusaurus_mountain.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | -------------------------------------------------------------------------------- /static/img/undraw_docusaurus_react.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /static/img/undraw_docusaurus_tree.svg: -------------------------------------------------------------------------------- 1 | docu_tree -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@tsconfig/docusaurus/tsconfig.json", 3 | "include": ["src/"] 4 | } 5 | --------------------------------------------------------------------------------