├── .github ├── .DS_Store ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── build.md │ ├── chore.md │ ├── ci.md │ ├── config.yml │ ├── documentation.md │ ├── feature_request.md │ ├── performance.md │ ├── refactor.md │ ├── revert.md │ ├── style.md │ └── test.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ └── very_good_docs_site.yaml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── brick ├── CHANGELOG.md ├── LICENSE ├── README.md ├── __brick__ │ └── {{project_name.snakeCase()}} │ │ ├── .eslintrc.js │ │ ├── .github │ │ ├── ISSUE_TEMPLATE │ │ │ ├── bug_report.md │ │ │ ├── build.md │ │ │ ├── chore.md │ │ │ ├── ci.md │ │ │ ├── config.yml │ │ │ ├── documentation.md │ │ │ ├── feature_request.md │ │ │ ├── performance.md │ │ │ ├── refactor.md │ │ │ ├── revert.md │ │ │ ├── style.md │ │ │ └── test.md │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ ├── dependabot.yml │ │ └── workflows │ │ │ └── main.yaml │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── README.md │ │ ├── babel.config.js │ │ ├── docs │ │ └── overview.md │ │ ├── docusaurus.config.js │ │ ├── package.json │ │ ├── sidebars.js │ │ ├── src │ │ ├── css │ │ │ └── custom.css │ │ └── pages │ │ │ ├── index.module.css │ │ │ └── index.tsx │ │ ├── static │ │ ├── .nojekyll │ │ └── img │ │ │ ├── hero.svg │ │ │ ├── hero_dark.svg │ │ │ ├── logo.svg │ │ │ ├── pillar1.svg │ │ │ ├── pillar2.svg │ │ │ └── pillar3.svg │ │ └── tsconfig.json ├── brick.yaml └── config.json ├── mason.yaml └── tool └── release_ready.sh /.github/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VeryGoodOpenSource/very_good_docs_site/5e00bdd70c8d64a27404e82b5245ceecc80f992a/.github/.DS_Store -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Every request must be reviewed and accepted by: 2 | 3 | * @VeryGoodOpenSource/codeowners 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a report to help us improve 4 | title: 'fix: ' 5 | labels: bug 6 | --- 7 | 8 | **Description** 9 | 10 | A clear and concise description of what the bug is. 11 | 12 | **Steps To Reproduce** 13 | 14 | 1. Go to '...' 15 | 2. Click on '....' 16 | 3. Scroll down to '....' 17 | 4. See error 18 | 19 | **Expected Behavior** 20 | 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | 25 | If applicable, add screenshots to help explain your problem. 26 | 27 | **Additional Context** 28 | 29 | Add any other context about the problem here. 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/build.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Build System 3 | about: Changes that affect the build system or external dependencies 4 | title: 'build: ' 5 | labels: build 6 | --- 7 | 8 | **Description** 9 | 10 | Describe what changes need to be done to the build system and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] The build system is passing 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/chore.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Chore 3 | about: Other changes that don't modify src or test files 4 | title: 'chore: ' 5 | labels: chore 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what change is needed and why. If this changes code then please use another issue type. 11 | 12 | **Requirements** 13 | 14 | - [ ] No functional changes to the code 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/ci.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Continuous Integration 3 | about: Changes to the CI configuration files and scripts 4 | title: 'ci: ' 5 | labels: ci 6 | --- 7 | 8 | **Description** 9 | 10 | Describe what changes need to be done to the ci/cd system and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] The ci system is passing 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation 3 | about: Improve the documentation so all collaborators have a common understanding 4 | title: 'docs: ' 5 | labels: documentation 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what documentation you are looking to add or improve. 11 | 12 | **Requirements** 13 | 14 | - [ ] Requirements go here 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: A new feature to be added to the project 4 | title: 'feat: ' 5 | labels: feature 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what you are looking to add. The more context the better. 11 | 12 | **Requirements** 13 | 14 | - [ ] Checklist of requirements to be fulfilled 15 | 16 | **Additional Context** 17 | 18 | Add any other context or screenshots about the feature request go here. 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/performance.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Performance Update 3 | about: A code change that improves performance 4 | title: 'perf: ' 5 | labels: performance 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what code needs to be changed and what the performance impact is going to be. Bonus point's if you can tie this directly to user experience. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/refactor.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Refactor 3 | about: A code change that neither fixes a bug nor adds a feature 4 | title: 'refactor: ' 5 | labels: refactor 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what needs to be refactored and why. Please provide links to related issues (bugs or upcoming features) in order to help prioritize. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/revert.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Revert Commit 3 | about: Reverts a previous commit 4 | title: 'revert: ' 5 | labels: revert 6 | --- 7 | 8 | **Description** 9 | 10 | Provide a link to a PR/Commit that you are looking to revert and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] Change has been reverted 15 | - [ ] No change in test coverage has happened 16 | - [ ] A new ticket is created for any follow on work that needs to happen 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/style.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Style Changes 3 | about: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) 4 | title: 'style: ' 5 | labels: style 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what you are looking to change and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Test 3 | about: Adding missing tests or correcting existing tests 4 | title: 'test: ' 5 | labels: test 6 | --- 7 | 8 | **Description** 9 | 10 | List out the tests that need to be added or changed. Please also include any information as to why this was not covered in the past. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 6 | 7 | ## Status 8 | 9 | **READY/IN DEVELOPMENT/HOLD** 10 | 11 | ## Description 12 | 13 | 14 | 15 | ## Type of Change 16 | 17 | 18 | 19 | - [ ] ✨ New feature (non-breaking change which adds functionality) 20 | - [ ] 🛠️ Bug fix (non-breaking change which fixes an issue) 21 | - [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change) 22 | - [ ] 🧹 Code refactor 23 | - [ ] ✅ Build configuration change 24 | - [ ] 📝 Documentation 25 | - [ ] 🗑️ Chore 26 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | enable-beta-ecosystems: true 3 | updates: 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "daily" 8 | - package-ecosystem: "npm" 9 | directory: "/src/very_good_docs_site" 10 | schedule: 11 | interval: "daily" 12 | -------------------------------------------------------------------------------- /.github/workflows/very_good_docs_site.yaml: -------------------------------------------------------------------------------- 1 | name: very_good_docs_site 2 | 3 | concurrency: 4 | group: ${{ github.workflow }}-${{ github.ref }} 5 | cancel-in-progress: true 6 | 7 | on: 8 | push: 9 | paths: 10 | - .github/workflows/very_good_docs_site.yaml 11 | - "brick/**" 12 | branches: 13 | - main 14 | pull_request: 15 | paths: 16 | - .github/workflows/very_good_docs_site.yaml 17 | - "brick/**" 18 | branches: 19 | - main 20 | 21 | jobs: 22 | brick: 23 | runs-on: ubuntu-latest 24 | 25 | steps: 26 | - name: 📚 Git Checkout 27 | uses: actions/checkout@v4 28 | 29 | - name: 🎯 Setup Dart 30 | uses: dart-lang/setup-dart@v1 31 | with: 32 | sdk: stable 33 | 34 | - name: 🧱 Mason Make 35 | run: | 36 | dart pub global activate mason_cli 37 | mason get 38 | mason make very_good_docs_site -c brick/config.json -o output --on-conflict overwrite 39 | 40 | - name: ⚙️ Setup Node 41 | uses: actions/setup-node@v4 42 | with: 43 | node-version: 18.x 44 | 45 | - name: 📦 Install Dependencies 46 | run: | 47 | cd output/test_docs_site 48 | npm i 49 | 50 | - name: ✨ Check Format 51 | run: | 52 | cd output/test_docs_site 53 | npm run format:check 54 | 55 | - name: 🧹 Lint 56 | run: | 57 | cd output/test_docs_site 58 | npm run lint 59 | 60 | - name: 👷 Build website 61 | run: | 62 | cd output/test_docs_site 63 | npm run build 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by mason 2 | .mason/ 3 | mason-lock.json 4 | output/ 5 | 6 | # Files and directories created by MacOS 7 | .DS_Store -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | - Using welcoming and inclusive language 18 | - Being respectful of differing viewpoints and experiences 19 | - Gracefully accepting constructive criticism 20 | - Focusing on what is best for the community 21 | - Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | - The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | - Trolling, insulting/derogatory comments, and personal or political attacks 28 | - Public or private harassment 29 | - Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | - Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at hello@verygood.ventures. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faqs 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Very Good Docs Site 2 | 3 | First off, thanks for taking the time to contribute! 🎉👍 4 | 5 | This project is opinionated and follows patterns and practices used by the team at [Very Good Ventures][very_good_ventures_link]. **At this time, we welcome bug tickets but will not be accepting feature requests because the roadmap and scope of this project is still being defined.** In the future, we may support additional, more feature-rich templates but at this time we would ask that issues be reserved for bugs only. 6 | 7 | ## Creating a Bug Report 8 | 9 | We highly recommend [creating an issue][bug_report_link] if you have found a bug rather than immediately opening a pull request. This lets us reach an agreement on a fix before you put significant effort into a pull request. Please use the built-in [Bug Report][bug_report_link] template and provide as much information as possible including detailed reproduction steps. Once one of the package maintainers has reviewed the issue and an agreement is reached regarding the fix, a pull request can be created. 10 | 11 | ## Creating a Pull Request 12 | 13 | Before creating a pull request please: 14 | 15 | 1. Fork the repository and create your branch from `main`. 16 | 1. Install all dependencies (`dart pub get`). 17 | 1. Squash your commits and ensure you have a meaningful, [semantic][conventional_commits_link] commit message. 18 | 1. Add tests! Pull Requests without 100% test coverage will not be approved. 19 | 1. Ensure the existing test suite passes locally. 20 | 1. Format your code (`dart format .`). 21 | 1. Analyze your code (`dart analyze --fatal-infos --fatal-warnings .`). 22 | 1. Create the Pull Request. 23 | 1. Verify that all status checks are passing. 24 | 25 | While the prerequisites above must be satisfied prior to having your 26 | pull request reviewed, the reviewer(s) may ask you to complete additional 27 | work, tests, or other changes before your pull request can be ultimately 28 | accepted. 29 | 30 | [conventional_commits_link]: https://www.conventionalcommits.org/en/v1.0.0 31 | [bug_report_link]: https://github.com/VeryGoodOpenSource/dart_frog/issues/new?assignees=&labels=bug&template=bug_report.md&title=fix%3A+ 32 | [very_good_ventures_link]: https://verygood.ventures 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Very Good Ventures 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Very Good Docs Site 2 | 3 | ## 🚶‍♂️ [Repository has moved](https://github.com/VeryGoodOpenSource/very_good_templates/tree/main/very_good_docs_site) 4 | 5 | The Very Good Docs Site template is now developed within the [Very Good Templates](https://github.com/VeryGoodOpenSource/very_good_templates) repository, and can be found at [very_good_templates/very_good_docs_site](https://github.com/VeryGoodOpenSource/very_good_templates/tree/main/very_good_docs_site). 6 | 7 | Please file new issues on 8 | [Very Good Templates](https://github.com/VeryGoodOpenSource/very_good_templates). 9 | 10 | --- 11 | 12 | [![Very Good Ventures][logo_white]][very_good_ventures_link_dark] 13 | [![Very Good Ventures][logo_black]][very_good_ventures_link_light] 14 | 15 | Developed with 💙 by [Very Good Ventures][very_good_ventures_link] 🦄 16 | 17 | [![License: MIT][license_badge]][license_link] 18 | 19 | A Very Good Docs Site created by the [Very Good Ventures Team][very_good_ventures_link]. 20 | 21 | Generated by the [Very Good CLI][very_good_cli_link] 🤖 22 | 23 | --- 24 | 25 | ## Getting Started 🚀 26 | 27 | The docs site is built using [Docusaurus 3][docusaurus_link], a modern static website generator. 28 | 29 | ### ⚙️ Installation 30 | 31 | ``` 32 | $ npm install 33 | ``` 34 | 35 | ### 🧑‍💻 Local Development 36 | 37 | ``` 38 | $ npm start 39 | ``` 40 | 41 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 42 | 43 | ### 📦 Build 44 | 45 | ``` 46 | $ npm run build 47 | ``` 48 | 49 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 50 | 51 | [docusaurus_link]: https://docusaurus.io/ 52 | [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg 53 | [license_link]: https://opensource.org/licenses/MIT 54 | [logo_black]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_black.png#gh-light-mode-only 55 | [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only 56 | [very_good_cli_link]: https://github.com/VeryGoodOpenSource/very_good_cli 57 | [very_good_ventures_link]: https://verygood.ventures 58 | [very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only 59 | [very_good_ventures_link_light]: https://verygood.ventures#gh-light-mode-only 60 | -------------------------------------------------------------------------------- /brick/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.0.2 2 | 3 | - build(deps-dev): bump @tsconfig/docusaurus in /src/very_good_docs_site ([#135](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/135)) 4 | - chore: generate template ([#136](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/136)) 5 | - build(deps): bump @docusaurus/core in /src/very_good_docs_site ([#140](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/140)) 6 | - build(deps): bump @docusaurus/preset-classic in /src/very_good_docs_site ([#137](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/137)) 7 | - build(deps): bump actions/setup-node from 3 to 4 ([#145](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/145)) 8 | - chore: request code ownership ([#147](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/147)) 9 | - feat: update to docusaurs 3.0 ([#152](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/152)) 10 | - refactor: remove generator script ([#162](https://github.com/VeryGoodOpenSource/very_good_docs_site/pull/162)) 11 | 12 | # 0.0.1+7 13 | 14 | - build(deps): various dependency updates 15 | 16 | # 0.0.1+6 17 | 18 | - build(deps): various dependency updates 19 | 20 | # 0.0.1+5 21 | 22 | - build(deps): various dependency updates 23 | 24 | # 0.0.1+4 25 | 26 | - build(deps): various dependency updates 27 | 28 | # 0.0.1+3 29 | 30 | - build(deps): upgrade to docusaurus 2.2.0 31 | 32 | # 0.0.1+2 33 | 34 | - refactor: use npm 35 | 36 | # 0.0.1+1 37 | 38 | - build(deps): upgrade lockfile 39 | 40 | # 0.0.1 41 | 42 | - feat: initial release 🎉 43 | -------------------------------------------------------------------------------- /brick/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Very Good Ventures 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /brick/README.md: -------------------------------------------------------------------------------- 1 | # Very Good Docs Site 2 | 3 | [![Very Good Ventures][logo_white]][very_good_ventures_link_dark] 4 | 5 | Developed with 💙 by [Very Good Ventures][very_good_ventures_link] 🦄 6 | 7 | [![License: MIT][license_badge]][license_link] 8 | [![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) 9 | 10 | A Very Good documentation site template powered by [Docusaurus][docusaurus_link] created by Very Good Ventures 🦄. 11 | 12 | ## What's Included ✨ 13 | 14 | - ✅ GitHub Workflow 15 | - ✅ Pull Request Template 16 | - ✅ Issue Templates 17 | - ✅ Dependabot Integration 18 | - ✅ Light/Dark Mode 19 | - ✅ Landing Page 20 | - ✅ Docs powered by Markdown 21 | - ✅ Customizable Theming 22 | - ✅ MIT License 23 | 24 | ## Output 📦 25 | 26 | ```sh 27 | ├── .eslintrc.js 28 | ├── .github 29 | │   ├── ISSUE_TEMPLATE 30 | │   │   ├── bug_report.md 31 | │   │   ├── build.md 32 | │   │   ├── chore.md 33 | │   │   ├── ci.md 34 | │   │   ├── config.yml 35 | │   │   ├── documentation.md 36 | │   │   ├── feature_request.md 37 | │   │   ├── performance.md 38 | │   │   ├── refactor.md 39 | │   │   ├── revert.md 40 | │   │   ├── style.md 41 | │   │   └── test.md 42 | │   ├── PULL_REQUEST_TEMPLATE.md 43 | │   ├── dependabot.yml 44 | │   └── workflows 45 | │   └── main.yaml 46 | ├── .gitignore 47 | ├── .prettierignore 48 | ├── .prettierrc 49 | ├── README.md 50 | ├── babel.config.js 51 | ├── docs 52 | │   └── overview.md 53 | ├── docusaurus.config.js 54 | ├── package.json 55 | ├── sidebars.js 56 | ├── src 57 | │   ├── css 58 | │   │   └── custom.css 59 | │   └── pages 60 | │   ├── index.module.css 61 | │   └── index.tsx 62 | ├── static 63 | │   ├── .nojekyll 64 | │   └── img 65 | │   ├── hero.svg 66 | │   ├── hero_dark.svg 67 | │   ├── logo.svg 68 | │   ├── pillar1.svg 69 | │   ├── pillar2.svg 70 | │   └── pillar3.svg 71 | ├── tsconfig.json 72 | └── yarn.lock 73 | ``` 74 | 75 | [docusaurus_link]: https://docusaurus.io 76 | [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg 77 | [license_link]: https://opensource.org/licenses/MIT 78 | [logo_white]: https://raw.githubusercontent.com/VGVentures/very_good_brand/main/styles/README/vgv_logo_white.png#gh-dark-mode-only 79 | [very_good_ventures_link_dark]: https://verygood.ventures#gh-dark-mode-only 80 | [very_good_ventures_link]: https://verygood.ventures 81 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.eslintrc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @type {import('@types/eslint').Linter.BaseConfig} 3 | */ 4 | module.exports = { 5 | extends: ['plugin:@docusaurus/recommended'], 6 | plugins: ['@docusaurus'], 7 | parserOptions: { 8 | ecmaVersion: 'latest', 9 | sourceType: 'module', 10 | }, 11 | parser: '@babel/eslint-parser', 12 | }; 13 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a report to help us improve 4 | title: 'fix: ' 5 | labels: bug 6 | --- 7 | 8 | **Description** 9 | 10 | A clear and concise description of what the bug is. 11 | 12 | **Steps To Reproduce** 13 | 14 | 1. Go to '...' 15 | 2. Click on '....' 16 | 3. Scroll down to '....' 17 | 4. See error 18 | 19 | **Expected Behavior** 20 | 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | 25 | If applicable, add screenshots to help explain your problem. 26 | 27 | **Additional Context** 28 | 29 | Add any other context about the problem here. 30 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/build.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Build System 3 | about: Changes that affect the build system or external dependencies 4 | title: 'build: ' 5 | labels: build 6 | --- 7 | 8 | **Description** 9 | 10 | Describe what changes need to be done to the build system and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] The build system is passing 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/chore.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Chore 3 | about: Other changes that don't modify src or test files 4 | title: 'chore: ' 5 | labels: chore 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what change is needed and why. If this changes code then please use another issue type. 11 | 12 | **Requirements** 13 | 14 | - [ ] No functional changes to the code 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/ci.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Continuous Integration 3 | about: Changes to the CI configuration files and scripts 4 | title: 'ci: ' 5 | labels: ci 6 | --- 7 | 8 | **Description** 9 | 10 | Describe what changes need to be done to the ci/cd system and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] The ci system is passing 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation 3 | about: Improve the documentation so all collaborators have a common understanding 4 | title: 'docs: ' 5 | labels: documentation 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what documentation you are looking to add or improve. 11 | 12 | **Requirements** 13 | 14 | - [ ] Requirements go here 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: A new feature to be added to the project 4 | title: 'feat: ' 5 | labels: feature 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what you are looking to add. The more context the better. 11 | 12 | **Requirements** 13 | 14 | - [ ] Checklist of requirements to be fulfilled 15 | 16 | **Additional Context** 17 | 18 | Add any other context or screenshots about the feature request go here. 19 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/performance.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Performance Update 3 | about: A code change that improves performance 4 | title: 'perf: ' 5 | labels: performance 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what code needs to be changed and what the performance impact is going to be. Bonus point's if you can tie this directly to user experience. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/refactor.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Refactor 3 | about: A code change that neither fixes a bug nor adds a feature 4 | title: 'refactor: ' 5 | labels: refactor 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what needs to be refactored and why. Please provide links to related issues (bugs or upcoming features) in order to help prioritize. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/revert.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Revert Commit 3 | about: Reverts a previous commit 4 | title: 'revert: ' 5 | labels: revert 6 | --- 7 | 8 | **Description** 9 | 10 | Provide a link to a PR/Commit that you are looking to revert and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] Change has been reverted 15 | - [ ] No change in test coverage has happened 16 | - [ ] A new ticket is created for any follow on work that needs to happen 17 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/style.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Style Changes 3 | about: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) 4 | title: 'style: ' 5 | labels: style 6 | --- 7 | 8 | **Description** 9 | 10 | Clearly describe what you are looking to change and why. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/ISSUE_TEMPLATE/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Test 3 | about: Adding missing tests or correcting existing tests 4 | title: 'test: ' 5 | labels: test 6 | --- 7 | 8 | **Description** 9 | 10 | List out the tests that need to be added or changed. Please also include any information as to why this was not covered in the past. 11 | 12 | **Requirements** 13 | 14 | - [ ] There is no drop in test coverage. 15 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 6 | 7 | ## Status 8 | 9 | **READY/IN DEVELOPMENT/HOLD** 10 | 11 | ## Description 12 | 13 | 14 | 15 | ## Type of Change 16 | 17 | 18 | 19 | - [ ] ✨ New feature (non-breaking change which adds functionality) 20 | - [ ] 🛠️ Bug fix (non-breaking change which fixes an issue) 21 | - [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change) 22 | - [ ] 🧹 Code refactor 23 | - [ ] ✅ Build configuration change 24 | - [ ] 📝 Documentation 25 | - [ ] 🗑️ Chore 26 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | enable-beta-ecosystems: true 3 | updates: 4 | - package-ecosystem: 'github-actions' 5 | directory: '/' 6 | schedule: 7 | interval: 'daily' 8 | - package-ecosystem: 'npm' 9 | directory: '/' 10 | schedule: 11 | interval: 'daily' 12 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.github/workflows/main.yaml: -------------------------------------------------------------------------------- 1 | name: main 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: 📚 Git Checkout 11 | uses: actions/checkout@v2 12 | 13 | - name: ⚙️ Setup Node 14 | uses: actions/setup-node@v3 15 | with: 16 | node-version: 16.x 17 | cache: npm 18 | cache-dependency-path: package-lock.json 19 | 20 | - name: 📦 Install Dependencies 21 | run: npm ci 22 | 23 | - name: ✨ Check Format 24 | run: npm run format:check 25 | 26 | - name: 🧹 Lint 27 | run: npm run lint 28 | 29 | - name: 👷 Build website 30 | run: npm run build 31 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.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 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | /build 3 | /public/build 4 | .env 5 | .docusaurus 6 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/README.md: -------------------------------------------------------------------------------- 1 | # 📚 {{project_name.titleCase()}} 2 | 3 | This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. 4 | 5 | ### ⚙️ Installation 6 | 7 | ``` 8 | $ npm install 9 | ``` 10 | 11 | ### 🧑‍💻 Local Development 12 | 13 | ``` 14 | $ npm 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 | ``` 22 | $ npm 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 | Using SSH: 30 | 31 | ``` 32 | $ USE_SSH=true yarn deploy 33 | ``` 34 | 35 | Not using SSH: 36 | 37 | ``` 38 | $ GIT_USER= yarn deploy 39 | ``` 40 | 41 | 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. 42 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/docs/overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Overview 📚 6 | 7 | Est pellentesque elit ullamcorper dignissim. Viverra nam libero justo laoreet sit amet cursus sit. Interdum velit laoreet id donec ultrices. Nunc lobortis mattis aliquam faucibus purus. Massa vitae tortor condimentum lacinia quis. 8 | 9 | ## Quick Start 🚀 10 | 11 | ### Elementum pulvinar 12 | 13 | Orci a scelerisque purus semper eget. Sit amet porttitor eget dolor morbi non arcu. 14 | 15 | :::tip 16 | Id ornare arcu odio ut sem nulla pharetra. 17 | ::: 18 | 19 | ```dart 20 | void main() { 21 | print('Hello World 👋'); 22 | } 23 | ``` 24 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/docusaurus.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // Note: type annotations allow type checking and IDEs autocompletion 3 | 4 | const lightCodeTheme = require('prism-react-renderer/themes/vsLight'); 5 | const darkCodeTheme = require('prism-react-renderer/themes/vsDark'); 6 | 7 | /** @type {import('@docusaurus/types').Config} */ 8 | const config = { 9 | title: '{{project_name.titleCase()}}', 10 | tagline: '{{{description}}}', 11 | url: 'https://{{project_name.paramCase()}}.com', 12 | baseUrl: '/', 13 | onBrokenLinks: 'throw', 14 | onBrokenMarkdownLinks: 'warn', 15 | favicon: 'img/favicon.ico', 16 | 17 | // GitHub pages deployment config. 18 | // If you aren't using GitHub pages, you don't need these. 19 | organizationName: '{{{org_name}}}', // Usually your GitHub org/user name. 20 | projectName: '{{project_name.snakeCase()}}', // Usually your repo name. 21 | 22 | // Even if you don't use internalization, you can use this field to set useful 23 | // metadata like html lang. For example, if your site is Chinese, you may want 24 | // to replace "en" with "zh-Hans". 25 | i18n: { 26 | defaultLocale: 'en', 27 | locales: ['en'], 28 | }, 29 | 30 | presets: [ 31 | [ 32 | 'classic', 33 | /** @type {import('@docusaurus/preset-classic').Options} */ 34 | ({ 35 | docs: { 36 | sidebarPath: require.resolve('./sidebars.js'), 37 | // Please change this to your repo. 38 | // Remove this to remove the "edit this page" links. 39 | editUrl: 40 | 'https://github.com/{{{org_name}}}/{{project_name.snakeCase()}}/tree/main/', 41 | }, 42 | theme: { 43 | customCss: require.resolve('./src/css/custom.css'), 44 | }, 45 | }), 46 | ], 47 | ], 48 | 49 | themeConfig: 50 | /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ 51 | ({ 52 | navbar: { 53 | title: '{{project_name.titleCase()}}', 54 | logo: { 55 | alt: '{{project_name.titleCase()}} Logo', 56 | src: 'img/logo.svg', 57 | }, 58 | items: [ 59 | { 60 | type: 'doc', 61 | docId: 'overview', 62 | position: 'left', 63 | label: 'Overview', 64 | }, 65 | { 66 | href: 'https://github.com/{{{org_name}}}/{{project_name.snakeCase()}}', 67 | position: 'right', 68 | className: 'navbar-github-icon', 69 | 'aria-label': 'GitHub repository', 70 | }, 71 | ], 72 | }, 73 | footer: { 74 | links: [ 75 | { 76 | title: 'Docs', 77 | items: [ 78 | { 79 | label: 'Overview', 80 | to: '/docs/overview', 81 | }, 82 | ], 83 | }, 84 | { 85 | title: 'Resources', 86 | items: [ 87 | { 88 | label: 'Blog', 89 | href: '#', 90 | }, 91 | ], 92 | }, 93 | { 94 | title: 'More', 95 | items: [ 96 | { 97 | label: 'GitHub', 98 | href: 'https://github.com/{{{org_name}}}/{{project_name.snakeCase()}}', 99 | }, 100 | ], 101 | }, 102 | ], 103 | }, 104 | prism: { 105 | additionalLanguages: ['bash', 'dart', 'yaml'], 106 | theme: lightCodeTheme, 107 | darkTheme: darkCodeTheme, 108 | }, 109 | }), 110 | }; 111 | 112 | module.exports = config; 113 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{project_name.paramCase()}}", 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 | "typecheck": "tsc", 16 | "format": "prettier --write .", 17 | "format:check": "prettier --check .", 18 | "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint ." 19 | }, 20 | "dependencies": { 21 | "@docusaurus/core": "3.0.0", 22 | "@docusaurus/preset-classic": "3.0.0", 23 | "@mdx-js/react": "^3.0.0", 24 | "clsx": "^2.0.0", 25 | "prism-react-renderer": "^1.3.5", 26 | "react": "^18.2.0", 27 | "react-dom": "^18.2.0" 28 | }, 29 | "devDependencies": { 30 | "@babel/eslint-parser": "^7.23.3", 31 | "@docusaurus/eslint-plugin": "^3.0.0", 32 | "@docusaurus/module-type-aliases": "3.0.0", 33 | "@docusaurus/tsconfig": "^3.0.0", 34 | "eslint": "^8.53.0", 35 | "prettier": "^3.1.0", 36 | "typescript": "^5.3.2" 37 | }, 38 | "browserslist": { 39 | "production": [ 40 | ">0.5%", 41 | "not dead", 42 | "not op_mini all" 43 | ], 44 | "development": [ 45 | "last 1 chrome version", 46 | "last 1 firefox version", 47 | "last 1 safari version" 48 | ] 49 | }, 50 | "engines": { 51 | "node": ">=18.0.0" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/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 | // @ts-check 13 | 14 | /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ 15 | const sidebars = { 16 | // By default, Docusaurus generates a sidebar from the docs folder structure 17 | tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }], 18 | 19 | // But you can create a sidebar manually 20 | /* 21 | tutorialSidebar: [ 22 | 'intro', 23 | 'hello', 24 | { 25 | type: 'category', 26 | label: 'Tutorial', 27 | items: ['tutorial-basics/create-a-document'], 28 | }, 29 | ], 30 | */ 31 | }; 32 | 33 | module.exports = sidebars; 34 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | /* You can override the default Infima variables here. */ 8 | /* You can override the default Infima variables here. */ 9 | :root { 10 | --ifm-color-primary: #2a48df; 11 | --ifm-color-primary-dark: #1f3ccf; 12 | --ifm-color-primary-darker: #1d39c4; 13 | --ifm-color-primary-darkest: #182fa1; 14 | --ifm-color-primary-light: #415ce2; 15 | --ifm-color-primary-lighter: #4d66e4; 16 | --ifm-color-primary-lightest: #6f83e9; 17 | --ifm-code-font-size: 95%; 18 | --ifm-footer-background-color: #f8f9fa; 19 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 20 | } 21 | 22 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 23 | [data-theme='dark'] { 24 | --ifm-color-primary: #66fbd1; 25 | --ifm-color-primary-dark: #44fac7; 26 | --ifm-color-primary-darker: #32fac1; 27 | --ifm-color-primary-darkest: #06f1af; 28 | --ifm-color-primary-light: #88fcdb; 29 | --ifm-color-primary-lighter: #9afce1; 30 | --ifm-color-primary-lightest: #cdfef0; 31 | --ifm-footer-background-color: #232938 !important; 32 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 33 | } 34 | 35 | /* Footer */ 36 | html .footer { 37 | margin-top: 4rem; 38 | } 39 | 40 | html[data-theme='dark'] .footer { 41 | background-color: var(--ifm-footer-background-color); 42 | } 43 | 44 | /* GitHub Navbar Icon */ 45 | .navbar-github-icon:hover { 46 | opacity: 0.6; 47 | } 48 | 49 | .navbar-github-icon:before { 50 | content: ''; 51 | width: 24px; 52 | height: 24px; 53 | display: flex; 54 | background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 55 | no-repeat; 56 | } 57 | 58 | html[data-theme='dark'] .navbar-github-icon:before { 59 | background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 60 | no-repeat; 61 | } 62 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * CSS files with the .module.css suffix will be treated as CSS modules 3 | * and scoped locally. 4 | */ 5 | 6 | .heroBanner { 7 | padding: 4rem 0; 8 | background-color: var(--ifm-background-color); 9 | text-align: center; 10 | position: relative; 11 | overflow: hidden; 12 | } 13 | 14 | .heroImage { 15 | margin-top: 2em; 16 | } 17 | 18 | @media screen and (max-width: 996px) { 19 | .heroBanner { 20 | padding: 2rem; 21 | } 22 | } 23 | 24 | .features { 25 | display: flex; 26 | align-items: center; 27 | padding: 2rem 0; 28 | width: 100%; 29 | } 30 | 31 | .featureSvg { 32 | height: 200px; 33 | width: 200px; 34 | } 35 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import Link from '@docusaurus/Link'; 4 | import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 5 | import Layout from '@theme/Layout'; 6 | import { useColorMode } from '@docusaurus/theme-common'; 7 | 8 | import styles from './index.module.css'; 9 | 10 | function HomepageHeader() { 11 | const { siteConfig } = useDocusaurusContext(); 12 | return ( 13 |
14 |
15 |

{siteConfig.title}

16 |

{siteConfig.tagline}

17 | 18 | 19 |
20 |
21 | ); 22 | } 23 | 24 | export default function Home(): JSX.Element { 25 | const { siteConfig } = useDocusaurusContext(); 26 | return ( 27 | 30 | 31 |
32 | 33 |
34 |
35 | ); 36 | } 37 | 38 | function HomepageCTA() { 39 | return ( 40 |
41 | 42 | Get Started 43 | 44 |
45 | ); 46 | } 47 | 48 | function HomepageHeroImage() { 49 | const { colorMode } = useColorMode(); 50 | return ( 51 | Hero 57 | ); 58 | } 59 | 60 | type FeatureItem = { 61 | title: string; 62 | Svg: React.ComponentType>; 63 | description: JSX.Element; 64 | }; 65 | 66 | const FeatureList: FeatureItem[] = [ 67 | { 68 | title: 'Pillar 1', 69 | Svg: require('@site/static/img/pillar1.svg').default, 70 | description: ( 71 | <> 72 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 73 | tempor incididunt ut labore et dolore magna aliqua. Proin gravida 74 | hendrerit lectus. 75 | 76 | ), 77 | }, 78 | { 79 | title: 'Pillar 2', 80 | Svg: require('@site/static/img/pillar2.svg').default, 81 | description: ( 82 | <> 83 | Quis hendrerit dolor magna eget est. Urna nunc id cursus metus aliquam. 84 | Id faucibus nisl tincidunt eget nullam non nisi est sit. 85 | 86 | ), 87 | }, 88 | { 89 | title: 'Pillar 3', 90 | Svg: require('@site/static/img/pillar3.svg').default, 91 | description: ( 92 | <> 93 | Tempor orci dapibus ultrices in iaculis nunc sed augue. Convallis tellus 94 | id interdum velit laoreet id donec ultrices tincidunt. 95 | 96 | ), 97 | }, 98 | ]; 99 | 100 | function Feature({ title, Svg, description }: FeatureItem) { 101 | return ( 102 |
103 |
104 | 105 |
106 |
107 |

{title}

108 |

{description}

109 |
110 |
111 | ); 112 | } 113 | 114 | function HomepageFeatures(): JSX.Element { 115 | return ( 116 |
117 |
118 |
119 | {FeatureList.map((props, idx) => ( 120 | 121 | ))} 122 |
123 |
124 |
125 | ); 126 | } 127 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VeryGoodOpenSource/very_good_docs_site/5e00bdd70c8d64a27404e82b5245ceecc80f992a/brick/__brick__/{{project_name.snakeCase()}}/static/.nojekyll -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/hero.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/hero_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/pillar1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/pillar2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/static/img/pillar3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /brick/__brick__/{{project_name.snakeCase()}}/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@docusaurus/tsconfig", 4 | "compilerOptions": { 5 | "baseUrl": "." 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /brick/brick.yaml: -------------------------------------------------------------------------------- 1 | name: very_good_docs_site 2 | description: A Very Good documentation site created by Very Good Ventures. 3 | repository: https://github.com/VeryGoodOpenSource/very_good_docs_site 4 | version: 0.0.2 5 | 6 | environment: 7 | mason: ">=0.1.0-dev.50 <0.1.0" 8 | 9 | vars: 10 | project_name: 11 | type: string 12 | description: The site name 13 | default: my_docs_site 14 | prompt: What is the site name? 15 | description: 16 | type: string 17 | description: The site description 18 | default: A very good docs site 19 | prompt: What is the site description? 20 | org_name: 21 | type: string 22 | description: The organization name 23 | default: my_org 24 | prompt: What is the repo organization name? 25 | -------------------------------------------------------------------------------- /brick/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_name": "test_docs_site", 3 | "org_name": "very_good_ventures", 4 | "description": "A Very Good Documentation Site", 5 | "publishable": false 6 | } 7 | -------------------------------------------------------------------------------- /mason.yaml: -------------------------------------------------------------------------------- 1 | bricks: 2 | very_good_docs_site: 3 | path: brick -------------------------------------------------------------------------------- /tool/release_ready.sh: -------------------------------------------------------------------------------- 1 | # Ensures that the package or brick is ready for a release. 2 | # 3 | # Set it up for a new version: 4 | # `./release_ready.sh 5 | 6 | # Check if current directory is usable for this script, if so we assume it is correctly set up. 7 | if [ ! -f "brick/brick.yaml" ]; then 8 | echo "$(pwd) is not a valid brick." 9 | exit 1 10 | fi 11 | 12 | currentBranch=$(git symbolic-ref --short -q HEAD) 13 | if [[ ! $currentBranch == "main" ]]; then 14 | echo "Releasing is only supported on the main branch." 15 | exit 1 16 | fi 17 | 18 | # Get information 19 | old_version="" 20 | current_name="" 21 | if [ -f "brick/brick.yaml" ]; then 22 | old_version=$(cat brick/brick.yaml | pcregrep 'version: (.*?)' | tr " " "\n" | tail -1) 23 | current_name=$(cat brick/brick.yaml | pcregrep 'name: (.*?)' | tr " " "\n" | tail -1) 24 | fi 25 | 26 | if [ -z "$old_version" ] || [ -z "$current_name" ]; then 27 | echo "Current version or name was not resolved." 28 | exit 1 29 | fi 30 | 31 | # Get new version 32 | new_version="$1"; 33 | 34 | if [[ "$new_version" == "" ]]; then 35 | echo "No new version supplied, please provide one" 36 | exit 1 37 | fi 38 | 39 | if [[ "$new_version" == "$old_version" ]]; then 40 | echo "Current version is $old_version, can't update." 41 | exit 1 42 | fi 43 | 44 | # Retrieving all the commits in the current directory since the last tag. 45 | previousTag="v${old_version}" 46 | raw_commits="$(git log --pretty=format:"%s" --no-merges --reverse $previousTag..HEAD -- .)" 47 | markdown_commits=$(echo "$raw_commits" | sed -En "s/\(#([0-9]+)\)/([#\1](https:\/\/github.com\/VeryGoodOpenSource\/very_good_docs_site\/pull\/\1))/p") 48 | 49 | if [[ "$markdown_commits" == "" ]]; then 50 | echo "No commits since last tag, can't update." 51 | exit 0 52 | fi 53 | commits=$(echo "$markdown_commits" | sed -En "s/^/- /p") 54 | 55 | echo "Updating version to $new_version" 56 | if [ -f "brick/brick.yaml" ]; then 57 | sed -i '' "s/version: $old_version/version: $new_version/g" brick/brick.yaml 58 | fi 59 | 60 | if grep -q $new_version "brick/CHANGELOG.md"; then 61 | echo "CHANGELOG already contains version $new_version." 62 | exit 1 63 | fi 64 | 65 | # Add a new version entry with the found commits to the brick/CHANGELOG.md. 66 | echo "# ${new_version}\n\n${commits}\n\n$(cat brick/CHANGELOG.md)" > brick/CHANGELOG.md 67 | echo "CHANGELOG for $current_name generated, validate entries here: $(pwd)/brick/CHANGELOG.md" 68 | 69 | echo "Creating git branch for $current_name@$new_version" 70 | git checkout -b "chore/v$new_version" > /dev/null 71 | 72 | git add brick/brick.yaml brick/CHANGELOG.md 73 | 74 | echo "" 75 | echo "Run the following command if you wish to commit the changes:" 76 | echo "git commit -m \"chore: v$new_version\"" --------------------------------------------------------------------------------