一个集成的web模板环境
pagd的Python项目详细描述
概述
静态网站生成器,基于理解良好的MVC-模型,视图, 控制器-设计原理。基于web的mvc的总体思想 应用程序的视角是
+--------+ |template| +--------+ | V +-------+ +----------+ +------+ +-----+ |request|-->|controller|--->|action|<---|model| +-------+ +----------+ +------+ +-----+ | V +---------+ |HTML page| +---------+ | V goes to the client +-------------+ <---------------------|http-response| +-------------+
总的来说,
- http请求到达web应用程序的控制器逻辑。
- 控制器通过解析请求url将请求解析为web操作。
- 动作逻辑从数据库模型中收集必要的上下文信息 以及其他消息来源。
- 一个html模板被标识,最后的html页面使用 来自模型的上下文信息和来自一个或多个模板的页面布局 文件夹。
pagd或多或少遵循了一个类似的原则,即从 作为目录树组织的文件集合。以下是关于如何 已完成
+------+ +---------+ +-------------+ |layout|--->|generator|<---->|page-iterator| +------+ +---------+ +-------------+ | ^ | | +------------+ V +<---------|page-context| +---------+ | +------------+ |Html-page| | +---------+ | +-------------+ | +<---------|page-template| | | +-------------+ V +------------+ +--------+ |page-content| |web-site| +------------+ +--------+
功能
- 生成静态输出,因此可以承载在任何位置。
- 可插拔布局。
- 我目前使用pagd.my blog布局来发布我的博客文章。
- 可以创建任意数量的布局,作为pagd 工具或单独包装。
- 尽管鼓励布局遵循模型视图控制器 上面解释的概念,由布局插件定义结构 以及布局的源目录树的含义。
- pagd需要完成的所有工作都是通过pagd命令完成的 线路接口。
- 命令行界面带有简单的子命令,如,
- 创建,以创建新布局。
- gen,从源布局生成静态网站。
- 子命令是插件,可以通过实现 pagd.interfaces.icommand接口。
- 要将pagd用作python库,请参阅pagd下的script.py模块 包裹。
- 可以使用tayra template设计网站模板。
- mako和jinja2提供了实验功能。如果你面对问题 有了这些模板,请告诉我。
- 重构文本指令,
- 代码语法突出显示。
- 在页面内容中播放YouTube视频。
- 将图像集合显示为库,使用magnific-popupjquery 插件。magnific popop是一个记录良好的jquery插件,它是可能的 更改css文件和/或pagd模板脚本以自定义 很多方面。
- 将github gist、整个gist或单个文件嵌入gist。
- pagd.mybloglayout装有电池。
- 用重组文本、标记、纯文本、HTML或 即使是泰拉模板。
- 使用Tayra模板创建网站模板。
- 使用json文件配置站点生成。
- 将上下文添加到单个页面是子目录下的所有页面 通过一个或多个json文件。
- 使用google-webfonts通过使用config.json属性配置css链接 谷歌网络字体。
- 与论文评议系统的集成。评论将存储在 DISPS服务器。
- 与Git、Mercurial存储库集成以收集文件的元数据,如 页面的作者、电子邮件、创建时间、上次修改时间等,这是 完全可选。
- 与twitter、facebook、hackernews、google+、reddit进行社交分享, LinkedIn等。
- 包括jquery,模板可以用jquery插件定制。
- 了解更多-pagd.myblog。
- 只有无法配置、自定义或完全替换的部分是 工具的名称;)
- 许可证:GPLv3 license
- 需要:linux、python-3.x、pluggdapps。
- 要解释标记文本,需要安装python-markdown。
- 要解释rst文本,需要安装docutils。
- 要解释原始html,需要安装python-lxml。
- 如果需要在中突出显示源代码你的第一个文本,pygments和 docutils需要安装。
- 要使用Jinja2或Mako模板,相应的包需要 安装。
- 状态:核心设计稳定。预计不会改变。
有关默认布局pagd.myblog,请参阅glossary和文档。