Plone项目模板。
项目描述
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中还有一个在卸载时运行的方法。
包类型Dexterity和Theme将以下内容添加到Basic
- Dexterity
在profiles/default/types/中添加了一个简单的内容类型(您将被询问其名称),并在interfaces.py中有一个python-schema。
- Theme
在theme/文件夹中添加了一个基于bootstrap的简单Diazo主题,并在profiles/default/theme.xml中注册。
兼容性
使用
安装
在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.niteoweb和bobtemplates.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.cfg和mr.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以排除lib64,pip-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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a85f23f403e7ce4783d63983e95481c4dba566309efa55941f43f11012950a6f |
|
MD5 | 26d56e4fba40f442bb3f898d4693f83c |
|
BLAKE2b-256 | 6f660f5da7851eb6da3651a3d6361f59c8964fdef716593e163cd07e68d3339d |