A Swift wrapper for Python-Markdown, using PythonKit.
You'll need to install Python-Markdown (and optionally pygments) yourself.
import SwiftMarkdown
let markdown = try SwiftMarkdown.markdown("Hello, World!")
print(markdown.html)
let string = """
---
tags: news, swift
date: 2021-02-04
---
# Hello world
This uses metadata
"""
let markdownWithMetadata = try SwiftMarkdown.markdown(string, extensions: [.meta])
print(markdownWithMetadata.metadata) // ["tags": "news, swift", "date": "2021-02-04"]
See https://python-markdown.github.io/extensions for documentation on the "extensions".
SwiftMarkdown also comes bundles with its own three extensions:
.title
, which removes the first title from the html output and instead makes it available asresult.title
.strikethrough
, which turns~~text~~
intotext.urlize
, which turns naked links into clickable links
Using Swift Package Manager
.package(url: "https://github.com/loopwerk/SwiftMarkdown", from: "0.4.0"),