Convert HTML to Markdown-formatted text.

Overview

html2text

Build Status Coverage Status Downloads Version Wheel? Format License

html2text is a Python script that converts a page of HTML into clean, easy-to-read plain ASCII text. Better yet, that ASCII also happens to be valid Markdown (a text-to-HTML format).

Usage: html2text [filename [encoding]]

Option Description
--version Show program's version number and exit
-h, --help Show this help message and exit
--ignore-links Don't include any formatting for links
--escape-all Escape all special characters. Output is less readable, but avoids corner case formatting issues.
--reference-links Use reference links instead of links to create markdown
--mark-code Mark preformatted and code blocks with [code]...[/code]

For a complete list of options see the docs

Or you can use it from within Python:

>>> import html2text
>>>
>>> print(html2text.html2text("<p><strong>Zed's</strong> dead baby, <em>Zed's</em> dead.</p>"))
**Zed's** dead baby, _Zed's_ dead.

Or with some configuration options:

>>> import html2text
>>>
>>> h = html2text.HTML2Text()
>>> # Ignore converting links from HTML
>>> h.ignore_links = True
>>> print h.handle("<p>Hello, <a href='https://www.google.com/earth/'>world</a>!")
Hello, world!

>>> print(h.handle("<p>Hello, <a href='https://www.google.com/earth/'>world</a>!"))

Hello, world!

>>> # Don't Ignore links anymore, I like links
>>> h.ignore_links = False
>>> print(h.handle("<p>Hello, <a href='https://www.google.com/earth/'>world</a>!"))
Hello, [world](https://www.google.com/earth/)!

Originally written by Aaron Swartz. This code is distributed under the GPLv3.

How to install

html2text is available on pypi https://pypi.org/project/html2text/

$ pip install html2text

How to run unit tests

tox

To see the coverage results:

coverage html

then open the ./htmlcov/index.html file in your browser.

Documentation

Documentation lives here

Comments
  • 3.200.3 vs 2014.7.3 output quirks

    3.200.3 vs 2014.7.3 output quirks

    Just upgraded from 3.200.3 to 2014.7.3 and noticed the following things:

    Bold text inside links

    <a href="link.htm"><b>Text</b></a>
    

    Before: [**Text**](link.htm) After: **[Text**](link.htm) (to me this looks incorrect)

    Image links

    <a href="images/image.jpg"><img alt="Title" src="images/thumbnails/image.jpg"></img></a>
    

    Before: [![Title](images/thumbnails/image.jpg)](images/image.jpg) After: ![Title](images/thumbnails/image.jpg)

    Literal links

    Links like this [http://example.com](http://example.com) now look like this <http://example.com>. Is that valid markdown?

    Escapes

    A lot of unnecessary escapes: \--, 1\.

    Downgraded back to 3.200.3

    bug 
    opened by max-arnold 22
  • Malformed output of links

    Malformed output of links

    >>> import html2text
    >>> h = html2text.HTML2Text()
    >>> h.handle('<a href="http://www.test.com">http://www.test.com</a>')  #  this fails
    u'<http://www.test.com>\n\n'
    >>> h.handle('<a href="http://www.test.com/">http://www.test.com</a>')  # adding slash works
    u'[http://www.test.com](http://www.test.com/)\n\n'
    

    while this works as expected

    >>> h.handle('<a href="http://www.test.com/">test</a>')
    u'[test](http://www.test.com/)\n\n'
    >>> h.handle('<a href="http://www.test.com">test</a>')
    u'[test](http://www.test.com)\n\n'
    
    bug 
    opened by barsch 16
  • Fix issue with emphasis and whitespace

    Fix issue with emphasis and whitespace

    This fixes some issues that occurs with white spaces around the following emphasis marks ~~, **, _. It's not the most beautiful code, but it fixes the bugs.

    opened by jonathan-s 15
  • unexpanded < > &

    unexpanded < > &

    From: https://bugs.debian.org/791470

    Version: 2015.6.21-1 (and current master):

    $ echo '<body>&lt;&gt;&amp;</body>' | html2markdown
    &lt;&gt;&amp;
    

    It worked correctly in 2014.9.25-1:

    $ echo '<body>&lt;&gt;&amp;</body>' | html2markdown
    <>&
    
    bug 
    opened by stefanor 15
  • escaping surrogate.

    escaping surrogate.

    Throwing errors for my command:

    curl http://www.baeldung.com/websockets-spring|html2text|vim -

    Traceback (most recent call last): File "C:\Users\mohi\AppData\Local\Programs\Python\Python36\Scripts\html2text-script.py", line 11, in load_entry_point('html2text==2017.10.4', 'console_scripts', 'html2text')() File "c:\users\mohi\appdata\local\programs\python\python36\lib\site-packages\html2text\cli.py", line 306, in main wrapwrite(h.handle(data)) File "c:\users\mohi\appdata\local\programs\python\python36\lib\site-packages\html2text\utils.py", line 207, in wrapwrite text = text.encode('utf-8') UnicodeEncodeError: 'utf-8' codec can't encode character '\udc9d' in position 676: surrogates not allowed

    opened by ahmedmohiduet 14
  • Don't split paragraphs in blockquotes

    Don't split paragraphs in blockquotes

    This PR should fix #139. When fixing this issue I discovered that whitespace plays a crucial role at the end of the line which is rather annoying. This PR also partially fixes this as it removes whitespace from some lines.

    enhancement 
    opened by jonathan-s 13
  • UnicodeDecode Error

    UnicodeDecode Error

    I am trying to use html2text to clean up html tags on news reports scraped from Google RSS feed. I run into some UnicodeDecode errors. Specifically, I run html2text directly on the command line html2text --ignore-links --ignore-images 52778881361118.htm > test.txt I could not enclose the file as the issue tracker won't take such files. It gives me the following error: Traceback (most recent call last): File "/usr/local/bin/html2text", line 8, in load_entry_point('html2text==2014.9.25', 'console_scripts', 'html2text')() File "/Library/Python/2.7/site-packages/html2text/init.py", line 1083, in main data = data.decode(encoding) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 22495: invalid start byte

    Do you have any insight into how I can work around this? Thanks, Philippe

    invalid 
    opened by ploustaunau 13
  • Wraps long URLs

    Wraps long URLs

    Forwarding aaronsw/html2text#7, so it doesn't get forgotten: Forwarding http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=616090:

    Long URLs are wrapped, which they probably shouldn't be.

    Example:

    <html>
    <head><title>Test</title></head>
    <body>
    <p>And <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=multiarch;[email protected]">here</a> is a long link I had at hand.</p>
    </body>
    </html>
    

    Results in:

    And [here][1] is a long link I had at hand.
    
       [1]: http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=multiarch;users
    [email protected]
    
    bug 
    opened by stefanor 13
  • Add callback feature

    Add callback feature

    This PR enables finer-grained control over the output generated. Example usage:

    my_em = False
    def my_tag_handle(parser, tag, attrs, start):
      global my_em
      if tag == 'em':
        if 'class' in attrs and 'my' in attrs['class'] and start:
          parser.o("[my] ")
          my_em = True
          return True
        elif my_em and not start:
          parser.o("[/my]")
          my_em = False
          return True
    
    parser = html2text.HTML2Text()
    parser.tag_callback = my_tag_handle
    text = parser.handle(html)
    
    enhancement 
    opened by critiqjo 12
  • Long links wrapping option

    Long links wrapping option

    Possible fix for #38

    • urls which are long are not wrapped if so desired.
    • old behaviour is maintained to avoid breaking someone's code
    • --no-wrap-links has been added.
    • both inline links and reference links are supported for no wrapping.
    • docs have been updated
    opened by theSage21 12
  • Emtpy link title of <a><img></a> with images_to_alt

    Emtpy link title of with images_to_alt

    # Python 3.4.3 (default, Aug 10 2015, 16:40:44) 
    # [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
    >>> import html2text
    >>> html2text.__version__
    (2016, 4, 2)
    
    >>> txt = html2text.HTML2Text()
    >>> txt.images_to_alt = True
    >>> txt.handle('<a href="http://google.com"><img src="images/google.png"></a>')
    '[](http://google.com)\n\n'
    

    So the conversion:

    <a href="http://google.com"><img src="images/google.png"></a>
    
    [](http://google.com)\n\n
    

    Seem to come up with an empty tile. I would like to get an output like

    [image](http://google.com)\n\n
    

    or be able to ignore such links completely. Is there a way yet to archive that?

    opened by luckydonald 11
  • HTML <picture> Element not returned as image link from srcset

    HTML Element not returned as image link from srcset

    The image link from the srcset is not returned in the markdown return in the <picture> html element. I expect it to be returned like if the image src was in the <img> html element.

    Code snippet example:

    import html2text
    
    html = """
    <section>
        <h1>Poorly drawn lines comics</h1>
        <picture>
            <source
                sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px"
                srcset=" https://pbs.twimg.com/media/FbVo3fiUcAAYytB?format=jpg&name=smal 640w, 
                    https://pbs.twimg.com/media/FbVo3fiUcAAYytB?format=jpg&name=medium 828w, 
                    https://pbs.twimg.com/media/FbVo3fiUcAAYytB?format=jpg&name=large 1400w" />
            <img alt="" />
        </picture>
        <p>
            This is one of my most favorite recent comics. Comes in print too. I want it for my home.
        </p>
    </section>
    """
    md = html2text.html2text(html)
    print(md)
    

    Actual Output:

    # Poorly drawn lines comics
    
    This is one of my most favorite recent comics. Comes in print too. I want it
    for my home.
    

    Expected Output:

    • includes the image link (though I'm not particular for which one)
    • same result as if using the <img> html element
    # Poorly drawn lines comics
    
    ![](https://pbs.twimg.com/media/FbVo3fiUcAAYytB?format=jpg&name=small)
    
    This is one of my most favorite recent comics. Comes in print too. I want it
    for my home.
    
    • Version by html2text --version 2020.1.16
    • Python version python --version 3.9.13
    opened by contendaClara 0
  • Support Python 3.10

    Support Python 3.10

    • Support Python 3.10 (edits to .travis.yml, setup.cfg and tox.ini files)

    In the process of implementing the above, this fix was required:

    • Fix test data for br_inside_a (my creation, not sure how this wrong version got pushed and passed Travis CI)
    • Setting environment variable PYTHONUTF8 = 1 in tox.ini as Unicode tests would fail due to encoding defaulting to windows-1252 on Windows
    • Added .gitattribute to have correct line endings

    In the process of fixing the above, the following was discovered:

    • Reversed order of arguments in assertions in tests (was assert result == actual but pytest standard -- and IDESs -- expect the reverse order, i.e. assert actual == expected)

    In the process of all the above the following was in the way:

    • Modern IDEs don't allow *.md files to end with multiple empty lines and will automatically trim them out, so I had to modify tests to assert actual.rstrip() == expected.rstrip()

    All tox tests are passed by this PR.

    opened by mborsetti 0
  • Link titles break with encoded quote

    Link titles break with encoded quote

    • Version by html2text --version: 2020.1.16
    • Test script:
    $ printf '<a title="&quot;" href="/">foo</a>' | html2text
    [foo](/ """)
    

    [foo](/ """) → [foo](/ """) [foo](/ "\"")foo

    • Python version python --version: 3.10.5
    opened by xPMo 0
  • --ignore-links flag creates new composite words in output

    --ignore-links flag creates new composite words in output

    Hi! I'm doing some natural language processing experiments and using html2text to make text sources out of internet pages. My problem is words in links are sticking to each other if I use --ignore-link flag:

    html2text --ignore-links <<< '<a href="/1">1</a><a href="/2">2</a><a href="/3">3 4</a><a href="/5">5</a>'
    123 45
    

    example is specially simplified of course, but it "creates" new composite words. I've patched it locally to add spaces after each ignored link, sort of workaround with minimal changes:

    if tag == "a" and self.ignore_links and not start:
        self.o(" ")
    if tag == "a" and not self.ignore_links:
    

    and it produces what I need:

    html2text --ignore-links <<< '<a href="/1">1</a><a href="/2">2</a><a href="/3">3 4</a><a href="/5">5</a>'
    1 2 3 4 5
    

    Should I open a pull request for this? The code above is sort of workaround, but if it will be useful - I'd be happy to make it cleaner, add tests, changelog, etc.

    • Version by html2text --version: 2020.1.16 (from pypi, but github/master version is affected too)
    • Python version python3.8 --version: Python 3.8.0`
    opened by strizhechenko 0
Releases(2019.8.11)
  • 2019.8.11(Aug 11, 2019)

    • Add support for wrapping list items.
    • Fix #201: handle ‎/‏ marks mid-text within stressed tags or right after stressed tags.
    • Feature #213: images_as_html config option to always generate an img html tag. preserves "height", "width" and "alt" if possible.
    • Remove support for end-of-life Pythons. Now requires Python 2.7 or 3.4+.
    • Remove support for retrieving HTML over the network.
    • Add __main__.py module to allow running the CLI using python -m html2text ....
    • Fix #238: correct spacing when a HTML entity follows a non-stressed tags which follow a stressed tag.
    • Remove unused or deprecated:
      • html2text.compat.escape()
      • html2text.config.RE_UNESCAPE
      • html2text.HTML2Text.replaceEntities()
      • html2text.HTML2Text.unescape()
      • html2text.unescape()
    • Fix #208: handle LEFT-TO-RIGHT MARK after a stressed tag.

    PyPI: https://pypi.org/project/html2text/2019.8.11/

    Source code(tar.gz)
    Source code(zip)
  • 2018.1.9(Jan 10, 2018)

    2018.9.1


    • Fix #188: Non-ASCII in title attribute causes encode error.
    • Feature #194: Add support for the tag.
    • Feature #193: Add support for the tag.

    PyPI: https://pypi.python.org/pypi/html2text/2018.1.9

    Source code(tar.gz)
    Source code(zip)
  • 2017.10.4(Oct 4, 2017)

    Version 2017.10.4

    • Fix #157: Fix images link with div wrap
    • Fix #55: Fix error when empty title tags
    • Fix #160: The html2text tests are failing on Windows and on Cygwin due to differences in eol handling between windows/*nix
    • Feature #164: Housekeeping: Add flake8 to the travis build, cleanup existing flake8 violations, add py3.6 and pypy3 to the travis build
    • Fix #109: Fix for unexpanded < > &
    • Fix #143: Fix line wrapping for the lines starting with bold
    • Adds support for numeric bold text indication in font-weight, as used by Google (and presumably others.)
    • Fix #173 and #142: Stripping whitespace in crucial markdown and adding whitespace as necessary
    • Don't drop any cell data on tables uneven row lengths (e.g. colspan in use)

    PyPI: https://pypi.python.org/pypi/html2text/2017.10.4

    Source code(tar.gz)
    Source code(zip)
  • 2016.9.19(Sep 20, 2016)

    2016.9.19


    • Default image alt text option created and set to a default of empty string "" to maintain backward compatibility
    • Fix #136: --default-image-alt now takes a string as argument
    • Fix #113: Stop changing quiet levels on /script tags.
    • Merge #126: Fix deprecation warning on py3 due to html.escape
    • Fix #145: Running test suite on Travis CI for Python 2.6.

    PyPI: https://pypi.python.org/pypi/html2text/2016.9.19

    Source code(tar.gz)
    Source code(zip)
  • 2016.5.29(May 29, 2016)

    2016.5.29


    2016.5.29


    • Fix #125: --pad_tables now pads table cells to make them look nice.
    • Fix #114: Break does not interrupt blockquotes
    • Deprecation warnings for URL retrieval.

    PyPI: https://pypi.python.org/pypi/html2text/2016.5.29

    Source code(tar.gz)
    Source code(zip)
  • 2016.4.2(Apr 1, 2016)

  • 2016.1.8(Jan 8, 2016)

    2016.1.8


    • Feature #99: Removed duplicated initialization.
    • Fix #100: Get element style key error.
    • Fix #101: Fix error end tag pop exception.
    • <s>, <strike>, <del> now rendered as ~~text~~.

    PyPi: https://pypi.python.org/pypi/html2text/2016.1.8

    Source code(tar.gz)
    Source code(zip)
  • 2015.11.4(Nov 4, 2015)

    2015.11.4


    • Fix #38: Long links wrapping controlled by --no-wrap-links.
    • Note: --no-wrap-links implies --reference-links
    • Feature #83: Add callback-on-tag.
    • Fix #87: Decode errors can be handled via command line.
    • Feature #95: Docs, decode errors spelling mistake.
    • Fix #84: Make bodywidth kwarg overridable using config.

    PyPi: https://pypi.python.org/pypi/html2text/2015.11.4

    Source code(tar.gz)
    Source code(zip)
  • 2015.6.21(Jun 21, 2015)

    2015.6.21


    • Fix #31: HTML entities stay inside link.
    • Fix #71: Coverage detects command line tests.
    • Fix #39: Documentation update.
    • Fix #61: Functionality added for optional use of automatic links.
    • Feature #80: title attribute is preserved in both inline and reference links.
    • Feature #82: More command line options. See docs.

    Pypi: https://pypi.python.org/pypi/html2text/2015.6.21

    Source code(tar.gz)
    Source code(zip)
  • 2015.6.12(Jun 12, 2015)

    2015.6.12


    • Feature #76: Making pre blocks clearer for further automatic formatting.
    • Fix #71: Coverage detects tests carried out in subprocesses

    PyPi: https://pypi.python.org/pypi/html2text/2015.6.12

    Source code(tar.gz)
    Source code(zip)
  • 2015.6.6(Jun 5, 2015)

    2015.6.6


    • Fix #24: 3.200.3 vs 2014.7.3 output quirks.
    • Fix #61. Malformed links in markdown output.
    • Feature #62: Automatic version number.
    • Fix #63: Nested code, anchor bug.
    • Fix #64: Proper handling of anchors with content that starts with tags.
    • Feature #67: Documentation all over the module.
    • Feature #70: Adding tests for the module.
    • Fix #73: Typo in config documentation.
    Source code(tar.gz)
    Source code(zip)
  • 2015.4.14(Apr 14, 2015)

    2015.4.14


    • Feature #59: Write image tags with height and width attrs as raw html to retain dimensions.

    PyPi: https://pypi.python.org/pypi/html2text/2015.4.14

    Source code(tar.gz)
    Source code(zip)
  • 2015.4.13(Apr 13, 2015)

    2015.4.13


    • Feature #56: Treat '-' file parameter as stdin.
    • Feature #57: Retain escaping of html except within code or pre tags.

    PyPi: https://pypi.python.org/pypi/html2text/2015.4.13

    Source code(tar.gz)
    Source code(zip)
  • 2015.2.18(Feb 18, 2015)

  • 2014.12.29(Dec 29, 2014)

    2014.12.29


    • Feature #51: Add single line break option. This feature is useful for ensuring that lots of extra line breaks do not end up in the resulting Markdown file in situations like Evernote .enex exports. Note that this only works properly if body-width is set to 0.

    PyPi: https://pypi.python.org/pypi/html2text/2014.12.29

    Source code(tar.gz)
    Source code(zip)
  • 2014.12.24(Dec 24, 2014)

    2014.12.24


    • Feature #49: Added a images_to_alt option to discard images and keep only their alt.
    • Feature #50: Protect links, surrounding them with angle brackets to avoid breaking...
    • Feature: Add setup.cfg file.

    PyPi: https://pypi.python.org/pypi/html2text/2014.12.24

    Source code(tar.gz)
    Source code(zip)
  • 2014.12.5(Dec 5, 2014)

    2014.12.5


    • Feature: Update README.md with usage examples.
    • Fix #35: Remove py_modules from setup.py.
    • Fix #36: Excludes tests from being installed as a separate module.
    • Fix #37: Don't hardcode the path to the installed binary.
    • Fix: Readme typo in running cli.
    • Feature #40: Extract cli part to cli module.
    • Feature #42: Bring python version compatibility to compat.py module.
    • Feature #41: Extract utility/helper methods to utils module.
    • Fix #45: Does not accept standard input when running under Python 3.
    • Feature: Clean up ChangeLog.rst for version and date numbers.

    PyPi: https://pypi.python.org/pypi/html2text/2014.12.5

    Source code(tar.gz)
    Source code(zip)
  • 2014.9.25(Sep 25, 2014)

    2014.9.25 - 2014-09-25


    • Feature #29, #27: Add simple table support with bypass option.
    • Fix #20: Replace project website with: http://alir3z4.github.io/html2text/ .
    Source code(tar.gz)
    Source code(zip)
  • 2014.9.8(Sep 18, 2014)

  • 2014.9.7(Sep 18, 2014)

    2014.9.7 - 2014-09-07


    • Fix unicode/type error in memory leak unit-test.
    • Feature #16: Remove install_deps.py.
    • Feature #17: Add status badges via pypin.
    • Feature #18: Add Python 3.4 to travis config file.
    • Feature #19: Bring html2text to a separate module and take out the conf/constant variables.
    • Feature #21: Remove meta vars from html2text.py file header.
    • Fix: Fix TypeError when parsing tags like . Fixed in #25.
    Source code(tar.gz)
    Source code(zip)
  • 2014.7.3(Jul 4, 2014)

    2014.7.3 - 2014-07-03

    Fix #8: Remove How to do a release section from README.md. Fix #11: Include test directory markdown, html files. Fix #13: memory leak in using handle while keeping the old instance of html2text.

    PyPi: https://pypi.python.org/pypi/html2text/2014.7.3

    Source code(tar.gz)
    Source code(zip)
  • 2014.4.5(Jul 4, 2014)

    2014.4.5 - 2014-04-05

    Fix #1: Add ChangeLog.rst file. Fix #2: Add AUTHORS.rst file.

    PyPi: https://pypi.python.org/pypi/html2text/2014.4.5

    Source code(tar.gz)
    Source code(zip)
Owner
Alireza Savand
I am Alireza Savand, a Software Architect.
Alireza Savand
Pythonic HTML Parsing for Humans™

Requests-HTML: HTML Parsing for Humans™ This library intends to make parsing HTML (e.g. scraping the web) as simple and intuitive as possible. When us

Python Software Foundation 12.9k Jan 1, 2023
News, full-text, and article metadata extraction in Python 3. Advanced docs:

Newspaper3k: Article scraping & curation Inspired by requests for its simplicity and powered by lxml for its speed: "Newspaper is an amazing python li

Lucas Ou-Yang 12.3k Jan 1, 2023
Convert HTML to Markdown-formatted text.

html2text html2text is a Python script that converts a page of HTML into clean, easy-to-read plain ASCII text. Better yet, that ASCII also happens to

Alireza Savand 1.3k Dec 31, 2022
Converts Cisco formatted MAC Addresses to PC formatted MAC Addresses

Cisco-MAC-to-PC-MAC Converts a file with a list of Cisco formatted MAC Addresses to PC formatted MAC Addresses... Ex: abcd.efgh.ijkl to AB:CD:EF:GH:I

Stew Alexander 0 Jan 4, 2022
A markdown lexer and parser which gives the programmer atomic control over markdown parsing to html.

A markdown lexer and parser which gives the programmer atomic control over markdown parsing to html.

stonepresto 4 Aug 13, 2022
A super simple script which uses the GitHub API to convert your markdown files to GitHub styled HTML site.

A super simple script which uses the GitHub API to convert your markdown files to GitHub styled HTML site.

Çalgan Aygün 213 Dec 22, 2022
Convert markdown to HTML using the GitHub API and some additional tweaks with Python.

Convert markdown to HTML using the GitHub API and some additional tweaks with Python. Comes with full formula support and image compression.

phseiff 70 Dec 23, 2022
Django-Text-to-HTML-converter - The simple Text to HTML Converter using Django framework

Django-Text-to-HTML-converter This is the simple Text to HTML Converter using Dj

Nikit Singh Kanyal 6 Oct 9, 2022
Provides syntax for Python-Markdown which allows for the inclusion of the contents of other Markdown documents.

Markdown-Include This is an extension to Python-Markdown which provides an "include" function, similar to that found in LaTeX (and also the C pre-proc

Chris MacMackin 85 Dec 30, 2022
Mdformat is an opinionated Markdown formatter that can be used to enforce a consistent style in Markdown files

Mdformat is an opinionated Markdown formatter that can be used to enforce a consistent style in Markdown files. Mdformat is a Unix-style command-line tool as well as a Python library.

Executable Books 180 Jan 6, 2023
A Sublime Text plugin that displays inline images for single-line comments formatted like `// ![](example.png)`.

Inline Images Sometimes ASCII art is not enough. Sometimes an image says more than a thousand words. This Sublime Text plugin can display images inlin

Andreas Haferburg 8 Jul 1, 2022
Convert text with ANSI color codes to HTML or to LaTeX.

Convert text with ANSI color codes to HTML or to LaTeX.

PyContribs 326 Dec 28, 2022
Application that converts markdown to html.

Markdown-Engine An application that converts markdown to html. Installation Using the package manager [pip] pip install -r requirements.txt Usage Run

adriano atambo 1 Jan 13, 2022
Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

null 1 Jun 15, 2022
A HTML-code compiler-thing that lets you reuse HTML code.

RHTML RHTML stands for Reusable-Hyper-Text-Markup-Language, and is pronounced "Rech-tee-em-el" despite how its abbreviation is. As the name stands, RH

Duckie 4 Nov 15, 2021
Use minify-html, the extremely fast HTML + JS + CSS minifier, with Django.

django-minify-html Use minify-html, the extremely fast HTML + JS + CSS minifier, with Django. Requirements Python 3.8 to 3.10 supported. Django 2.2 to

Adam Johnson 60 Dec 28, 2022
That project takes as input special TXT File, divides its content into lsit of HTML objects and then creates HTML file from them.

That project takes as input special TXT File, divides its content into lsit of HTML objects and then creates HTML file from them.

null 1 Jan 10, 2022
Lektor-html-pretify - Lektor plugin to pretify the HTML DOM using Beautiful Soup

html-pretify Lektor plugin to pretify the HTML DOM using Beautiful Soup. How doe

Chaos Bodensee 2 Nov 8, 2022
Convert the SVG code to PNG and replace the line by a call to the image in markdown

Convert the SVG code to PNG and replace the line by a call to the image in markdown

null 6 Sep 6, 2022