适用于Plone 4(基于sunburst)的响应式(和移动)主题
项目描述
简介
一个基于sunburst的响应式Plone主题。
CSS3theme是一个针对Plone 4的响应式(或自适应,根据您的喜好)主题,可以自动适应您使用的设备的显示。这意味着,使用CSS3theme,您将拥有一个适用于市场上所有移动设备的单一主题。
截图
移动视图
有用工具
预设媒体查询以适应最有用的屏幕尺寸
大于980 px(桌面)
介于980px和650 px之间(平板电脑横屏)
介于650px和480px之间(平板电脑竖屏和手机横屏)
小于480px(手机竖屏)
JavaScript小工具
使用两个按钮管理Plone列
添加了“decomment”和“doWhenVisible”。两个有用的jQuery插件。它们允许取消注释HTML的部分并根据屏幕尺寸运行JavaScript代码
scrollTop:一个帮助在移动设备上滚动的按钮
Tinymce移动集成
添加了一个类,以便在移动设备中隐藏内容
Modernizr集成(http://modernizr.com/)
这为根据浏览器功能添加样式提供了有用的类
额外类和plone类
js/no-js类(检测JavaScript是否启用)
oldie/lt-ie9/lt-ie8/lt-ie7(检测Internet Explorer的版本)
has-no-columns/has-column-one/has-column-two/has-column-one-two(检测列数)
is-anonymous(检测用户是否匿名)
navigation-root(检测页面是否是导航根)
上下文类:自定义python脚本css3theme_get_contextual_classes(皮肤层)以添加自定义上下文类
用户定义类(您可以在每个页面中使用plone注册表添加这些类 - redomino.css3theme.classes)
用户定义body类:用户可以使用cookie将类附加到body上。有效的类是plone注册条目中的类:redomino.css3theme.useraddableclasses。用户可以使用“@@userbodyclasses”视图添加、删除类(添加、删除、切换、重置)。示例
@@userbodyclasses?add=class1,class2 添加这些类
@@userbodyclasses?remove=class1,class2 删除这些类
@@userbodyclasses?toggle=class1,class2 切换这些类
@@userbodyclasses?reset= 删除所有类
兼容性测试:桌面
完美
firefox 3.6 - 13a
chrome 18
opera 11
IE 7-8-9(优雅降级)
不支持:IE6(Plone sunburst主题不完全支持)
兼容性测试:移动和平板
完美
平板电脑android 2.2(archos 70)纵向
平板电脑android 2.2(archos 70)横向
平板电脑android 4(asus transformer)纵向
平板电脑android 4(asus transformer)横向
手机android 2.2 - 2.3(htc desire hd,htc grafia)纵向
手机android 2.2 - 2.3(htc desire hd,htc grafia)横向
ipad2横向
ipad2纵向
iphone 3g纵向
iphone 3g横向
iphone 4纵向
iphone 4横向
Iphone 2纵向
Iphone 2横向
blackberry os 6
几乎完美(太小)
symbian(5800)s60纵向
symbian(5800)s60横向
尚未测试
blackberry os 5
windowsphone7
如何基于redomino.css3theme构建主题
1 - 在您的setup.py中添加依赖项(建议固定版本)
install_requires=[ 'setuptools', 'redomino.css3theme==1.5.5',
2 - 您的层界面必须继承自css3theme的其中一个
from redomino.css3theme.browser.interfaces import IThemeSpecific as ICss3theme class IThemeSpecific(ICss3theme): """ """
3 - 您的皮肤层必须继承自css3theme(profiles/default/skins.xml)
... <skin-path name="My theme" based-on="css3theme"> <layer name="my_theme" insert-after="custom"/> </skin-path> ...
4 - 视图配置必须继承自css3theme(profiles/default/viewlets.xml)
... <order manager="plone.portalfooter" skinname="My theme" based-on="css3theme"> </order> ... <hidden manager="plone.portalheader" skinname="My theme" based-on="css3theme"> </hidden> ...
5 - 安装您的主题时必须安装css3theme(profiles/default/metadata.xml)
<?xml version="1.0"?> <metadata> <version>1000</version> <dependencies> <dependency>profile-redomino.css3theme:default</dependency> </dependencies> </metadata>
变更日志
1.5.10 (2012-11-13)
从现在起,可以使用脚本在body中注入类[sithmel]
1.5.9 (2012-11-12)
从现在起,CSS根据媒体查询拆分。这允许对移动定制进行微调[sithmel]
1.5.8 (2012-09-19)
在readme中添加了屏幕截图[sithmel]
1.5.7 (2012-08-01)
在jsregistry.xml中添加了scrollTop.js
1.5.6 (2012-08-01)
添加了滚动条按钮
1.5.5 (2012-07-30)
修复了userbodyclass视图中cookie的问题。在IE中不起作用[sithmel]
1.5.4 (2012-07-23)
修复了userbodyclasses视图中错误的导入[sithmel]
修复了ipad/iphone方向更改错误。(@scottjehl的脚本,@wilto的反弹)[sithmel]
添加了文档:如何扩展主题[sithmel]
1.5.3 (2012-07-20)
添加了新类lt-ie10[sithmel, adeste]
修复了viewport标签[sithmel]
添加了cookie body类[sithmel]
1.5.2 (2012-06-04)
修复了注册条目。如果键不在注册表中,则会引发异常[sithmel]
为仅移动和桌面div添加了有用的类[sithmel]
为非苹果设备启用了捏合缩放(由于苹果设备viewport缩放错误)[sithmel]
1.5.1 (2012-05-04)
为列添加了tinymce样式[sithmel]
修复了注册条目。在每次重新安装时都会被删除[sithmel]
1.5 (2012-05-04)
删除了搜索样式[sithmel]
添加了注册表(plone.app.registry)以附加到body的类(用于自定义主题)[sithmel]
1.4 (2012-04-24)
固定的依赖项 [sithmel]
为匿名用户添加了一个类 [sithmel]
修复了portlet大小(仅限contentWellPortlet) [sithmel]
修复了移动标签(不再自动换行列) [sithmel]
1.3 (2012-04-10)
将main_template更新为sunburst主题的最新版本() [sithmel]
将body类生成移动到plone_layout视图中 [sithmel]
在body中添加了导航根类 [sithmel]
从导航根中删除了面包屑 [sithmel]
注释掉了用于面包屑的选择小部件 [sithmel]
当项目数量大于5时,在移动版本中添加了一个新的小部件替代globalnav [sithmel]
更新modernizr版本到2.5.3 [sithmel]
在html中添加了旧IE类 [sithmel]
为html5元素添加了样式 [sithmel]
针对tinymce IE9 bug添加了一个修复方法 https://dev.plone.org/ticket/11690 [sithmel]
1.2 (2012-04-02)
更新了readme和setup.py [sithmel]
1.1 (2012-04-02)
初始发布