Skip to main content

A markdown extension for converting Leiden+ epigraphic text to TEI Epidoc XML

Project description

LeidenMark

$ pip install leidenmark

A Python Markdown extension for converting Leiden+ epigraphic text to TEI XML/HTML. Inspired by the Brill plain text (BPT) format that aims to incorporate Leiden+ into a Markdown-based syntax.

>>> from leidenmark import leiden_plus
>>> content = """\
<D=.r<=
1. Lorem ipsum dolor
vac.1lin
2. sit amet, con[ca.3]c
3.-etur adipiscing
=>=D>
<D=.v<=
lost.2lin
6. ut labore et dol
7.-ore magna aliqua
=>=D>"""
>>> leiden_plus(content, indent=True)

The output of the above lines is the following XML snippet:

<div n="r" type="textpart">
  <ab>
    <l n="1">Lorem ipsum dolor</l>
    <space quantity="1" unit="line"/>
    <l n="2">sit amet, con<gap precision="low" quantity="3" unit="character"/>c</l>
    <l break="no" n="3">etur adipiscing</l>
  </ab>
</div>
<div n="v" type="textpart">
  <ab>
    <gap quantity="2" unit="line"/>
    <l n="6">ut labore et dol</l>
    <l break="no" n="7">ore magna aliqua</l>
  </ab>
</div>

leiden_plus() is syntactic sugar for the registered Markdown extension, and equivalent to:

>>> import leidenmark
>>> from markdown import markdown
>>> markdown(content, extensions=['leiden_plus']) # Other extensions can be added to this list

Configuration

Given that this is a Markdown extension, conventions like *italics* and **bold** will also be recognized an converted (these in particular will additionally be transformed to the TEI element <hi>). Though these are in principle not part of the Leiden+ syntax, in practice the use of italics and boldface is still encountered a lot. Therefore, support is maintaned by default, which can be switched off by passing strict=True:

>>> leiden_plus(content, strict=True)

NB: The blockprocessors for paragraphs and ordered list are always switched off, because they interfer too much with Leiden+.

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

leidenmark-0.1.25.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

leidenmark-0.1.25-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file leidenmark-0.1.25.tar.gz.

File metadata

  • Download URL: leidenmark-0.1.25.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.1

File hashes

Hashes for leidenmark-0.1.25.tar.gz
Algorithm Hash digest
SHA256 c5e17980664ae6efefa2e8369c1aa4a97398c59aaa89206502c699b7f69bb2f4
MD5 070a692f764eba4d714136ec6a7ef0a4
BLAKE2b-256 98664c1464029d512edbc2f50d863b1f40a293e81b778386c930e2b388e100ea

See more details on using hashes here.

File details

Details for the file leidenmark-0.1.25-py3-none-any.whl.

File metadata

  • Download URL: leidenmark-0.1.25-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.1

File hashes

Hashes for leidenmark-0.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 b042c72f3b2a8208d42afe38d5ab4ad4b510aefef9ed17ae0e453945b2225ab6
MD5 d301ddf4c454616dda9e75bc71c692ee
BLAKE2b-256 e0ab31fa6a5e4dae24f890b7e01fe75a5943eccc46ddfcb039a2d1d1076008bb

See more details on using hashes here.

Supported by

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