This is an extension for Python-Markdown to support hashtag parsing to clickable links.
# Heading
#hashtag at beginning of line and #within line.
This is no#hashtag.
#Markdown
will be rendered to:
<h1>Heading</h1> <p><a class="hashtag" href="https://tags.example.com/hashtag">#hashtag</a> at beginning of line and <a class="hashtag" href="https://tags.example.com/within">#within</a> line.</p> <p>This is no#hashtag. </p> <p><a class="hashtag" href="https://tags.example.com/Markdown">#Markdown</a></p>
You can easily specify the used link prefix and the class name of the link, see # Usage below.
The markdown-hashtag package can be installed via:
pip install markdown-hashtag
The following python code example shows how to use the hashtag extension and style the hashtag links in a pretty way with CSS (similar to how Obsidian renderns hashtags).
Note that you can define the link prefix of the href attribute and the class name by defining extension_configs
in the markdown.markdown()
function, see example.
import markdown text = """\ # Heading #hashtag at beginning of line and #within line. This is no#hashtag. #Markdown <style> a.hashtag { background-color: #e0e0e0; /* hellgrauer Hintergrund */ border-radius: 4px; /* abgerundete Ecken */ padding: 2px 6px; /* innen etwas Abstand */ color: #3b6ea5; /* blaue Farbe für Links */ text-decoration: none; /* keine Unterstreichung */ font-weight: 500; /* etwas fetter */ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; cursor: pointer; transition: background-color 0.2s ease; } a.hashtag:hover { background-color: #cfd8dc; /* dunkleres Grau beim Hover */ text-decoration: underline; /* Unterstreichung beim Hover */ } </style> """ html = markdown.markdown(text, extensions=["hashtag"], extension_configs={ "hashtag": { "base_url": "https://tags.example.com/", "span_class": "hashtag" } } ) print(html)
The result looks like this:
This project is licensed under the terms of the GNU General Public License v3.0.
See the LICENSE file for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4