自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

文檔如何自動(dòng)化部署到線上環(huán)境「每個(gè)前端都可以擁有自己的博客」

開發(fā) 前端 自動(dòng)化
說起文檔,我們可能會(huì)第一時(shí)間會(huì)想起很多技術(shù)文檔,比如Vue.js文檔、React.js文檔、TypeScript文檔,它們都有相似的布局和樣式。

前言

說起文檔,我們可能會(huì)第一時(shí)間會(huì)想起很多技術(shù)文檔,比如Vue.js文檔、React.js文檔、TypeScript文檔,它們都有相似的布局和樣式。

那么,作為開發(fā)者的我們,怎么不也搞一個(gè)類似于技術(shù)文檔的網(wǎng)站作為自己的博客呢?現(xiàn)在有很多開源的項(xiàng)目可以做博客,比如基于Vue.js開發(fā)的Vuepress以及同一家的Vitepress,還有基于React.js開發(fā)的Docusaurus。這么多方案,我們今天就拿Vuepress為例來(lái)搞一下線上可以訪問的博客。

在開始實(shí)戰(zhàn)之前呢!透露一下最近在搞得開源庫(kù)Strve.js,它是一個(gè)可以將字符串轉(zhuǎn)換為視圖的JS庫(kù),換句話講,也可以說是一款輕量的MVVM框架。目前Strve.js官方文檔就是用的基于Vuepress來(lái)進(jìn)行開發(fā)部署的,感興趣的可以訪問下方的官方文檔源碼地址,可以根據(jù)我的來(lái)進(jìn)行自定義配置自己的博客網(wǎng)站。如果覺得不錯(cuò)的話,別忘了幫忙點(diǎn)個(gè)Star啊!

Strve.js官方文檔源碼地址

  1. https://github.com/maomincoding/strvejs-doc 

Strve.js官方文檔

  1. https://maomincoding.github.io/strvejs-doc/ 

實(shí)戰(zhàn)

自己親身實(shí)戰(zhàn)所攢下的經(jīng)驗(yàn),請(qǐng)認(rèn)真往下看哦!

學(xué)習(xí)一個(gè)新技術(shù),我們首先做得事就是打開官網(wǎng)文檔,根據(jù)快速上手或者指南來(lái)進(jìn)行大致的了解。

第一步

打開Vuepress官網(wǎng):

  1. https://vuepress.vuejs.org/zh/ 

官網(wǎng)上怎么安裝Vuepress項(xiàng)目已經(jīng)很詳細(xì)了,這里就不再闡述,可以根據(jù)快速上手快速搭建一個(gè)Vuepress項(xiàng)目。

  1. https://vuepress.vuejs.org/zh/guide/getting-started.html 

一般搭建完成之后,會(huì)顯示以下目錄結(jié)構(gòu):

  1. ├── docs 
  2. │   ├── .vuepress (可選的) 
  3. │   │   ├── components (可選的) 
  4. │   │   ├── theme (可選的) 
  5. │   │   │   └── Layout.vue 
  6. │   │   ├── public (可選的) 
  7. │   │   ├── styles (可選的) 
  8. │   │   │   ├── index.styl 
  9. │   │   │   └── palette.styl 
  10. │   │   ├── templates (可選的, 謹(jǐn)慎配置) 
  11. │   │   │   ├── dev.html 
  12. │   │   │   └── ssr.html 
  13. │   │   ├── config.js (可選的) 
  14. │   │   └── enhanceApp.js (可選的) 
  15. │   │  
  16. │   ├── README.md 
  17. │   ├── guide 
  18. │   │   └── README.md 
  19. │   └── config.md 
  20. │  
  21. └── package.json 

第二步

假設(shè)你已經(jīng)在第一步中成功搭建起了項(xiàng)目,并且成功啟動(dòng)。下面,我們將會(huì)改改代碼看下都是什么效果。

首先,我會(huì)看下這個(gè)文件doc > README.md,這個(gè)文件你可以把它理解成首頁(yè)。

  1. ├─ docs 
  2. │  ├─ README.md 

以Strve.js文檔首頁(yè)為例:

  1. --- 
  2. home: true 
  3. heroImage: /logo.png 
  4. heroText: Strve.js 
  5. tagline: 一個(gè)可以將字符串轉(zhuǎn)換為視圖的JS庫(kù) 
  6. actionText: 快速上手 → 
  7. actionLink: /zh/started/ 
  8. features: 
  9. - title: ⚡️ 快速地 
  10.   details: 超快的虛擬 DOM。 
  11. - title: 📦 空間小 
  12.   details: 源代碼文件大小僅僅4kb。 
  13. - title: 🗂 靈活地 
  14.   details: 易于靈活地拆裝不同的代碼塊。 
  15. footer: MIT Licensed | Copyright © 2021-present maomincoding 
  16. --- 

上面的格式是Front Matter,可以根據(jù)官方文檔進(jìn)行詳細(xì)配置。

  1. https://vuepress.vuejs.org/zh/theme/default-theme-config.html#首頁(yè) 

第三步

那么下面你需要關(guān)注的是Vuepress配置文件——config.js。

  1. ├─ docs 
  2. │  └─ .vuepress 
  3. │     └─ config.js 

同樣,拿Strve.js官網(wǎng)文檔為例:

  1. module.exports = { 
  2.     base: '/strvejs-doc/', // /site/strvejs/ 
  3.     title: 'Strve.js'
  4.     description: 'A JS library that can convert strings into view'
  5.     head: [ 
  6.         ['link', { rel: 'icon', href: '/logo.png' }], 
  7.     ], 
  8.     markdown: { 
  9.         lineNumbers: true 
  10.     }, 
  11.     locales: { 
  12.         '/': { 
  13.             lang: 'en-US'
  14.             title: 'Strve.js'
  15.             description: 'A JS library that can convert strings into view' 
  16.         }, 
  17.         '/zh/': { 
  18.             lang: 'zh-CN'
  19.             title: 'Strve.js'
  20.             description: '一個(gè)可以將字符串轉(zhuǎn)換為視圖的JS庫(kù)' 
  21.         } 
  22.     }, 
  23.     themeConfig: { 
  24.         displayAllHeaders: true
  25.         sidebar: 'auto'
  26.         sidebarDepth:4, 
  27.         nav: [ 
  28.             { text: 'GitHub', link: 'https://github.com/maomincoding/strve' } 
  29.         ], 
  30.         locales: { 
  31.             '/': { 
  32.                 selectText: 'Languages'
  33.                 label: 'English'
  34.                 ariaLabel: 'Languages'
  35.                 sidebar: [ 
  36.                     { 
  37.                         title: 'Introduce'
  38.                         path: '/introduce/'
  39.                     }, 
  40.                     { 
  41.                         title: 'Install'
  42.                         path: '/install/'
  43.                     }, 
  44.                     { 
  45.                         title: 'Started'
  46.                         path: '/started/'
  47.                     }, 
  48.                     { 
  49.                         title: 'Usage'
  50.                         path: '/usage/'
  51.                     }, 
  52.                     { 
  53.                         title: 'Tool'
  54.                         path: '/tool/'
  55.                     }, 
  56.                     { 
  57.                         title: 'Other'
  58.                         path: '/other/'
  59.                     } 
  60.                 ], 
  61.             }, 
  62.             '/zh/': { 
  63.                 selectText: '選擇語(yǔ)言'
  64.                 label: '簡(jiǎn)體中文'
  65.                 sidebar: [ 
  66.                     { 
  67.                         title: '介紹'
  68.                         path: '/zh/introduce/'
  69.                     }, 
  70.                     { 
  71.                         title: '安裝'
  72.                         path: '/zh/install/'
  73.                     }, 
  74.                     { 
  75.                         title: '快速上手'
  76.                         path: '/zh/started/'
  77.                     }, 
  78.                     { 
  79.                         title: '使用'
  80.                         path: '/zh/usage/'
  81.                     }, 
  82.                     { 
  83.                         title: '工具'
  84.                         path: '/zh/tool/'
  85.                     }, 
  86.                     { 
  87.                         title: '其它'
  88.                         path: '/zh/other/'
  89.                     } 
  90.                 ], 
  91.             } 
  92.         }, 
  93.         smoothScroll: true 
  94.     } 

看到這些配置不要慌,都可以從官方文檔配置選項(xiàng)中可以找到。

  1. https://vuepress.vuejs.org/zh/config/ 

其次,需要重點(diǎn)說明的是我這里/和/zh是提供了多語(yǔ)言支持配置路徑,可以通過官方文檔的多語(yǔ)言支持選項(xiàng)進(jìn)行配置。

第四步

我之所以很簡(jiǎn)單地概括前面的步驟,是因?yàn)楣倬W(wǎng)文檔講解的比我更明白更詳細(xì),我也不想浪費(fèi)大家的時(shí)間。

下面,我們就要開始部署。在部署打包之前呢!我們首先要注意的是配置文件,我們回到之前的配置文件。

我們需要注意的是base選項(xiàng),

  1. module.exports = { 
  2.     base: '/strvejs-doc/',  
  3.     title: 'Strve.js'
  4.     description: 'A JS library that can convert strings into view'
  5.     head: [ 
  6.         ['link', { rel: 'icon', href: '/logo.png' }], 
  7.     ] 

打開package.json文件。

  1.   "name""strvejsdoc"
  2.   "version""1.0.0"
  3.   "description""Strve.js document address"
  4.   "main""index.js"
  5.   "license""MIT"
  6.   "private"false
  7.   "scripts": { 
  8.     "dev""vuepress dev docs"
  9.     "build""vuepress build docs" 
  10.   }, 
  11.   "devDependencies": { 
  12.     "vuepress""^1.8.2" 
  13.   } 

我們看到"scripts"屬性下有"build"指令。運(yùn)行打包即可。

打包后,默認(rèn)會(huì)打包到dist文件夾中,你可以把文件夾中的內(nèi)容放到線上網(wǎng)站上去,如果沒有網(wǎng)站,也沒有關(guān)系。本篇文章就是讓每個(gè)前端都擁有一個(gè)屬于自己的博客線上網(wǎng)站。

  1. ├── docs 
  2. │   ├── .vuepress 
  3. │   │   ├── dist 

第五步

我們會(huì)用到GitHub,所以需要?jiǎng)?chuàng)建一個(gè)倉(cāng)庫(kù),名字可以起一個(gè)好記的。我這里因?yàn)槭且許trve.js為例,所以名為strvejs-doc。然后你需要做的是使用SSH方式Clone下來(lái)。

如果沒有配置SSH的可以根據(jù)我下面的步驟操作一下。

切換到 .ssh目錄

  1. cd ~/.ssh 

瀏覽文件夾目錄

  1. ls 

輸入你的郵箱(郵箱不必與GitHub賬號(hào)相同,個(gè)人郵箱即可),然后一直回車

  1. ssh-keygen -t rsa -C "郵箱" 

自動(dòng)啟動(dòng)

  1. eval "$(ssh-agent -s)" 

添加文件

  1. ssh-add ~/.ssh/id_rsa 

查看 id_rsa.pub 文件的內(nèi)容,復(fù)制一下,留存。

  1. cat id_rsa.pub 

下面,我們就要打開Github,點(diǎn)擊右上角個(gè)人頭像下拉菜單中的Settings選項(xiàng),然后點(diǎn)擊左邊欄的SSH and GPG keys選項(xiàng)。

點(diǎn)擊 New SSH key 按鈕。

輸入Title 下的內(nèi)容,這里隨便起一個(gè)好記的標(biāo)題。

然后輸入Key 下的內(nèi)容,把剛才保存的id_rsa.pub 文件的內(nèi)容復(fù)制到里面。

現(xiàn)在,大功告成!

以后,你只需要復(fù)制項(xiàng)目倉(cāng)庫(kù)中 Clone按鈕下的 SSH 選項(xiàng)框中的鏈接。

然后,Clone 這個(gè)鏈接即可。

Clone 下倉(cāng)庫(kù)之后,然后可以把剛才Vuepress項(xiàng)目導(dǎo)入進(jìn)去。

最后,Push一下。

第六步

首先,我們需要?jiǎng)?chuàng)建一個(gè)分支,比如命名pages。然后,打開GitHub遠(yuǎn)程倉(cāng)庫(kù),點(diǎn)擊項(xiàng)目倉(cāng)庫(kù)Tab欄上的Settings選項(xiàng),然后點(diǎn)擊Pages選項(xiàng)。

最后,在Source下選擇剛才創(chuàng)建的pages分支,然后選擇/(root),點(diǎn)擊Save保存按鈕。

不出意外,上方會(huì)給出一個(gè)網(wǎng)址,這里我們先保存一下,待會(huì)配置完成我們?cè)冱c(diǎn)擊瀏覽網(wǎng)址。

第七步

在項(xiàng)目根目錄下創(chuàng)建一個(gè)deploy.sh文件,編輯如下內(nèi)容:

  1. #!/usr/bin/env sh 
  2.  
  3. set -e 
  4.  
  5. npm run build 
  6.  
  7. cd docs/.vuepress/dist 
  8.  
  9. git init 
  10. git add -A 
  11. git commit -m 'deploy' 
  12.  
  13. # 如果發(fā)布到 https://<USERNAME>.github.io/<REPO> 
  14. git push -f git@github.com:<USERNAME>/<REPO>.git master:pages 
  15.  
  16. cd - 

這里你需要自定義的是:USERNAME、REPO、master:pages,分別對(duì)應(yīng)用戶名、倉(cāng)庫(kù)名、(一般是master:分支名或者main:分支名)。

第八步

我們?cè)趐ackage.json文件中定義一個(gè)調(diào)試命令。

  1. "scripts": { 
  2.     "sh":"bash deploy.sh" 

然后運(yùn)行此命令。

最后,我們?cè)跒g覽器上打開剛才的網(wǎng)址。

以后,每次更改文檔,只需一條命令,即可更新線上網(wǎng)站。

結(jié)語(yǔ) 

自動(dòng)化部署還有別的方案比如Github中的Actions,這里就不再詳細(xì)介紹了。趕快來(lái)試試上面的方案吧!部署一個(gè)屬于自己的博客。

責(zé)任編輯:武曉燕 來(lái)源: 前端歷劫之路
相關(guān)推薦

2022-04-20 06:56:33

Strve.js前端

2021-12-19 07:22:16

Create前端工具

2019-09-19 09:02:52

開發(fā)者技能工具

2016-07-05 16:30:10

碳云智能數(shù)字化生命

2022-03-07 10:27:03

Linux開源社區(qū)

2019-08-09 10:52:58

Linux內(nèi)核Spark

2021-12-23 06:07:21

前端技術(shù)編程

2021-10-14 06:52:47

自動(dòng)化開發(fā)環(huán)境

2020-12-08 06:20:49

前端重構(gòu)Vue

2014-08-22 09:14:57

2018-02-25 09:00:00

LinuxQ4OS開源

2023-02-09 23:03:22

前端后端json

2023-03-06 08:41:32

CPU使用率排查

2013-09-03 09:58:51

Web前端

2024-04-19 16:15:30

云計(jì)算

2023-07-06 14:43:46

數(shù)字化轉(zhuǎn)型數(shù)據(jù)資源

2023-04-03 09:44:18

2013-03-22 15:15:28

自動(dòng)化管理部署虛擬化

2014-07-04 11:00:02

IPv6IP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)