relnotegen


Namerelnotegen JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/nielsvanspauwen/relnotegen
SummaryA tool to generate release notes from a set of markdown files
upload_time2023-11-12 15:27:59
maintainer
docs_urlNone
authorNiels Vanspauwen
requires_python>=3.6
licenseMIT
keywords release notes markdown
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # relnotegen

## Overview

relnotegen is a Python-based tool designed to automate the process of generating and styling release notes for mobile applications. It extracts release information from markdown files stored in Azure DevOps wiki, formats this information into HTML using Jinja2 templates, and then applies Tailwind CSS for styling. The final HTML release notes can be uploaded to cloud storage or used in any other desired manner.

## Features

- **Markdown to HTML**: Converts markdown files from Azure DevOps wiki into HTML.
- **Dynamic Styling**: Uses Tailwind CSS to style the generated HTML release notes.
- **Customizable Templates**: Supports Jinja2 templates for HTML output, allowing for flexible and customizable formatting.
- **Configurable**: Easily configurable via a JSON file.


## Getting Started

### Prerequisites

- Python 3.6 or higher
- Jinja2, markdown (Installable via `pip`)
- Access to Azure DevOps wiki markdown files
- Node.js and npm (for Tailwind CSS)

### Installation

Install the package via pip:

```bash
$ pip install relnotegen
```

### Configuration

Create the `relnotegen.config.json` file to set your preferences. Here's an example (all fields are required):

```json
{
    "searchPath": "./mdown",
    "template": "template.html",
    "outputFile": "myapp-release-notes.html",
    "templateParameters": {
        "pageTitle": "MyApp Release Notes",
        "heading": "What's New",
        "package": "Your App Name"
    }
}
```

### Usage

Run relnotegen:

```bash
$ relnotegen
```

### Output

- The script will generate an HTML file as specified in the `outputFile` parameter.
- A corresponding CSS file (same name as `outputFile`, but with `.css` extension) will also be generated for styling.

## How It Works

1. **Collect Markdown Files**: Scans the specified directory for markdown files.
2. **Extract Release Info**: Parses each markdown file for release data.
3. **Render HTML**: Uses Jinja2 templates to format the extracted data into HTML.
4. **Generate CSS**: Runs Tailwind CSS to style the HTML file.

Only markdown files with the proper "frontmatter" are collected. The frontmatter starts and ends with three dashes. Here's an example (both fields are required):

```markdown
---
release-date: 2023-10-29
version: 2.0.8
---
We worked hard to bring you the following updates:

## Improvements <span class="ios"/><span class="android"/>
- You can now order peperoni pizza
- We removed pineapple as possible pizza toppings

## Bug Fixes <span class="ios"/>
- Fixed a crash issue when ordering more than 100 pizza's
```

## Customization

- **HTML Template**: Modify `template.html` to change the structure of the output HTML.
- **CSS Styling**: Edit `template.css` to customize styles. Run Tailwind CSS to compile these styles into the final CSS.

## License

This project is licensed under the MIT License.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nielsvanspauwen/relnotegen",
    "name": "relnotegen",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "release notes markdown",
    "author": "Niels Vanspauwen",
    "author_email": "niels.vanspauwen@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/90/bc/340577d8b6a32770bdd95f5d42f983887e3273f431ed66b86b6abec236a9/relnotegen-0.1.3.tar.gz",
    "platform": null,
    "description": "# relnotegen\n\n## Overview\n\nrelnotegen is a Python-based tool designed to automate the process of generating and styling release notes for mobile applications. It extracts release information from markdown files stored in Azure DevOps wiki, formats this information into HTML using Jinja2 templates, and then applies Tailwind CSS for styling. The final HTML release notes can be uploaded to cloud storage or used in any other desired manner.\n\n## Features\n\n- **Markdown to HTML**: Converts markdown files from Azure DevOps wiki into HTML.\n- **Dynamic Styling**: Uses Tailwind CSS to style the generated HTML release notes.\n- **Customizable Templates**: Supports Jinja2 templates for HTML output, allowing for flexible and customizable formatting.\n- **Configurable**: Easily configurable via a JSON file.\n\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.6 or higher\n- Jinja2, markdown (Installable via `pip`)\n- Access to Azure DevOps wiki markdown files\n- Node.js and npm (for Tailwind CSS)\n\n### Installation\n\nInstall the package via pip:\n\n```bash\n$ pip install relnotegen\n```\n\n### Configuration\n\nCreate the `relnotegen.config.json` file to set your preferences. Here's an example (all fields are required):\n\n```json\n{\n    \"searchPath\": \"./mdown\",\n    \"template\": \"template.html\",\n    \"outputFile\": \"myapp-release-notes.html\",\n    \"templateParameters\": {\n        \"pageTitle\": \"MyApp Release Notes\",\n        \"heading\": \"What's New\",\n        \"package\": \"Your App Name\"\n    }\n}\n```\n\n### Usage\n\nRun relnotegen:\n\n```bash\n$ relnotegen\n```\n\n### Output\n\n- The script will generate an HTML file as specified in the `outputFile` parameter.\n- A corresponding CSS file (same name as `outputFile`, but with `.css` extension) will also be generated for styling.\n\n## How It Works\n\n1. **Collect Markdown Files**: Scans the specified directory for markdown files.\n2. **Extract Release Info**: Parses each markdown file for release data.\n3. **Render HTML**: Uses Jinja2 templates to format the extracted data into HTML.\n4. **Generate CSS**: Runs Tailwind CSS to style the HTML file.\n\nOnly markdown files with the proper \"frontmatter\" are collected. The frontmatter starts and ends with three dashes. Here's an example (both fields are required):\n\n```markdown\n---\nrelease-date: 2023-10-29\nversion: 2.0.8\n---\nWe worked hard to bring you the following updates:\n\n## Improvements <span class=\"ios\"/><span class=\"android\"/>\n- You can now order peperoni pizza\n- We removed pineapple as possible pizza toppings\n\n## Bug Fixes <span class=\"ios\"/>\n- Fixed a crash issue when ordering more than 100 pizza's\n```\n\n## Customization\n\n- **HTML Template**: Modify `template.html` to change the structure of the output HTML.\n- **CSS Styling**: Edit `template.css` to customize styles. Run Tailwind CSS to compile these styles into the final CSS.\n\n## License\n\nThis project is licensed under the MIT License.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A tool to generate release notes from a set of markdown files",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://github.com/nielsvanspauwen/relnotegen",
        "Source": "https://github.com/nielsvanspauwen/relnotegen",
        "Tracker": "https://github.com/nielsvanspauwen/relnotegen/issues"
    },
    "split_keywords": [
        "release",
        "notes",
        "markdown"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63c708afbb579e4f4195572848fc5b0af11a82301be8753d1938a7b4fe5c258e",
                "md5": "f2e497ba425255d507dcc8f8f25024ed",
                "sha256": "e60b22f4022b1f708f820dce02fb421dfcf22eb865aa6a7a761a4c66d5e5280d"
            },
            "downloads": -1,
            "filename": "relnotegen-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f2e497ba425255d507dcc8f8f25024ed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 5719,
            "upload_time": "2023-11-12T15:27:58",
            "upload_time_iso_8601": "2023-11-12T15:27:58.471935Z",
            "url": "https://files.pythonhosted.org/packages/63/c7/08afbb579e4f4195572848fc5b0af11a82301be8753d1938a7b4fe5c258e/relnotegen-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90bc340577d8b6a32770bdd95f5d42f983887e3273f431ed66b86b6abec236a9",
                "md5": "9f56f2c09477650e48c5085eccb425ae",
                "sha256": "b00e3f36d02be6aa79d13188b39de20300267326a8fb9a3652056bc2416348a9"
            },
            "downloads": -1,
            "filename": "relnotegen-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "9f56f2c09477650e48c5085eccb425ae",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5345,
            "upload_time": "2023-11-12T15:27:59",
            "upload_time_iso_8601": "2023-11-12T15:27:59.695460Z",
            "url": "https://files.pythonhosted.org/packages/90/bc/340577d8b6a32770bdd95f5d42f983887e3273f431ed66b86b6abec236a9/relnotegen-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-12 15:27:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nielsvanspauwen",
    "github_project": "relnotegen",
    "github_not_found": true,
    "lcname": "relnotegen"
}
        
Elapsed time: 3.32606s