山奈 / 使用 github theme

Created Fri, 20 Dec 2024 09:40:38 +0800
1575 Words

使用 git theme

主题链接

找了很多 theme,最后决定直接使用GitHub版本了!

安装 theme

首先跟着官方教程把 ananke 主题安装好,然后再下载 git theme
git submodule add [email protected]:MeiK2333/github-style.git themes/github-style
官方给了配置文件,稍微进行更改就可以。注意这里

 #userStatusEmoji = "😀" 不需要这个emoji 就注释掉
  favicon = "/images/github.png"
  avatar = "/images/ava_c.png"
  headerIcon = "/images/ava_c.png"
  location = "Shenzhen, China"
  enableGitalk = false #首先注释掉
  enableSearch = true #添加本地搜索

[outputs]
  home = ["html", "json"]

在根目录(和 content 一个目录下)创建static/images 把你的头像放在这个下面

我在 arhcetype 下建立了模版,采用叶子包的方法,给每一个 post 单独建立文件夹,这样每个 post 的图片就不会混杂在一起啦

//目录结构
archetypes
├── default.md
└── git
    └── index.md
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: false
author: "acyanbird"
summary: "{{ replace .Name "-" " " | title }}"
#自动生成和标题一样的summary,免得显示太长内容,可以手动修改滴
# tags: [""]
---

新建 post hugo new post/<post-name> --kind git

编辑用的 VSC 插件

Markdown Shotcuts 此插件主要是提供了粗体、斜体、行内代码、代码块的快捷键。
Markdown Paste 此插件主要是提供了直接向 md文章里贴图的功能. ctrl+k 再+v 可以分屏预览
或者右键tab直接预览 ctrl+shift+v

alt text

托管到 GitHub Page

其实应该在 ananke 的时候尝试的……算了已经这样了,按照官方教程走一波!

简简单单初始化……然后上传 blog,public 文件夹不用上传,在根目录 .gitignore 里加入 public/ 停止追踪

git rm -r --cached public 
git add .gitignore
git commit -m "Stop tracking public folder"  

注意主题最好按照 sub-module 的方式提交免得出现错误!其实有强制嵌套的办法,我之前还用过是啥我忘了()

然后按照官网的指示一路下行就没有什么问题。值得注意的是,如果你使用的有子目录(比如 example.org/aaa),那可以把 toml 的图片链接设置成相对路径

  favicon = "images/ava_c_trans.png" #标签页的那个小图标,先不管
  avatar = "images/ava_c.png"
  headerIcon = "images/ava_c.png"

在 根目录建立static/images,复制粘贴图片
然后在 content/post 下面新建 images 文件夹,把用到的图片也复制粘贴一份
但是这个问题无法被彻底解决!点进 post 仍然会显示失败!还是使用 <用户名>.github.io 最好!在此之后在 请更改回 /images/<图片名称>

自定义域名

之前我的两个网站都使用了子域名,现在就用顶点域名吧!反正也是从 GitHub 学生包白嫖滴
设置顶级域名需要使用 A (IPV4)或者 AAAA (IPV6)记录,之前用子域名好像只用个 CNAME 来着?

记得在根目录创建 CNAME 文件夹,里面加上自己的域名比如 alt text

acyanbird.tech

毕竟是 action 创建的,需要我们手动添加 CNAME,如果 DNS 解析不成功记得取消掉强制 HTTPS 再尝试一次。www 开头的解析 CNAME 成<用户名>.github.io 我是使用的 Cloudflare 所以还有个坑,在配置的时候要把 proxy 取消掉

然后才能认证成功。不过在头一次添加域名的时候也需要额外的配置
alt text
这里也注意在认证的时候应该也要去除掉 proxy 状态?忘记惹……有问题找我!

添加社交媒体

该说不说这个 icon 站 挺好的!我无论如何都要把 b 站弄上去嗷~

使用 gitalk

这个 blog 推荐的评论系统,根据 gitalk 的官方教程走一下,申请 APP (之后在 setting - developer setting 里找)然后把参数填写到 hugo.toml 里面
  记得填写你的域名,这种时候本地测试 gitalk 是没法使用的,需要push到网页上才行!

如果你开了别的仓库去储存 issue (是的这个评论基于 issue),那么在本站的config里面写上那个仓库的名称。因为可能在本体有些敏感信息要变为 private,所以使用另一个公开仓库存放 issue 是最好滴。

如果使用了 gitalk 作为评论模块,在标题中文转码后会有因为label长度大于50,导致 validation 失败的问题,推荐把配置的 id 更改为 id = "decodeURI(location.pathname)" 这样能直接打中文作为标题,就不会超过限制啦

代码高亮

好像代码高亮的程度不够啊……调整一下

#把pygment给false掉,默认调用chroma效果更好
pygmentsCodeFences = true
pygmentsUseClasses = false
buildDrafts = false
PygmentsStyle = "tango"

更多style可以在 官方文档上获取

#include <stdio.h>
int main() {
   // printf() displays the string inside quotation
   printf("Hello, World!");
   return 0;
}
print("Hello, World!)
fn main() {
    // Statements here are executed when the compiled binary is called.

    // Print text to the console.
    println!("Hello World!");
}

alt text
嗯这样顺眼多了

其他注意事项

如果要在 markdown 里面启用 HTML,在站点config也就是 hugo.toml 里加入

[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

如果要使用自己修改的 github-style,可以先 fork 之后更改 .gitmodules 的 URL