带有JSON输出的平面文件CMS

时间:2017-09-07 20:38:50

标签: javascript json node.js vue.js flat-file

我正在尝试使用平面文件内容管理和Vue.js前端创建一个简单的站点。我希望近似以下文件结构:

app
- various vue files and folders
- data.json
- posts
- - post1.md
- - post2.md

会有某种构建过程将app/posts中的每个降价文件处理,处理降价,并将所有内容存储在app/data.json中。然后vue.js前端可以导入data.json并根据需要使用它来水合各种组件。

我在寻找解决方案时遇到的问题是,那里有的平面文件CMS,但很少有人能够让你在处理平面文件之间进行处理和模板的渲染。我遇到的大多数平面文件CMS都是为了生成html文档的静态站点文件夹结构而设计的。由于我打算使用带路由的前端框架(我使用Vue,但它可能是React,Choo等),我需要一个平面文件CMS,它可以轻松地将它处理的数据从文件夹结构转储到一个JSON文件,可以用作Vue的数据模型。

我已经多次用Google搜索过多次。尽管前端js框架无处不在,但很少有结果回来的事实让我想知道是否有一些明显的原因你不会以这种方式建立一个网站,或者一些关键术语我失踪了。

所以,我的问题:

  1. 是否有平面文件CMS,可让您轻松收集所提取的数据而无需生成完整的静态网站?

  2. 如果没有,为什么?处理满是markdown文件的文件夹是否足够简单,只需使用自定义npm脚本即可完成?是否有一个明显的原因,从平面文件系统生成一个js框架友好的迷你数据库是一个愚蠢的想法?

1 个答案:

答案 0 :(得分:0)

如果您仍然需要解决方案:可能可能是我们基于PHP和jQuery的平面文件CMS中的一个。它以JSON格式将所有内容输出到database.js。 database.js结构如下所示:

{
    "config": {
        "siteTitle": "Website title",
        "theme": "default",
        "defaultPage": "home",
        "login": "loginURL",
        "password": "$2y$10$3Et0aY82zCjSZJDAkBep7uXrQHQa3PtLt0okgqF2oen\/IIriiL65O",
        "menuItems": {
            "0": {
                "name": "Home",
                "slug": "home",
                "visibility": "show"
            },
            "1": {
                "name": "Example",
                "slug": "example",
                "visibility": "show"
            }
        }
    },
    "pages": {
        "home": {
            "title": "Home",
            "keywords": "Keywords, for, this, page",
            "description": "A short description.",
            "content": "<h1>Home content.<\/h1>"
        },
        "example": {
            "title": "Example",
            "keywords": "Keywords, for, this, page",
            "description": "A short description is also good.",
            "content": "An example page."
        }
    }
}

CMS需要一些自定义工作,因此您可以从database.js中提取数据(因为只有登录的用户可以读/写数据库.js)。这将允许您使用Vue提取数据库数据并使用显示内容。项目链接:https://github.com/robiso/wondercms