Balíček pro zkrášlení českých textů aplikováním základních typografických pravidel. Nesnaží se o pokrytí veškerých českých pravidel, spíše o aplikaci základních a to hlavně těch, které jsou na webu nejvíce vidět.
Pozor! Aplikování typografických pravidel na delší texty je poměrně výpočetně náročná operace. Zvažte kešování těchto textů.
pip install cstypo
cstypo.parser.TxtParserVýchozí třída pro zpracování textu. Použití:
parser = cstypo.parser.TxtParser(text) print parser.parse() # zformátovaný text
Je možné využít samostatně jednotlivé metody aplikující určitá pravidla:
cstypo.parser.TxtParser.parse_ellipsiscstypo.parser.TxtParser.parse_en_dashcstypo.parser.TxtParser.parse_em_dashcstypo.parser.TxtParser.parse_datescstypo.parser.TxtParser.parse_arrowscstypo.parser.TxtParser.parse_plusminuscstypo.parser.TxtParser.parse_dimensioncstypo.parser.TxtParser.parse_quotescstypo.parser.TxtParser.parse_prepositionscstypo.parser.TxtParser.parse_last_short_wordcstype.parser.TxtParser.parse_hyphen
cstypo.parser.HtmlParserPotomek třídy
TxtParser, který nejdříve escapuje veškeré HTML tagy, aplikuje typografická pravidla na získaný text a vratí tagy zpět.
Pro použití ve frameworku Django je připraven filtr typify v souboru cstags.
Nejdříve je potřeba cstypo přidat do INSTALLED_APPS
INSTALLED_APPS = (
...
'cstypo',
)
Poté je možné začít v šablonách používat filtr.
{% load cstags %}
{{ text|typify }} # zpracování obyčejného textu (výchozí)
{{ text|typify:'txt' }} # ...
{{ text|typify:'html' }} # zpracování html
{{ text|typify:'html'|safe }} # pro povolení vypsání je potřeba filter safe
{% filter typify:'html' %} # zpracování bloku
<h1>{{ title }}</h1>
<p>{{ text }}</p>
{% endfilter %}
cstypo
Usage:
cstypo [--type (txt|html)] <input>
cstypo -h | --help
cstypo -v | --version
Options:
-h --help show this screen.
-v --version show version.
--type type of parsed file (txt default).
Oproti originální verzi by balíček měl fungovat v Pythonu 3.
Z řetězců a regulárních výrazů je odstraněn prefix u resp. ur.