Type Chinese pinyin with tone numbers in Markdown. Get accented pinyin.
Project description
# Pinyin and Python and Markdown, together!
Type Chinese pinyin with tone numbers, and have them automagically converted to beautiful accented pinyin.
[![travis](https://travis-ci.org/bcaller/pinyin_markdown.svg)](https://travis-ci.org/bcaller/pinyin_markdown)
[![PyPI version](https://badge.fury.io/py/pinyin_markdown.svg)](https://badge.fury.io/py/pinyin_markdown)
A Markdown extension that looks through your text for things like `yi1dian3r`, `Xi3an4` and `lu:5` and replaces
them with accented pinyin. The pinyin syllables are marked up with span tags with classes denoting
the tone.
Add `'pinyin_markdown'` to your Markdown call and watch the magic unfold:
```python
>>> from markdown import Markdown
>>> markdown = Markdown(extensions=['pinyin_markdown']
>>> markdown.convert('i ♥ Xi3an4!')
<p>i ♥ <span class="tone3">Xǐ</span><span class="pyap">'</span><span class="tone4">àn</span></p>
>>> markdown = Markdown(extensions=['pinyin_markdown(tone_class=, apostrophe_class=apo)']
>>> markdown.convert('i ♥ Xi3an4!')
<p>i ♥ <span>Xǐ</span><span class="apo">'</span><span>àn</span></p>
```
The three examples above are rendered as: yīdiǎnr, Xǐ'àn and lü, with HTML:
```html
<span class="tone1">yī</span><span class="tone3">diǎn</span><span class="erhua">r</span>
<span class="tone3">Xǐ</span><span class="pyap">'</span><span class="tone4">àn</span>
<span class="tone5">lü</span>
```
## Options
| Option | Type | Default |Description |
|-----------|------|---------|------------|
| tone_class | str | 'tone{}' | HTML class name for tones, which will be formatted with tone_class.format(tone) where tone is a number 1-5|
| apostrophe_class | str | 'pyap' | HTML class name for apostrophes needed between vowels |
| erhua_class | str | 'erhua' | HTML class name for the erhua 'r' e.g. in dianr |
| entities | bool | False | If True, output the accented characters as entity codes `&466#;` |
## Installation
>From Github:
```
git clone https://github.com/bcaller/pinyin_markdown.git
pip install -e ./pinyin_markdown
```
>From Pypi:
```
pip install pinyin_markdown
```
Also have a look at [tsroten's zhon](https://github.com/tsroten/zhon) for more Python pinyin goodness.
Type Chinese pinyin with tone numbers, and have them automagically converted to beautiful accented pinyin.
[![travis](https://travis-ci.org/bcaller/pinyin_markdown.svg)](https://travis-ci.org/bcaller/pinyin_markdown)
[![PyPI version](https://badge.fury.io/py/pinyin_markdown.svg)](https://badge.fury.io/py/pinyin_markdown)
A Markdown extension that looks through your text for things like `yi1dian3r`, `Xi3an4` and `lu:5` and replaces
them with accented pinyin. The pinyin syllables are marked up with span tags with classes denoting
the tone.
Add `'pinyin_markdown'` to your Markdown call and watch the magic unfold:
```python
>>> from markdown import Markdown
>>> markdown = Markdown(extensions=['pinyin_markdown']
>>> markdown.convert('i ♥ Xi3an4!')
<p>i ♥ <span class="tone3">Xǐ</span><span class="pyap">'</span><span class="tone4">àn</span></p>
>>> markdown = Markdown(extensions=['pinyin_markdown(tone_class=, apostrophe_class=apo)']
>>> markdown.convert('i ♥ Xi3an4!')
<p>i ♥ <span>Xǐ</span><span class="apo">'</span><span>àn</span></p>
```
The three examples above are rendered as: yīdiǎnr, Xǐ'àn and lü, with HTML:
```html
<span class="tone1">yī</span><span class="tone3">diǎn</span><span class="erhua">r</span>
<span class="tone3">Xǐ</span><span class="pyap">'</span><span class="tone4">àn</span>
<span class="tone5">lü</span>
```
## Options
| Option | Type | Default |Description |
|-----------|------|---------|------------|
| tone_class | str | 'tone{}' | HTML class name for tones, which will be formatted with tone_class.format(tone) where tone is a number 1-5|
| apostrophe_class | str | 'pyap' | HTML class name for apostrophes needed between vowels |
| erhua_class | str | 'erhua' | HTML class name for the erhua 'r' e.g. in dianr |
| entities | bool | False | If True, output the accented characters as entity codes `&466#;` |
## Installation
>From Github:
```
git clone https://github.com/bcaller/pinyin_markdown.git
pip install -e ./pinyin_markdown
```
>From Pypi:
```
pip install pinyin_markdown
```
Also have a look at [tsroten's zhon](https://github.com/tsroten/zhon) for more Python pinyin goodness.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pinyin_markdown-0.8.2.tar.gz
(30.1 kB
view details)
Built Distribution
File details
Details for the file pinyin_markdown-0.8.2.tar.gz
.
File metadata
- Download URL: pinyin_markdown-0.8.2.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d07a9ccdfcf9b359d9dd1470c2f0e8c9b429a2a0fc4f663c1edbcc06aa97a9b |
|
MD5 | a12b68875f461a050aaeada70d0f9007 |
|
BLAKE2b-256 | 0e2ecd8110d3cb14f7d04bd1600d321960884de20a703dd4d5b55e966617008e |
File details
Details for the file pinyin_markdown-0.8.2-py3-none-any.whl
.
File metadata
- Download URL: pinyin_markdown-0.8.2-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dc5f04a185fda984e3db8008c993360a7eed86af7de06c4a22c5bdf2663a283 |
|
MD5 | 55203d6ed57215e72d1cb3f284d32287 |
|
BLAKE2b-256 | 05d0b455ec8a16e11bc97056adbff8e7656c1782d49292824a8c31d7152a9714 |