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>

This extension can also be used in combination with other markdown extensions by importing the extension LeidenPlus directly:

>>> from markdown import markdown
>>> from leidenmark import LeidenPlus
>>> markdown(content, extensions=[LeidenPlus()]) # 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.23.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

leidenmark-0.1.23-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: leidenmark-0.1.23.tar.gz
  • Upload date:
  • Size: 8.6 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.23.tar.gz
Algorithm Hash digest
SHA256 1f3ae8fad63a695e5f0b08b5f32b3433b5fa5fff90f7307ab2a09faf8961b285
MD5 3c5158983b41e81a8b4d6f6616f7cee3
BLAKE2b-256 ca08350004b2465bd2b157ec2838ecb07fcf10c03f6e06b1aef8423dccfb1845

See more details on using hashes here.

File details

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

File metadata

  • Download URL: leidenmark-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 12.7 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.23-py3-none-any.whl
Algorithm Hash digest
SHA256 07d5a0cdd4527a8825ffc35c43738a3d884de7fbdab1eedfc7e3538e4f4b0cf6
MD5 232254912edd957a23344781250d5066
BLAKE2b-256 8db52c24f811d0a0c4a0b02943c06cacac021d7fdf607fd64ba11654807b5839

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