搭建Github、Coding博客的技术资料
四、2024年2月更换新mac airbook 安装的记录
新版本的一些改变,需求修改的部分
- # - 之前必须有空行(不是很确定)
- img 不能有空的 “ ”,需要替换。
- - 换行不起作用 需要在前面加Tab;(不是很 确定)。
- 文章中yaml部分的Title 和文件名必须一致。
- > 符号前面和后面要空行。
- 代码块的前后标签都需要单独一行。
- 行内公式的用法,之前和独行公式混了,需要重新修改。
- ` 必须用\ 转义
- 多个-之间不要有空行,否则显示出来就是每个-之间都空一行。
换行的问题
参考: hexo 回车换行无效?
markdown的换行规范:
段落与换行
- 段落的前后必须是空行:
空行指的是行内什么都没有,或者只有空白符(空格或制表符)
相邻两行文本,如果中间没有空行 会显示在一行中(换行符被转换为空格).
- 如果需要在段落内加入换行(<br>):
可以在前一行的末尾加入至少两个空格.
然后换行写其它的文字.
- Markdown 中的多数区块都需要在两个空行之间。
markdown的规范是软回车,键盘上的回车键是硬回车。一般回车是代表换段。在markdown中,要创建段落,请使用空白行将一行或多行文本进行分隔。
问题:
mac上,之前使用hexo(19年配置的)+next皮肤,回车键就是换行符号了,用起来很丝滑。
最近hexo频繁报错,我就重新装了个最新版本,必须要加,极为难用,而且之前的也要一个一个改正,把 ,十分痛苦。
问问各位大佬,如何改为之前那种使用。
回答:
终于弄好了,尝试更改了marked,marked-i,pand.....等渲染,mathjax数学公式,捣鼓一天,全都不work,有冲突。最后将以前的package.json中的所有依赖重新安装,就和以前一样了。主要是 mathjax 的锅,加了mathjax:true后就没法自动换行了。所以建议大家图省事的话也是找一个没问题的package.json,全部无脑照着安装就行。
个人搞了好久,使用原先的kramed渲染器,回车换行倒是可以了,但数学公式很多地方显示不正常。并且kramed已经停止更新好多年了,所以决定不再用。
markdown-it支持KaTex,但对MathJax的支持不好,所以也没用。
后来还是保留了pandoc的渲染器。即使需要批量修改原先的md文件,特别是段内换行的问题比较突出。
发现在pakage.json中,renderer部分就保留了:
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-pandoc": "^0.4.0",
"hexo-renderer-stylus": "^3.0.1",
其实就是使用了next的mathjax引擎,然后安装hexo的pandoc渲染器。
pandoc语法的几个常见注意事项:
- 换行前加两个空格。
- 图片使用绝对路径。
- 标题前两个回车。
- 把本地图片地址变为绝对路径。
使用 pandoc 渲染器 切换 hexo-renderer-pandoc 后,公式倒是能正常显示,但是图片,文本格式需要按 pandoc 的 markdown 格式修改,因此,做了批量调整:
pandoc导致历史md文件格式问题在sublime text中调整方法:
有时,我们可能需要将文件中的换行符替换为其他字符,比如英文逗号、分号等。
Sublime Text 使用正则表达式来替换文本内容非常方便。
举例,一个回车键替换成 空格+空格+回车,以实现段内换行的效果。
你可以通过以下步骤来替换:
1. 打开 Sublime Text 编辑器
2. 打开要替换的文件
3. 按下快捷键「Ctrl + H」(「Cmd + Shift + H」在 Mac 上)
4. 在「Find What」输入框中输入需要替换的字符串:\n
5. 在「Replace With」输入框中输入替换后的字符串:空格+空格+\n
6. 选择「Regular Expression」复选框 (sublime 里面的 .* 那个按钮)
7. 点击「Replace」或「Replace All」按钮进行替换
如果你需要使用正则表达式语法,例如匹配数字、单词等,请参考其它资源了解正则表达式语法。
注意事项,替换的时候因为yaml部分也增加了两个空格,导致出错,需要把yaml那些多出来的空格删除。
软件升级最大的问题,规范变了,导致历史的文章需要根据新的规范做修改。
安装完成后执行 hexo clean. 命令来清空以前生成的 HTML 文件,然后重新 hexo g -d 发布。
关于markdown换行的一篇好文章。 markdown段内换行的说明
渲染器的问题
Hexo 作为一个优秀的 Markdown 博客框架,自然也诞生了很多适用的 Markdown 渲染器,这里对比分析一下 Hexo 下几种常用的 Markdown 渲染器: hexo-renderer-marked , hexo-renderer-kramed , hexo-renderer-pandoc , hexo-renderer-markdown-it , hexo-renderer-markdown-it-plus 。
Next 提供了两个渲染引擎来显示数学方程: MathJax 和 KaTeX。要使用这个特性,您只需要选择一个渲染引擎并打开它的 enable(位于home config file)。 然后你需要安装相应的 Hexo 渲染器来完全支持数学方程式的显示。
ssh key的问题
git config --global user.name “hongyitong”
git config --global user.email “hogyuanjiao@hotmail.com”
ssh-keygen -t rsa -b 4096 -C “hogyuanjiao@hotmail.com”
查看本地是否存在SSH密钥
命令:ls -al ~/.ssh
如果在输出的文件列表中发现id_rsa和id_rsa.pub的存在,证明本地已经存在SSH密钥,请执行第3步查看SSH公钥
命令:cat /Users/电脑用户名/.ssh/id_rsa.pub
复制打印出来的信息,在GitLab或者GitHub的SSH Keys中进行相应设置即可警告的信息
> You've successfully authenticated, but GitHub does not provide shell access.
这句话其实一直存在,它只是想告诉你,github 不允许 shell 交互。仅此而已。
mac技巧
Mac用户注意了,要使用管理员权限,首先:“sudo -s”,回车,输入密码,再回车,然后:“npm install -g hexo-cli”,回车,等待下载安装即可!
参考的资料
三、多机搭建(更换电脑搭建)
其实简单说,就是四个部分:
1、备份
备份source文件夹(所有的MD文件都在这里);备份站点的_config.yml,主题的的_config.yml;
如果担心,可以把整个hexo目录备份下来;
2、安装
按照指引安装(其实可以按照第一次的安装来处理),只是涉及github
仓库那一部分是不需要了;
3、恢复
1)把source目录恢复覆盖;
2)两个_config.yml的内容,比较,然后把需要的部分copy到新装的文件里面替换对应内容。注意,这里不要用整个文件覆盖的模式,因为可能对应的软件的版本不一致了。
4、安装相关的插件
包括支持数学公式、置顶、搜索等等;
因为之前上传到百度网盘的MD源文件,下载之后的创建日期都变成下载那天的时间,导致之前很多没有定义date时间的都默认成下载的日期了。
花了好长时间把MD文件的date属性都加上了发布的时间。
多机部署参考:
多机更新 Hexo
博客
上文中提到的:先在电脑中的某一位置建立好 your_name.github.io 文件夹,比如
D:_name.github.io;
因为之前习惯取了hexo的名字,其实 hexo目录就是这里所谓的
youre_name.githubo.io文件夹。
一、第一次搭建过程资料
经过几天的努力,终于把个人的博客搭建得差不多了。个人的博客现在存在Github和Coding两个地方,地址分别是:
Github版
Coding版
!Coding版本因为有100M的空间限制,无法发布了!
Coding用不了之后,使用了码云Oschina,具体的设置如下(不过Oschina还有有点不稳定和刷新速度比较慢。):
Oschina版
Oschina免费版限制空间了,因为博客容量太大,无法再从github中pull过来了
码云
搭建个人免费博客:利用Hexo在码云上部署博客
在搭建过程当中,参考了以下的文档,特此记录!
如何利用GitHub
Pages和Hexo快速搭建个人博客
(这个博客不知道什么原因,访问不了:()
参考一下以下几个吧:
知行合一 用 Hexo
搭建博客
Hexo+nexT主题搭建个人博客
手把手教你使用Hexo
+ Github Pages搭建个人独立博客
hexo同时托管到coding.net与github
如何将Hexo
Blog同时发布到GitHub跟Coding上
|Hexo优化|如何向google提交sitemap(详细)
设置 Google站点管理工具 的验证字符串,用于提交 sitemap
获取 google site verification code
登录 Google Webmaster Tools,导航到验证方法,并选择 HTML
Tag。将会获取到一段代码:
1 | <meta name="google-site-verification" content="XXXXXXXXXXXXXXXXXXXXXXX" /> |
将 content 里面的 XXXXXXXXXXXXXXXXXXXXXXX 复制出来。
设置主题。编辑 站点配置,新增字段 google_site_verification。
google_site_verification: XXXXXXXXXXXXXXXXXXXXXXX
在google加了github的收录,但是在增加百度收录的时候,一直生成不了baidusitemap.xml文件。暂时放弃。(后来重启电脑就自动有了:-()
hexo干货系列:(六)hexo提交搜索引擎(百度+谷歌)
二、优化过程及问题
!!!!!如果本地预览没问题,部署到github有问题的话,先 hexo clean掉在重新 hexo d -g
1、搜索
因为Swiftype收费了,转向了微搜索:
NexT主题下的两种搜索服务的问题
后来简单点,直接使用了Next主题的本地搜索了,具体见下文!
Hexo博客添加站内搜索
补充一点,还需要修改主题下的_config.yml文件,把enable:false改成true
1 | # Local search |
2、数学公式
如何在Hexo中使用MathJax3、文章发表时间显示了两遍
文章发表时间显示了两遍4、Hexo文章置顶
Hexo文章置顶5、如何链接站内文章
A:next或者hexo,链接站内文章的方法?
B:关于引用站内文章的链接,可以使用以下语法:
1 | {% post_link markdown-learning-by-maxiang 点击这里查看这篇文章 %} |
markdown-learning-by-maxiang是你的文章名称。如果文章不存在,这段代码将会被直接忽略。
点击这里查看这篇文章是该链接的标题。如果置空,则自动提取文章的标题。
ps:这个功能跟主题无关。
6、git远程库与本地联系报错:fatal: Not a git repository (or any of the parent directories): .git
在github上新建了一个仓库,然后相与本地的仓库联系起来
$ Git remote add origin https://github.com/liona329/learngit.git fatal:
Not a git repository (or any of the parent directories): .git
总是报这个错
解决方法:git init
成功
7、github build出错信息会发到注册的邮箱
1 | [hongyitong/hongyitong.github.io] Page build failure |
8、Error: Cannot find module 'hexo-util'
升级NexT主题以后,执行hexo clean,出错:
1 | ✗ hexo clean |
解决办法:重新安装hexo-util模块
1 | npm install -- save-dev hexo-util |
9、HEXO-NexT的Local Search转圈圈的问题
可以在浏览器中输入 博客网址:
1 | http://localhost:4000/search.xml |
其中 search.xml是搜索的内容文档,在hexo 对应的pubic目录下。
如果有错,浏览器会报出具体的错误。
可以找到引起错误的md文件,然后在search.xml文档中找到对应的段落,可以使用https://www.xmlvalidation.com/
来验证对应段落的具体错误原因。
具体的文档可以见:https://guahsu.io/2017/12/Hexo-Next-LocalSearch-cant-work/
10、本地预览没问题deploy后主页显示大面积空白
本地预览没问题,deploy后主页显示大面积空白11、Hexo 博客无法搜索的终极解决方法
http://www.sqlsec.com/2017/12/hexosearch.html
12、文章添加阅读次数,访问量等
Hexo+Next主题 文章添加阅读次数,访问量等:
https://blog.csdn.net/xr469786706/article/details/78166227
hexo博客解决不蒜子统计无法显示问题:
https://www.jianshu.com/p/fd3accaa2ae0
13、解决MacOS升级后出现xcrun: error: invalid active developer path, missing xcrun的问题
今天升级macOS High Sierra,终端里使用git的时候,弹出一行莫名其妙的错误:
1 | xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun |
解决方法,重装xcode command line:
1 | xcode-select --install |
如果没有解决问题,执行以下命令
1
sudo xcode-select -switch /