Skip to content

Commit

Permalink
Pythonized the entire project (#4)
Browse files Browse the repository at this point in the history
* Pythonized the entire project

- re organised the code, files in to thier respective folders
- added classes for config, mkdocs related stuff
- updated the pipeline.yaml so that the new structure is very readable and more dynamic

Future goals:

- custom css may be included for more control

* Updated mkdocs config files

* Rename usage.md to Usage.md

* Rename introduction.md to Introduction.md

* Rename min_requirements.md to Min_requirements.md

* Rename scope.md to Scope.md

* update versions infomrations

- updated tools desc text
- replaced duplicate process names with empty values
- added versions example to the pipeline.yaml

* Resolved tool link redirects by updating hrefs

* resolved sub headings to diaplay properly

* Added extra css

* modified the max nav width to 80%

---------

Co-authored-by: Ram Nanduri <[email protected]>
  • Loading branch information
ramsainanduri and Ram Nanduri authored Nov 6, 2023
1 parent 0bd1e6b commit 8828d65
Show file tree
Hide file tree
Showing 69 changed files with 2,112 additions and 4,754 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@ example_command.sh
*html
todo.txt
bin/__pycache__/
.venv/

# Ignore all .pyc files
*.pyc
*/__pycache__/
__pycache__


16 changes: 6 additions & 10 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,15 @@
version: 2

# Set the version of Python and other tools you might need
# build:
# os: ubuntu-22.04
# tools:
# python: "3.10"
build:
os: ubuntu-22.04
tools:
python: "3.11"

mkdocs:
configuration: mkdocs.yml

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
# system_packages: true

# Build all formats
# formats: all
install:
- requirements: docs/requirements.txt
61 changes: 51 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,59 @@ Additionally, the generated documentation also includes a table of contents for

Overall, this repo helps improve the documentation process for pipelines and tools, making it easier for others to understand and use them.

## Requirements

# To build the container
Python 3.11.0 or higher is required to run this program.

Go to the env folder and ruh the script,
`bash get_containers.sh`
## Installation

*Note: Creating containers requires sudo permission*
To install the required packages, run the following command:

# To test
`pip install -r env/requirements.txt`

- Clone the repo to your local system.
- run the command like this,
`bash bin/runMe.sh -e`
- run the example command like given below,
`bash example_command.sh`
## Usage

The pipeline documentation can be generated using the following command:

`python main.py -h`

To create an example command, use the following command:

`python main.py -e`

## Pipeline YAML Structure

The pipeline.yaml file contains all the relevant information about the pipeline or tool, including the description, inputs, outputs, parameters, and usage. This information is used to generate the MD documents, which provide clear and detailed information about the pipeline or tool.

The pipeline.yaml file has the following structure:

```
sections: # list of sections
- name: <Name of the element that can be used for name of the makdown.md and in NAV bar>
headings: # list of headings (currently only two levels of headings are supported)
- name: <HEADING NAME> # name of the heading
type: text # data tyoe
content: | # content of the heading
The program aims to simplify the process of creating and maintaining documentation for software projects using MkDocs and Read the Docs.
```

Each section has a name and a list of headings. Each heading has a name, type, and content. The name is the name of the heading, the type is the data type, and the content is the content of the heading. The content can be plain text or a list of items.

The following data types are supported:

- text: printed as is
- list: printed as a list
- dictionary: printed as a key value pair
- dict: printed as a key value pair
- image: printed as an image
- table: printed as a table (can be used to display dict as a table)
- file: printed as a table (can be used for text files)
- versions: printed as a table (can be used for versions.yaml file)

## Examples

Example pipeline.yaml can be found at

```
static/templates/pipeline.yaml
```
18 changes: 0 additions & 18 deletions bin/formatted_tool_desc.txt

This file was deleted.

27 changes: 0 additions & 27 deletions bin/functions.R

This file was deleted.

16 changes: 0 additions & 16 deletions bin/info.Rmd

This file was deleted.

38 changes: 0 additions & 38 deletions bin/input_data.Rmd

This file was deleted.

3 changes: 0 additions & 3 deletions bin/introduction.Rmd

This file was deleted.

76 changes: 0 additions & 76 deletions bin/main.Rmd

This file was deleted.

Loading

0 comments on commit 8828d65

Please sign in to comment.