Skip to main content

markdown-toc-segments

Github CI

Purpose

Most structured cases in Philippine jurisprudence follow a certain format that can be dissected through an outline. See sample file. Assuming a proper table of contents can be generated from the markdown file, can create segments from the full text:

>>> from pathlib import Path
>>> from markdown_toc_segments import Outline
>>> f = Path().cwd() / "temp.md"
>>> obj = Outline(raw=f.read_text())
>>> obj.footnotes
[Footnote(id='fn:1', markup='I am no footnote\xa0↩'),
 Footnote(id='fn:2', markup='One does not simply footnote\xa0↩'),
 Footnote(id='fn:3', markup='A red day ere the sun foonotes\xa0↩'),
 Footnote(id='fn:4', markup='The lord of the footnotes\xa0↩'),
 Footnote(id='fn:5', markup='Footnotes is the precious\xa0↩')]
 >>> obj.segments
 [Segment(id='ponencia', markup='<p>This is a sample decision written in markdown to illustrate the ability to compartamentalize text.<sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup></p>'),
 Segment(id='antecedents', markup='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<sup id="fnref:2"><a class="footnote-ref" href="#fn:2">2</a></sup> sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat<sup id="fnref:3"><a class="footnote-ref" href="#fn:3">3</a></sup> nulla pariatur. Excepteur sint occaecat cupidatat non proident,<sup id="fnref:4"><a class="footnote-ref" href="#fn:4">4</a></sup> sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'),
 Segment(id='version-of-the-defense', markup='<p>XXX</p>'),
...
 Segment(id='the-courts-ruling', markup='<p>The Court dismisses the appeal.</p>'),
 Segment(id='this-is-a-proper-headline', markup='<p>XXXX</p>'),
...]
>>> obj.tree
[
  Item(
    id='ponencia',
    label='Ponencia',
    segment=Segment(id='ponencia', markup='<p>This is a sample decision written in markdown to illustrate the ability to compartamentalize text.<sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup></p>'),
    text='This is a sample decision written in markdown to illustrate the ability to compartamentalize text.%% I am no footnote %%',
    children=[
      Item(
        id='antecedents',
        label='Antecedents',
        segment=Segment(id='antecedents', markup='<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<sup id="fnref:2"><a class="footnote-ref" href="#fn:2">2</a></sup> sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat<sup id="fnref:3"><a class="footnote-ref" href="#fn:3">3</a></sup> nulla pariatur. Excepteur sint occaecat cupidatat non proident,<sup id="fnref:4"><a class="footnote-ref" href="#fn:4">4</a></sup> sunt in culpa qui officia deserunt mollit anim id est laborum.</p>'), text='Lorem ipsum dolor sit amet, consectetur adipiscing elit,%% One does not simply footnote %% sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat%% A red day ere the sun foonotes %% nulla pariatur. Excepteur sint occaecat cupidatat non proident,%% The lord of the footnotes %% sunt in culpa qui officia deserunt mollit anim id est laborum.', children=[
          Item(
            id='version-of-the-defense',
            label='Version of the Defense',
            segment=Segment(id='version-of-the-defense',
            markup='<p>sffffffffm dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Adipiscing diam donec adipiscing tristique risus nec feugiat in fermentum. Porttitor eget dolor morbi non. In arcu cursus euismod quis viverra nibh. Nec ultrices dui sapien eget mi proin sed. Ultrices eros in cursus turpis massa. Sit amet consectetur adipiscing elit. Quis ipsum suspendisse ultrices gravida. Vel elit scelerisque mauris pellentesque pulvinar pellentesque. At urna condimentum mattis pellentesque id nibh tortor. Amet tellus cras adipiscing enim eu turpis egestas. Non blandit massa enim nec dui nunc mattis. Viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Cras sed felis eget velit aliquet sagittis id consectetur. Donec pretium vulputate sapien nec sagittis aliquam malesuada. Orci eu lobortis elementum nibh tellus molestie nunc non. Risus sed vulputate odio ut enim blandit. Enim nulla aliquet porttitor lacus luctus accumsan tortor. Cursus euismod quis viverra nibh cras pulvinar mattis.</p>'), text='sffffffffm dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Adipiscing diam donec adipiscing tristique risus nec feugiat in fermentum. Porttitor eget dolor morbi non. In arcu cursus euismod quis viverra nibh. Nec ultrices dui sapien eget mi proin sed. Ultrices eros in cursus turpis massa. Sit amet consectetur adipiscing elit. Quis ipsum suspendisse ultrices gravida. Vel elit scelerisque mauris pellentesque pulvinar pellentesque. At urna condimentum mattis pellentesque id nibh tortor. Amet tellus cras adipiscing enim eu turpis egestas. Non blandit massa enim nec dui nunc mattis. Viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Cras sed felis eget velit aliquet sagittis id consectetur. Donec pretium vulputate sapien nec sagittis aliquam malesuada. Orci eu lobortis elementum nibh tellus molestie nunc non. Risus sed vulputate odio ut enim blandit. Enim nulla aliquet porttitor lacus luctus accumsan tortor. Cursus euismod quis viverra nibh cras pulvinar mattis.', children=[...])]
      )
    ]
  )
]

Release files for markdown-toc-segments 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markdown-toc-segments 0.0.4
File Size Uploaded
markdown_toc_segments-0.0.4.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for markdown-toc-segments 0.0.4
File Interpreter ABI Platform
markdown_toc_segments-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 13.4 kB

Release files / markdown_toc_segments-0.0.4.tar.gz

Download URL markdown_toc_segments-0.0.4.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
77083e4eb07d5d121ef17cb7cd0c15997a61da2b561e015d43a81a9c8c70a3ec
BLAKE2b-256 checksum
How to use checksums
2eb6d96945ce09d133b9b8a872aeaaa6636cb546c7fdf9cd4a293960adfca96b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.0 CPython/3.10.6 Darwin/22.5.0

Release files / markdown_toc_segments-0.0.4-py3-none-any.whl

Download URL markdown_toc_segments-0.0.4-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d16859749345d3bbdfb42a6b2d7dd8a2afd1fa07d57c5e4ad50b75d85c8b797
BLAKE2b-256 checksum
How to use checksums
29406a9de7af538a19b69b29dcbecf2deab7418aecd6969d64ad5de520208e95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.0 CPython/3.10.6 Darwin/22.5.0

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page