Hexo笔记
安装
前提:需要安装好node.js和git
1 2 3 4 5 6 7 8 9 10 11
| hexo init
hexo init directory
npm install
hexo server
|
然后访问: http://localhost:4000 就可以看到页面了
常用命令
清空网站缓存
新增文章
启动服务
生成静态文件
发布至远程
需要修改_config.yml
,添加远程发布配置参数
1 2 3 4 5 6 7
|
deploy: type: git repo: git@gitee.com:sjdt/sjdt.git branch: master message:
|
npm i –save hexo-wordcount
常用组合命令
1 2 3 4
| hexo cl && hexo g && hexo s
hexo cl && hexo g && hexo d
|
更换主题
可以从(https://hexo.io/themes/)下载主题,下载到themes
目录下,然后修改_config.yml
文件中的theme
为对应的主题名称(文件夹名)即可:
1
| theme: hexo-theme-matery
|
SEO 优化
使用hexo-abbrlink
实现URL地址再编码:
1
| npm install hexo-abbrlink --save
|
配置:
1 2 3 4 5 6 7
| url: http://sjdt.gitee.io
permalink: archives/:abbrlink.html abbrlink: alg: crc32 rep: hex
|
Gitee Pages
Gitee Pages 是一个免费的静态网页托管服务,您可以使用 Gitee Pages 托管博客、项目官网等静态网页。如果您使用过 Github Pages 那么您会很快上手使用 Gitee 的 Pages服务。目前 Gitee Pages 支持 Jekyll
、Hugo
、Hexo
编译静态资源。
注意需要在下面的位置申请开通 Gitee Pages服务,需要实名认证并上传证件图片并等待一个工作日审核
开通后需要建立一个与用户名相同的仓库,比如我的用户名为sjdt,
那么我的gitee page 仓库地址就是:[git@gitee.com:sjdt/sjdt.git]
自动化
- 安装playwrite库
1
| python -m playwright install
|
playwrite文档:https://playwright.dev/python/docs/intro/
将你的Gitee用户名和密码添加到环境变量的gitee_username
和gitee_username
环境变量中,
然后就可以使用下面的脚本自动提交并更新GiteePages了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
import os from playwright.sync_api import sync_playwright
USERNAME = os.getenv("gitee_username") PASSWORD = os.getenv("gitee_password")
GITEE_PAGES_URL = 'https://gitee.com/sjdt/sjdt/pages'
def main(): print("========================== deploy job : started ==========================") os.system("cd /Users/yiny/Sites/moonwhite.net;hexo cl && hexo g && hexo d") print("========================== deploy job : publish ==========================") with sync_playwright() as p: for browser_type in [p.chromium]: browser = browser_type.launch(headless=False) page = browser.new_page() page.goto('https://gitee.com/login') page.click('input[name="user[login]"]'); page.fill('input[name="user[login]"]', USERNAME); page.click('input[name="user[login]"]'); page.fill('input[name="user[password]"]', PASSWORD); page.click("input[value='登 录']") page.wait_for_timeout(5000) page.goto(GITEE_PAGES_URL) page.on("dialog", lambda dialog: dialog.accept()) page.click(".update_deploy") page.wait_for_selector('span:text("已开启 Gitee Pages 服务")', timeout=60 * 1000, state='visible') browser.close() print("========================== deploy job : finished ==========================") if __name__ == '__main__': main()
|
Hexo的使用