Skip to main content

Bonelate 是一个基于 pyparsing 针对 LaTeX 的 mustache 模版语言变种的实现。

Project description

Bonelate

standard-readme compliant

Bonelate 是一个基于 pyparsing 针对 LaTeX 的类似 mustache 语言的模版渲染器。 与采取 mustache 的其他模板渲染器相比(例如chevron或pymustache), Bonelate 针对 LaTeX 的语法做了很多优化,使模板文件在不渲染的情况下也可使用 LaTeX 工具编译通过。

背景

Bonelate 是从 BoneTeX 模板块分离出来的项目,可以独立使用。

优势

Bonelate 是参考 mustache 且针对 LaTeX 的语法微调了标记符, 原本的{{#partial}}改为{{!partial}},从而在不渲染的情况下 LaTeX 编译时也不会报错。 通过 Bonelate,用户可以很方便的将现有 LaTeX 项目渐进地转换为 BoneTeX 项目。

安装 Downloads

这个项目使用 Python 开发,请确保你本地安装了它。

使用PyPI安装

$ pip install bonelate[all]

源码安装

$ git clone git@github.com:zrr1999/bonelate.git
$ cd bonelate
$ pip install .

使用说明

简单示例

from bonelate import render


test_string = """
        {{!persons}}{{name}} is awesome.{{/persons}}
        {{person}} is beautiful.
        {{!is_person}}{{.}} is a person.{{/is_person}}
        """
print(render(test_string, {
    "persons": [{"name": "Xiao Ming"}, {"name": "Yuan Long"}],
    "person": "Xiao Ming",
    "is_person": "Xiao Ming",
    "not_person": False
}))

命令行示例

如果你的环境变量中有 python 脚本目录,你可以使用

$ bonelate render .\examples\ml_work\bonework.tex .\examples\ml_work\data.json

如果没有的话,你需要使用如下命令

$ python bonelate render .\examples\ml_work\bonework.tex .\examples\ml_work\data.json

更新日志

0.1.0 (2021.5.2)

  1. 重构 tokenizer,现在命名为parser。
  2. 增加了 partial 语法。
  3. 增加了 docs 目录。
  4. 增加了更多例子。
  5. 修改了单元测试。

0.0.2 (2021.4.29)

  1. 不再兼容mustache语法。
  2. 增加了命令行指令。
  3. 增加了更多例子。
  4. 添加了单元测试(不完全)。
  5. 修复了大括号内的内容不能正常解析的问题。
  6. 修复了模板变量中含有空白符不能正常解析的问题。

维护者

@六个骨头

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

贡献者

感谢以下参与项目的人:

使用许可

MIT © Rongrui Zhan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Bonelate-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

Bonelate-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file Bonelate-0.1.0.tar.gz.

File metadata

  • Download URL: Bonelate-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for Bonelate-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f2e3bc7edef2d635e661cc2752225cfbfdcaf2300ead8896636f9eb75e22c5c6
MD5 331ef30c4a442535647af52798fbac29
BLAKE2b-256 d37125db2668b54bd940b5411cc57bc2f7d55c5d6b81f0ad343bf35ec93e6ddf

See more details on using hashes here.

File details

Details for the file Bonelate-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: Bonelate-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for Bonelate-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43fa6e073eca50c7eea2b2050d4037f85d6d5f0290ea7f9a3747f3f0a802021d
MD5 d9dfe3ccfd59585518c1df094a805c25
BLAKE2b-256 b15f20cf772ede04be7b3e3fb24428ecc9f92c135226fa132408d417b852fd61

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page