主頁 > 企業開發 > 在網路世界上安一個家

在網路世界上安一個家

2020-09-19 23:16:43 企業開發

一、前言

最近因為忙于專案,所以都沒時間更新文章了,正好也在帶幾個實習小妹,所以也建議他們要善于思考,學會總結,多寫寫筆記,便于記憶與查閱,

授人以魚不如授人以漁,

當然了,在你寫寫筆記的同時,也可以以博客的形式發表個人的筆記,現在網路上又很多博客平臺,我們都可以直接在上面發表,但是在這些平臺存在比較不自由,會受到各種限制等等,所以,你就可以考慮搭建一個屬于自己的平臺,一個在網路世界中屬于自己的家,

好記性不如爛筆頭,將網路筆記當做自己的網路中的家,可以隨時隨地的查看,不受限制,

如果你有足夠的成本和時間,完全可以自己寫一個博客程式,通過購買服務器并部署自己撰寫的博客程式,定期的維護,通過這種方式搭建屬于自己的家,當然了,這種方式可行但卻太耗精力和成本,所以有的人建議,在github page平臺上托管我們的博客,這樣就可以安心的來寫作,又不需要定期維護,而且hexo作為一個快速簡潔的博客框架,用它來搭建博客真的非常容易,

各抒己見,每個人都可以通過自己的方式搭建一個家,

我來說說寫博客的好處吧:

  1. 當你把經驗的總結寫成博客的時候思路會很清晰,會有新的啟發,尤其是自己實踐過后的思考總結;

  2. 當遇到問題,并解決的時候,可以給自己的技術和解決思路做存檔,加深記憶,這樣即使過一段時間忘了或者以后需要又或者遇到相同問題的時候,你就可以打開自己的博客看到自己的記錄了;

  3. 可以記錄自己的成長,記錄自己的作業與生活;

  4. 當然了,博客給你帶來的另一些價值利益好處就不言而喻了,

總的來說,你寫了博客和不寫,肯定識訓是不一樣的,

而在本文中,采取的方式利用hexo作為一個快速簡潔的博客框架,用它來搭建博客,但因為部署托管到github page平臺上有時候網路受限訪問太慢了,所以就托管到并發布部署到自己的服務器上,這樣不僅可以快速搭建訪問博客也能將資料保存在自己手上,

Hexo是一款基于Node.js的靜態博客框架, 可以快速生成靜態檔案,訪問速度快;

方便快捷,可以搭建一個自由的個人博客,不需要后臺;

資料安全,可以自行保存自己的筆記資料;

博客內容文章可以輕松快速打包、轉移、發布到其它平臺,

hexo

二、準備

  1. 安裝git客戶端 (為了展示效果,我是用的window環境下安裝git客戶端)

  2. 安裝node.js (這個可以看之前的文章)

  3. 有一個個人github賬號(沒有的可以注冊一個)(如果有服務器的話,可以直接使用服務器)

    (本文不對git部署方式進行說明,可自行網上查閱,)

  4. 熟悉markdown語法,(便于后續通過markdown語法撰寫文章)

官網建議Node.js 版本需不低于 10.13,建議使用 Node.js 12.0 及以上版本,

本文用的環境:

node.js@ 12.13.1 ( 指令 :node -v)

hexo @ 5.1.1 ( 指令 :hexo -v)

git @ 2.24 ( 指令 :git version)

三、搭建

3.1 安裝 Hexo 包

npm install -g hexo

注意

安裝以后,可以通過 Hexo 指定的方式執行相應的操作,

如果出現 hexo不存在的情況,需要將 Hexo 所在的目錄下的 node_modules 添加到環境變數之中即可直接使用 hexo <command>

環境變數下:

環境變數

3.2 初始化

在指定檔案位置新建一個檔案夾,如果本文的路徑F:\site, 切換到相應的檔案夾目錄后,通過初始化的

方式將代碼存放在這個檔案目錄下

hexo init

1970944824

初始化后生成的以下目錄結構如下:

3.3 生成

hexo g

執行生成指令后,檔案目錄下就會有public檔案夾,對應的生成相關的html檔案,這個public檔案夾目錄下的檔案是可以進行部署個人服務器發布或提交到github上面進行部署的,

3.4 啟動

hexo s

啟動服務,這個是可以進行本地預覽效果的,默認埠4000,打開就可以看到你即將部署的站點的模樣了,

通過以上步驟,hexo已經為我們搭建一個站點的框架和默認的主題樣式,當然了,你也可以根據自己的喜歡選擇相應的官方主題進行修改,

四、更換主題

本文采用的主題是 hexo-theme-matery, 當然了,我自己現在用的也是這個主題,

4.1 下載

切換到目錄 F:\site\themes 執行下載主題

git clone https://github.com/blinkfox/hexo-theme-matery.git

下載完之后,將F:\site目錄下的_config.yml中的theme:landscape改為我們想要的主題theme: hexo-theme-matery, 然后再次執行 hexo g指令重新生成,

如果出現問題,可以嘗試先執行hexo clean清理public檔案夾的內容,再重新生成hexo g和發布,

再次啟動服務hexo s,這次可以預覽到的效果就是我們更換主題后想要的效果了,

4.2 配置

4.2.1 新建分類 categories 頁

categories 頁是用來展示所有分類的頁面,如果在你的博客 source 目錄下還沒有 categories/index.md 檔案,那么你就需要新建一個,命令如下:

hexo new page "categories"

編輯你剛剛新建的頁面檔案 /source/categories/index.md,至少需要以下內容:

---
title: "分類"
date: 2020-09-13 17:06:27
type: "categories"
layout: "categories"
---

4.2.2 新建標簽 tags 頁

tags 頁是用來展示所有標簽的頁面,如果在你的博客 source 目錄下還沒有 tags/index.md 檔案,那么你就需要新建一個,命令如下:

hexo new page "tags"

編輯你剛剛新建的頁面檔案 /source/tags/index.md,至少需要以下內容:

---
title: "標簽"
date: 2020-09-13 17:07:18
type: "tags"
layout: "tags"
---

4.2.3 新建關于我 about 頁

about 頁是用來展示關于我和我的博客資訊的頁面,如果在你的博客 source 目錄下還沒有 about/index.md 檔案,那么你就需要新建一個,命令如下:

hexo new page "about"

編輯你剛剛新建的頁面檔案 /source/about/index.md,至少需要以下內容:

---
title: about
date: 2020-09-13 17:07:42
type: "about"
layout: "about"
---

4.2.4 新建 404 頁

如果在你的博客 source 目錄下還沒有 404.md 檔案,那么你就需要新建一個

編輯你剛剛新建的頁面檔案 /source/404.md,至少需要以下內容:

---
title: 404
date: 2018-09-30 17:25:30
type: "404"
layout: "404"
description: "Oops~,我崩潰了!找不到你想要的頁面 :("
---

4.2.4 代碼高亮

由于 Hexo 自帶的代碼高亮主題顯示不好看,所以主題中使用到了 hexo-prism-plugin 的 Hexo 插件來做代碼高亮,安裝命令如下:

npm i -S hexo-prism-plugin

然后,修改 Hexo 根目錄下 _config.yml 檔案中 highlight.enable 的值為 false,并新增 prism 插件相關的配置,主要配置如下:

highlight:
  enable: false

prism_plugin:
  mode: 'preprocess'    # realtime/preprocess
  theme: 'tomorrow'
  line_number: false    # default false
  custom_css:

4.2.5 搜索

本主題中還使用到了 hexo-generator-search 的 Hexo 插件來做內容搜索,安裝命令如下:

npm install hexo-generator-search --save

在 Hexo 根目錄下的 _config.yml 檔案中,新增以下的配置項:

search:
  path: search.xml
  field: post

4.2.6 中文鏈接轉拼音

如果你的文章名稱是中文的,那么 Hexo 默認生成的永久鏈接也會有中文,這樣不利于 SEO,且 gitment 評論對中文鏈接也不支持,我們可以用 hexo-permalink-pinyin Hexo 插件使在生成文章時生成中文拼音的永久鏈接,

安裝命令如下:

npm i hexo-permalink-pinyin --save

在 Hexo 根目錄下的 _config.yml 檔案中,新增以下的配置項:

permalink_pinyin:
  enable: true
  separator: '-' # default: '-'

:除了此插件外,hexo-abbrlink 插件也可以生成非中文的鏈接,

更多具體的操作,可以查閱該主題的具體的操作檔案說明,

五、部署

根據上文自定義的方式配置主題后,根據自己的需求,修改對應的資訊之后,發布部署,

5.1 部署

如果沒有服務器的可以通過注冊github賬號,通過github pages服務搭建博客,(具體的github發布hexo可以網上查閱)

因為剛好有一個服務器可以使用,暫用的空間也不大,所以我就直接將發布后的檔案部署到服務器上了,系結后域名后,就可以進行訪問,

可以得到如下的效果,

5.2 最終效果

站點地址: http://www.i3yuan.top

六、說明

簡寫指令:

`hexo init` #初始化XX檔案夾名稱
`hexo n "我的第一篇文章"` # 等價于  `hexo new "我的第一篇文章"`還等價于`hexo new post "我的第一篇文章"` 
`hexo p` 等價于 `hexo publish`    #通過 publish 命令將草稿移動到 source/_posts 檔案夾 
`hexo g` 等價于 `hexo generate`  # 生成靜態網頁(生成在public檔案夾)
`hexo s`等價于 `hexo server`     # Hexo 會監視檔案變動并自動更新,除修改站點組態檔外,無須重啟服務器,直接重繪網頁即可生效,
`hexo d` 等價于 `hexo deploy` # 將本地資料部署到遠端服務器(如github)
`hexo deploy -g`  等價于 `hexo deploy --generate`
`hexo generate -d`等價于`hexo generate --deploy
`hexo clean` #清除快取 ,網頁正常情況下可以忽略此條命令,執行該指令后,會刪掉站點根目錄下的public檔案夾

注: hexo clean 沒有 簡寫, git --version 沒有簡寫

npm update hexo -g#升級
npm install hexo -g#安裝
node-v #查看node.js版本號
npm -v #查看npm版本號
git --version #查看git版本號
hexo -v #查看hexo版本號

錯誤

  1. 網頁將代碼中片的 {} 決議為 &#123 的錯誤

    錯誤這個問題,無法轉換{ },直接找到路徑node_modules/hexo_prism_plugin/src/index.js下的檔案,代碼如下:

    const map = {
      '&#39;': '\'',
      '&amp;': '&',
      '&gt;': '>',
      '&lt;': '<',
      '&quot;': '"'
    };
    

    解決方法就是多加&#123&#125對花括號的轉義

    const map = {
      '&#39;': '\'',
      '&amp;': '&',
      '&gt;': '>',
      '&lt;': '<',
      '&quot;': '"',
      '&#123': '{',
      '&#125': '}'
    };
    

    這里的采用的方式是直接找到對應的原始碼修改代碼里面內容,實作花括號轉換問題,當然了,你也可以采取別的方式,歡迎指定,提出更好的方案,

    如果你在使用搭建程序中也遇到其他問題,可以評論提出,方便大家一并學習匯總,

七、總結

  1. 在后續中我們可以通過Markdown撰寫博客文章,發布到各個平臺的同時,也可以發布到自己搭建的個人博客站點,方便自己學習記錄,便于查閱,
  2. 如果有不對的或不理解的地方,希望大家可以多多指正,提出問題,一起討論,不斷學習,共同進步,
  3. 本文中參考資料: Hexo官方簡介 、hexo-theme-matery主題

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/84207.html

標籤:Html/Css

上一篇:移動端適配的最佳實踐

下一篇:WEB前端第四十六課——jQuery框架(四)關系節點

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more