跳转到主要内容

Plone项目模板。

项目描述

https://secure.travis-ci.org/kitconcept/bobtemplates.kitconcept.png?branch=master Coveralls Latest Version Egg Status License

bobtemplates.kitconcept

bobtemplates.kitconcept提供用于生成Plone项目包的mr.bob模板。

这是bobtemplates.plone 1.x的一个分支。本包的范围是简洁、可维护性和可测试性。

我们为ZopeSkel和templer做出了贡献,并且这个包是防止我们反复犯我们认为的“同样的错误”的尝试。

设计目标

  • 简单优于复杂。

  • 覆盖80%的使用场景,不要变得过于复杂。

  • 提供良好的开发起点,而不是整个开发周期的瑞士军刀。

  • 代码和测试应反映当前的编码最佳实践。

  • 生成的代码应有100%的测试覆盖率。

具体决策

  • 不要使用本地命令。它们会显著增加复杂性,mr.bob本身也不支持它们。我们曾尝试使用ZopeSkel/Templer,但效果并不理想。

  • 限制问题总数,以免使人过于困惑。拥有独立的包或提供取消注释的代码部分可能是一个不错的选择。

  • 修复Plone本身的问题,而不是在我们的模板中提供解决方案。(见#27)

  • 为最重要的Plone包用例提供模板,而不是为每个可能的场景:附加产品(collective,plone,自定义项目,策略产品)

这些目标最初在bobtemplates.plone中概述如下: https://github.com/plone/bobtemplates.plone/issues/29

功能

使用创建的包在创建附加产品时采用了当前的最佳实践。

Buildout

该包包含在一个buildout中,允许您安装新包以进行测试。

测试

该包包含测试设置和一些测试,用于安装包。它还包含一个robot-test,用于测试登录。buildout还包含一个配置,允许在travis上测试包,并通过电子邮件向包作者发送通知

配置文件

该包包含一个通用设置配置文件,用于安装浏览器层。对于Plone 5,它还包含一个卸载配置文件。

本地化

该包注册了一个用于本地化的目录。

模板覆盖

该包将文件夹注册为一个目录,您可以使用z3c.jbot在该目录中放置模板覆盖。

设置处理程序

该包包含一个setuphandlers.py,您可以在其中添加在安装包时执行的代码。对于Plone 5,在setuphandler.py中还有一个在卸载时运行的方法。

包类型DexterityTheme将以下内容添加到Basic

Dexterity

profiles/default/types/中添加了一个简单的内容类型(您将被询问其名称),并在interfaces.py中有一个python-schema。

Theme

theme/文件夹中添加了一个基于bootstrap的简单Diazo主题,并在profiles/default/theme.xml中注册。

兼容性

使用创建的附加产品已在Plone 4.3.x和Plone 5上进行了测试。它们也应该与较旧版本兼容,但未进行测试。它们应该在Linux、Mac和Windows上工作。

安装

在buildout中使用

[buildout]
parts += mrbob

[mrbob]
recipe = zc.recipe.egg
eggs =
    mr.bob
    bobtemplates.kitconcept

这将在您的bin目录中创建一个mrbob可执行文件。从您的Plone项目的src目录调用它,如下所示。

$ ../bin/mrbob -O collective.foo bobtemplates:plone_addon

在虚拟env中安装

您还可以在虚拟env中安装

$ pip install bobtemplates.kitconcept

使用pip 6.0或更高版本,mr.bob将自动作为依赖项安装。如果您仍在使用较旧的pip版本,您需要在安装bobtemplates.kitconcept之前安装mr.bob

$ pip install mr.bob

现在您可以像这样使用它

$ mrbob -O collective.foo bobtemplates:plone_addon

有关更多信息,请参阅mr.bob文档

贡献

支持

如果您遇到问题,请告诉我们。

贡献者

本包基于bobtemplates.niteowebbobtemplates.ecreall

  • Philip Bauer [pbauer]

  • Cédric Messiant [cedricmessiant]

  • Vincent Fretin [vincentfretin]

  • Thomas Desvenain [thomasdesvenain]

  • Domen Kožar [iElectric]

  • Nejc Zupan [zupo]

  • Patrick Gerken [do3cc]

  • Timo Stollenwerk [timo]

  • Johannes Raggam [thet]

  • Sven Strack [svx]

变更日志

2.0.1 (2018-02-08)

  • 添加缺失的包名。[sneridagh]

2.0.0 (2018-01-23)

  • 升级到Plone 4.3.15。[timo]

  • 升级到Plone 5.0.8。[timo]

  • 将RobotFramework测试切换到使用Chrome浏览器。[timo]

  • 从p.r.codeanalysis中移除推荐额外内容。[timo]

1.0.4 (2016-07-23)

  • 升级一些pinns。[pbauer]

  • 升级到5.0.5并对其进行测试。[pbauer]

  • 在FTI配置文件中为动作节点添加i18n:attributes。[thet]

  • 固定coverage/createcoverage的版本。[staeff]

  • 默认使用Plone 5.0.4。[jensens]

  • 验证类型名输入(修复#81)。[pbauer]

  • 默认忽略.gitignore中的.installed.cfgmr.developer.cfg。[jensens]

  • isort样式检查已启用,但未设置配置。我根据http://docs.plone.org/develop/styleguide/python.html#grouping-and-sorting添加了配置。[jensens]

  • 将生成的FTI xml的有序部分放入语义块中,并为每个块添加了注释。[jensens]

  • 在buildout.cfg.bob中将setuptools版本提升到21.0.0。[staeff]

  • 配置buildout以安装所有推荐的codeanalysis插件。[staeff]

1.0.3 (2016-04-13)

  • 修复Plone默认版本(Plone 4.3.9)。[timo]

1.0.2 (2016-04-13)

  • 为Plone 4.3.x创建卸载配置文件,因为它已经依赖于Products.CMFQuickInstallerTool >= 3.0.9。[thet]

  • 更新Plone版本到4.3.9和5.0.4。[thet]

  • 更新包括Selenium在内的robot测试框架版本,以与最新的firefox版本兼容。[thet]

  • 将导入步骤替换为post_handlers。需要GenericSetup 1.8.2或更高版本。这默认包含在Plone 4.3.8和5.0.3中,但在旧版Plone版本上使用也应该是没有问题的。[maurits]

  • 从.gitignore文件中移除了.*。这会导致忽略.gitkeep文件,这意味着在生成新项目后进行git add时,某些目录不会被添加。[maurits]

  • 关于测试层设置中禁用的z3c.autoinclude的说明。[thet]

  • 移除未使用的xmlns:five命名空间。[thet]

  • 由于plone.app.contenttypes被引入并具有plone.app.locales >= 4.3.9的依赖关系,修复了在Plone 4.x上的构建失败。[thet]

  • 声明所有GenericSetup配置文件中的xml编码。否则,解析器必须自动检测它。还将xml版本和编码声明添加到theme.xml中。[thet]

  • 在卸载配置文件标题中添加“(uninstall)”以区分在portal_setup中的安装配置文件。[thet]

  • 简化setup.py中的.rst文件的连接。[thet]

  • 更新存储库中的.gitignores以排除lib64pip-selfcheck.json以及所有非必要的.*。同样更新模板中的.gitignore.bob,并在存储库中添加.gitattributes以用于联合合并CHANGES.rst文件。[thet]

  • 更新文档和README。[svx]

1.0.1 (2015-12-12)

  • 在加载依赖关系之前注册本地化目录,以避免覆盖翻译时出现问题。[hvelarde]

1.0 (2015-10-02)

  • 升级到Plone 4.3.7和5.0。[timo]

  • 避免对于长包名的pyflakes警告。[maurits]

1.0b1 (2015-09-17)

  • 始终以1.0a1开始。请不要再发布0.x版本。[timo]

  • 使用Plone的小版本号作为setup.py分类器。所以是4.3而不是4.3.6。[maurits]

  • 在生成的包中启用了robot部分。[maurits]

  • 添加对plone.testing 5.0.0的依赖。尽管是大版本号,但此更改不包含破坏性更改。[do3cc]

  • 修复#84:使travis缓存生成的包的egg目录。[jensens]

  • 更新测试以使用Plone 5.0b3。[jensens]

  • 删除unittest2依赖。[gforcada]

0.11 (2015-07-24)

  • 修复update.sh。[pbauer]

  • 将i18ndude添加到buildout中。[pbauer]

  • 修复Windows上的包创建问题。修复#72。[pbauer]

  • 将packagename添加到许可中。[pbauer]

  • 添加Plone 5的uninstall-profile。[pbauer]

  • 修复缩进以遵循plone.api的约定。[pbauer]

  • 将徽章从pypin移动到shields.io。[timo]

  • 修复travis模板上的覆盖率。[gil-cano]

  • 在travis上启用代码分析,如果代码未通过则失败。[gforcada]

0.10 (2015-06-15)

  • 添加check-readme脚本,该脚本检测Restructured Text问题。[timo]

  • 在包#56的setup.py中使用仅至小版本的版本。[tomgross]

  • 在测试中使用类方法加载ZCML。[tomgross]

  • 升级默认Plone版本到4.3.6。[timo]

  • 将zest.releaser添加到包buildout中。[timo]

  • 根据Plone文档最佳实践更新README。[do3cc, timo]

  • 将flake8-extensions添加到代码分析。[timo]

  • 升级Selenium到2.46.0。[timo, pbauer]

  • 除非需要,否则不要创建类型模式。[pbauer]

0.9 (2015-03-24)

  • 添加带有简单基于bootstrap主题的Theme包类型。[timo]

  • 添加Dexterity包类型。[timo]

  • 删除示例视图。[timo]

  • 删除关键字问题。[timo]

  • 删除地区问题。[timo]

  • 删除版本和许可问题。[timo]

  • 删除配置文件、setuphandler和测试问题。[timo]

  • 在buildout.cfg中统一buildout配置。[timo]

  • 修复travis.yml中的bootstrap命令。[timo]

0.8 (2015-02-06)

  • 添加includeDependencies。这修复了#23。[timo]

0.7 (2015-02-05)

  • 使用最新的buildout-bootstrap.py。[timo]

  • 修复失败的nosetests。[timo]

  • 添加创建附加组件并运行所有测试和代码分析的测试。[timo]

  • 在travis上运行测试。[timo]

  • 在travis上运行代码分析。如果违反PEP8,则构建失败。[timo]

  • 添加代码分析。[timo]

  • 删除z2.InstallProducts。不再需要。[timo]

  • 使用测试最佳实践并遵循常见的命名约定。[timo]

  • 删除测试配置文件。全局测试状态被认为是一种反模式。[timo]

  • 添加示例robot测试。[timo]

  • 添加travis和pypip.in徽章。[timo]

  • 在测试中同时运行生成的附加组件的代码分析,以确保始终发送100%符合PEP8的代码。[timo]

  • 将REMOTE_LIBRARY_BUNDLE_FIXTURE添加到接受测试配置文件。[timo]

0.6 (2015-01-17)

  • 使用PLONE_APP_CONTENTTYPES_FIXTURE对使用Plone 5的测试。[pbauer]

0.5 (2015-01-17)

  • 删除测试的无用基类。使用“layer = xxx”代替。[pbauer]

  • 修复一些小的代码分析问题。[pbauer]

  • 添加了.editorconfig文件。[ale-rt]

0.4 (2014-12-08)

  • 删除grok。[pbauer]

  • 修复在取消选择测试时遗漏的删除。[pbauer]

  • 只有当有配置文件和浏览器层时才使用jbot。[pbauer]

  • 从git获取用户名和电子邮件。[do3cc]

0.3 (2014-12-07)

  • 将robotframework固定到2.8.4以修复package-tests。[pbauer]

  • 将browserlayer添加到demoview中,以允许多个附加组件。[pbauer]

  • 修复嵌套包的创建问题(错误的__init__.py)。[pbauer]

0.2 (2014-12-07)

  • 修复文档。[pbauer]

0.1 (2014-12-07)

  • 从目标目录获取命名空间、名称和类型。[pbauer]

  • 删除过时的plone_addon_nested。在after-render钩子中自动嵌套包。[pbauer]

  • 添加许多新功能。其中大部分是可选的。[pbauer]

  • 基于cedricmessiant、vincentfretin和thomasdesvenain的bobtemplates.ecreall的初始导入。[pbauer]

项目详情


下载文件

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

源分发

bobtemplates.kitconcept-2.0.1.tar.gz (42.5 kB 查看哈希值)

上传时间

由以下组织支持