Skip to content

frederikbeimgraben/PyRustyMD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WIP! Markdown Parser written in Rust for the PixelCampus.space Wiki to support custom tags and other features.

Features

  • Parse Markdown
  • Parse HTML-Style Tags
  • Allow only certain Tags
  • Allow only certain Attributes per Tag
  • markdown like additions specific to PixelCampus.space Wiki

Returns a JSON Object like:

[
    {
        "content": [
            "test",
            {
                "content": [
                    "test2"
                ],
                "tag": "span",
                "attributes": {
                    "id": "spn",
                    "class": []
                }
            }
        ],
        "tag": "div",
        "attributes": {
            "style": "left: 10px;",
            "class": [
                "test",
                "abc"
            ]
        }
    }
]

from this HTML:

<div style="left: 10px;" class="test abc">
    test
    <span id="spn">test2</span>
</div>

Usage

from pyrustymd import parse

json = parse("<your html here>")

Development setup

# Create virtualenv
python3 -m venv .env

# Activate virtualenv
source .env/bin/activate

# Install maturin
pip install maturin

# Build
maturin develop

Then just import it in your python script having the same virtualenv activated.

Release History

  • 0.1.2

    • Add License and Readme
  • 0.1.1

    • Changed package name and published to PyPi
  • 0.1.0

    • Basic functionality for parsing HTML-Style Tags

Meta

Frederik Beimgraben – Website | GitHub

Distributed under the GPL-3.0 license. See LICENSE for more information.

PixelCampus – Website | GitHub