惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
S
SegmentFault 最新的问题
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
T
Threatpost
T
Tenable Blog
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
C
Cisco Blogs
H
Heimdal Security Blog
Attack and Defense Labs
Attack and Defense Labs
A
About on SuperTechFans
Last Week in AI
Last Week in AI
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
I
Intezer
V
V2EX
Cyberwarzone
Cyberwarzone
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
B
Blog RSS Feed
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
PCI Perspectives
PCI Perspectives
P
Privacy International News Feed
D
Docker

山月

在VS Code配置Obsidian風格Markdown編輯環境 – 山月 在Windows通过LM Studio使用Zotero MCP – 山月 禁用WordPress中Jetpack的AI助手按钮 – 山月 WordPress/MCP Adapter安装与维护指南 – 山月 WordPress服务器权限与所有权配置详解 – 山月 在Windows上為GnuCash啟用線上報價 (Finance::Quote) – 山月 Gitea Docker /var/empty 权限问题除错总结 – 山月 Bookwyrm由0.7.5升级至Production(e217a17)完整过程及疑难解答 – 山月 用正则表达式修改ruby标签 – 山月 为WordPress Syndication Links插件添加新的站点与图标的实现方法 – 山月 进入不断重启的Docker容器的命令行之方法 – 山月 自建Bookwyrm无法查询远端用户?——开启数据库扩展 – 山月 BookWyrm无法增添书本、作者、阅读进度……?——解决数据库自增序列问题 – 山月 俾Docker容器中的应用访问宿主机上的数据库服务 – 山月 QNAP NAS使用者注意!千万莫对MariaDB做这件事…… – 山月 解决Wikibase手动导入数据后无法新建实体之问题 – 山月 辰年再訪神保町 – 山月 PHP-FPM站点池配置调优以解决WordPress过度占用系统资源之问题 – 山月 如果Linux软件包常规升级失败——以python3-update-manager为例 – 山月 解决站点526报错:SSL证书配置错误 – 山月 風挾着陽光來 – 山月 和A.N.R.GHG插件说bye-bye – 山月 WordPress页面链接末尾出现“?swcfpc=1”后缀,是怎么回事? – 山月 安装、维护Monica PRM的一些笔记 – 山月 清理服务器空间的着手点 – 山月 关于Joplin Server文件上传大小上限 – 山月 如何优化PHP文件上传大小:完整指南 – 山月 WordPress站点部分地出现“严重错误”的一些可能的解法 – 山月 批量更改WordPress媒体URL – 山月 自托管WordPress编辑文章出现问题的排查法 – 山月 於Docker安裝sudo之方法 – 山月 于YunoHost网页版后台装pgAdmin4失败之解决方法 – 山月 解决WordPress多站点网络下异域名子站登录失败的问题 – 山月 Linux的SWAP配置建议与方法 – 山月 如何从一个.sql文件中恢复(导入)数据到MySQL数据库 – 山月 橙色的天,金色的鯉魚 – 山月 設置SoftBank光IP地址固定分配時MAC地址報錯之解決方法 – 山月 解决自托管WordPress与Jetpack通信之不畅 – 山月 解决WordPress上传超过100M文件失败的问题——用Cloudflare作为CDN服务时 – 山月 自托管WordPress迁至新服务器时可能遇到的一些问题 – 山月 Jetpack server port value报错之解决方法 – 山月 Nextcloud服务器目录中/data/updater-(12个英数字)文件夹可删除 – 山月 使WP IndieBlocks、Webmention两插件配合工作 – 山月 导致WordPress钩子(hooks)重复调用的一个可能性——插件重复安装 – 山月 为WordPress自定义贴文类型设置默认格式(post format) – 山月 为Micropub客户端所发内容设置默认post type – 山月 让WordPress的自定义post type支持post formats – 山月 在WordPress通过古腾堡块编辑器验证您的Mastodon身份 – 山月 如何将Mastodon上关注的人导入至Friendica – 山月 在WordPress上发Mastodon的一个选项:Shortnotes+Share on Mastodon – 山月 祝WordPress 20周年快乐!(节译) – 山月 更改IndieBlocks札记(note)、喜欢(like)slug之方法 – 山月 改变Friendica域名之方法 – 山月 爲WordPress添上在線Markdown、HTML互轉工具 – 山月 內排散記 – 山月 长毛象(Mastodon)简介:多中心化、细粒度公开、多样时间轴 – 山月 教ChatGPT讲福州话 – 山月 WordPress项目管理插件使用心得 – 山月 汉字词“地震”之前,日语中表达地震的本土词 – 山月 “幸”与“福”的区别 – 山月 Koha 22.05安装教程(于Ubuntu 20.04 LTS) – 山月 《日本外來語辭典》讀書筆記 – 山月 “传毒”——童年游戏回忆一则 – 山月 WordPress多站点网络分布于不同主域名时登录管理后台出现cookie错误的解决方案 – 山月 如何为WordPress多站点设置不同的子目录、子域名,甚至主域名? – 山月 重温《日语的历史》 – 山月 东京教父:关于爱与救赎 – 山月 2021年末,豆瓣更新了它的条款…… – 山月 WordPress报错“Briefly unavailable for scheduled maintenance.”的解决方法 – 山月 日语里的「原形」「辞书形」「终止形」是什么? – 山月 《福州方言大词典》读后感 – 山月 一種美觀的由Hubzilla分享RSS資訊的方法 – 山月 《我们仨》中与《宋诗选注》相关的记载 – 山月 亂彈文忠公宴番仔事 – 山月 一本清代土腔谜语集引发的回忆 – 山月 迎圣火 – 山月 凝滞在方言里的时光 – 山月 站在新庄园门前 – 山月 长星照耀州府 – 山月 虚拟币与赛博矿难 – 山月 记忆、记录与创造 – 山月 几日来写作微信推文的反思 – 山月 对OKR工作管理法的归纳总结 – 山月 同人誌之夢 – 山月 那里人很爱诗词 – 山月 从语言学看两性语言差异 – 山月 南门兜素菜馆 – 山月 闽海痛史 – 山月 东京的西方建筑遗产 – 山月 真实的华人电影 – 山月 记观《只有野兽知道》 – 山月 记早稻田祭 – 山月 《鬼灭之刃》日语札记 – 山月 颱風前夜的仙草凍 – 山月 首篇博文 – 山月 我到底是转厝了 – 山月 CM96暴走记 – 山月 薄暮逐島 – 山月 人与神的共振 – 山月 逐集罔讲罔听 – 山月
Hexo+NexT建站難關隨錄 – 山月
2019-08-26 · via 山月

覓址

搭建

安裝框架(Hexo)

我的博客在「理論上」誕生的一瞬的截圖。內容爲空白頁面
我的博客在「理論上」誕生的一瞬

Hexo的使用方法,參見其官方文檔

文本編碼

嘗試發佈一篇文章後,發現亂碼,如下圖:

居然一片亂碼
居然一片亂碼

這則需要:

  1. 將文件目錄下的_config.yml保存為UTF-8格式(或者Unicode格式);
  2. 將新添加的.md文件也保存為UTF-8格式(或者Unicode格式);
  3. 然後重新啟動(執行hexo clean && hexo g && hexo s)即可。

於是亂碼變成了我們看得懂的文字:

準確來講,這亦不是我的頭一篇博文。衹不過發佈於幾乎完全屬於自己的博客的,這是頭一篇。

生成index

在博客誕生以後,我陸續向兩位友人推薦了這一搭建博客的方法。一位使用Windows 10系統,一位使用Mac Pro。兩位分別遇到的問題及解決方法,我也一併陳諸本文。

話說用Mac的朋友歷經千辛萬苦,解決了本地軟件的問題,結果部署網站後,卻被告知缺少index頁。

說是缺少index頁
說是缺少index頁

排查原因後,發現有插件未裝,需要執行:

npm install hexo-generator-index --save

首頁便出現了。

安裝主題(NexT)

Hexo默認使用Landscape主題。主題可以更換。在眾多主題中,有個叫NexT的,版面設計清爽大方,集成的功能亦很多。我最終選擇了它。其安裝與基本操作,循著官方文檔就好。

博客框架與主題安裝好之後,大部分操作便可以循著各自的官方文檔進行了。不過官方文檔亦有未逮處,而本文會就此拾遺。

部署博客

由於博客基於GitHub Page,故需在站點配置文件中配置deploy

文章永久鏈接

在站點配置文件填寫permalink格式時,可以考慮在最後添上.html,產生一種靜態網頁的感覺,更有助於搜索引擎優化(SEO)。1

話說安裝好插件後,我嘗試執行hexo generate,以生成靜態網頁文件,順便看看永久域名的生成效果如何。結果飛速完成,其迅捷令人不適復又不安。檢查/public

這是本地/post目錄下的截圖。祇生成了6個頁面,頁面的具體情況下文陳述。

發現祇有幾篇博文生成了隨機數鏈接。而當時的置頂舊文被生成到了undefined。其他文章未被生成。主頁雖然生成,但所有博文鏈接都指向undefined,也就是那篇置頂文。簡直是一場災難。

我一開始以爲插件對存量較大的舊文束手無策,祇能從「新」開始;故沒嘗試再生成一邊靜態網頁,而是觀察其格式,生成了一批8位十六進制隨機數列,打算手動黏貼入每篇文章的Front-matter內。貼了幾篇煩了,隨手hexo g了下,不意全部生成完畢。考慮到未來寫草稿要鏈接的時候,數列也有的用,便留下來了。

生成數列的辦法有很多,如在Excel輸入函數:

=DEC2HEX(RANDBETWEEN(268435456,4294967295))

重複概率為二十萬分之一。2

頂部加載條

頂部加載條可在主題配置文件中啓用並更改樣式

壓縮博客

NexT主題未自帶壓縮博客的功能,有現成的「hexo-all-minifer」插件可以壓縮之。

插件裝載得越多,調用行爲越頻繁,加載網站也就益緩。設計下棋軟件的陳志行先生,過去用的電腦運行太慢,下一步棋的功夫,甚至夠他打一套太極拳了3。而我好幾次訪問自己的博客,祇見眼前一片雪白。我想著加載有時,便開始熱唱TV size的《紅蓮華》。到尾囫圇條歌都唱完去,一字都未加載出;而下拉刷新後,又唱了半條纔加載完成:壓縮博客的需求很迫切了。安裝好這個壓縮插件後,部署網頁,再訪問,確實迅速不少。有了博客剛建好那一刻感受到的Hexo設計者所言之「快速、簡單」4

自定義側邊欄

增刪菜單欄項目、設置頭像、添加個人社交媒體鏈接、添加友情鏈接,都可以在主題配置文件與語言配置文件裏完成

站內搜索

安裝完hexo-generator-searchdb插件,可修改站點與主題的配置文件以啓用並配置之。

博文置頂

NexT自帶置頂功能,不需額外安裝插件。在文章的Front-matter內設置top字段,並設置數值即可。數值越大,文章越靠前。5

「閱讀全文」

首頁上的博文默認顯示全文。若祇想顯示一部分文字,而將餘下的從首頁隱藏起來,祇需在一篇文章當中自己認為比較合適的位處加上<!--more-->。如是在首頁裏,相應文段就會被截斷,代以「閱讀全文」按鈕。6按鈕的文本,可以在主題文件夾的/language目錄下找到對應語言文件修改。

加密文章

修改themes/next/layout/_partials/head.swig應用於文章的Front-matter內即可。

文章內容區域寬度

移動設備與4:3屏幕則已;寬屏之下,NexT內容區域的默認寬度,就會顯得兩邊留白太多了。寬度可在主題目錄下的css文件中修改。

文章頂部信息

文章更新時間

在主題配置文件內將updated_at設置爲true即可7

字數、時長統計功能

安裝hexo-wordcount插件後,在主題配置文件內修改即可。

文章閱讀次數

文章閱讀次數可用Valine統計。

瀏覽進度

欲啓用瀏覽進度條與返回頂部按鈕,修改主題配置文件即可。

文章鏈接

文章的網址格式可以更改。修改站點配置文件permalink字段即可。

訪客統計

NexT集成了不蒜子。但是由於該服務在2015年改換了域名,而NexT用的是如今已經失效的舊域名,所以需要更新域名

我博客新建未久;搬運了不少舊文,也陸續上線許多功能:所以處在一個興奮期內,會不停地打開自己的博客,隨便挑博文看――就像那些エゴサ(搜自己)成癮的人一般――當然也有檢視渲染結果的作用。在不蒜子上線的那個傍晚,我便得到了30餘回全站訪問量。而訪問人數祇有1人――當然就是我自己。這批訪問全都是從安卓平臺的谷歌瀏覽器發出的,看來對訪問者的鑑別做得不錯。唯半暝在iPad上以Safari訪問了12回,每回訪客數都有增加。看來Safari在保護用戶私隱上很有一套。

需要安裝hexo-generator-feed插件,並修改站點配置文件

運營

寫作

Hexo與NexT語法

引文

Hexo支持引用有來源句子、無標題的微博推特、帶標題的網絡文章。如果引用不需要附加其他東西,建議直接用Markdown的大於號

Hexo下可插入擡升式引用。NexT支持文本居中並帶上下分割線的引用

多媒體

Hexo可插入指定尺寸的圖。NexT可插入比文章塊還寬的圖

如果不使用圖牀,可以按Hexo官方提供的辦法設置資源文件夾,並用資源標籤插件引用之。

Hexo支持插入YouTube視頻。其他音樂或視頻需要藉助iframe

同理,想要爲站點設置背景音樂,就將音樂播放器插入網站側邊欄即可。

鏈接

Hexo支持輸入到達站內其他博文的相對鏈接

插入Font Awesome圖標

NexT主題下的文章可直接插入Font Awesome圖標

Markdown語法

Hexo框架提供解析Markdown文檔的插件,並將其渲染爲最終的靜態網頁。Markdown的寫法,在網絡上唾手可得。以下僅列出一些值得提醒的點,並面向習慣Wikitext的維基人簡單介紹兩種語言的區別與相通處。

語法難點拾遺

在Markdown下,文本若要分段,需要鍵入兩次回車,亦即在兩段文本間空出一行,渲染時纔會將該文本裁爲兩段。但如果有多段文本需要**加粗**或者*傾斜*,並不需要在每段之間回車兩次;而祇需要在這一整塊的加粗內容之首尾套上*,中間的分行祇需敲一次回車即可實現。8

在文本前後加兩個半形浪線,如~~刪除~~,可以形成刪除線9

若有多行代碼,在首尾兩行各以三個反引號包含之10。建議每三個反引號各獨佔一行11

如果不希望一些特殊符號被解析(如\*_),可在該符號前加上反斜線(\12。注意,反斜線與反引號互相衝突。

添加角標與尾註

實現此功能需要替換掉Hexo自帶的Markdown渲染器。卸載原有渲染器,安裝hexo-renderer-markdown-it插件,並在站點配置文件配置即可。

與Wikitext的區別

Markdown與Wikitext相異,有一套自己的語法,但是二者都與HTML語法相兼容。

.yml格式注意點

承載博客文章的.md文件,打頭的Front-matter處有以.yml格式寫就的元信息。注意填寫這類元信息時,半角冒號後面祇能跟一個半角空格,多則會在輸出靜態博文時解析錯誤。

本地Markdown編輯器

老是用記事本寫Markdown非長久之計。經比較,我在視窗系統使用Typora,一款所見即所得的編輯器。

這是一張Typora的截圖。截圖反映,在文章存在未保存的變更時,標題欄會冒出大黑點以提醒保存。
若文章有未保存的變更,則會有大烏點提示

在安卓使用易寫。易寫支持文件夾結構,能導出可複製文本及.txt.md.png文件,渲染出.html文件。不過得到的.png裏都是Markdown代碼,未經渲染。

我將本地博客文件夾同步至OneDrive,這樣方便多終端整理博文。而用易寫導出.md後,我便可直接分享進OneDrive的博文目錄下。

網站地圖

截至9月3日凌晨1:03(東八區),我的網站還未被谷歌收錄
截至9月3日凌晨1:03(東八區),我的網站還未被谷歌收錄

網站地圖可以方便搜索引擎派出的爬蟲收錄該網站的內容。

向谷歌提交網站地圖遠未有百度複雜,只需要向谷歌告知網站地圖的網址即可13

不過有的教程提供的設置頁面鏈接,其實是舊版的。訪問後會被告知宜去訪問新版。

被告知此處屬於舊版頁面,不再提供有關功能
被告知此處屬於舊版頁面,不再提供有關功能

循其指引訪問新版。

新版對移動端滿友好的

建站未久,谷歌尚無站點的數據。打開側邊欄,點站點地圖

這是一張站點地圖輸入框的截圖。

在文本框輸入了存放網站地圖的子頁面。如果未更改默認設置,子頁面的地址就是https://用戶名.github.io/sitemap/

提示「成功」

如果網站地圖文件存在於/public文件夾,且網址無誤,提交後就會看見綠色的「成功」字樣。反之請檢查。

關鍵詞

NexT默認將標籤(tags)視爲關鍵詞14。這時若爲做全搜索關鍵詞而大肆填塞標籤,網頁的視覺效果就會不太好。在主題目錄下修改關鍵詞的佈局代碼,即可使全站文章的關鍵詞生效。每篇文章的關鍵詞寫在Front-matter內,格式:keywords: 天地,玄,黃宇宙,洪荒keywords與頭一個關鍵詞間要留下一個半形空格,關鍵詞之間復以半形逗號相隔。15

404頁面

如果未設置頁面,會調用GitHub Page默認的404頁。404頁可自行新建並填充內容(如騰訊公益404介面)。

参考资料

  1. yanzi122567. hexo链接持久化终极解决之道. CSDN. 2017-09-01 [2019-09-07]. ↩︎
  2. 姓王的wy. excel生成8位16进制随机码. 百度知道. 2018-07-07 [2019-09-06]. ↩︎
  3. 陈志行. 电脑围棋小洞天. 中山大学出版社. ↩︎
  4. tommy351. Hexo. GitHub. [2019-09-07]. ↩︎
  5. 迟道. Hexo+Next个人博客主题优化. 2017-11-07 [2019-09-16]. ↩︎
  6. 标签插件(Tag Plugins). Hexo. ↩︎
  7. 迟道. Hexo+Next个人博客主题优化. 2017-11-07 [2019-09-16]. ↩︎
  8. 且听风吟闲翻书. 在Markdown状态下,设置文字加粗和倾斜. 简书. 2017-12-07 [2019-09-07]. ↩︎
  9. 删除线. Learning-Markdown. ↩︎
  10. 标签插件(Tag Plugins). Hexo. ↩︎
  11. 代码块和语法高亮. Learning-Markdown. ↩︎
  12. 字符转义. Learning-Markdown. ↩︎
  13. viggoz. hexo(3)-生成sitemap站点地图. 简书. 2016-06-08 [2019-09-02]. ↩︎
  14. 少主无翼. 为Hexo博客文章添加关键字. CSDN. 2015-11-10 [2019-09-06]. ↩︎
  15. uckyw. hexo配置sitemap以及设置keywords. segmentfault. 2016-11-14 [2019-09-06]. ↩︎