Skip to main content
# Richtypo — the only web typograph that don't make a mess out of your text

Richtypo assumes that your text already has right dashes and quotes. The main concern is to add
non-breaking spaces to the right places.

This project is heavily inspired by Artem Sapegin's [richtypo](https://github.com/sapegin/richtypo.js/).

[![PyPI version](https://badge.fury.io/py/richtypo.svg)](https://badge.fury.io/py/richtypo) [![Build Status](https://travis-ci.org/f213/richtypo.py.svg?branch=master)](https://travis-ci.org/f213/richtypo.py)
[![codecov](https://codecov.io/gh/f213/richtypo.py/branch/master/graph/badge.svg)](https://codecov.io/gh/f213/richtypo.py)

## Features

- Blazing fast, aimed for render-time usage.
- Native Russian support.
- HTML, Markdown and Plain-text aware, does not break your markup.
- Your text stays readable and indexable — richtypo does not produce HTML entities and other messy stuff.
- Easy integration with Jinja2, Django templates and any other language.
- Well tested Python3 and Python2 support. For py2 only unicode input is accepted.
- Easily extendable through smallest possible regular expressions defined in YAML with in-place specifications.

## Installation

```sh
pip install richtypo
```

## Usage
```python
from richtypo import Richtypo


r = Richtypo(ruleset='ru-lite')

well_done = r.richtypo(text)
```

### Jinja2 filter

```python
from richtypo.filter import filter

env = jinja2.Environment(
filters={
'richtypo': filter
}
)
```

Template:

```html
{{ text | richtypo('ru-lite') }}
```

### Django filter

```python
# your_app/templatetags/richtypo.py

from django import template
from django.template.defaultfilters import stringfilter
from django.utils.safestring import mark_safe
from richtypo.filter import filter as typograph

register = template.Library()


@register.filter
@stringfilter
def richtypo(value, ruleset='generic'):
return mark_safe(typograph(value, ruleset))
```

Template:
```html
{% load richtypo %}

{{ object.text | richtypo:"ru-lite"}}
```

## License

MIT

Metadata

Release files for richtypo 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for richtypo 0.2.3
File Size Uploaded
richtypo-0.2.3.tar.gz 11.8 kB Details

Release files / richtypo-0.2.3.tar.gz

Download URL richtypo-0.2.3.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1556e1b22b8f74b926b322cdf46b9bf92a49f0141cfc59c161f9ae4c102dee9c
BLAKE2b-256 checksum
How to use checksums
0bd69c8a278486f900ffbf6c088dc47e4449c0cd32a91fc0c72f16e232a6520c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.3 This release

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page