我对 Node.js 还很陌生,而且有点卡住了。我的脑海中突然浮现出一个项目组合CMS,实际上很简单Ghost
启发了我,你只需下载它就可以工作,但我突然意识到在这种情况下它可能不起作用。据我所知,Ghost 使用 SQlight。
所以我的问题是,该平台将处理自定义页面,因此用户将能够像在 Wordpress 中一样创建页面,将处理博客文章、图片库和主题。
我正在考虑使用 MongoDB,但我有一些疑问。
因此,人们将可以创建图像库并将其作为短代码(只是告诉)插入到页面中,我的问题是。
- MongoDB 是否支持这种类型的 cms?
- 图库的嵌入数据将来会导致问题或有任何限制吗?
图片库示例
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 generator您可以使用它快速创建一个包含帖子、图片库和查询表单的博客网站。生成器使用 jQuery 构建基本模板和 Bootstrap ,因此可以轻松自定义或放入主题。
它使用 Jade默认情况下用于模板,但您可以使用任何模板引擎(EJS、nunjucks、dust 等)对其进行配置。与 LESS 相同用于 CSS 预处理(如 Bootstrap 所做的那样)。
虽然 Ghost 非常专注于它提供的功能(并且不会像 Wordpress 那样为您提供通用的 CMS 功能),但 Keystone 更灵活,并且它的管理 UI 是根据您定义的模型生成的(在代码中) ,看起来与您问题中的示例非常相似)。因此,您可以添加其他模型,并在它们之间创建关系,管理 UI 将自动包含它们。
图像库实际上没有任何限制,因为在 MongoDB 中您只是存储对图像的引用,而不是文件本身。为了在 KeystoneJS 中简化此操作,我们经常使用名为 Cloudinary 的服务,它将为您处理上传和调整大小,并通过 CDN 提供图像。不过,如果您愿意,Keystone 还支持 Amazon S3 或本地文件系统。
对于自定义页面,您可以将它们添加为其他模板,或者有些人为通用内容定义“页面”模型。
希望这有帮助!
关于node.js - 基于 Node js 的 Portfolio CMS 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509170/