diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..861caad --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,102 @@ +# Community Code of Conduct + +## Our Pledge + +We pledge to make our community welcoming, safe, and equal for all. + +We are committed to fostering an environment that respects and promotes the dignity, rights, and contributions of all individuals, regardless of characteristics including race, ethnicity, caste, color, age, physical characteristics, neurodiversity, disability, sex or gender, gender identity or expression, sexual orientation, language, philosophy or religion, national or social origin, socio-economic position, level of education, or other status. The same privileges of participation are extended to everyone who participates in good faith and in accordance with this Covenant. + + +## Encouraged Behaviors + +While acknowledging differences in social norms, we all strive to meet our community's expectations for positive behavior. We also understand that our words and actions may be interpreted differently than we intend based on culture, background, or native language. + +With these considerations in mind, we agree to behave mindfully toward each other and act in ways that center our shared values, including: + +1. Respecting the **purpose of our community**, our activities, and our ways of gathering. +2. Engaging **kindly and honestly** with others. +3. Respecting **different viewpoints** and experiences. +4. **Taking responsibility** for our actions and contributions. +5. Gracefully giving and accepting **constructive feedback**. +6. Committing to **repairing harm** when it occurs. +7. Behaving in other ways that promote and sustain the **well-being of our community**. + + +## Restricted Behaviors + +We agree to restrict the following behaviors in our community. Instances, threats, and promotion of these behaviors are violations of this Code of Conduct. + +1. **Harassment.** Violating explicitly expressed boundaries or engaging in unnecessary personal attention after any clear request to stop. +2. **Character attacks.** Making insulting, demeaning, or pejorative comments directed at a community member or group of people. +3. **Stereotyping or discrimination.** Characterizing anyone’s personality or behavior on the basis of immutable identities or traits. +4. **Sexualization.** Behaving in a way that would generally be considered inappropriately intimate in the context or purpose of the community. +5. **Violating confidentiality**. Sharing or acting on someone's personal or private information without their permission. +6. **Endangerment.** Causing, encouraging, or threatening violence or other harm toward any person or group. +7. Behaving in other ways that **threaten the well-being** of our community. + +### Other Restrictions + +1. **Misleading identity.** Impersonating someone else for any reason, or pretending to be someone else to evade enforcement actions. +2. **Failing to credit sources.** Not properly crediting the sources of content you contribute. +3. **Promotional materials**. Sharing marketing or other commercial content in a way that is outside the norms of the community. +4. **Irresponsible communication.** Failing to responsibly present content which includes, links or describes any other restricted behaviors. + + +## Reporting an Issue + +Tensions can occur between community members even when they are trying their best to collaborate. Not every conflict represents a code of conduct violation, and this Code of Conduct reinforces encouraged behaviors and norms that can help avoid conflicts and minimize harm. + +When an incident does occur, it is important to report it promptly. + +To report a possible violation, please email [jcook3701's Email](mailto:jcook3701+github@gmail.com?subject=Report:%20Community%20Code%20of%20Conduct). + +All reports will be handled with strict confidentiality. Your email should include: + +* **Date and time** of the incident. +* **A description** of what occurred. +* **Links or screenshots** to any relevant public or private messages/logs. +* **Witnesses**, if any were present. + + + +Community Moderators take reports of violations seriously and will make every effort to respond in a timely manner. They will investigate all reports of code of conduct violations, reviewing messages, logs, and recordings, or interviewing witnesses and other participants. Community Moderators will keep investigation and enforcement actions as transparent as possible while prioritizing safety and confidentiality. In order to honor these values, enforcement actions are carried out in private with the involved parties, but communicating to the whole community may be part of a mutually agreed upon resolution. + + +## Addressing and Repairing Harm + +If an investigation by the Community Moderators finds that this Code of Conduct has been violated, the following enforcement ladder may be used to determine how best to repair harm, based on the incident's impact on the individuals involved and the community as a whole. Depending on the severity of a violation, lower rungs on the ladder may be skipped. + +1) Warning + 1) Event: A violation involving a single incident or series of incidents. + 2) Consequence: A private, written warning from the Community Moderators. + 3) Repair: Examples of repair include a private written apology, acknowledgement of responsibility, and seeking clarification on expectations. +2) Temporarily Limited Activities + 1) Event: A repeated incidence of a violation that previously resulted in a warning, or the first incidence of a more serious violation. + 2) Consequence: A private, written warning with a time-limited cooldown period designed to underscore the seriousness of the situation and give the community members involved time to process the incident. The cooldown period may be limited to particular communication channels or interactions with particular community members. + 3) Repair: Examples of repair may include making an apology, using the cooldown period to reflect on actions and impact, and being thoughtful about re-entering community spaces after the period is over. +3) Temporary Suspension + 1) Event: A pattern of repeated violation which the Community Moderators have tried to address with warnings, or a single serious violation. + 2) Consequence: A private written warning with conditions for return from suspension. In general, temporary suspensions give the person being suspended time to reflect upon their behavior and possible corrective actions. + 3) Repair: Examples of repair include respecting the spirit of the suspension, meeting the specified conditions for return, and being thoughtful about how to reintegrate with the community when the suspension is lifted. +4) Permanent Ban + 1) Event: A pattern of repeated code of conduct violations that other steps on the ladder have failed to resolve, or a violation so serious that the Community Moderators determine there is no way to keep the community safe with this person as a member. + 2) Consequence: Access to all community spaces, tools, and communication channels is removed. In general, permanent bans should be rarely used, should have strong reasoning behind them, and should only be resorted to if working through other remedies has failed to change the behavior. + 3) Repair: There is no possible repair in cases of this severity. + +This enforcement ladder is intended as a guideline. It does not limit the ability of Community Managers to use their discretion and judgment, in keeping with the best interests of our community. + + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public or other spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 3.0, permanently available at [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/). This version has been modified to replace "equity" with "equal." + +Contributor Covenant is stewarded by the Organization for Ethical Source and licensed under CC BY-SA 4.0. To view a copy of this license, visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) + +For answers to common questions about Contributor Covenant, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are provided at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Additional enforcement and community guideline resources can be found at [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). The enforcement ladder was inspired by the work of [Mozilla’s code of conduct team](https://github.com/mozilla/inclusion). diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 901c61c..7f8203b 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -45,7 +45,7 @@ An issue that is about a real bug is closed as soon as the fix is committed. ### Reporting Security Issues If you find a security issue, please act responsibly and report it not in the public issue tracker, but directly to us, so we can fix it before it can be exploited. -Please send the related information to . +Please send the related information to [jcook3701's email](mailto:jcook3701+github-docs-cookiecutter@gmail.com?subject=Report:%20Security%20Vulnerability). ### Usage of Labels @@ -74,22 +74,17 @@ Bug report analysis support is very welcome! (e.g. pre-analysis or proposing sol You are welcome to contribute code to github-docs-cookiecutter in order to fix bugs or to implement new features. - There are three important things to know: -1. You must be aware that you need to submit [CLA](/docs/jekyll/_manual/developer-resources/cla.md) in order for your contribution to be accepted. This is common practice in all major Open Source projects. +1. You must be aware that you need to submit [CLA](https://jcook3701.github.io/github-docs-cookiecutter/manual/developer-resources/cla) in order for your contribution to be accepted. This is common practice in all major Open Source projects. 2. There are **several requirements regarding code style, quality, and product standards** which need to be met (we also have to follow them). The respective section below gives more details on the coding guidelines. 3. **Not all proposed contributions can be accepted**. Some features may e.g. just fit a third-party add-on better. The code must fit the overall direction of github-docs-cookiecutter and really improve it. The more effort you invest, the better you should clarify in advance whether the contribution fits: the best way would be to just open an issue to discuss the feature you plan to implement (make it clear you intend to contribute). - - ## Contributor License Agreement (CLA) -Due to legal reasons, contributors will be asked to accept a CLA before they submit the first pull request to this project, this happens in an automated fashion during the submission process. We use a derivative of the [ASF Contributor Agreements](https://www.apache.org/licenses/contributor-agreements.html) -[ICLA] and [CCLA]. +Due to legal reasons, contributors will be asked to accept a [CLA](https://jcook3701.github.io/github-docs-cookiecutter/manual/developer-resources/cla) before they submit the first pull request to this project, this happens in an automated fashion during the submission process. We use a derivative of the [ASF Contributor Agreements](https://www.apache.org/licenses/contributor-agreements.html) as can be found below. + +* [ICLA](https://www.apache.org/licenses/icla.pdf) +* [CCLA](https://www.apache.org/licenses/cla-corporate.pdf). ### Contribution Content Guidelines diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index dd36db4..d11bcc1 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1,20 @@ -# These are supported funding model platforms +# FUNDING.yml for github-docs-cookiecutter +# +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, Jared Cook +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . --- # github: ["jcook3701"] diff --git a/.github/ISSUE_TEMPLATE/01-bug-report.yml b/.github/ISSUE_TEMPLATE/01-bug-report.yml index ed1297e..2f383fe 100644 --- a/.github/ISSUE_TEMPLATE/01-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/01-bug-report.yml @@ -1,4 +1,4 @@ -# 01-bug_report.yml for github-docs-cookiecutter +# 01-bug-report.yml for github-docs-cookiecutter # # SPDX-FileCopyrightText: Copyright (c) 2025-2026, Jared Cook # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/.github/SECURITY.md b/.github/SECURITY.md index c2ee1c1..6d61531 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -5,9 +5,20 @@ The github-docs-cookiecutter project is built with security and data privacy in ## Reporting We are grateful for security researchers and users reporting a vulnerability to us, first. To ensure that your request is handled in a timely manner and non-disclosure of vulnerabilities can be assured, please follow the below guideline. -__Please do not report security vulnerabilities directly on GitHub. GitHub Issues can be publicly seen and therefore would result in a direct disclosure.__ +**Please do not report security vulnerabilities directly on GitHub. GitHub Issues can be publicly seen and therefore would result in a direct disclosure.** -For reporting a vulnerability, please send an email directly to . Please address questions about data privacy, security concepts, and other media requests for Security Researchers on our team. +For reporting a vulnerability, please send an email directly to [jcook3701's email](mailto:jcook3701+security-vulnerability@gmail.com?subject=Report:%20Security%20Vulnerability). + +To help us verify and resolve issues efficiently, please ensure your security vulnerability report includes the following: + +* **Vulnerability Type** and the specific component or URL affected. +* **Detailed Steps** to Reproduce the issue, including any specific configurations needed. +* **Proof of Concept (PoC)** such as HTTP requests, scripts, or screen recordings. +* **Impact Assessment** describing what a successful exploit would allow an attacker to do. +* **Reproduction Environment** details, including the browser, OS, or software version used. +* **Suggested Mitigation** or fix, if you have identified one. + +All reports are handled with strict confidentiality. We ask that you follow responsible disclosure by giving us reasonable time to investigate and fix the issue before sharing any details publicly. ## Disclosure Handling We are committed to timely review and respond to your request. The resolution of code defects will be handled by a dedicated group of security experts and prepared in a private GitHub repository. The project will inform the public about resolved security vulnerabilities via GitHub Security Advisories. diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000..286f73d --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,36 @@ +# Support Guidelines + +Thank you for using the github-docs-cookiecutter project! To help us maintain it efficiently, please check these resources before opening an issue. + +## πŸ› οΈ Getting Help +* **Documentation:** Start by reading our [Project Wiki](https://jcook3701.github.io/github-docs-cookiecutter). +* **FAQ:** Common questions are answered in our [Frequently Asked Questions](https://jcook3701.github.io/github-docs-cookiecutter/manual/troubleshooting/faq). +* **Community Forums:** For general questions and "how-to" help, please use [GitHub Discussions](https://github.com/jcook3701/github-docs-cookiecutter/discussions) instead of Issues. + +## πŸ› Reporting Bugs +If you have found a bug, please: +1. Search existing [Issues](https://github.com/jcook3701/github-docs-cookiecutter/issues?state=open) to see if it has already been reported. +2. Follow the [bug report template](ISSUE_TEMPLATE/01-bug-report.yml) to provide a reproducible example. + +## πŸ”’ Security Vulnerabilities +Please **do not** report security vulnerabilities via public issues. Instead, follow our [Security Policy](https://github.com/jcook3701/github-docs-cookiecutter/blob/master/.github/SECURITY.md) to report them privately. + +## ⏳ Response Times +This is an open-source project maintained by volunteers. We try to respond within **48-72 hours**, but please be patient as we balance this with other commitments. + +## 🌱 Funding and Sponsorship + +github-docs-cookiecutter is an open-source project maintained by volunteers. Your financial support helps sustain the project by covering: + +* **Infrastructure costs:** Domain names, hosting, and CI/CD services. +* **Time:** Allowing maintainers to dedicate more time to bug fixes and new features. + +If this project has helped you, please consider supporting us through one of the following methods: + +* **[Buy Me a Coffee](https://buymeacoffee.com/jcook3701):** A simple way to provide a one-time donation. + +We greatly appreciate your support! diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index cfd292a..e3a2406 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -46,20 +46,19 @@ jobs: # This token is required only if you have configured to store the signatures in a remote repository/organization # PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} with: - signed-commit-message: 'chore: $contributorName has signed the CLA' - path-to-signatures: 'signatures/version1/cla.json' - path-to-document: 'https://github.com/${{ github.repository }}/blob/master/docs/jekyll/_site/manual/developer-resources/cla.html' # e.g. a CLA or a DCO document + path-to-signatures: "cla/v1/signatures.json" + path-to-document: "https://jcook3701.github.io/github-docs-cookiecutter/manual/developer-resources/cla" # e.g. a CLA or a DCO document # branch should not be protected - branch: "master" + branch: "master" # Should match the branch that github pages are hosted from. allowlist: "jcook3701,github-actions[bot],dependabot[bot],bot*" - # the followings are the optional inputs - If the optional inputs are not given, then default values will be taken - #remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository) - #remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository) - #create-file-commit-message: 'For example: Creating file for storing CLA Signatures' - #signed-commit-message: 'For example: $contributorName has signed the CLA in $owner/$repo#$pullRequestNo' - #custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign' - #custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA' - #custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.' - #lock-pullrequest-aftermerge: false - if you don't want this bot to automatically lock the pull request after merging (default - true) - #use-dco-flag: true - If you are using DCO instead of CLA + # the followings are the optional inputs - If the optional inputs are not given, then default values will be taken + # remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository) + # remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository) + create-file-commit-message: "chore(CLA): Creating file for storing CLA Signatures." + signed-commit-message: "chore(CLA): $contributorName has signed the CLA." + # custom-notsigned-prcomment: "pull request comment with Introductory message to ask new contributors to sign" + # custom-pr-sign-comment: "The signature to be committed in order to sign the CLA" + # custom-allsigned-prcomment: "pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA." + # lock-pullrequest-aftermerge: false - if you don"t want this bot to automatically lock the pull request after merging (default - true) + use-dco-flag: False # If you are using DCO instead of CLA diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index eeeab84..34a9fd1 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -57,8 +57,8 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3' # Recommended for Jekyll 4.4 in 2026 - bundler-cache: true # Runs 'bundle install' and caches gems automatically + ruby-version: "3.3" # Recommended for Jekyll 4.4 in 2026 + bundler-cache: true # Runs "bundle install" and caches gems automatically working-directory: ./docs/jekyll - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/changelogs/CHANGELOG.md b/changelogs/CHANGELOG.md index 564c9ad..d0551db 100644 --- a/changelogs/CHANGELOG.md +++ b/changelogs/CHANGELOG.md @@ -174,18 +174,26 @@ Feat 015 (#45) - Merge pull request #48 from jcook3701/develop Feat 016 (#47) +- Feat 017 (#49) -### πŸ› Fixed +* fix(configuration): I think this should fix the last of the problems with main showing up where master should for this repository. -- *(template)* Updates to template cookiecutter.json file. -- *(configuration)* I think this should fix the last of the problems with main showing up where master should for this repository. -- *(links)* Major fixes for documentation links. -- *(docs)* Fixed license image shield. +* feat(docs): updates to setup, getting-started, and initial tutorials. + +* fix(links): Major fixes for documentation links. + +* fix(docs): Fixed license image shield. + +* feat(faq): Added the Frequently asked questions page. -### πŸš€ Added +* fix(ci/cd): Removed doubles of pull request templates that are not needed. +- Merge pull request #50 from jcook3701/develop -- *(docs)* Updates to setup, getting-started, and initial tutorials. -- *(faq)* Added the Frequently asked questions page. +Feat 017 (#49) + +### πŸ› Fixed + +- *(template)* Updates to template cookiecutter.json file. ## [0.1.0] - 2025-12-05 ### βš™οΈ Miscellaneous diff --git a/changelogs/releases/v0.1.1.md b/changelogs/releases/v0.1.1.md index fe3e71d..9c1cef9 100644 --- a/changelogs/releases/v0.1.1.md +++ b/changelogs/releases/v0.1.1.md @@ -174,15 +174,23 @@ Feat 015 (#45) - Merge pull request #48 from jcook3701/develop Feat 016 (#47) +- Feat 017 (#49) -### πŸ› Fixed +* fix(configuration): I think this should fix the last of the problems with main showing up where master should for this repository. -- *(template)* Updates to template cookiecutter.json file. -- *(configuration)* I think this should fix the last of the problems with main showing up where master should for this repository. -- *(links)* Major fixes for documentation links. -- *(docs)* Fixed license image shield. +* feat(docs): updates to setup, getting-started, and initial tutorials. + +* fix(links): Major fixes for documentation links. + +* fix(docs): Fixed license image shield. + +* feat(faq): Added the Frequently asked questions page. -### πŸš€ Added +* fix(ci/cd): Removed doubles of pull request templates that are not needed. +- Merge pull request #50 from jcook3701/develop -- *(docs)* Updates to setup, getting-started, and initial tutorials. -- *(faq)* Added the Frequently asked questions page. +Feat 017 (#49) + +### πŸ› Fixed + +- *(template)* Updates to template cookiecutter.json file. diff --git a/cspell.json b/cspell.json index 10dd128..c8994f3 100644 --- a/cspell.json +++ b/cspell.json @@ -13,6 +13,9 @@ "dco", "deptry", "ehthumbs", + "endmacro", + "endraw", + "endset", "gitcliff", "githubusercontent", "icla", diff --git a/docs/jekyll/Gemfile b/docs/jekyll/Gemfile index d242ae4..0c08968 100755 --- a/docs/jekyll/Gemfile +++ b/docs/jekyll/Gemfile @@ -6,6 +6,11 @@ gem "faraday-retry", "~> 2.3" gem "jekyll", "~> 4.4" gem "just-the-docs", "~> 0.11" +gem "bigdecimal" +gem "csv" +gem "logger" +gem "base64" + group :jekyll_plugins do gem "jekyll-seo-tag" gem "jekyll-sitemap" diff --git a/docs/jekyll/Makefile b/docs/jekyll/Makefile index ba02dcd..dfaf2fe 100644 --- a/docs/jekyll/Makefile +++ b/docs/jekyll/Makefile @@ -42,7 +42,7 @@ PUBLISHDIR ?= # πŸ“š Documentation (Sphinx + Jekyll) # -------------------------------------------------- RUBY_INSTALL := bundle install -JEKYLL_BUILD := bundle exec jekyll build --quiet +JEKYLL_BUILD := bundle exec jekyll build --trace --verbose JEKYLL_CLEAN := bundle exec jekyll clean JEKYLL_SERVE := bundle exec jekyll serve # -------------------------------------------------- @@ -50,7 +50,7 @@ JEKYLL_SERVE := bundle exec jekyll serve # -------------------------------------------------- # Default: # -------------------------------------------------- -all: build +all: ruby-install build # -------------------------------------------------- # ♦️ Ruby # -------------------------------------------------- @@ -60,7 +60,7 @@ ruby-install: # πŸ“š Documentation (Jekyll) # -------------------------------------------------- jekyll: - $(AT)echo "πŸ”¨ Building Jekyll site πŸ“˜..." + $(AT)echo "πŸ”¨ Building Jekyll site πŸ“š..." $(AT)$(JEKYLL_BUILD) $(AT)echo "βœ… Full documentation build complete!" diff --git a/docs/jekyll/_config.yml b/docs/jekyll/_config.yml index f8410b2..67e6a20 100755 --- a/docs/jekyll/_config.yml +++ b/docs/jekyll/_config.yml @@ -3,14 +3,16 @@ title: "github-docs-cookiecutter" author: "Jared Cook" version: "0.1.1" +license: "AGPL-3.0-or-later" +copyright: "Copyright (c) 2025-2026, Jared Cook" timezone: "America/Los_Angeles" description: "Github docs cookiecutter template generation." -remote_theme: "pmarsceill/just-the-docs" +remote_theme: "just-the-docs/just-the-docs@v0.11.0" ga_tracking: "G-C7PWLWSHB9" repo_url: "https://github.com/jcook3701/github-docs-cookiecutter" -repo_blob: "https://github.com/jcook3701/github-docs-cookiecutter/blob/None/" - +repo_blob: "https://github.com/jcook3701/github-docs-cookiecutter/blob/master" +github_io_url: "https://jcook3701.github.io/github-docs-cookiecutter" repository: "jcook3701/github-docs-cookiecutter" # Specifies the site's subpath for correct URL generation @@ -102,7 +104,7 @@ back_to_top_text: "Back to top" footer_content: >- Copyright (c) 2025-2026, Jared Cook. Distributed by an - + AGPL-3.0-or-later license. diff --git a/docs/jekyll/_manual/contribute/create-feature-request.md b/docs/jekyll/_manual/contribute/create-feature-request.md index 8c4291b..02b0a98 100644 --- a/docs/jekyll/_manual/contribute/create-feature-request.md +++ b/docs/jekyll/_manual/contribute/create-feature-request.md @@ -12,12 +12,12 @@ Feature requests help us understand what you need from github-docs-cookiecutter. We're excited to hear your ideas! Before you submit a feature request, consider these resources: -- Read the [Code of Conduct](../CODE_OF_CONDUCT.md) to understand our community guidelines. +- Read the [Code of Conduct]({{ site.repo_blob }}/.github/CODE_OF_CONDUCT.md) to understand our community guidelines. - Search [existing feature requests](https://github.com/jcook3701/github-docs-cookiecutter/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Ffeature-request) to see if someone already suggested something similar. ## Your first feature request -When you're ready to submit a feature request, use the [feature request template](https://github.com/jcook3701/github-docs-cookiecutter/issues/new?template=02-feature_request.md). The template has three sections that help maintainers understand what you need and why. +When you're ready to submit a feature request, use the [feature request template](https://github.com/jcook3701/github-docs-cookiecutter/issues/new?template=02-feature-request.yml). The template has three sections that help maintainers understand what you need and why. ### Contribute without code * Report a bug with the [bug report template](https://github.com/jcook3701/github-docs-cookiecutter/issues/new?template=01-bug-report.yml) and include steps to reproduce. * Submit a [feature request](https://github.com/jcook3701/github-docs-cookiecutter/issues/new?template=02-feature-request.yml) to propose improvements. -* Report security vulnerabilities following our [security policy](). +* Report security vulnerabilities following our [security policy]({{ site.repo_blob }}/.github/SECURITY.md). ### Best practices and style -Our [style guides]() outline github-docs-cookiecutter style for frontend, backend, documentation, and more, including best practices. Please read through them before you start editing or coding! - * [Python style guide](). - * [Typescript style guide](). - * [YAML style guide](). +Our [style guides]({% link _manual/contribute/style-guides/index.md %}) outline github-docs-cookiecutter style for frontend, backend, documentation, and more, including best practices. Please read through them before you start editing or coding! + +* [Python style guide]({% link _manual/contribute/style-guides/python.md %}). +* [Typescript style guide]({% link _manual/contribute/style-guides/typescript.md %}). +* [YAML style guide]({% link _manual/contribute/style-guides/yaml.md %}). diff --git a/docs/jekyll/_manual/developer-resources/index.md b/docs/jekyll/_manual/developer-resources/index.md index 2f065ab..d6b2020 100644 --- a/docs/jekyll/_manual/developer-resources/index.md +++ b/docs/jekyll/_manual/developer-resources/index.md @@ -10,4 +10,4 @@ This section of the documentation contains additional resources for developers a ## Contribute to github-docs-cookiecutter -Refer to the [Contribute to github-docs-cookiecutter]() guide to learn the various ways you can contribute to github-docs-cookiecutter. Read the [github-docs-cookiecutter Contributor License Agreement]() before making any contribution. +Refer to the [Contribute to github-docs-cookiecutter]({% link _manual/developer-resources/contribute.md %}) guide to learn the various ways you can contribute to github-docs-cookiecutter. Read the [github-docs-cookiecutter Contributor License Agreement]({% link _manual/developer-resources/cla.md %}) before making any contribution. diff --git a/docs/jekyll/_manual/introduction/getting-started.md b/docs/jekyll/_manual/introduction/getting-started.md new file mode 100644 index 0000000..d71a444 --- /dev/null +++ b/docs/jekyll/_manual/introduction/getting-started.md @@ -0,0 +1,53 @@ +--- +layout: default +title: Getting Started +nav_order: 1 +parent: Introduction +--- +## Getting started with github-docs-cookiecutter + +1. [Requirements]({% link _manual/setup-guide/requirements.md %}) include python3, Nutri-Matic (docs & hooks), rust (rustup), and git-cliff (changelogs). + * Python3 Packages + 1. [cookiecutter](https://github.com/cookiecutter/cookiecutter) is required to utilize templates from github. + 2. [Nutri-Matic](https://github.com/jcook3701/nutri-matic) is required to be sourced in python environment for template cookiecutter hooks to work. + +I find that it easiest to clone the nutri-matic repository. Use the included makefile to install all python dependencies with ```make python-install``` from within the cloned directory. Then, source the created file, ```.venv/bin/activate```, or point the below script variable, ```PYTHON_VENV```, to desired python virtual environment. + +### Examples + + Bash script can be copied and pasted into a shell file. Then, used to begin generating new projects. + +__Template Options:__ +* [cookiecutter-cookiecutter](https://github.com/jcook3701/cookiecutter-cookiecutter) to generate new cookiecutter template projects. +* [python3-cookiecutter](https://github.com/jcook3701/python3-cookiecutter) to generate python3 projects. +* [ansible-cookiecutter](https://github.com/jcook3701/ansible-galaxy-cookiecutter) to generate ansible galaxy project. + + + + + + + + + +```shell +#!/bin/bash + +PYTHON_VENV="~/Documents/git_repo/nutri-matic/.venv/bin/activate" + +PROJECT_NAME="example project name" +TEMPLATE="cookiecutter-cookiecutter" +LICENSE="AGPL-3.0-or-later" +BRANCH="main" +DESCRIPTION="Example cookiecutter template project." + +rm -rf $PROJECT_NAME/ +source $PYTHON_VENV +cookiecutter git@github.com:jcook3701/$TEMPLATE.git \ + --checkout $BRANCH \ + --no-input \ + project_name=$PROJECT_NAME \ + description=$DESCRIPTION \ + license=$LICENSE +deactivate +``` diff --git a/docs/jekyll/_manual/introduction/index.md b/docs/jekyll/_manual/introduction/index.md index 27d594b..0ce0f27 100644 --- a/docs/jekyll/_manual/introduction/index.md +++ b/docs/jekyll/_manual/introduction/index.md @@ -5,3 +5,6 @@ nav_order: 1 has_children: true --- ## Introduction to github-docs-cookiecutter + + +* [Getting Started]({% link _manual/introduction/getting-started.md %}) diff --git a/docs/jekyll/_manual/introduction/installation-guide.md b/docs/jekyll/_manual/introduction/installation-guide.md new file mode 100644 index 0000000..20991e6 --- /dev/null +++ b/docs/jekyll/_manual/introduction/installation-guide.md @@ -0,0 +1,7 @@ +--- +layout: default +title: "Installation Guide" +nav_order: 1 +parent: Introduction +--- +## Installation Guide for github-docs-cookiecutter (Linux) diff --git a/docs/jekyll/_manual/setup-guide/index.md b/docs/jekyll/_manual/setup-guide/index.md index c4f2d7c..427075e 100644 --- a/docs/jekyll/_manual/setup-guide/index.md +++ b/docs/jekyll/_manual/setup-guide/index.md @@ -5,3 +5,5 @@ nav_order: 1 has_children: true --- ## github-docs-cookiecutter Setup + +1. Install all [requirements]({% link _manual/setup-guide/requirements.md %}) to effectively pull and utilize cookiecutter template repository effectively. diff --git a/docs/jekyll/_manual/setup-guide/requirements.md b/docs/jekyll/_manual/setup-guide/requirements.md index 7bf7a1d..6194b25 100644 --- a/docs/jekyll/_manual/setup-guide/requirements.md +++ b/docs/jekyll/_manual/setup-guide/requirements.md @@ -9,15 +9,21 @@ parent: "Setup Guide" 1. Python 3.11 ```shell - $ sudo apt install python3.11 + $ sudo apt install python3.11 python3.11-dev python3.11-venv ``` -2. [rustup](https://rust-lang.org/tools/install/) +2. [Nutri-Matic](https://github.com/jcook3701/nutri-matic) + __Note:__ + __Example:__ Install with the following command (Recommended that this is installed in a python [virtual environment]({% link _manual/tutorials/create-virtual-env.md %})): + ```shell + $ python -m pip install nutri-matic + ``` +3. [rustup](https://rust-lang.org/tools/install/) __Note:__ I found that it is easiest to use rustup to manage rustc and cargo but this is not required. __Example:__ Install rustup with the following: ```shell $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -3. [git-cliff](https://git-cliff.org/) +4. [git-cliff](https://git-cliff.org/) __Note:__ git-cliff can generate changelog files from the Git history by utilizing conventional commits as well as regex-powered custom parsers. ```shell $ cargo install git-cliff diff --git a/docs/jekyll/_manual/troubleshooting/faq.md b/docs/jekyll/_manual/troubleshooting/faq.md new file mode 100644 index 0000000..ab86dde --- /dev/null +++ b/docs/jekyll/_manual/troubleshooting/faq.md @@ -0,0 +1,8 @@ +--- +layout: default +title: Requirements +nav_order: 1 +parent: Troubleshooting +--- + +## github-docs-cookiecutter Frequently Asked Questions diff --git a/docs/jekyll/_manual/troubleshooting/index.md b/docs/jekyll/_manual/troubleshooting/index.md index df710b0..1c4fb4d 100644 --- a/docs/jekyll/_manual/troubleshooting/index.md +++ b/docs/jekyll/_manual/troubleshooting/index.md @@ -5,3 +5,5 @@ nav_order: 1 has_children: true --- ## Troubleshooting github-docs-cookiecutter + +* **[FAQ]({% link _manual/troubleshooting/faq.md %})** Common questions are answered in our [Frequently Asked Questions](https://jcook3701.github.io/github-docs-cookiecutter/manual/troubleshooting/faq.md). diff --git a/docs/jekyll/_manual/tutorials/create-virtual-env.md b/docs/jekyll/_manual/tutorials/create-virtual-env.md new file mode 100644 index 0000000..bb8d7fc --- /dev/null +++ b/docs/jekyll/_manual/tutorials/create-virtual-env.md @@ -0,0 +1,27 @@ +--- +layout: default +title: Create Virtual Environment +nav_order: 1 +parent: Tutorials +--- +## Install Python3 and Python Virtual Environment + +Either install python 3.10 or 3.11. Below example is to install python 3.11, however, to install and utilize python 3.10 just replace '11' with '10' in each instance below. + +```shell +$ sudo apt install python3.11 python3.11-dev python3.11-venv +``` + +## Create Virtual Environment (Python) + +First you need to decide where you would like you virtual environment to be stored. Personally I use ```~/Documents/python3-venvs``` to store utility python environments. After creating the directory where you would like to store you python environments move into it and run the below command. + +``` shell +$ python3.11 -m venv nutri-matic-venv +``` + +Then source into that python environment. + +```shell +$ source ./nutri-matic-venv/bin/activate +``` diff --git a/docs/jekyll/_manual/tutorials/index.md b/docs/jekyll/_manual/tutorials/index.md index 937baa9..25198f2 100644 --- a/docs/jekyll/_manual/tutorials/index.md +++ b/docs/jekyll/_manual/tutorials/index.md @@ -5,3 +5,6 @@ nav_order: 1 has_children: true --- ## github-docs-cookiecutter Tutorials + +* [Create Virtual Environment]({% link _manual/tutorials/create-virtual-env.md %}) +* [Nutri-Matic]({% link _manual/tutorials/nutri-matic.md %}) diff --git a/docs/jekyll/_manual/tutorials/nutri-matic.md b/docs/jekyll/_manual/tutorials/nutri-matic.md new file mode 100644 index 0000000..4fc4bda --- /dev/null +++ b/docs/jekyll/_manual/tutorials/nutri-matic.md @@ -0,0 +1,25 @@ +--- +layout: default +title: "Nutri-Matic" +nav_order: 1 +parent: Tutorials +--- +## Nutri-Matic Setup + +First clone the [Nutri-Matic](https://github.com/jcook3701/nutri-matic) python utility. This is needed to clone all [jcook3701's](https://github.com/jcook3701), cookiecutter templates, with the ```cookiecutter``` command. + +```shell +$ git clone git@github.com:jcook3701/nutri-matic.git +``` + +Next, move into the newly cloned directory, ```cd nutri-matic``` . Then utilize the [developer guide]({% link _manual/contribute/developer-guide.md %}) process and run ```make python-install``` to create a python virtual environment stored within the, ```.venv```, folder. This ensures the latest version of nutri-matic code and is very helpful for development on any of the template repositories. + +Finally, source Nutri-Matic's created virtual environment with the directory, ```.venv```, and begin generating templates. + +```shell +$ source .venv/bin/active +``` + +The Nutri-Matic package is responsible for managing all [jcook3701's](https://github.com/jcook3701) cookiecutter template hooks and build features. + +After the environment is sourced and other project dependencies are installed; templates should be able to be generated using the commands found in our [getting started]({% link _manual/introduction/getting-started.md %}) guide. diff --git a/docs/jekyll/docs/cookiecutter_input.json b/docs/jekyll/docs/cookiecutter_input.json index 70e1cfa..d7cdf23 100644 --- a/docs/jekyll/docs/cookiecutter_input.json +++ b/docs/jekyll/docs/cookiecutter_input.json @@ -28,6 +28,7 @@ "description": "Github docs cookiecutter template generation.", "email": "jcook3701+github@gmail.com", "ga_tracking": "G-C7PWLWSHB9", + "github_io": "https://jcook3701.github.io/github-docs-cookiecutter", "github_org": null, "github_username": "jcook3701", "license": "AGPL-3.0-or-later",