name: Quartz Publisher run-name: Quartz Publisher for Obsidian on: [push] jobs: Clone-Repos: 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, build 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 # with: # path: ~/.npm # key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} # restore-keys: | # ${{ runner.os }}-node- # - name: Cache Quartz plugins # uses: actions/cache@v5 # with: # path: .quartz/plugins # key: ${{ runner.os }}-plugins-${{ hashFiles('quartz.lock.json') }} # restore-keys: | # ${{ runner.os }}-plugins- - run: npm install - name: Install Quartz plugins run: npx quartz plugin install - name: Check types and style run: npm run check