一个令人耳目一新的简单静态站点生成器,适用于喜欢使用HTML的人。
项目描述
一个令人耳目一新的简单静态站点生成器,适用于喜欢使用HTML的人。
文档
完整文档在 http://complexity.rtfd.org。
快速入门
试试看
$ pip install complexity $ git clone git@github.com:audreyr/complexity-example.git my_proj $ cd my_proj $ complexity project/ www/
完成这些后,打开网络浏览器到 http://127.0.0.1:9090,查看新生成的Complexity静态站点。
功能
在Python 2.6、2.7和3.3以及PyPy上运行。
接受简单的HTML模板作为输入。
来自.json文件的资料变为模板上下文数据。
模板继承、过滤器等。(由Jinja2提供。)
自动扩展.html文件URL为更简洁的URL(例如,about.html扩展为/about/)
可以选择作为库而不是从命令行使用。有关详细信息,请参阅将Complexity作为库使用。
最佳使用方式
Complexity旨在与以下软件包一起使用
Simplicity:将ReStructuredText转换为JSON,Complexity可以使用它作为输入。
A Lot of Effort:将静态网站(例如Complexity的输出)部署到Amazon S3。
Cookiecutter:从项目模板创建项目。
当然,它们都可以集成到Complexity中,但解耦它们似乎是一件好事。
社区
卡住了?不知道从哪里开始?提交一个问题,我们会帮助你。
我们欢迎贡献。了解如何贡献。
历史
0.9.1 (2013-12-02)
依赖于 Jinja2 >= 2.4,但不等于 2.7。
0.9.0 (2013-08-28)
CONFIG更改:配置现在通过项目内的 complexity.yml 文件进行,而不是通过 complexity.json 文件。
支持 unexpanded_templates 配置选项(#23)。
支持 templates/(或你设置为 templates_dir 的任何目录)中的非HTML文件。
有关更多信息,请参阅http://complexity.readthedocs.org/en/latest/advanced_usage.html#config-using-complexity-yml。
0.8.0 (2013-08-10)
USAGE更改:在命令行中,Complexity不再接受 output_dir 参数。现在默认假设你的 output_dir 是 www/,但你可以在 complexity.json 中自定义它。
支持通过 complexity.json 进行配置:你可以指定以下键值对中的任何或全部
output_dir
templates_dir
assets_dir
context_dir
有关更多信息,请参阅http://complexity.readthedocs.org/en/latest/advanced_usage.html#config-using-complexity-json。
0.7 (2013-08-05)
一些小的但重要的重命名。如果你依赖于以下默认值之一,你将需要在你的 Complexity 项目中重命名它们。
.json 文件转换为上下文数据的目录参数已从 json_dir 重命名为 context_dir。
默认上下文目录值 json/ 已更改为 context/。
有时你希望你的 .json 文件转换为上下文变量,有时则不。这次重命名在处理非上下文 .json 文件时减轻了混淆。
0.6 (2013-07-26)
支持多层模板目录。 (如果你想在内 templates/ 有文件夹和更深层级的文件夹,请至少升级到 0.6。)
在 templates/ 中跳过非HTML文件,而不是引发 NonHTMLFileException。
0.5 (2013-07-25)
改进了静态站点生成API - 使用更好的参数。
现在将 assets/ 根目录(或资产目录)中的文件复制到输出。
更多文档。
0.4.2 (2013-07-21)
从 json/ 中读取JSON文件现在是可选的。
0.4.1 (2013-07-19)
修复从 json/ 读取。
0.4 (2013-07-19)
项目布局现在是
my_repo/ ├── project/ <--------- input │ ├── assets/ │ │ ├── css/ │ │ ├── js/ │ │ └── img/ │ ├── json/ │ │ └── stuff.json │ └── templates/ │ ├── base.html │ ├── index.html │ └── about.html └── www/ <---------- output (generated) ├── index.html ├── about/ │ └── index.html ├── css/ ├── js/ └── img/
在生成站点时将资产复制到 www/。
如果 www/ 目录之前已创建,它将提示用户,然后删除它以重新生成站点。
以 base 开头的模板不会作为单独的页面生成。它们旨在在其他模板中扩展。
0.3 (2013-07-18)
优雅地关闭/重启开发服务器。
必需的输入和输出目录参数。
可选端口参数。
改进了服务器启动/停止消息。
主要的内部重构。
0.2.1 (2013-07-15)
修复 setup.py。
0.2.0 (2013-07-15)
现在将 .json 文件中的数据作为模板上下文数据读取。
在 Python 2.6、2.7、3.3、PyPy 上进行了测试(并且通过!)
0.1.1 (2013-07-10)
首次发布在 PyPI 上。