基于Node js的Portfolio CMS数据库
我对Node.js来说很新奇,而且我被卡住了一点。 有一个项目组合CMS出乎我的意料,实际上是Ghost的简单
启发我,你只是下载,它的工作,但我突然意识到在这种情况下,它可能无法正常工作。 据我所知,Ghost使用SQlight。
所以我的问题是,平台将处理自定义页面,所以使用将能够创build像WordPress的页面,将处理博客post,图片库和主题。
我正在考虑使用MongoDB,但我有一些问题。
所以人们将可以创build图像库,并将其作为简短的代码插入到页面(只是告诉),我的问题是。
- MongoDB是否适合这种types的CMS?
- 图库的embedded数据是否会在未来造成问题或有任何限制?
图片库的例子
Model.Gallery { id: OjectId, name: Gallery name 1, CreatedBy: userId, images: [ {filename: 'image 1'}, {filename: 'image 2'}, {filename: 'image 3'}, ] }
或者你会推荐别的吗?
谢谢
听起来你正在寻找KeystoneJS 。
(免责声明:我是核心撰稿人)
这是一个基于mongodb的node.js CMS,并有一个Yeoman生成器 ,您可以使用它快速创build包含文章,图像库和查询表单的博客网站。 生成器使用jQuery和Bootstrap构build基本模板,因此很容易自定义或放置主题。
它默认使用Jade作为模板,但是可以使用任何模板引擎(EJS,nunjucks,dust等)来configuration它。 和LESS的CSS预处理一样(就像Bootstrap一样)。
虽然Ghost非常注重它所提供的function(并且不提供像Wordpress这样的通用CMSfunction),但Keystone更加灵活,其pipe理界面是基于您定义的模型生成的(在代码中,类似于你的问题中的例子)。 所以你可以添加其他模型,并创build它们之间的关系,pipe理界面会自动包含它们。
图像库并没有任何限制,因为在MongoDB中,只是存储对图像的引用,而不是文件本身。 为了在KeystoneJS中轻松实现这个function,我们经常使用一个名为Cloudinary的服务,它将为您处理上传和resize,并通过CDN提供图片。 不过,Keystone也支持Amazon S3或本地文件系统。
对于自定义页面,您可以将其添加为其他模板,或者某些人员为通用内容定义“页面”模型。
希望这可以帮助!