Chance favors the prepared mind.
✨Live Preview:https://www.eallion.com ✨
https://[email protected]/eallion/eallion.com
https://gitlab.com/eallion/eallion.com
Tip
Remote url 传递 id:token 免输各个 git 仓库的账号密码
git remote set-url --add --push origin https://id:[email protected]/eallion/eallion.com.git
$ git remote -v
origin https://github.com/eallion/eallion.com (fetch)
origin https://github.com/eallion/eallion.com (push)
origin https://[email protected]/eallion/eallion.com.git (push)
origin https://gitlab.com/eallion/eallion.com.git (push)
origin https://git.eallion.com/git/eallion/eallion.com.git (push)
Update:2024.01.06
🎨 主题 DoIt
Update:2022.12.12
本博客使用主题为:DoIt
此次更新,主题使用 git submodule
的方式引入,不破坏原主题任何文件结构,所有自定义样式不再在 Theme 目录下修改。
git submodule add https://github.com/eallion/hugo-theme-doit.git themes/DoIt
克隆博客后同时克隆 主题 和 mastodon-embed-timeline:
git submodule update --init --recursive
# npm run recursive
如果上游主题有更新,更新 主题 和 mastodon-embed-timeline:
- git submodule update --remote --merge
+ npm run update
- 首页基于 Google Chrome Whats-new [m122] 构建
https://www.google.com/intl/zh-CN/chrome/whats-new/m122/
- 自定义 CSS 在
assets/css/_custom.scss
:
https://github.com/eallion/eallion.com/blob/main/assets/css/_custom.scss
- 自定义 JS 在
assets/js/custom.js
:
https://github.com/eallion/eallion.com/blob/main/assets/js/custom.js
- 自定义模板,如嘀咕、豆瓣等页面,在
layouts/_defaut
:
https://github.com/eallion/eallion.com/tree/main/layouts/_default
- 作者数据在
data/authors
:
https://github.com/eallion/eallion.com/tree/main/data/authors
- 观影数据在
data/neodb
:
https://github.com/eallion/eallion.com/tree/main/data/neodb
嘀咕页面 https://www.eallion.com/toot
为 Mastodon 个人实例 e5n.cc
的数据展示。
利用 mastodon-embed-timeline 这个项目集成到博客页面。
现已静态构建到页面上。
通过 Git submodule 添加:
git submodule add https://github.com/eallion/mastodon-embed-timeline.git static/assets/mastodon-embed-timeline
- 生成新文章
通过 Hugo 命令 New 一篇新文章模板:
- hugo new posts/daily/new_title.md
+ npm run new
- 编辑文章
通过 Typora 或 VSCode 编辑第一步 New 出来的文章。
这篇文章在 example/posts
目录下,文件名为:*.md
,为 npm run new
输入的文字。
编辑好之后需要把这个文件复制到 content/posts
相应的目录中,再 git push
。
- 修改 Front matter:
title
(必填) 自动生成,按需修改images
(选填) OG Image 和首页渲染需要用到authors
:目录保持默认:["eallion"]
,其他支持:["shanzei"]
categories
(必填) 按需修改tags
(必填) 按需修改 (约定:本博客单篇文章标签数上限为 4)slug
(必填) 按需修改,文章网址 URLsummary
(必填) AI 生成摘要series
(选填)系列series_weight
(选填)系列中的排序seriesNavigation
(选填)是否需要显示在系列导航中draft: true
(必填) 如果需要公开发表,需改为:draft: false
- 生成 AI 提要
写完文章,按 data
目录中的 summary.json
文件手动生成摘要。
Summary 生成 AI 摘要现在添加到 posts
目录中的 Markdown 文件中的 Front Matter 中,依然采用手动生成的方式。
- 生成 OG image
打开 https://cover.eallion.com (备用) 生成 OG image,放到博客 static 目录。以前的文章利用 API 生成 OG。
- 维护其他页面
注意查看 Layouts 中的模板和 data
中的数据文件。
嘀咕
:到 e5n.cc 发 Toot;观影
:到豆瓣网和NeoDB 标记;随手拍
:到 e5n.cc 发带有#ealbum
标签的 Toot;好物
:数据按data
目录中的goods.json
文件更新;Penta
:数据按data
目录中的penta.json
文件更新;Steam
:数据在data
目录中的steam_web_api.json
每周 GitHub Actions 更新。
- Push:
完成写作后,Push 到 GitHub 仓库会自动构建部署。
git add .
git commit -m "docs: add a new post"
git push
- 本地调试 (
Web Server)
完全没有必要把 Hugo 当成 Web Server
已添加脚本:
- ./server.sh
+ npm run server
# 查看博客实际效果 👇
# npm run preview
脚本内容:
git submodule update --remote --merge && start http://192.168.0.5:1313 && hugo server -w -D -p 1313 --bind 0.0.0.0 --contentDir example --minify --forceSyncStatic --ignoreCache --noHTTPCache --disableFastRender -e production --enableGitInfo --disableKinds RSS --printUnusedTemplates --templateMetrics --templateMetricsHints
运行脚本后会自动打开预览页面:http://127.0.0.1:1313
hugo server
把 Hugo 当作 Web 服务器,而非构建静态网页-w
有文件变化立即刷新 (默认开启)-D
构建草稿,撰写新文章时很有用-p 1313
指定端口号 1313 (默认 1313)-t hello-friend
使用 hello-friend 主题-enableGitInfo
开启 GitIifo--bind 0.0.0.0
绑定 IP,局域网其他设备 Debug 时很有用--contentDir example
指定文章目录example
,默认为content
--cleanDestinationDir
清空目标目录--forceSyncStatic
强制同步静态文件--ignoreCache
忽略缓存--noHTTPCache
关闭 HTTP 缓存--renderStaticToDisk
Hugo 0.97.0 新特性,从硬盘渲染静态文件,从内存渲染动态文件--disableFastRender
DoIt 主题使用了.Scratch
,建议开启此参数-e production
DoIt 的评论系统
、CDN
和fingerprint
不会在 development 环境下启用hugo server --help
查看 server 所有命令
- 本地构建
手动构建命令:
- hugo --cleanDestinationDir --forceSyncStatic --gc --ignoreCache --minify --enableGitInfo
+ npm run build
--cleanDestinationDir
构建前先清理目标目录,即 public--forceSyncStatic
强制同步 static 目录--gc
构建后执行一些清理任务 (删除掉一些没用的缓存文件)--ignoreCache
构建时忽略缓存--minify
压缩网页代码--enableGitInfo
开启 GitIifohugo --help
查看所有命令
DoIt 主题功能
有三种方法来引用图片和音乐等本地资源:
- 使用页面包中的页面资源。
你可以使用适用于
Resources.GetMatch
的值或者直接使用相对于当前页面目录的文件路径来引用页面资源。 - 将本地资源放在 assets 目录中,默认路径是
/assets
。 引用资源的文件路径是相对于assets
目录的。 - 将本地资源放在 static 目录中,默认路径是
/static
。 引用资源的文件路径是相对于static
目录的。
引用的优先级符合以上的顺序。
在这个主题中的很多地方可以使用上面的本地资源引用,
例如链接、图片、image
& music
shortcode 和前置参数中的部分参数。
页面资源或者 assets 目录中的图片处理会在未来的版本中得到支持。 非常酷的功能!😎
Update:2023.10.22
图片放到博客 static/assets/images 目录,即方法二
因为 jsDelivr 2020.08.15 的 ‘新政策’,现在没有用 GitHub + jsDelivr 当图床了。
- 方法一
手动添加图床。
现在写博客添加图片,需要手动添加图片地址。
一般本博客会使用腾讯云 COS,图床链接为:https://images.eallion.com/
- 方法二
原方法。
直接把图片丢到 Hugo 仓库的 static/images/
目录下即可。
图片存放目录:
Hugo 目录的
static/images/
目录下 (可按年月分类)。
文章中有 2 种方法引用图片 URL:
/images/1970/01/01.jpg
https://www.eallion.com/images/1970/01/01.jpg
相册页面可以用主题内置的 {{< figure >}}
、{{< image >}}
Shortcodes 生成。
现在的相册页面采用 e5n.cc 的 相册
标签动态渲染,只是一个示例页面。
如:
数据按 data/penta/penta.json
格式维护即可,五杀截图放到 static/assets/images/penta/screenshot
目录。
英雄头像从腾讯官方 API https://lol.qq.com/cguide/Guide/PublicResources/Images.html#英雄头像 下载,放到 static/assets/images/penta/hero
目录。
将资源文件链接中的 cdn.jsdelivr.net
改为 purge.jsdelivr.net
,在浏览器中请求即可刷新 CDN。
- https://cdn.jsdelivr.net/gh/eallion/eallion.github.io/style.css
+ https://purge.jsdelivr.net/gh/eallion/eallion.github.io/style.css
git config --local http.postBuffer 52428800
git rm -r --cached .
git reflog expire --expire=now --all
git gc --prune=now --aggressive
This project is licensed under GLWTPL。 Hugo is licensed under Apache License 2.0。 Theme DoIt is licensed under MIT。
GLWT(Good Luck With That,祝你好运)公共许可证
版权所有© 每个人,除了作者
任何人都被允许复制、分发、修改、合并、销售、出版、再授权或
任何其它操作,但风险自负。
作者对这个项目中的代码一无所知。
代码处于可用或不可用状态,没有第三种情况。
祝你好运公共许可证
复制、分发和修改的条款和条件
0 :在不导致作者被指责或承担责任的情况下,你可以做任何你想
要做的事情。
无论是在合同行为、侵权行为或其它因使用本软件产生的情形,作
者不对任何索赔、损害承担责任。
祖宗保佑。