建站过程
安装配置Hexo
Hexo 是一个快速、简洁且高效的博客框架。 Hexo 使用 Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
详情请自行翻阅官网:https://hexo.io/zh-cn/docs/
此处仅贴出常用指令自用。
1 | 使用 npm 安装 Hexo |
链接Github
1 | 1. 生成SSH_KEY |
在 Windows PowerShell 下重新生成 SSH 密钥并配置 GitHub,按照以下步骤操作:(出自gpt)
1. 打开 PowerShell
首先,按下 Win + X,然后选择 Windows PowerShell,或在开始菜单中搜索 "PowerShell" 并运行。
2. 生成 SSH 密钥
在 PowerShell 中运行以下命令来生成新的 SSH 密钥:
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
-t rsa:指定使用 RSA 算法。-b 4096:指定密钥长度为 4096 位(安全性更高)。-C "your_email@example.com":添加一个注释,通常是你的电子邮件地址,方便以后识别。
执行该命令后,你会看到类似以下的提示:
1 | Enter file in which to save the key (C:\Users\your_username\.ssh\id_rsa): |
按下 Enter,接受默认的保存位置(C:\Users\your_username\.ssh\id_rsa),或者可以输入一个新的路径。
3. 设置密码短语(可选)
接下来会提示你输入一个 密码短语。这个密码用于保护私钥,你可以选择设置一个密码,或者直接按 Enter 跳过设置密码短语。
4. 添加 SSH 密钥到 SSH 代理
生成完密钥后,接下来需要将 SSH 密钥添加到 SSH 代理。首先启动 SSH 代理,并将密钥加载到代理中。
运行以下命令启动 SSH 代理:
1 | eval $(ssh-agent -s) |
然后,添加你的私钥(默认为 id_rsa)到 SSH 代理:
1 | ssh-add ~/.ssh/id_rsa |
5. 复制公钥到剪贴板
接下来,你需要将公钥复制到剪贴板,以便将其添加到 GitHub。
运行以下命令来显示公钥:
1 | cat ~/.ssh/id_rsa.pub |
将显示的公钥内容复制到剪贴板,按下 Ctrl + C 或右键点击 PowerShell 窗口并选择 复制。
6. 将公钥添加到 GitHub
- 登录到 GitHub。
- 点击右上角的头像,然后选择 Settings。
- 在左侧菜单中,点击 SSH and GPG keys。
- 点击 New SSH key。
- 在 Title 字段中,为你的 SSH 密钥命名(例如:“Windows SSH Key”)。
- 将刚才复制的公钥粘贴到 Key 字段中。
- 点击 Add SSH key。
7. 测试 SSH 连接
完成上述步骤后,测试 SSH 连接是否成功:
1 | ssh -T git@github.com |
如果是第一次连接,可能会看到如下提示,询问是否信任 GitHub 的服务器:
1 | The authenticity of host 'github.com (IP_ADDRESS)' can't be established. |
输入 yes 后继续。
如果成功连接,将看到类似以下的消息:
1 | Hi username! You've successfully authenticated, but GitHub does not provide shell access. |
8. 配置 Git 使用 SSH
最后,确保 Git 配置使用 SSH 而不是 HTTPS 进行推送和拉取操作。检查远程 URL:
1 | git remote -v |
如果显示的 URL 是类似于 https://github.com/username/repository.git,可以将它改成 SSH 版本:
1 | git remote set-url origin git@github.com:username/repository.git |
如无法推送至git,或许修改端口可以解决。
图片显示及设置
关于markdown中显示图片并设置大小和位置,可以在markdown中直接使用html标记,这里的images在../myBlog/source/images下。
1 | <img src="/images/test.svg" width="50%" height="50%" align="center"> |
为了居中显示图片,可以
1 | <div align="center"> |
更多操作可以参考html中图片用法。
数学公式渲染
当在markdown中使用数学公式,会出现渲染两次的问题,如下
1 | $$ |
依据deepseek的提示和试错,找到一种可能的解决方法。
1 | 这是一个行内公式:\\( E = mc^2 \\) |
渲染得到下图,问题解决。
相关配置,在_config.yml文件中
1 | mathjax: |
在_config.icarus.yml文件中
1 | # MathJax 配置 |
然而,在使用时发现在渲染复杂公式时可能会失败。
于是又考虑另一个方法:使用katex。在markdown中,正常使用"$"符号。无论是行内还是块内均可。
1 | $$ |
渲染得到下图,问题解决。
相关配置,在_config.yml文件中
1 | katex: |
在_config.icarus.yml文件中
1 | katex: true |
注意:KaTeX对 $ 后的空格是敏感的,但它的行为与 LaTeX 稍有不同。在LaTeX中,空格通常会被自动忽略,而KaTeX则在某些情况下可能会导致渲染问题。
导航栏置顶
在使用时,顶部导航栏会随着鼠标滑动而消失。
在\themes\icarus\include\style\navbar.styl文件中进行修改,仅贴出修改部分代码。z-index 控制元素的堆叠顺序,值越大,元素越靠前。
1 | .navbar-main |
黑夜主题实现
黑夜主题卡片堆叠问题
待解决...