Skip to main content

A tool to generate release notes from a set of markdown files

Project description

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:

$ pip install relnotegen

Configuration

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

{
    "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:

$ 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):

---
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

relnotegen-0.1.3.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

relnotegen-0.1.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file relnotegen-0.1.3.tar.gz.

File metadata

  • Download URL: relnotegen-0.1.3.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for relnotegen-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b00e3f36d02be6aa79d13188b39de20300267326a8fb9a3652056bc2416348a9
MD5 9f56f2c09477650e48c5085eccb425ae
BLAKE2b-256 90bc340577d8b6a32770bdd95f5d42f983887e3273f431ed66b86b6abec236a9

See more details on using hashes here.

File details

Details for the file relnotegen-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: relnotegen-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for relnotegen-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e60b22f4022b1f708f820dce02fb421dfcf22eb865aa6a7a761a4c66d5e5280d
MD5 f2e497ba425255d507dcc8f8f25024ed
BLAKE2b-256 63c708afbb579e4f4195572848fc5b0af11a82301be8753d1938a7b4fe5c258e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page