Package: marquedown
MarquedownExtending Markdown further by adding a few more useful notations.It usesmarkdown2to implement common syntax via itsextras.ExamplesBlockquote with citationThis is currently limited to the top scope with no indentation.
Surrounding dotted lines are optional.ExampleMarquedown......................................................>You have enemies? Good. That means you've stood up>for something, sometime in your life.-- Winston Churchill
''''''''''''''''''''''''''''''''''''''''''''''''''''''HTML<blockquote><p>You have enemies? Good. That means you've stood up
        for something, sometime in your life.</p><cite>Winston Churchill</cite></blockquote>Embed videoYouTubeMarquedown![dimweb](https://youtu.be/VmAEkV5AYSQ "An embedded YouTube video")HTML<iframesrc="https://www.youtube.com/embed/VmAEkV5AYSQ"title="An embedded YouTube video"frameborder="0"allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"allowfullscreen></iframe>BBCode HTML tagsThese tags allow you to put Marquedown inside HTML tags. This is done by finding and replacing them with their represented HTML after all other Marquedown has been rendered.Tags and classesThe naming scheme is the same as in CSS, e.g.tag.class1.class2Iftagis omitted, it is treated to bedivID:sID:s are supported using#beansat the end of the tag, ex.[p#beans]ExampleMarquedown[section]
[.bingo]
A regular**paragraph**written in Marquedown, but*within*other HTML tags.
[//]

[tag.class1.class2] [/tag]HTML<section><divclass="bingo"><p>A regular<strong>paragraph</strong>written in Marquedown, but<em>within</em>other HTML tags.</p></div></section><tagclass="class1 class2"></tag>Label listExampleMarquedown(| email: [jon@webby.net](mailto:jon@webby.net)
(| matrix: [@jon:webby.net](https://matrix.to/#/@jon:webby.net)
(| runescape: jonathan_superstar1777HTML<ulclass="labels"><liclass="label label-email"><ahref="mailto:jon@webby.net">jon@webby.net</a></li><liclass="label label-matrix"><ahref="https://matrix.to/#/@jon:webby.net">@jon:webby.net</a></li><liclass="label label-runescape">jonathan_superstar1777</li></ul>QR codesQR codes can be generated and referenced automatically via therendercommand. If you want to generate QR codes withmarquedown.marquedown, you can follow the example below.ExamplePythonfrommarquedownimportmarquedownfrommarquedown.qrimportQRGeneratorwithopen('public/document.mqd','r')asf:document=f.read()withopen('public/document.html','w')asf:qrgen=QRGenerator('public/qr','qr')rendered=marquedown(document,qrgen=qrgen)f.write(rendered)Marquedown![qr:monero-wallet](monero:abcdefghijklmnopqrstuvwxyz)

[o] Bee Movie transcript ..................[o]
| According to all known laws of aviation,
| there is no way that a bee should be able
| to fly. Its wings are too small to get its
| fat little body off the ground. The bee,
| of course, flies anyway because bees don't
| care what humans think is impossible.
[o]HTML<imgsrc="qr/qr-monero-wallet.png"alt="monero-wallet"><imgclass="qr"src="qr/qr-bee-movie-transcript.png"alt="Bee Movie transcript">Commandsrender: Render documentsYou can render an entire directory and its subdirectories of Markdown or Marquedown documents. This can be used to automate rendering pages for your website.Dopython -m marquedown render --helpfor list of options.ExampleFor a few of my websites hosted on GitLab, I have it set up to runthison push:# Render documentpython-mmarquedownrender-i"./mqd"-o"./public"-t"./templates/page.html"# This is for the GitLab Pages publicationmkdir.public
cp-rpublic.public
mv.publicpublic