Skip to content

eallion/eallion.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Hugo blog about Charles 'eallion' Chin

Chance favors the prepared mind.

Build Hugo and Deploy Ask DeepWiki

FOSSA Status GitHub repo size GitHub tag (latest by date) GitHub commits since tagged version GitHub last commit Better Uptime Badge

✨Live Preview:https://www.eallion.com

备忘录

📦️ 主仓库

https://github.com/eallion/eallion.com

备份仓库

https://gitlab.com/eallion/eallion.com
https://codeberg.org/eallion/eallion.com
https://git.eallion.com/eallion/eallion.com

添加备份仓库 Remote

Tip

Remote url 传递 id:token 免输各个 git 仓库的账号密码

git remote set-url --add --push origin https://id:token@github.com/eallion/eallion.com.git

$ git remote -v
origin	git@github.com:eallion/eallion.com.git (fetch)
origin	git@github.com:eallion/eallion.com.git (push)
origin	git@gitlab.com:eallion/eallion.com.git (push)
origin	git@codeberg.org:eallion/eallion.com.git (push)
origin	git@git.eallion.com:eallion/eallion.com.git (push)
架构备忘
  • 国内:部署至阿里云 OSS (Jul 20, 2024)
  • 境外:部署至 Cloudflare Pages (Jul 20, 2024)
GitHub Actions

Update: Jul 20, 2024

🎨 主题 Pehe

Update: Nov 19, 2025

本博客使用主题为:Pehe

此次更新,主题使用 git submodule 的方式引入,不破坏原主题任何文件结构,所有自定义样式不再在 Theme 目录下修改。

git submodule add https://github.com/eallion/pehe.git themes/pehe

克隆博客后同时克隆子模块:

pnpm run theme:init
# git submodule update --init --recursive

如果上游更新,更新项目中的子模块:

pnpm run theme:update
# git submodule update --remote --force themes/pehe

Pehe 编译 TailwindCSS 的

pnpm install

# pnpm dev:css
pnpm build:css

📚 构建 Chroma CSS

chroma.css 位于 assets/css/chroma.css,用于代码高亮。

主题预览:https://xyproto.github.io/splash/docs/all.html

pnpm build:chroma

等同于:

hugo gen chromastyles --style=github | sed 's/\./html:not(.dark) ./' >> assets/css/chroma.css
hugo gen chromastyles --style=github-dark | sed 's/\./html.dark ./' >> assets/css/chroma.css

custom.css 覆盖背景颜色:

html:not(.dark) .chroma,
html:not(.dark) .chroma * {
  /* GitHub Light */
  color: #24292f;
  background-color: #f6f8fa;
}

html.dark .chroma,
html.dark .chroma * {
  /* GitHub Dark Dimmed */
  color: #d1d7e0;
  background-color: #2d333b;
}

🧑‍💻 pnpm 命令

目前完整构建工作流:

pnpm run-s directus:article \
    directus:friendslinks \
    llms \
    build:hugo \
    build:pagefind
  • pnpm build 完整构建
  • pnpm build:chroma 构建 Chroma 代码高亮 CSS
  • pnpm build:css 构建 Pehe 的 TailwindCSS assets/css/main.css
  • pnpm build:hugo 构建 Hugo
  • pnpm build:pagefind 构建 Pagefind 索引
  • pnpm clean 清除 Hugo 本地文件以避免 Directus 冲突
  • pnpm clean:article 清除文章数据
  • pnpm clean:data 清除数据文件
  • pnpm clean:hugo 清除 Hugo 本地构建产物
  • pnpm dev 启动 TailwindCSS 监听
  • pnpm dev:css 启动 TailwindCSS 监听
  • pnpm dev:hugo 启动 Hugo server 监听
  • pnpm dev:pagefind 启动 Pagefind 4000 端口监听
  • pnpm run directus: 获取 Directus 数据
  • pnpm run directus:album: 获取 Directus 随手拍数据
  • pnpm run directus:anynow: 获取 Directus AnyNow 数据
  • pnpm run directus:article: 获取 Directus 文章数据
  • pnpm run directus:friendslinks: 获取 Directus 友情链接数据
  • pnpm run directus:goods: 获取 Directus 好物推荐数据
  • pnpm run directus:latest: 获取 Directus 最新 10 篇文章数据
  • pnpm run directus:mastodon: 获取 Mastodon API 数据
  • pnpm run directus:neodb: 获取官方 NeoDB API 数据
  • pnpm run directus:penta: 获取 Directus 五杀数据
  • pnpm run llms 生成 llms.txt
  • pnpm run theme:init 递归更新 Submodule 子项目,一般第一次克隆本项目时使用
  • pnpm run theme:update 更新 Submodule 子项目

🔊 嘀咕页面

嘀咕页面 https://www.eallion.com/mastodon 为 Mastodon 个人实例 e5n.cc 的数据展示。
目前是自己写的页面样式。

但也可以利用 mastodon-embed-timeline 这个项目集成到博客页面。

✏️ 写新文章

Breaking Change

现在用 Directus 管理文章,不再用 Hugo 命令生成。

写新文章,直接在 Directus 后台创建文章即可。

在 CI/CD 或本地预览时通过下面命令拉取 Directus 文章数据:

# pnpm install

pnpm run directus # node scripts/directus-fetch-articles.js

# pnpm run directus:latest # Fetch latest 10 articles only

pnpm build # Full Build

pnpm build:hugo # Build Hugo

pnpm build:css # Build Tailwind CSS main.css

🌐 环境变量

复制 .env.example.env.local

cp .env.example .env.local
cat .env.local
ACCESS_KEY_ID=
ACCESS_KEY_SECRET=
CAIYUN_TOKEN=
DEEPSEEK_API_KEY=sk-
DIRECTUS_ACCESS_TOKEN=Lcd9-
DIRECTUS_API_URL=https://directus.example.com/
DIRECTUS_EMAIL=directus@example.com
DIRECTUS_PASSWORD=
DIRECTUS_S3_URL=https://images.example.com/directus/files/
DIRECTUS_TOKEN=eyJh
ESA_SITE_ID=
NEODB_ACCESS_TOKEN=

🖼️ 图片

因为 jsDelivr Aug 15,2020 的‘新政策’,现在没有用 GitHub + jsDelivr 当图床了。

文章配图

目前方案是上传到 CDN 图床,文章中引用图片 URL。

文章题图 (Feature Image)

  • Method 1:远程图片

不通过 Hugo 处理图片,直接用远程图片 URL 作为题图。

config/params.toml 中设置:

hotlinkFeatureImage = true

文章 Frontmatter 里的 featureImage 支持远程图片 URL。

  • Method 2:本地图片

通过 Hugo 处理图片,生成不同尺寸的图片。

把题图放在文章同目录下,命名为 feature*.pngfeature*.jpg

文章页背景图

默认引用 featureImage 支持远程图片 URL 作为背景图。
或者:把背景图放在文章同目录下,命名为 background*.pngbackground*.jpg

📄 LICENSE

This project is licensed under GLWTPL Hugo is licensed under Apache License 2.0 Theme Pehe is licensed under MIT

FOSSA Status

GLWT(Good Luck With That,祝你好运)公共许可证
            版权所有© 除作者外的所有人

任何人都被允许复制、分发、修改、合并、销售、出版、再授权
或任何其它行为,但风险自负。

作者对这个项目中的代码的行为一无所知。
代码处于可用或不可用状态,没有第三种可能


                祝你好运公共许可证
            复制、分发和修改的条款和条件

  0. 只要你永远不要留下任何可以追踪到原作者的线索,
你就可以随心所欲地做任何事,因此,不能因此责怪或追究
原作者的责任。

在任何情况下,作者均不对因使用或与本软件有关的合同诉讼、
侵权或其他方式产生的任何索赔、损害或其他责任负责。

自求多福吧。