其实就是自动将md文件渲染为html文件,本质上和hugo、hexo、Jekyll等博客渲染工具一样的。但是本方法支持全文搜索、双链和关系图谱。
文章目录:
效果可见: logseq.fishyer.com
源文件Github地址:fishyer/MyLogseq: 我的Logseq卡片笔记仓库
适用场景:
只想快速部署,不关心具体细节的,可以直接移步最后:极简部署的模板
1-1-将logseq库作为obsidian库的子文件夹,将要公开的md文件移动到logseq库的pages里面
1-2-配置logseq为全部公开
虽然logseq能在指定md文件里添加public:: true
属性来公开此页面,但是批量管理很麻烦,建议直接将所有可公开的md存放到一个库里面,或放在一个单独的文件夹通过git忽略配置来隐藏私有文件夹(不提交到gihub就不会参与后续的编译了)
logseq库的config.edn路径
修改logseq的config.edn,我的配置文件已存放到github-gist: logseq-config.edn ,直接复制粘贴即可
:publishing/all-pages-public? true
:default-home {:page "README" :sidebar ["contents"]}
1-3-配置logseq的git自动提交
1-4-配置git hooks,commit时自动push到github仓库
主要是因为logseq的git,只能自动commit,不能自动push,故需添加git hooks
路径如下
shell脚本文件如下
#!/bin/sh
git push origin main
在logseq库下新建.github文件夹添加main.yml
路径如下
配置文件如下:
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on:
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# - name: change config.edn and custom.css
# run: cp logseq/config-public.edn logseq/config.edn && cp logseq/custom-public.css logseq/custom.css
- name: Logseq Publish 🚩
uses: pengx17/logseq-publish@main
# - name: Inject Script
# run: sed -i "s@</body>@$( cat logseq/inject.html | tr '\\n' ' ' | sed 's@&@\\\\&@g' )</body>@" www/index.html
- name: add a nojekyll file
run: touch $GITHUB_WORKSPACE/www/.nojekyll
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
repository-name: fishyer/MyLogseq-Publish
branch: master # The branch the action should deploy to.
folder: www # The folder the action should deploy.
clean: true
single-commit: true
token: ${{ secrets.ACCESS_TOKEN }}
还可以添加评论模块,具体可以查看:配置Logseq自动发布相关流程,不过我现在已经关闭了,感觉会增加编译耗时,而且也没啥用,没人评论
上面的repository-name: fishyer/MyLogseq-Publish
和token: ${{ secrets.ACCESS_TOKEN }}
其实是可选的
推荐保存到其它仓库,因为强迫症无法忍受每次打开github仓库时都提示两个分支有差异,提示合并。命名规范推荐为(加一个publish的后缀而已):
secrets.ACCESS_TOKEN的生成,点击https://github.com/settings/tokens,创建新token,然后勾选所有的权限
secrets.ACCESS_TOKEN的配置