62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
name: Quartz Publisher
|
|
run-name: Quartz Publisher for Obsidian
|
|
on: [push]
|
|
|
|
jobs:
|
|
Quartz-Build-Publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Organize content
|
|
run: |
|
|
echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
|
|
git checkout -b quartz
|
|
mkdir content &&
|
|
find . -type d,f -maxdepth 1 -regextype posix-extended ! -regex '^\.$|\./(\.git|\.obsidian|\.trash|content).*' -exec mv {} content/ \;
|
|
|
|
- name: Clone Quartz, move content
|
|
run: |
|
|
git clone https://github.com/jackyzha0/quartz.git
|
|
mv content/* quartz/content
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v6
|
|
working-directory: quartz/
|
|
with:
|
|
node-version: 24
|
|
|
|
- name: Cache dependencies
|
|
uses: actions/cache@v5
|
|
working-directory: quartz/
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
|
|
- name: Cache Quartz plugins
|
|
uses: actions/cache@v5
|
|
working-directory: quartz/
|
|
with:
|
|
path: .quartz/plugins
|
|
key: ${{ runner.os }}-plugins-${{ hashFiles('quartz.lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-plugins-
|
|
|
|
- run: npm install
|
|
working-directory: quartz/
|
|
|
|
- name: Install Quartz plugins
|
|
run: npx quartz plugin install
|
|
working-directory: quartz/
|
|
|
|
- name: Quartz Create
|
|
run: npx quartz create --template ${{ variables.QUARTZ_CREATE_TEMPLATE }} --baseUrl ${{ variables.QUARTZ_CREATE_BASEURL }}
|
|
working-directory: quartz/
|
|
|
|
- name: Quartz Build
|
|
run: npx quartz build
|
|
working-directory: quartz/
|