跳转到主要内容

增强网页排版的过滤器,包括对Django & Jinja模板的支持

项目描述

Typogrify提供一组自定义过滤器,可自动将各种转换应用于纯文本,以生成具有改进排版的HTML。虽然通常与JinjaDjango模板系统一起使用,但这些过滤器可以在任何环境中使用。

安装

以下命令将通过 pip 安装。请注意包名。

pip install typogrify

或者,您可以在项目的根目录内运行以下命令。

python setup.py install

最后但同样重要的是,您可以简单地将附带的 typogrify 文件夹移动到您的 Python 路径。

要求

支持 Python 2.3 及以上版本,包括 Python 3。唯一的依赖是 John Gruber 项目的一个 Python 版本,名为 SmartyPants

如果您打算使用针对 Jinja 或 Django 的可选模板过滤器,则需要安装 JinjaDjango

用法

您可以通过从 typogrify.filters 导入来在任何环境中使用过滤器。

from typogrify.filters import typogrify
content = typogrify(content)

对于 Django,您可以将 typogrify 添加到您希望使用它的任何 Django 项目的 INSTALLED_APPS 设置中,然后在模板中使用 {% load typogrify_tags %} 来加载它提供的过滤器。

Jinja 的实验性支持在 typogrify.templatetags.jinja_filters 中。

包含的过滤器

amp

将 HTML 中的 & 符号包裹在 <span class="amp"> 中,以便可以使用 CSS 进行样式化。并且将 & 符号规范化为 &amp;。要求 & 符号两侧有空格或  。不会改变已经以这种方式包裹的任何 & 符号。

caps

将多个大写字母包裹在 <span class="caps"> 中,以便可以使用 CSS 进行样式化。

initial_quotes

将首行引号包裹在 <span class="dquo">(双引号)或 <span class="quo">(单引号)中。在以下块元素内有效:

  • h1h2h3h4h5h6

  • p

  • li

  • dt

  • dd

还考虑了潜在的开头内联元素: aemstrongspanbi

smartypants

应用 SmartyPants

typogrify

按顺序应用以下所有过滤器

  • amp

  • widont

  • smartypants

  • caps

  • initial_quotes

widont

基于 Shaun Inman 的同名 PHP 工具,将字符串中最后两个单词之间的空格替换为 &nbsp; 以避免只有一词的最后一行文本。

在以下块元素内有效

  • h1h2h3h4h5h6

  • p

  • li

  • dt

  • dd

还考虑了潜在的结尾内联元素: aemstrongspanbi

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

typogrify-2.0.7.tar.gz (12.9 kB 查看哈希值)

上传于 来源

由以下支持