Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
YeisonCardona committed Feb 23, 2024
1 parent 1fa7b88 commit b61e648
Show file tree
Hide file tree
Showing 34 changed files with 289 additions and 1,610 deletions.
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
# GCPDS - Documentation Guide

<<<<<<< HEAD
Welcome to the "GCPDS - Documentation Guide". This guide serves as a comprehensive resource for setting up, configuring, and maintaining the documentation of projects under the **Grupo de Control y Procesamiento Digital de Señales ([GCPDS](https://github.com/UN-GCPDS))** initiative. Our goal is to standardize the process of documentation across various modules and projects to enhance clarity, accessibility, and ease of use.
=======
Welcome to the "GCPDS - Documentation Guide", a comprehensive manual for establishing, configuring, and sustaining project documentation within the **Grupo de Control y Procesamiento Digital de Señales ([GCPDS](https://github.com/UN-GCPDS))** initiative. Our objective is to unify documentation practices across various modules and projects, thereby enhancing clarity, accessibility, and practicality.
>>>>>>> 5692192 (Update)
The guide outlines a series of steps and best practices aimed at ensuring a seamless integration of Python modules with version control and automated documentation systems. By following these guidelines, developers and contributors will be able to maintain a high standard of code management and documentation, which is vital for collaborative development and the long-term success of the project.
This guide delineates a sequence of steps and best practices aimed at facilitating the seamless integration of Python modules with version control and automated documentation systems. Adherence to these guidelines is crucial for maintaining exemplary code management and documentation standards, which are essential for collaborative development and the enduring success of our projects.

<<<<<<< HEAD
We cover everything from the initial setup of a GitHub repository, including naming conventions and configuration, to the integration with [Read the Docs](https://readthedocs.org/) for automated documentation generation. Additionally, we discuss security practices, such as handling sensitive data through repository secrets and access tokens, to ensure the integrity and confidentiality of the project.

Each section of this guide is designed to walk you through the necessary steps to achieve an efficient and secure workflow. By adhering to these guidelines, the GCPDS community can contribute to a robust and sustainable ecosystem for research and development in digital signal processing and control. For more Python modules, visit [PyPi](https://pypi.org/search/?q=GCPDS).
=======
Key topics include the initial setup of a GitHub repository, encompassing naming conventions and configuration, and extending to automated documentation generation via [Read the Docs](https://readthedocs.org/). The guide also addresses security protocols, focusing on safeguarding sensitive data with repository secrets and access tokens to preserve the integrity and confidentiality of our projects.

Each section is meticulously crafted to guide you through the steps necessary for achieving an efficient and secure workflow. By following these guidelines, the GCPDS community will significantly contribute to a resilient and enduring research and development ecosystem in digital signal processing and control. Explore additional Python modules on [PyPi](https://pypi.org/search/?q=GCPDS).
>>>>>>> 5692192 (Update)
## Introduction to Setting Up and Integrating a Python Module Repository

Expand Down
5 changes: 5 additions & 0 deletions docs/source/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,8 @@ div.sphinxsidebar ul li {
margin-left: 10px;
list-style: circle;
}

.sphinxsidebar p.caption:has(span.caption-text) {
margin-top: 30px;
font-weight: 600;
}
23 changes: 2 additions & 21 deletions docs/source/_static/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 30 additions & 4 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,22 +50,48 @@
# add_module_names = False

dunderlab_custom_index = f"""
Documentation Overview
======================
This guide offers a comprehensive framework for documenting Python projects
within the GCPDS initiative, covering everything from initial setup and
configuration to best practices in code implementation.
.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Setting Up the Development Environment
notebooks/01_set_up/*
.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Repository Structure Setup
notebooks/02_repository_structure/*
.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Submodule 1
:caption: Writing Your Python Module
notebooks/set_up/*
notebooks/03_python_module/*
.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Submodule 2
:caption: Best Practices for Code Implementation
notebooks/best_practices/*
notebooks/04_best_practices/*
"""


52 changes: 43 additions & 9 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,57 @@
.. include:: notebooks/readme.rst



.. toctree::
:maxdepth: 2
:name: mastertoc





Documentation Overview
======================


This guide offers a comprehensive framework for documenting Python projects
within the GCPDS initiative, covering everything from initial setup and
configuration to best practices in code implementation.

.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc
:name: mastertoc3
:caption: Setting Up the Development Environment

notebooks/01_set_up/*

notebooks/01-github
notebooks/02-github_secrets
notebooks/03-github_pat
notebooks/04-readthedocs
notebooks/05-github_and_readthedocs
notebooks/06-repository_structure_setup_pro
notebooks/07-repository_structure_setup_lazy

.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Repository Structure Setup

notebooks/02_repository_structure/*


.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Writing Your Python Module

notebooks/03_python_module/*


.. toctree::
:glob:
:maxdepth: 2
:name: mastertoc3
:caption: Best Practices for Code Implementation

notebooks/04_best_practices/*



.. only:: html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
" - **Case Sensitivity**: Always use lowercase for `<module_name>`. This ensures uniformity and avoids confusion caused by case-sensitive URLs.\n",
" - **Descriptiveness**: The module name should be highly descriptive. It should clearly reflect the module's purpose or functionality. Avoid using abbreviations unless they are widely understood in the domain.\n",
" \n",
"![border-image git01](_images/github_create_01.jpeg)"
"![border-image git01](../_images/github_create_01.jpeg)"
]
},
{
Expand All @@ -32,7 +32,7 @@
" - **Public Access**: The repository must be set as public. This promotes transparency, fosters collaboration, and encourages community engagement.\n",
" - **Benefits of Public Repositories**: Public repositories can be freely accessed, forked, and contributed to by anyone. They facilitate open-source collaboration and knowledge sharing.\n",
"\n",
"![border-image git02](_images/github_create_02.jpeg)"
"![border-image git02](../_images/github_create_02.jpeg)"
]
},
{
Expand All @@ -44,7 +44,7 @@
" - **No Initial Requirement**: A README file is not initially required in the repository. This is because it will be generated automatically later on.\n",
" - **Automated Generation**: The README will be created automatically to ensure consistency and adherence to project standards. This process will include essential information such as module description, installation instructions, usage examples, and contact information for contributors.\n",
"\n",
"![border-image git03](_images/github_create_03.jpeg)"
"![border-image git03](../_images/github_create_03.jpeg)"
]
},
{
Expand All @@ -57,7 +57,7 @@
" - **Exclusions**: It should exclude common Python temporary files and directories like `__pycache__`, `.pyc` files, virtual environment directories (`venv/`, `env/`), and other non-essential files.\n",
" - **Best Practices**: This practice keeps the repository clean and prevents unnecessary files from being tracked and shared.\n",
" \n",
"![border-image git04](_images/github_create_04.jpeg)"
"![border-image git04](../_images/github_create_04.jpeg)"
]
},
{
Expand All @@ -70,7 +70,7 @@
" - **License Features**: This license allows almost unrestricted freedom in using, modifying, and distributing your software, provided that copyright notices and disclaimers are preserved. It's ideal for open-source projects that aim for broad distribution and utilization.\n",
" - **Implications for Users**: Users and developers can integrate and use your software in almost any project, including proprietary ones, as long as the conditions of the BSD license are met.\n",
"\n",
"![border-image git05](_images/github_create_05.jpeg)"
"![border-image git05](../_images/github_create_05.jpeg)"
]
},
{
Expand All @@ -82,7 +82,7 @@
" - **Simple Process**: To create the repository, simply click on the \"Create repository\" button on GitHub.\n",
" - **User Action**: This action is typically the final step in the repository setup process and is straightforward to execute.\n",
"\n",
"![border-image git06](_images/github_create_06.jpeg)"
"![border-image git06](../_images/github_create_06.jpeg)"
]
},
{
Expand All @@ -94,7 +94,7 @@
" - **Initial State**: Upon creation, the new repository will be empty but configured with the chosen `.gitignore` tailored for Python.\n",
" - **License File**: Additionally, a \"LICENSE\" file based on the BSD 2-Clause \"Simplified\" License will be included in the repository. This file is crucial for legally defining the terms under which your software can be used.\n",
"\n",
"![border-image git07](_images/github_create_07.png)"
"![border-image git07](../_images/github_create_07.png)"
]
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
" - Within the `Settings` tab, scroll down to the `Secrets` section.\n",
" - Click on the `New repository secret` button to create a new secret.\n",
"\n",
"![border-image secret01](_images/github_secrets_01.png)"
"![border-image secret01](../_images/github_secrets_01.png)"
]
},
{
Expand All @@ -38,7 +38,7 @@
" - **Module**: Use `DOCS_MODULE` for the `Name` and the specific module name for the `Value`. Note that this should be the name of the repository.\n",
" - **Submodule**: If your project has submodules, use `DOCS_SUBMODULE` for the `Name` and the specific submodule name for the `Value`. This should also correspond to the name of the repository. For example, for a repository named `gcpds.docs`, `DOCS_MODULE` would be `gcpds` and `DOCS_SUBMODULE` would be `docs`.\n",
"\n",
"![border-image secret02](_images/github_secrets_02.png)\n",
"![border-image secret02](../_images/github_secrets_02.png)\n",
"\n",
"4. **Save Each Variable**:\n",
" - After entering the name and value for each variable, click the `Add secret` button to save it.\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
" - Select the expiration date for the token as per your requirement.\n",
" - To grant full access, check all the boxes to enable all permissions for the token.\n",
"\n",
"![border-image pat01](_images/github_pat_01.jpg) "
"![border-image pat01](../_images/github_pat_01.jpg) "
]
},
{
Expand All @@ -42,7 +42,7 @@
" - Once you have configured the permissions, click the `Generate token` button at the bottom of the page.\n",
" - **Important**: As soon as the token is generated, make sure to copy and securely save it. **You won’t be able to see it again!** Losing this token requires generating a new one, and you must update all applications that use it.\n",
"\n",
"![border-image pat02](_images/github_pat_02.png)\n",
"![border-image pat02](../_images/github_pat_02.png)\n",
" \n",
"5. **Storing the Token Securely**:\n",
" - Store the token in a secure location.\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
" - Read the Docs will import your documentation from the specified repository and branch.\n",
" - After importing, Read the Docs will automatically build your documentation.\n",
"\n",
"![border-image rtd01](_images/readthedocs_01.png)\n",
"![border-image rtd01](../_images/readthedocs_01.png)\n",
"\n",
"5. **Review and Access Documentation**:\n",
" - Once the build process is complete, you can review your documentation by clicking on the link provided by Read the Docs.\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
" - Click on `Integrations` from the sidebar menu.\n",
" - You will find a section titled 'Integration - GitHub incoming webhook' which contains the Webhook URL and a Secret. Copy these details as you will need them for the GitHub setup.\n",
" \n",
"![border-image gitrtd01](_images/webhook_01.png)\n",
"![border-image gitrtd01](../_images/webhook_01.png)\n",
"\n",
"2. **Configure Webhook on GitHub**:\n",
" - Access your GitHub repository.\n",
Expand All @@ -41,13 +41,13 @@
" - Ensure the `Active` checkbox is selected to enable the webhook.\n",
" - Click on `Add webhook` to save and activate the webhook.\n",
" \n",
"![border-image gitrtd02](_images/webhook_02.png)\n",
"![border-image gitrtd02](../_images/webhook_02.png)\n",
"\n",
"6. **Verify Webhook Integration**:\n",
" - Once the webhook is added, GitHub will send a ping to Read the Docs to test the connection.\n",
" - You can verify the integration by pushing a commit to your repository and checking if a new build is triggered on Read the Docs.\n",
" \n",
"![border-image gitrtd03](_images/webhook_03.png)"
"![border-image gitrtd03](../_images/webhook_03.png)"
]
},
{
Expand Down
Loading

0 comments on commit b61e648

Please sign in to comment.