From 2a9290b3dfedb718dbd5fc7da09775eb803f9764 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Tue, 22 Apr 2025 18:18:50 +0000
Subject: [PATCH] fix(transclude): blockref detection
---
docs/hosting.md | 72 +++++++++++++++++++++++++++---------
1 files changed, 54 insertions(+), 18 deletions(-)
diff --git a/docs/hosting.md b/docs/hosting.md
index eeb9308..8b945a2 100644
--- a/docs/hosting.md
+++ b/docs/hosting.md
@@ -57,18 +57,18 @@
build:
runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for git info
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v4
with:
- node-version: 18.14
+ node-version: 22
- name: Install Dependencies
run: npm ci
- name: Build Quartz
run: npx quartz build
- name: Upload artifact
- uses: actions/upload-pages-artifact@v2
+ uses: actions/upload-pages-artifact@v3
with:
path: public
@@ -81,7 +81,7 @@
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v2
+ uses: actions/deploy-pages@v4
```
Then:
@@ -182,37 +182,33 @@
## GitLab Pages
-In your local Quartz, create a new file `.gitlab-ci.yaml`.
+In your local Quartz, create a new file `.gitlab-ci.yml`.
-```yaml title=".gitlab-ci.yaml"
+```yaml title=".gitlab-ci.yml"
stages:
- build
- deploy
-variables:
- NODE_VERSION: "18.14"
+image: node:20
+cache: # Cache modules in between jobs
+ key: $CI_COMMIT_REF_SLUG
+ paths:
+ - .npm/
build:
stage: build
rules:
- if: '$CI_COMMIT_REF_NAME == "v4"'
before_script:
- - apt-get update -q && apt-get install -y nodejs npm
- - npm install -g n
- - n $NODE_VERSION
- hash -r
- - npm ci
+ - npm ci --cache .npm --prefer-offline
script:
- npx quartz build
artifacts:
paths:
- public
- cache:
- paths:
- - ~/.npm/
- key: "${CI_COMMIT_REF_SLUG}-node-${CI_COMMIT_REF_NAME}"
tags:
- - docker
+ - gitlab-org-docker
pages:
stage: deploy
@@ -250,3 +246,43 @@
}
}
```
+
+### Using Apache
+
+Here's an example of how to do this with Apache:
+
+```apache title=".htaccess"
+RewriteEngine On
+
+ErrorDocument 404 /404.html
+
+# Rewrite rule for .html extension removal (with directory check)
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI}.html -f
+RewriteRule ^(.*)$ $1.html [L]
+
+# Handle directory requests explicitly
+RewriteCond %{REQUEST_FILENAME} -d
+RewriteRule ^(.*)/$ $1/index.html [L]
+```
+
+Don't forget to activate brotli / gzip compression.
+
+### Using Caddy
+
+Here's and example of how to do this with Caddy:
+
+```caddy title="Caddyfile"
+example.com {
+ root * /path/to/quartz/public
+ try_files {path} {path}.html {path}/ =404
+ file_server
+ encode gzip
+
+ handle_errors {
+ rewrite * /{err.status_code}.html
+ file_server
+ }
+}
+```
--
Gitblit v1.10.0