node.js - 基于 Node js 的 Portfolio CMS 数据库

标签 node.js mongodb content-management-system

我对 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/

相关文章:

mysql - celery 任务更新两个数据库

node.js - 无法关闭与 Node.js 的 MongoDB 连接?

node.js - Mongoosastic 插件不更新嵌套对象

postgresql - 什么是兼容 postgres、开源且基于 php 或 python 的好 cms?

php - 像cms一样在.php文档中显示不同的mysql数据

javascript - server.listen() 实际上做了什么?

node.js - Firebase:找不到 firebase 命名空间;请务必在此库之前包含 firebase-app.js。我得到了那个错误。我应该如何修复我的代码?

node.js - 使用 npm 安装 Express 时出现问题。

node.js - 从在代理后面运行的网站访问 Web 服务

mysql - 我有一个带有 CMS 的网站。我可以使用 Drupal 构建辅助 CMS 而不更改主 CMS 吗?