通用静态网站生成器

statik的Python项目详细描述


概述

statik旨在成为一个简单但功能强大的通用静态网站 发电机。而不是强迫你坚持特定的数据 结构/模型(类似于标准的blog数据模型,包含文章、页面 和标记),statik允许您在yaml中定义自己的数据模型 以yaml或markdown格式以及这些数据模型的实例。 这些都被载入内存 SQLAlchemy当 呈现您的视图

然后,使用 Jinja2模板引擎(非常类似于 django模板引擎),或 Mustache模板。

最后,以yaml格式定义您的views(复杂或简单)。 告诉statik如何将数据和模板呈现到特定的 闪亮的新静态网站的URL。在中为视图编写查询 sqlalchemy的ORM syntax,或 MLAlchemy使 生活更轻松。

有关更多信息,请参见wiki 细节。

要求

要安装statik,您需要:

  • python 2.7+或python 3.5+
  • pipeasy_install

安装

只需运行以下命令:

> pip install statik

要升级,请运行以下命令:

> pip install --upgrade statik

用法

要在当前目录中生成项目,请将输出文件写入 当前目录中的public目录:

> statik

若要在其他目录中生成项目,请将输出文件写入 public目录中的目录:

> statik -p /path/to/project/folder

在另一个目录中生成项目,并控制 放置输出文件:

> statik -p /path/to/project/folder -o /path/to/output/folder

项目快速启动

要创建具有所需项目结构的空项目文件夹, 只需运行:

> statik -p /path/to/project/ --quickstart

统计项目

statik项目必须遵循以下目录结构:

config.yml    - YAML configuration file for the overall project.
assets/       - Static assets for the project (images, CSS files,
                scripts, etc.). Ignored if themes are used.
data/         - Instances for each of the different models, defined either in
                YAML or Markdown format.
models/       - A folder specifically dedicated to model definitions, in YAML
                format.
templates/    - Jinja2 template files. Ignored if themes are used.
templatetags/ - Python scripts defining custom Jinja2 template tags and
                filters.
themes/       - If your project uses themes, place them here. Each theme
                must be uniquely named, and must contain an "assets"
                and "templates" folder.
views/        - Configuration files, in YAML format, defining "recipes" for how
                to generate various different URLs (which models to use, which
                data and which templates).

例如项目,请参见源代码中的examples目录 储存库。有关更多信息,请参见 wiki

主题

statik的主题将慢慢开始出现在Statik Themes存储库中。 注意那个地方!

许可证

MIT许可证(MIT)

版权所有(c)2016-2018 Thane Thomson

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Requestcontextholder在spring 4中具有并发访问权限。IBMWebSphere上的x Web应用程序?   java如何下载、设置和使用Eclipse?   java如何组合这些mysql语句   java JDBC无法连接到openshift上的mysql数据库   如果存在允许正确处理的重载,java对于方便的方法来说是否可行?   使用hibernate序列的java Spring MVC不存在   具有路径的java Selenium ChromeDriver负载扩展问题   读一本书。java中的java文件   退出队列时,Java队列程序结果为空   Java lambda返回带有重复代码问题的列表   java使用意图从其他活动传递数据并在listview中显示   java如何在java中创建JSON输出   java Android:在不破坏或暂停活动的情况下关闭显示   支持Android电视和手机的java多apk   关于Java应用程序测试和调试的一组问题   如何在JavaSE中使用jdbcRealmShiro进行授权   在java中是否有一个无异常检查的URL解析实用程序?   当页面上有多个相同类型的元素时,java会选择一个特定的元素   递归需要帮助发现java代码中的缺陷