云优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

  技术文档:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线