Skip to main content

A simple to use markdown generator for Python.

Project description

t-python-markdown

A simple to use markdown generator for Python.

Installation

pip install t-python-markdown

Example

from t_python_markdown import Document, Header, Paragraph, Sentence, Bold, Table, UnorderedList
import time
import requests

j = requests.get("https://api.coindesk.com/v1/bpi/currentprice.json").json()
bpi = j["bpi"]

front_matter = {
    "title": j["chartName"],
    "authors": ["A.U.Thor"],
    "date": time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()),
}

doc = Document(front_matter)
doc >> Header(j["chartName"], 1)
doc >> Paragraph([j["disclaimer"]])
al = [("--:" if isinstance(_, (int, float)) else ":-:" if _.startswith("&") else ":--") for _ in bpi[list(bpi.keys())[0]].values()]
t = Table([_.replace("_", " ").title() for _ in bpi[list(bpi.keys())[0]].keys()], alignment=al)
doc >> t
ul = UnorderedList()
doc >> Paragraph("Bitcoin Price Index")
doc >> ul

for k, v in bpi.items():
  t >> [_ for _ in bpi[k].values()]
  ul >> Sentence([Bold(k), bpi[k]["description"]])

# Write markdown to file
doc.write("example.md")

Saved as example.py then running python example.py results in:

---
title: Bitcoin
authors:
- A.U.Thor
date: '2023-02-25T14:17:02Z'
...

# Bitcoin

This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org

| **Code** | **Symbol** | **Rate** | **Description** | **Rate Float** |
| :-- | :-: | :-- | :-- | --: |
| USD | $ | 23,007.6135 | United States Dollar | 23007.6135 |
| GBP | £ | 19,224.9778 | British Pound Sterling | 19224.9778 |
| EUR | € | 22,412.7746 | Euro | 22412.7746 |

Bitcoin Price Index

- **USD** United States Dollar.
- **GBP** British Pound Sterling.
- **EUR** Euro.

Usage

For usage, see https://www.cix.co.uk/~toyne/t-python-markdown/usage/

Recent Changelog

1.4.1

  • Resolve issue where embedding tables in lists in tables in lists in tables (etc...) would not render correctly

1.4.0

  • Improve support for embedded lists and tables. Now able to wrap child items in other markdown elements

1.3.2

  • Add support for attribute lists when processing embedded lists

1.3.1

  • Add support for attribute lists when processing embedded tables

1.3.0

  • Add support for tables and lists embedded in other tables and lists

1.2.1

  • Bring into line with docs site

1.2.0

  • Add support for Strikethrough

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

t_python_markdown-1.4.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

t_python_markdown-1.4.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file t_python_markdown-1.4.1.tar.gz.

File metadata

  • Download URL: t_python_markdown-1.4.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for t_python_markdown-1.4.1.tar.gz
Algorithm Hash digest
SHA256 7f6541c03d9a53fb6521e8ac27b5fd57225ec2b773b38b6717736033e5ebd649
MD5 1c5da49e56468a63dec0984db3dae5e7
BLAKE2b-256 355a9b02308c3575aca1a8aa2332044be0510bff0a66bd611661b60784b0e473

See more details on using hashes here.

File details

Details for the file t_python_markdown-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for t_python_markdown-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64c9cc1b88abbb41d77b4811b5dff775f1ee8ef7ff91889ebba83a2a48643aa6
MD5 0f6bdd848aa0a38bd113c37ca940a42f
BLAKE2b-256 583be04cf490060f74168e0cd0448a4536032baf905b62b7d93e1d57eeec6964

See more details on using hashes here.

Supported by

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