Orion是基于Meteor的CMS框架。它能让你快速的构建一个功能完备的CMS系统。本部分源代码请参考Orion Kickstarter。
Orion视频教程:Meteor 十分钟开发 CMS 系统(上)
Orion视频教程:Meteor 十分钟开发 CMS 系统(下)
Orion示例网站:http://orion-example.meteor.com/
Orion官方文档:http://docs.orionjs.org/
Orion开发团队:http://orionjs.org/about
创建Orion项目
其中路由可以自由选择Iron Router或者Flow Router
添加核心:meteor add orionjs:core
添加样式:meteor add twbs:bootstrap fortawesome:fontawesome orionjs:bootstrap
添加路由:meteor add iron:router
添加路由:meteor add kadira:flow-router kadira:blaze-layout
页面系统:meteor add orionjs:pages
文章系统:Posts = new orion.collection('posts', {})
文件系统:meteor add orionjs:filesystem
添加完核心扩展包后,我们更新Orion至最新版本1.7.
更新项目扩展包 meteor update
更新单独扩展包 meteor update package-name
进入 /admin,创建管理员账户
添加属性扩展 file-attribute, image-attribute, summernote
添加文件系统扩展 GridFS 文件支持
这样,我们就有了基本的后台,包括了账户系统,文件系统,页面系统,文章系统等。
- 进入/admin路由,创建第一个管理员账户。
- 创建一篇文章,并添加内容和链接。
- 创建一个页面,并添加内容和链接。
- 前端模板获取文章列表和页面列表。
- 前端模版获取单个文章内容。
Orion集合
Orion集合的创建方法与Mongo集合类似,只需要将Mongo.collection替换为orion.collection即可。
myCollection = new orion.collection(name, options);
其中,name为集合名称,options为一些参数,主要为admin页面显示的内容,包括侧栏链接,创建项目,表格显示内容等。
Orion字典
在Admin中可以设置的伪静态内容,让你不必让你在模板中创建静态页面。字典使你可以在前端模板中插入可以在后台编辑的内容。
orion.dictionary.addDefinition(name, category, attributeSchema)
Orion页面
在Admin中创建特定模板和特定路由的页面
首先添加扩展包:meteor add orionjs:pages
可以使用该功能创建如FAQ、联系我们、关于我们页面。如果你创建的是连续的内容,如博客文章,那么应该使用orion.collection,创建posts集合来存放。
此外,其实我并不建议这里采用Orion的Pages功能来创建页面,而是建议直接使用Blaze模板创建固定的静态页面,毕竟针对模板我们能定制化的东西更多,其中可能需要经常改动的文字内容,可以放入Orion Dictionary中。
关于Orion前端框架选择
Orion默认支持三种前端模板,分别是Bootstrap,Material UI和Semantic UI,其中,Bootstrap和Material UI的Admin都非常不错。
关于Material UI,这里推荐一个「改进版」,也就是MUI,它基于Material风格,但是比Material更加简洁清晰。
此外,这里推荐一款基于Flexbox的现代UI框架,也就是Bulma。它有诸多优异的特性,唯一的缺点可能就是对于老版本的浏览器支持不好。
关于Orion路由包的选择
虽然Meteor的官方推荐路由是Flow Router,但是Orion也支持Iron Router,Iron Router可以结合meteorhacks:fast-render包完成SSR(Server Side Rendering)。当然,目前FlowRouterSSR也已经可以应用于生产环境了,你可以对OrionJS稍作修改,从而得以使用Flow Router的SSR功能。
后续
由于目前Meteor的前端View Layer将会有比较大的变化,可能后续Orion会有React Components的版本,如同KeystoneJS那样。目前来说,Orion1.7版本完全适用于Meteor1.2版本,短期内不再作大的更新变动。等到Meteor1.3正式发布之后,Orion也会迎来比较大的升级。