# Mistune Telegram
Plugin mistune for converting Markdown into Telegram format.
## Supported Markdown elements
| Markdown element | Telegram Markdown | Telegram Markdown V2 | Telegram HTML |
| :----------------: | :---------------: | :------------------: | :----------------: |
| Headings | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Paragraphs | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Line Breaks | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Bold | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Italic | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Blockquotes | :x: | :x: | :x: |
| Lists | :x: | :x: | :white_check_mark: |
| Code | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Code blocks | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Horizontal rules | :x: | :x: | :x: |
| Links | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Images | :x: | :x: | :x: |
## Install
```shell
$ pip install mistune-telegram
```
Or use your python package manager.
## Usage
[Markdown style](https://core.telegram.org/bots/api#markdown-style) example:
````python
import mistune
from mistune_telegram import TelegramMarkdownRenderer
telegram_style = mistune.create_markdown(renderer=TelegramMarkdownRenderer())
print(telegram_style(
"""
# Heading level 1
## Heading level 2
### Heading level 3
#### Heading level 4
##### Heading level 5
###### Heading level 6
Heading level 1
===============
Heading level 2
---------------
First paragraph.
Second paragraph.
First line.
Second line.
**bold**
__bold__
*italic*
_italic_
`code`
```
code blocks
```
```python
code blocks written in the Python programming language
```
[link](http://www.example.com/)
"""))
````
Output:
````
*Heading level 1*
*Heading level 2*
*Heading level 3*
*Heading level 4*
*Heading level 5*
*Heading level 6*
*Heading level 1*
*Heading level 2*
First paragraph.
Second paragraph.
First line.
Second line.
*bold*
*bold*
_italic_
_italic_
`code`
```
code blocks
```
```python
code blocks written in the Python programming language
```
[link](http://www.example.com/)
````
[MarkdownV2 style](https://core.telegram.org/bots/api#markdownv2-style) example:
````python
import mistune
from mistune.plugins.formatting import strikethrough
from mistune_telegram import TelegramMarkdownV2Renderer
telegram_style = mistune.create_markdown(renderer=TelegramMarkdownV2Renderer(), plugins=[strikethrough])
print(telegram_style(
"""
# Heading level 1
## Heading level 2
### Heading level 3
#### Heading level 4
##### Heading level 5
###### Heading level 6
Heading level 1
===============
Heading level 2
---------------
First paragraph.
Second paragraph.
First line.
Second line.
**bold**
__bold__
*italic*
_italic_
`code`
```
code blocks
```
```python
code blocks written in the Python programming language
```
[link](http://www.example.com/)
~~strikethrough~~
"""))
````
Output:
````
*Heading level 1*
*Heading level 2*
*Heading level 3*
*Heading level 4*
*Heading level 5*
*Heading level 6*
*Heading level 1*
*Heading level 2*
First paragraph.
Second paragraph.
First line.
Second line.
*bold*
*bold*
_italic_
_italic_
`code`
```
code blocks
```
```python
code blocks written in the Python programming language
```
[link](http://www.example.com/)
~strikethrough~
````
[HTML style](https://core.telegram.org/bots/api#html-style) example:
````python
import mistune
from mistune.plugins.formatting import strikethrough
from mistune_telegram import TelegramHTMLRenderer
telegram_style = mistune.create_markdown(renderer=TelegramHTMLRenderer(), plugins=[strikethrough])
print(telegram_style(
"""
# Heading level 1
## Heading level 2
### Heading level 3
#### Heading level 4
##### Heading level 5
###### Heading level 6
Heading level 1
===============
Heading level 2
---------------
First paragraph.
Second paragraph.
First line.
Second line.
**bold**
__bold__
*italic*
_italic_
1. First item
2. Second item
- First item
- Second item
* First item
* Second item
`code`
```
code blocks
```
```python
code blocks written in the Python programming language
```
[link](http://www.example.com/)
~~strikethrough~~
"""))
````
Output:
````
<strong>Heading level 1</strong>
<strong>Heading level 2</strong>
<strong>Heading level 3</strong>
<strong>Heading level 4</strong>
<strong>Heading level 5</strong>
<strong>Heading level 6</strong>
<strong>Heading level 1</strong>
<strong>Heading level 2</strong>
First paragraph.
Second paragraph.
First line.
Second line.
<strong>bold</strong>
<strong>bold</strong>
<em>italic</em>
<em>italic</em>
- First item
- Second item
- First item
- Second item
- First item
- Second item
<code>code</code>
<pre>code blocks
</pre>
<pre><code class="language-python">code blocks written in the Python programming language
</code></pre>
<a href="http://www.example.com/">link</a>
<del>strikethrough</del>
````
Raw data
{
"_id": null,
"home_page": "https://github.com/impocode/mistune-telegram",
"name": "mistune-telegram",
"maintainer": "impocode",
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": "impocode@impocode.one",
"keywords": "mistune, telegram, markdown, markdown-parser",
"author": "impocode",
"author_email": "impocode@impocode.one",
"download_url": "https://files.pythonhosted.org/packages/fd/db/13b436dd0fa2d81e1170981a2b0176fce5546c30a7a72361fdce88169f6b/mistune_telegram-0.4.0.tar.gz",
"platform": null,
"description": "# Mistune Telegram\n\nPlugin mistune for converting Markdown into Telegram format.\n\n## Supported Markdown elements\n\n| Markdown element | Telegram Markdown | Telegram Markdown V2 | Telegram HTML |\n| :----------------: | :---------------: | :------------------: | :----------------: |\n| Headings | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Paragraphs | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Line Breaks | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Bold | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Italic | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Blockquotes | :x: | :x: | :x: |\n| Lists | :x: | :x: | :white_check_mark: |\n| Code | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Code blocks | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Horizontal rules | :x: | :x: | :x: |\n| Links | :white_check_mark: | :white_check_mark: | :white_check_mark: |\n| Images | :x: | :x: | :x: |\n\n## Install\n\n```shell\n$ pip install mistune-telegram\n```\n\nOr use your python package manager.\n\n## Usage\n\n[Markdown style](https://core.telegram.org/bots/api#markdown-style) example:\n\n````python\nimport mistune\nfrom mistune_telegram import TelegramMarkdownRenderer\ntelegram_style = mistune.create_markdown(renderer=TelegramMarkdownRenderer())\n\nprint(telegram_style(\n\"\"\"\n# Heading level 1\n## Heading level 2\n### Heading level 3\n#### Heading level 4\n##### Heading level 5\n###### Heading level 6\n\nHeading level 1\n===============\nHeading level 2\n---------------\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n**bold**\n__bold__\n\n*italic*\n_italic_\n\n`code`\n\n```\ncode blocks\n```\n\n```python\ncode blocks written in the Python programming language\n```\n\n[link](http://www.example.com/)\n\n\"\"\"))\n````\n\nOutput:\n\n````\n*Heading level 1*\n\n*Heading level 2*\n\n*Heading level 3*\n\n*Heading level 4*\n\n*Heading level 5*\n\n*Heading level 6*\n\n*Heading level 1*\n\n*Heading level 2*\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n*bold*\n*bold*\n\n_italic_\n_italic_\n\n`code`\n\n```\ncode blocks\n```\n\n```python\ncode blocks written in the Python programming language\n```\n\n[link](http://www.example.com/)\n````\n\n[MarkdownV2 style](https://core.telegram.org/bots/api#markdownv2-style) example:\n\n````python\nimport mistune\nfrom mistune.plugins.formatting import strikethrough\nfrom mistune_telegram import TelegramMarkdownV2Renderer\n\ntelegram_style = mistune.create_markdown(renderer=TelegramMarkdownV2Renderer(), plugins=[strikethrough])\n\nprint(telegram_style(\n\"\"\"\n# Heading level 1\n## Heading level 2\n### Heading level 3\n#### Heading level 4\n##### Heading level 5\n###### Heading level 6\n\nHeading level 1\n===============\nHeading level 2\n---------------\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n**bold**\n__bold__\n\n*italic*\n_italic_\n\n`code`\n\n```\ncode blocks\n```\n\n```python\ncode blocks written in the Python programming language\n```\n\n[link](http://www.example.com/)\n\n~~strikethrough~~\n\n\"\"\"))\n````\n\nOutput:\n\n````\n*Heading level 1*\n\n*Heading level 2*\n\n*Heading level 3*\n\n*Heading level 4*\n\n*Heading level 5*\n\n*Heading level 6*\n\n*Heading level 1*\n\n*Heading level 2*\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n*bold*\n*bold*\n\n_italic_\n_italic_\n\n`code`\n\n```\ncode blocks\n```\n\n```python\ncode blocks written in the Python programming language\n```\n\n[link](http://www.example.com/)\n\n~strikethrough~\n\n````\n\n[HTML style](https://core.telegram.org/bots/api#html-style) example:\n\n````python\nimport mistune\nfrom mistune.plugins.formatting import strikethrough\nfrom mistune_telegram import TelegramHTMLRenderer\n\ntelegram_style = mistune.create_markdown(renderer=TelegramHTMLRenderer(), plugins=[strikethrough])\n\nprint(telegram_style(\n\"\"\"\n# Heading level 1\n## Heading level 2\n### Heading level 3\n#### Heading level 4\n##### Heading level 5\n###### Heading level 6\n\nHeading level 1\n===============\nHeading level 2\n---------------\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n**bold**\n__bold__\n\n*italic*\n_italic_\n\n1. First item\n2. Second item\n\n- First item\n- Second item\n\n* First item\n* Second item\n\n`code`\n\n```\ncode blocks\n```\n\n```python\ncode blocks written in the Python programming language\n```\n\n[link](http://www.example.com/)\n\n~~strikethrough~~\n\n\"\"\"))\n````\n\nOutput:\n\n````\n<strong>Heading level 1</strong>\n\n<strong>Heading level 2</strong>\n\n<strong>Heading level 3</strong>\n\n<strong>Heading level 4</strong>\n\n<strong>Heading level 5</strong>\n\n<strong>Heading level 6</strong>\n\n<strong>Heading level 1</strong>\n\n<strong>Heading level 2</strong>\n\nFirst paragraph.\n\nSecond paragraph.\n\nFirst line.\nSecond line.\n\n<strong>bold</strong>\n<strong>bold</strong>\n\n<em>italic</em>\n<em>italic</em>\n\n- First item\n- Second item\n\n- First item\n- Second item\n\n- First item\n- Second item\n\n<code>code</code>\n\n<pre>code blocks\n</pre>\n<pre><code class=\"language-python\">code blocks written in the Python programming language\n</code></pre>\n<a href=\"http://www.example.com/\">link</a>\n\n<del>strikethrough</del>\n\n````\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Plugin mistune for converting markdown into Telegram format.",
"version": "0.4.0",
"project_urls": {
"Documentation": "https://github.com/impocode/mistune-telegram",
"Homepage": "https://github.com/impocode/mistune-telegram",
"Repository": "https://github.com/impocode/mistune-telegram"
},
"split_keywords": [
"mistune",
" telegram",
" markdown",
" markdown-parser"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "89188ab93b8ec9f963a4049ea6df9ea13f68eef5f1e5f5c061ef5c7c25785fe1",
"md5": "e84621ae3ed8fb7f216bf290b616edb0",
"sha256": "efc52d8c0650483dc62e0e358fa4c598b91c404f1c05dea05b896185076d15d2"
},
"downloads": -1,
"filename": "mistune_telegram-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e84621ae3ed8fb7f216bf290b616edb0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 4287,
"upload_time": "2025-01-09T16:02:28",
"upload_time_iso_8601": "2025-01-09T16:02:28.321898Z",
"url": "https://files.pythonhosted.org/packages/89/18/8ab93b8ec9f963a4049ea6df9ea13f68eef5f1e5f5c061ef5c7c25785fe1/mistune_telegram-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fddb13b436dd0fa2d81e1170981a2b0176fce5546c30a7a72361fdce88169f6b",
"md5": "0934c46b57573d7fcf0b8036b3083d34",
"sha256": "28ca66fba240179f2c70a82c2667764208cb61f7e9387b05197c5ef93baf0815"
},
"downloads": -1,
"filename": "mistune_telegram-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "0934c46b57573d7fcf0b8036b3083d34",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 3085,
"upload_time": "2025-01-09T16:02:30",
"upload_time_iso_8601": "2025-01-09T16:02:30.700009Z",
"url": "https://files.pythonhosted.org/packages/fd/db/13b436dd0fa2d81e1170981a2b0176fce5546c30a7a72361fdce88169f6b/mistune_telegram-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-09 16:02:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "impocode",
"github_project": "mistune-telegram",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mistune-telegram"
}