中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題-創(chuàng)新互聯(lián)

介紹

Cabloy-CMS是什么

Cabloy-CMS是基于CabloyJS全棧業(yè)務(wù)開(kāi)發(fā)框架開(kāi)發(fā)的“動(dòng)靜結(jié)合”的CMS,可以快速構(gòu)建企業(yè)網(wǎng)站、博客、社區(qū)、商城等Web應(yīng)用。

創(chuàng)新互聯(lián)建站-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比蠡縣網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式蠡縣網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蠡縣地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。

在線(xiàn)演示

https://zhennann.me

特性

Cabloy-CMS受Hexo啟發(fā),采用“靜態(tài)+動(dòng)態(tài)”的架構(gòu),彌補(bǔ)了Hexo許多功能上的不足,主要特性如下:

  • 內(nèi)置多站點(diǎn)、多語(yǔ)言支持
  • 不同語(yǔ)言可單獨(dú)設(shè)置主題
  • 內(nèi)置SEO優(yōu)化,自動(dòng)生成Sitemap文件
  • 文章在線(xiàn)撰寫(xiě)、發(fā)布
  • 文章發(fā)布時(shí)實(shí)時(shí)渲染靜態(tài)頁(yè)面,不必整站輸出,提升整體性能
  • 內(nèi)置文章查看計(jì)數(shù)器
  • 內(nèi)置評(píng)論系統(tǒng)
  • 內(nèi)置全文檢索
  • 文章可添加附件
  • 自動(dòng)合并并最小化CSS和JS
  • JS支持ES6語(yǔ)法,并在合并時(shí)自動(dòng)babel編譯
  • 首頁(yè)圖片延遲加載,自動(dòng)匹配設(shè)備像素比
  • 調(diào)試便捷

架構(gòu) - 動(dòng)靜結(jié)合

動(dòng)態(tài)部分

Cabloy-CMS基于CabloyJS全棧業(yè)務(wù)開(kāi)發(fā)框架,提供了強(qiáng)大的文章后臺(tái)管理系統(tǒng)。CMS當(dāng)中經(jīng)常變動(dòng)的功能均通過(guò)“動(dòng)態(tài)部分”實(shí)現(xiàn),并提供API供“靜態(tài)部分”調(diào)用。

靜態(tài)部分

Cabloy-CMS將“首頁(yè)”和“文章”等靜態(tài)元素實(shí)時(shí)渲染成靜態(tài)文件,既滿(mǎn)足了SEO的需求,同時(shí)也提升了訪(fǎng)問(wèn)性能。

此外,“靜態(tài)部分”通過(guò)Ajax訪(fǎng)問(wèn)“動(dòng)態(tài)部分”提供的API,可實(shí)現(xiàn)豐富的頁(yè)面功能。

快速開(kāi)始

安裝EggBorn

$ npm install -g egg-born

新建Cabloy項(xiàng)目

$ egg-born cabloy-cms --type=cabloy
$ cd cabloy-cms
$ npm i

安裝CMS模塊

$ npm i egg-born-module-a-cms

安裝CMS主題模塊

$ npm i egg-born-module-cms-themeblog

配置MySQL

測(cè)試環(huán)境

src/backend/config/config.unittest.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: '127.0.0.1',
        port: '3306',
        user: 'root',
        password: '',
        database: 'sys', // donnot change the name
      },
    },
  };

開(kāi)發(fā)環(huán)境

src/backend/config/config.local.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: '127.0.0.1',
        port: '3306',
        user: 'root',
        password: '',
        database: 'sys', // recommended
      },
    },
  };

生成環(huán)境

src/backend/config/config.prod.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: '127.0.0.1',
        port: '3306',
        user: 'root',
        password: '',
        database: '{{name}}',
      },
    },
  };

運(yùn)行

啟動(dòng)后端服務(wù)

$ npm run dev:backend

啟動(dòng)前端服務(wù)

$ npm run dev:front

進(jìn)入后臺(tái)管理頁(yè)面

  • 網(wǎng)址:http://localhost:9092/
  • 用戶(hù)名:root
  • 密碼:123456

參數(shù)配置

參數(shù)覆蓋規(guī)則

語(yǔ)言配置 > 站點(diǎn)配置 > 缺省配置

  • 語(yǔ)言配置:由于支持多語(yǔ)言,因此不同的語(yǔ)言可以配置不同的參數(shù)
  • 站點(diǎn)配置:配置與語(yǔ)言無(wú)關(guān)的全局參數(shù)
  • 缺省配置:會(huì)因使用不同的主題而擁有不同的參數(shù)

站點(diǎn)配置

進(jìn)入設(shè)置/cms頁(yè)面

點(diǎn)擊站點(diǎn)/配置,進(jìn)入站點(diǎn)配置頁(yè)面

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

點(diǎn)擊右側(cè)的“ !”按鈕,查看缺省配置

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

缺省配置拷貝需要修改的屬性到站點(diǎn)配置頁(yè)面,并修改成所需要的值。

在這里,我們修改如下參數(shù):

{
 "host": {
    "url": "http://example.com",
    "rootPath": ""
  },
  "language": {
    "default": "zh-cn",
    "items": "zh-cn,en-us"
  },
  "themes": {
    "zh-cn": "cms-themeblog",
    "en-us": "cms-themeblog"
  },
  "plugins": {
    "cms-plugintrack": {
      "track": {
        "google": "",
        "baidu": "",
        "qq": ""
      }
    }
  }
}
  • host
    • url: 實(shí)際部署時(shí)的站點(diǎn)域名
    • rootPath: 根路徑,一般設(shè)置
  • languange
    • default: 缺省語(yǔ)言。
      缺省語(yǔ)言渲染的靜態(tài)文件位于站點(diǎn)“根目錄”,其他語(yǔ)言位于站點(diǎn)“根目錄/[語(yǔ)言]”
    • items: 支持的語(yǔ)言列表,用逗號(hào)分隔
  • themes
    • zh-cn: 語(yǔ)言所使用的主題
    • en-us: 語(yǔ)言所使用的主題
  • plugins
    • cms-plugintrack
    • track
      • google: google統(tǒng)計(jì)的跟蹤代碼
      • baidu: 百度統(tǒng)計(jì)的跟蹤代碼
      • qq: 騰訊統(tǒng)計(jì)的跟蹤代碼

語(yǔ)言配置

可以依次對(duì)不同的語(yǔ)言配置參數(shù),這里從略

構(gòu)建

為了提升渲染速度,在發(fā)表文章時(shí),僅對(duì)“當(dāng)前文章”和“首頁(yè)”進(jìn)行渲染,其他靜態(tài)文件不變。所以,當(dāng)設(shè)計(jì)到整站元素變更時(shí),需要進(jìn)行“整站渲染”。

如何操作

進(jìn)入設(shè)置/cms頁(yè)面

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

  • 整站構(gòu)建:“整站參數(shù)”變更時(shí)
  • 語(yǔ)言構(gòu)建:“語(yǔ)言參數(shù)”變更時(shí)

預(yù)覽

可點(diǎn)擊“預(yù)覽”,直接查看渲染效果

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

此時(shí)生成的網(wǎng)址沒(méi)有內(nèi)容,接下來(lái)可以創(chuàng)建目錄,然后發(fā)表文章

目錄

Cabloy-CMS有以下約定:

  • 所有目錄必屬于某一個(gè)“語(yǔ)言”
  • 所有文章必屬于某一個(gè)“目錄”

有的CMS工具,文章可以分屬多個(gè)“目錄”,其實(shí)這種特性可以用“標(biāo)簽”來(lái)解決

如何操作

進(jìn)入設(shè)置/cms頁(yè)面,點(diǎn)擊語(yǔ)言的“目錄”按鈕,添加“目錄”,效果如下:

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

此時(shí),可以進(jìn)行“語(yǔ)言構(gòu)建”,并預(yù)覽效果

文章

Cabloy-CMS后臺(tái)提供了完備的文章管理功能。當(dāng)文章提交發(fā)表時(shí),實(shí)時(shí)渲染成靜態(tài)文件,并寫(xiě)入Sitemap文件

如何操作

基本屬性

在后臺(tái)首頁(yè),點(diǎn)擊新建文章,進(jìn)入文章編輯頁(yè)面,依次輸入或選擇如下屬性值:

  • 原子名稱(chēng):也就是文章標(biāo)題。原子是Cabloy對(duì)基礎(chǔ)業(yè)務(wù)數(shù)據(jù)的通用定義
  • 語(yǔ)言:
  • 目錄:
  • 標(biāo)簽:支持多標(biāo)簽,用逗號(hào)隔開(kāi)

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

內(nèi)容

Cabloy-CMS采用開(kāi)源組件mavonEditor,實(shí)現(xiàn)了markdown格式的編輯和預(yù)覽效果

請(qǐng)輸入以下內(nèi)容,并查看效果

![5775337-414d62d7c1e152f2](/upload/otherpic33/00ca2e89235b47bba5b7e7580fc71834.jpg)

## 一天到晚的魚(yú)兒不停游

曾經(jīng)嘲諷

魚(yú)兒是被詛咒過(guò)的

一天到晚的不停游

here and there

here and there

如今

安然做一條魚(yú)兒

一天到晚的不停游

here and there

here and there

曾經(jīng)的嘲諷

終會(huì)落在自己身上

here and there

here and there

甚好甚好

提交發(fā)布

Cabloy中所有的原子數(shù)據(jù)均有兩個(gè)狀態(tài):草稿正常草稿狀態(tài)下只有創(chuàng)建人能訪(fǎng)問(wèn)和編輯,通過(guò)提交轉(zhuǎn)入正常狀態(tài),其他用戶(hù)才能訪(fǎng)問(wèn)。

文章也不例外,只有提交進(jìn)入正常狀態(tài),才會(huì)進(jìn)行渲染。

當(dāng)然,如果文章已是正常狀態(tài),那么再次編輯并保存時(shí),也會(huì)進(jìn)行渲染。

提交并預(yù)覽

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

首頁(yè)

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

文章頁(yè)

Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題

部署

實(shí)例與子域名

Cabloy支持多實(shí)例,實(shí)例與網(wǎng)站子域名一一對(duì)應(yīng),不同實(shí)例的數(shù)據(jù)完全隔離。比如instance1.cabloy.orginstance2.cabloy.org

調(diào)試階段,Cabloy啟用了一個(gè)缺省實(shí)例,但在部署階段,需要規(guī)劃實(shí)例與子域名

在CMS應(yīng)用中,把域名example.com留給靜態(tài)文件,需要給后臺(tái)管理系統(tǒng)分配一個(gè)子域名,如admin.example.com

多站點(diǎn)支持

由于一個(gè)實(shí)例對(duì)應(yīng)一個(gè)CMS應(yīng)用,通過(guò)多實(shí)例就可以支持多站點(diǎn)

實(shí)例配置

編輯文件:src/backend/config/config.prod.js

// instances
config.instances = [
  { subdomain: 'admin', password: '', title: '',
    meta: {
      jsonp: { whiteList: 'example.com' },
    },
  },
];
  • subdomain: 子域名
  • password: 實(shí)例中用戶(hù)root的訪(fǎng)問(wèn)密碼
  • title: 網(wǎng)站標(biāo)題
  • meta.jsonp.whiteList: 白名單,只有白名單中的域名可以通過(guò)ajax訪(fǎng)問(wèn)后臺(tái)API接口

構(gòu)建前端代碼

$ npm run build:front

啟動(dòng)后端服務(wù)

$ npm run start:backend
  • 別忘了創(chuàng)建MySQL數(shù)據(jù)庫(kù),并配置src/backend/config/config.prod.js

停止后端服務(wù)

$ npm run stop:backend

后端服務(wù)啟動(dòng)參數(shù)配置

編輯文件:build/config.js

// backend
const backend = {
  port: 7002,
  hostname: '127.0.0.1',
};

nginx配置

強(qiáng)烈建議使用nginx托管前端靜態(tài)資源,并反向代理后端服務(wù)

在項(xiàng)目根目錄已經(jīng)生成了兩個(gè)nginx配置文件,分別對(duì)應(yīng)Cabloy-CMS的“動(dòng)態(tài)部分”和“靜態(tài)部分”,請(qǐng)根據(jù)實(shí)際情況修改

動(dòng)態(tài)部分:nginx.conf

server {

  listen 80;
  server_name admin.example.com;
  set $node_port 7002;

  root /Users/wind/Documents/temp/cabloy-cms/dist;

  location /public {
    root /Users/wind/cabloy/cabloy-cms;
    internal;
  }

  location  /api/ {
    proxy_http_version 1.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://127.0.0.1:$node_port$request_uri;
    proxy_redirect off;
  }

}

靜態(tài)部分:nginx-cms.conf

server {

  listen 80;
  server_name example.com;

  root /Users/wind/cabloy/cabloy-cms/public/1/cms/dist;

}

GitHub貢獻(xiàn)

有任何疑問(wèn),歡迎提交 issue!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前文章:Cabloy-CMS:動(dòng)靜結(jié)合,解決Hexo痛點(diǎn)問(wèn)題-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://www.2m8n56k.cn/article18/pepgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)公司域名注冊(cè)網(wǎng)站設(shè)計(jì)網(wǎng)站排名商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
主站蜘蛛池模板: 成人在线观看午夜 | 亚洲国产精品成 | 国产精品成人在线 | 国产成人美女福利在线观看 | 亚洲国产精品成人午夜在线观看 | 看一级毛片 | 日本综合欧美一区二区三区 | 亚洲性无码av在线 | 狠狠色噜狠狠狠狠色综合久 | 免费在线成人 | 69成人免费视频 | 日本韩国欧美在线观看 | 国产精品高清全国免费观看 | 免费a级毛片无码 | 扒开两腿猛进入爽爽视频 | 亚洲天堂国产 | 日韩www视频| 国产成人精品一区二区视频 | 亚洲人成在线免费观看 | 国产成人盗拍精品免费视频 | 国产成人啪精品午夜在线观看 | 日韩欧美在线播放视频 | 呦视频在线一区二区三区 | 美女黄视频免费观看 | 国产成人综合手机在线播放 | 黄色网址进入 | 欧美日韩一区二区在线观看视频 | 成人丁香乱小说 | 日韩精品一区二区三区免费视频 | 午夜毛片不卡高清免费 | 亚洲精品视频免费观看 | 看久久久久毛片婷婷色 | 91网站网站网站在线 | 在线观看免费视频网站色 | 国产精品亚洲高清一区二区 | 日韩免费一区二区三区在线 | 亚洲美女免费视频 | 久久成人a毛片免费观看网站 | 最近中文字幕在线 | 中文 | 中文字幕亚洲一区二区三区 | 孕妇一级片 |