成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

文檔如何自動化部署到線上環境「每個前端都可以擁有自己的博客」

開發 前端 自動化
說起文檔,我們可能會第一時間會想起很多技術文檔,比如Vue.js文檔、React.js文檔、TypeScript文檔,它們都有相似的布局和樣式。

前言

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

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

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

Strve.js官方文檔源碼地址

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

Strve.js官方文檔

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

實戰

自己親身實戰所攢下的經驗,請認真往下看哦!

學習一個新技術,我們首先做得事就是打開官網文檔,根據快速上手或者指南來進行大致的了解。

第一步

打開Vuepress官網:

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

官網上怎么安裝Vuepress項目已經很詳細了,這里就不再闡述,可以根據快速上手快速搭建一個Vuepress項目。

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

一般搭建完成之后,會顯示以下目錄結構:

  1. ├── docs 
  2. │   ├── .vuepress (可選的) 
  3. │   │   ├── components (可選的) 
  4. │   │   ├── theme (可選的) 
  5. │   │   │   └── Layout.vue 
  6. │   │   ├── public (可選的) 
  7. │   │   ├── styles (可選的) 
  8. │   │   │   ├── index.styl 
  9. │   │   │   └── palette.styl 
  10. │   │   ├── templates (可選的, 謹慎配置) 
  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 

第二步

假設你已經在第一步中成功搭建起了項目,并且成功啟動。下面,我們將會改改代碼看下都是什么效果。

首先,我會看下這個文件doc > README.md,這個文件你可以把它理解成首頁。

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

以Strve.js文檔首頁為例:

  1. --- 
  2. home: true 
  3. heroImage: /logo.png 
  4. heroText: Strve.js 
  5. tagline: 一個可以將字符串轉換為視圖的JS庫 
  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,可以根據官方文檔進行詳細配置。

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

第三步

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

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

同樣,拿Strve.js官網文檔為例:

  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: '一個可以將字符串轉換為視圖的JS庫' 
  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: '選擇語言'
  64.                 label: '簡體中文'
  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.     } 

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

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

其次,需要重點說明的是我這里/和/zh是提供了多語言支持配置路徑,可以通過官方文檔的多語言支持選項進行配置。

第四步

我之所以很簡單地概括前面的步驟,是因為官網文檔講解的比我更明白更詳細,我也不想浪費大家的時間。

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

我們需要注意的是base選項,

  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"指令。運行打包即可。

打包后,默認會打包到dist文件夾中,你可以把文件夾中的內容放到線上網站上去,如果沒有網站,也沒有關系。本篇文章就是讓每個前端都擁有一個屬于自己的博客線上網站。

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

第五步

我們會用到GitHub,所以需要創建一個倉庫,名字可以起一個好記的。我這里因為是以Strve.js為例,所以名為strvejs-doc。然后你需要做的是使用SSH方式Clone下來。

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

切換到 .ssh目錄

  1. cd ~/.ssh 

瀏覽文件夾目錄

  1. ls 

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

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

自動啟動

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

添加文件

  1. ssh-add ~/.ssh/id_rsa 

查看 id_rsa.pub 文件的內容,復制一下,留存。

  1. cat id_rsa.pub 

下面,我們就要打開Github,點擊右上角個人頭像下拉菜單中的Settings選項,然后點擊左邊欄的SSH and GPG keys選項。

點擊 New SSH key 按鈕。

輸入Title 下的內容,這里隨便起一個好記的標題。

然后輸入Key 下的內容,把剛才保存的id_rsa.pub 文件的內容復制到里面。

現在,大功告成!

以后,你只需要復制項目倉庫中 Clone按鈕下的 SSH 選項框中的鏈接。

然后,Clone 這個鏈接即可。

Clone 下倉庫之后,然后可以把剛才Vuepress項目導入進去。

最后,Push一下。

第六步

首先,我們需要創建一個分支,比如命名pages。然后,打開GitHub遠程倉庫,點擊項目倉庫Tab欄上的Settings選項,然后點擊Pages選項。

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

不出意外,上方會給出一個網址,這里我們先保存一下,待會配置完成我們再點擊瀏覽網址。

第七步

在項目根目錄下創建一個deploy.sh文件,編輯如下內容:

  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. # 如果發布到 https://<USERNAME>.github.io/<REPO> 
  14. git push -f git@github.com:<USERNAME>/<REPO>.git master:pages 
  15.  
  16. cd - 

這里你需要自定義的是:USERNAME、REPO、master:pages,分別對應用戶名、倉庫名、(一般是master:分支名或者main:分支名)。

第八步

我們在package.json文件中定義一個調試命令。

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

然后運行此命令。

最后,我們在瀏覽器上打開剛才的網址。

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

結語 

自動化部署還有別的方案比如Github中的Actions,這里就不再詳細介紹了。趕快來試試上面的方案吧!部署一個屬于自己的博客。

責任編輯:武曉燕 來源: 前端歷劫之路
相關推薦

2022-04-20 06:56:33

Strve.js前端

2021-12-19 07:22:16

Create前端工具

2019-09-19 09:02:52

開發者技能工具

2016-07-05 16:30:10

碳云智能數字化生命

2022-03-07 10:27:03

Linux開源社區

2019-08-09 10:52:58

Linux內核Spark

2021-12-23 06:07:21

前端技術編程

2025-05-09 10:00:00

Vue開發調試

2021-10-14 06:52:47

自動化開發環境

2020-12-08 06:20:49

前端重構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前端

2023-04-03 09:44:18

2023-07-06 14:43:46

數字化轉型數據資源

2024-04-19 16:15:30

云計算

2013-03-22 15:15:28

自動化管理部署虛擬化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 动漫www.被爆羞羞av44 | 日韩午夜在线播放 | 99久久婷婷国产综合精品电影 | 亚洲高清在线免费观看 | 亚洲欧洲一区 | av日日操 | 在线观看成人av | av午夜电影 | 蜜桃视频在线观看免费视频网站www | 91在线看视频 | 黑人巨大精品 | av大片在线 | 欧美一级毛片在线播放 | 激情欧美一区二区三区中文字幕 | 日韩精品一区二区三区在线观看 | 亚洲天堂日韩精品 | 日本a视频| 亚洲日韩中文字幕一区 | 国产一区| 亚洲啊v在线 | 日韩精品视频一区二区三区 | 亚洲欧美综合 | 日韩三片 | av中文字幕在线播放 | 亚洲精品一区二区三区蜜桃久 | 中文字幕视频在线免费 | 国产大片一区 | 色男人天堂av| 国产男女视频网站 | 欧美成视频| 日韩精品一区二区三区久久 | 美女黄网站 | 九九热这里只有精品6 | 四虎av电影 | 羞羞视频免费观 | www国产亚洲精品久久网站 | 免费久久久| 蜜月va乱码一区二区三区 | 精品国产乱码久久久久久闺蜜 | 日韩三 | 亚洲 欧美 日韩在线 |