云优cms采集插件(印记中文社区:Mdpress+云开发内容管理CMS打造了动态内容站点)
优采云 发布时间: 2022-04-09 21:04云优cms采集插件(印记中文社区:Mdpress+云开发内容管理CMS打造了动态内容站点)
前言
印记中文(以下简称印记)作为国内领先的前端技术传播社区,经过一段时间的发展,已经开发出React、Webpack、Babel等优质中文文档网站,还开发了周刊业务. 为了提高印记技术传播和翻译的效率,建立印记的品牌一致性,印记开始开发自己的系列平台和工具。Mdpress,其中之一,是一个 网站 *敏*感*词*。详情>>
CloudBasecms是云开发推出的基于Node.js的Headless内容管理平台,提供丰富的内容管理功能。支持动态生成内容管理界面,无需编写代码即可在云开发中快速管理业务数据。支持字符串、数字、多媒体、图片、文件、富文本、Markdown、关联类型等几十种内容类型的可视化编辑。
已上线云开发扩展应用和小程序开发工具,支持一键安装到现有环境,管理小程序/web等多种终端生成的内容数据。同时CloudBasecms已经在GitHub上开源,可以直接在CloudBasecms上进行二次开发,满足业务的多样化需求。
印记中文社区已经使用Mdpress+云开发内容管理cms创建了一个动态内容站点(代号jsweekly项目)。下面将详细介绍实现过程:
项目结构
1、首页直接使用readme文件作为网站的首页,这个页面是静态的。文档
2、配置
3、插件通过安装插件,拉取云端开发上的动态数据cms,实现动态建站。
安装插件
npm install @mdpress/tencent-cloud-cms --save
打开云开发控制台
点击云开发:
输入环境:
进入cms如果没有cms应用,可以参考云开发的这篇文档创建一个
建表
我们需要一个文档表和一个侧边栏表:
数据结构示例:文档:
"fields": [
{
"displayName": "名称",
"id": "wid07nOCkgB7l8-3QD3oLqFueziDAIY2",
"isHidden": false,
"name": "name",
"order": 0,
"type": "Number"
},
{
"description": "值越大在 CMS 列表中越靠前",
"displayName": "排序",
"id": "rmg15_TLU9Tmxx77SNav5C9QuqMNobrY",
"isHidden": false,
"isOrderField": true,
"name": "order",
"order": 1,
"orderDirection": "desc",
"type": "Number"
},
{
"description": "留空时会在服务端自动写入修改时间",
"displayName": "内容",
"id": "nyKjwWVm8Zj259YCd38IvjVWZVW1oiKv",
"isHidden": false,
"name": "content",
"order": 4,
"type": "Markdown"
},
{
"displayName": "访问路径",
"id": "pB-9QEglnABKpF7FCZGD9QObWz4YABpm",
"isHidden": false,
"isRequired": true,
"name": "path",
"order": 5,
"type": "String"
}
]
侧边栏:
"fields": [
{
"displayName": "名称",
"id": "IVALl1u3eDtWFNYN3e3WFJuyW2LJEXF9",
"isHidden": false,
"name": "name",
"order": 0,
"type": "String"
},
{
"defaultValue": [],
"description": "侧边栏的值",
"displayName": "值",
"id": "2p0dqdvyxruxijov4ma30dzqrc3ffvpk",
"isRequired": true,
"name": "value",
"order": 2,
"type": "Object"
},
{
"connectField": "path",
"connectMany": true,
"connectResource": "4d5a19345ede173a005376bf3bbe1977",
"displayName": "关联文档",
"id": "udqilz1aj38mieisc17y7gvas0rv6s1t",
"name": "pages",
"order": 3,
"type": "Connect"
}
]
cms的具体操作请参考这里的权限配置
因为云端开发的js sdk有鉴权机制,所以还需要回到控制台配置权限。
1、用户首先启用用户认证设置,如匿名登录:
可以在此处找到用户身份验证设置
2、域名再认证域名(包括端口):
有关域名认证设置的详细信息,请参阅此处
3、数据库终于是数据库的认证了:
例如点击 js_weekly_document:
有关数据库认证设置的详细信息,请参阅此处的数据输入
1、文档示例
您可以一个一个地创建新的或批量导入它们。
2、侧边栏示例
侧边栏是一个对象数组。
使用插件
打开 .mdpress/config.js 文件,在插件项中填写参数:
tencentCloudEnv 指的是云开发控制台中的环境,tencentCloudModel 指的是 document 和 sidebar 两个数据库名称。
插件源码介绍
其实插件主要做了以下几件事:
从云开发获取数据源cms;覆盖mdpress默认布局,使用动态数据源,将动态数据源中的标题提取为锚目录;添加 /docs/* 路由,它呈现动态页面。总结
印记中文翻译了很多文档,但最大的问题是内容过于分散,不太方便读者找到自己想要的内容(比如比较中英文文档,一个技术文档和相关的技术博客) ) 比较等),因此我们希望创建一个可以轻松汇总所有文档的站点。
用静态站点构建器(如Hexo、Vuepress)构建网站非常方便,但要求文档必须是本地文档的形式。虽然动态建站器(如 Nuxt 等)支持在线文档数据,但它封装的内容更多是为一般的前端应用准备的。需要学习很多相关知识,搭建文档站也不容易。
产品描述
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生集成开发环境和工具平台,为开发者提供高可用、自动弹性伸缩的后端云服务,包括计算、存储、托管等Serverless能力,可用于多种终端应用(小程序、公众号、Web应用、Flutter客户端等)的云集成开发,帮助开发者统一构建和管理后端服务和云资源,避免应用开发过程中服务器繁琐 用于搭建和运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开放云开发:/tcb?tdl_anchor=techsite
产品文档:/product/tcb?from=12763
技术文档: