Metadata-Version: 2.1
Name: directory_structure_generator
Version: 1.0.4
Summary: This script is used to generate a list of the project structure in a markdown format. It is useful for README.md files.
Home-page: https://github.com/7oSkaaa/directory_structure_generator
Author: Ahmed Hossam
Author-email: ahmed.7oskaa@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: argparse

# Directory Structure Generator Script

## Description

This script is used to generate a list of the project structure in a markdown format. It is useful for README.md files.

## Download

- You can simply:
    ```bash
    pip install directory-structure-generator 
    ```
  
- Or you can clone the repository:

    ```bash
    git clone git@github.com:7oSkaaa/directory_structure_generator.git
    cd directory_structure_generator
    python -m directory_structure_generator --path <path> --language <language> --sort <sort>
    ```  

## Usage

### Command

***We have two ways to use the script:***
- **First way:**
  - Install the package using pip
  - Run the script with the required arguments
    ```bash
    python
    from directory_structure_generator import directory_structure_generator
    directory_structure_generator(path=<path>, exclude_dirs=[<dir_1>, <dir_2>, <dir_3>], language=<language>, sort=<sort>)
    ```

- **Second way:** 
  - Clone the repository
  - Change the directory to the repository
  - Run the script with the required arguments
      ```bash
      python -m directory_structure_generator --path <path> --exclude_dirs <dir_1> <dir_2> <dir_3> --language <language> --sort <sort>
      ```

### Arguments

- `--path` : Path to the project folder
- `--exclude_dirs` : List of directories to exclude from the project structure. Default is `[]`
- `--language` : Language of the project. Default is `plaintext`
- `--sort` : Sort the folders and files. Default is `False`

## Output Example

### frontend-training-mp-feb24 folder structure

```js
📁 frontend-training-mp-feb24
├───📄 App.js
├───📄 AppStyles.js
├───📄 README.md
├───📄 app.json
├───📁 assets
│   ├───📄 Error_image.png
│   ├───📄 adaptive-icon.png
│   ├───📄 favicon.png
│   ├───📄 icon.png
│   └───📄 splash.png
├───📄 babel.config.js
├───📄 metrics.js
├───📄 package-lock.json
├───📄 package.json
├───📁 src
│   ├───📁 components
│   │   ├───📁 Card
│   │   │   ├───📄 Card.jsx
│   │   │   ├───📄 Counter.jsx
│   │   │   └───📄 index.jsx
│   │   ├───📁 Cart
│   │   │   ├───📄 CardProduct.jsx
│   │   │   ├───📄 CartProducts.jsx
│   │   │   ├───📄 CartSummary.jsx
│   │   │   └───📄 index.jsx
│   │   ├───📁 Error
│   │   │   ├───📄 Error.jsx
│   │   │   └───📄 index.jsx
│   │   └───📄 index.jsx
│   ├───📁 redux
│   │   ├───📄 cartSlice.jsx
│   │   ├───📄 index.jsx
│   │   └───📄 productSlice.jsx
│   ├───📁 screens
│   │   ├───📁 CartScreen
│   │   │   ├───📄 CartScreen.jsx
│   │   │   └───📄 index.jsx
│   │   ├───📁 HomeScreen
│   │   │   ├───📄 HomeScreen.jsx
│   │   │   └───📄 index.jsx
│   │   └───📄 index.jsx
│   └───📁 services
│   │   ├───📄 api.js
│   │   ├───📄 cartService.js
│   │   └───📄 productService.js
└───📄 yarn.lock
```
