Theme, Plugin (Starter Pack)
.makemd
.obsidian
.space
Unzip
and Move toVault
- Use
Cmd
+Shift
+.
- Includes
Themes
,Hot-Keys
,Plugins
, etc- Need additional settings:
Languages
,API Key
,Git
,Path
, etc
Sync (example)
Quartz (Web-Publish)
Installation 1
- Create GitHub Account and Install Node, VS Code, GitHub Desktop
- Create your
GitHub-Repository
Repository Name
is important…- Go
GitHub-Repository Settings
-Pages
- Change
Deploy from a branch
→GitHub Actions
- (Advanced) If you want to get
Short Url
,Repository-Name
→<Your-ID>.github.io
likefilmnt.github.io
- (Advanced) If you want to get
- Enter the following commands in
terminal
cd Downloads
git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create
If you’re in trouble, I strongly recommend you
GIVE UP
and use Obsidian Publish
- Enter the following commands
git remote rm origin
# REPLACE <YOUR-REMOTE-URL> with *.git URL in your repository
git remote add origin <YOUR-REMOTE-URL(https://...git)>
# Check your repository and upstream (fetch/push)
git remote -v
# 4 Lines works properly
# If you made a mistake, enter the following command and try again
# git remote rm origin
# Initialize Quartz
npx quartz sync --no-pull
- Modify 2
.gitignore
,quartz.config.ts
and (optional)quartz.layout.ts
inquartz
folder (See ToC) - Move
Obsidian Vault files
toquartz/content
including.folder
- Use
Cmd
+Shift
+.
- The
.md files
in thecontent folder
will be published - ⚠️ Check your
Private Notes
andPublic Notes
in.gitignore
- Use
- Create a new file
deploy.yml
2 inquartz/.github/workflows/
and Copy & Paste the following
name: Deploy Quartz site to GitHub Pages
on:
push:
branches:
- v4
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for git info
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Dependencies
run: npm ci
- name: Build Quartz
run: npx quartz build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: public
deploy:
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- Use
GitHub Desktop
forPublish
- Open
quartz folder
inGitHub Desktop
and ClickCommit to v4
+Push origin
- Whenever you want to publish
your notes
,commit
andpush
- ⚠️ Use carefully with your
Private Notes
- Open
- Your content will be published within minutes.
- See
GitHub-Actions
-Deploy Quartz site to GitHub Pages
- URL:
<GitHub-Username>.github.io/<Repository-Name>
- You Can Rename
quartz
and Move it to where you want.
- See
- If You have
Private Notes
, DON’T USEnpx quartz sync
in quartz folder
(Optional) You can connect http://localhost:8080
# Go to quartz folder
cd quartz
# Host local server
npx quartz build --serve
.gitignore
- Below
Personal Setting
.DS_Store
.gitignore
node_modules
public
prof
tsconfig.tsbuildinfo
.quartz-cache
private/
.replit
replit.nix
# Personal Setting
.filen.trash.local
content/🔖 Daily Notes/
content/🔐 Private Notes/
.trash
.obsidian
.makemd
.space
.stfolder
# Media
*.mp4
*.webm
*.qt
*.wmv
*.avi
*.mkv
*.xspf
*.dpl
*.mp3
*.aiff
quartz.config.ts
pageTitle
,baseUrl
,ignorePatterns
,header/body/code
(optional),lightMode/darkMode colors
(optional)
import { QuartzConfig } from "./quartz/cfg"
import * as Plugin from "./quartz/plugins"
/**
* Quartz 4.0 Configuration
*
* See https://quartz.jzhao.xyz/configuration for more information.
*/
const config: QuartzConfig = {
configuration: {
pageTitle: "🪴 Title",
pageTitleSuffix: "",
enableSPA: false,
enablePopovers: true,
analytics: {
provider: "plausible"
},
locale: "en-US",
baseUrl: "filmnt.github.io/",
ignorePatterns: ["private", "templates", ".obsidian"],
defaultDateType: "modified",
generateSocialImages: false,
theme: {
fontOrigin: "googleFonts",
cdnCaching: true,
typography: {
header: "Noto Sans",
body: "Noto Sans",
code: "Noto Sans",
},
colors: {
lightMode: {
light: "#faf8f8",
lightgray: "#e5e5e5",
gray: "#b8b8b8",
darkgray: "#4e4e4e",
dark: "#2b2b2b",
secondary: "#284b63",
tertiary: "#84a59d",
highlight: "rgba(143, 159, 169, 0.15)",
},
darkMode: {
light: "#0F0F0F",
lightgray: "#272727",
gray: "#646464",
darkgray: "#F1F1F1",
dark: "#F1F1F1",
secondary: "#64B5F6",
tertiary: "#FFFFFF",
highlight: "rgba(255, 255, 255, 0.15)",
},
},
},
},
plugins: {
transformers: [
Plugin.FrontMatter(),
Plugin.CreatedModifiedDate({
priority: ["git", "frontmatter", "filesystem"],
}),
Plugin.SyntaxHighlighting({
theme: {
light: "github-light",
dark: "github-dark",
},
keepBackground: false,
}),
Plugin.ObsidianFlavoredMarkdown({ enableInHtmlEmbed: false }),
Plugin.GitHubFlavoredMarkdown(),
Plugin.TableOfContents(),
Plugin.CrawlLinks({ markdownLinkResolution: "shortest" }),
Plugin.Description(),
Plugin.Latex({ renderEngine: "katex" }),
],
filters: [Plugin.RemoveDrafts()],
emitters: [
Plugin.AliasRedirects(),
Plugin.ComponentResources(),
Plugin.ContentPage(),
Plugin.FolderPage(),
Plugin.TagPage(),
Plugin.ContentIndex({
enableSiteMap: true,
enableRSS: true,
}),
Plugin.Assets(),
Plugin.Static(),
Plugin.NotFoundPage(),
],
},
}
export default config
quartz.layout.ts
Github
,Discord Community
(Footer contents), you can add additional links
import { PageLayout, SharedLayout } from "./quartz/cfg"
import * as Component from "./quartz/components"
// components shared across all pages
export const sharedPageComponents: SharedLayout = {
head: Component.Head(),
header: [],
afterBody: [
Component.Comments({ }
}),
],
footer: Component.Footer({
links: {
"Comments": "https://filmnt.github.io/share/2",
"Discord": "https://filmnt.github.io/share/3",
GitHub: "https://filmnt.github.io/share/4",
},
}),
}
// components for pages that display a single page (e.g. a single note)
export const defaultContentPageLayout: PageLayout = {
beforeBody: [
Component.Breadcrumbs(),
Component.ArticleTitle(),
Component.ContentMeta(),
],
left: [
Component.PageTitle(),
Component.MobileOnly(Component.Spacer()),
Component.DesktopOnly(Component.Search()),
Component.Darkmode(),
Component.DesktopOnly(Component.Explorer()),
Component.DesktopOnly(Component.RecentNotes({ limit: 4, showTags:false })),
],
right: [
Component.DesktopOnly(Component.Graph()),
Component.DesktopOnly(Component.TableOfContents()),
],
}
// components for pages that display lists of pages (e.g. tags or folders)
export const defaultListPageLayout: PageLayout = {
beforeBody: [ Component.Breadcrumbs(),Component.ArticleTitle(), Component.ContentMeta()],
left: [
Component.PageTitle(),
Component.MobileOnly(Component.Spacer()),
],
right: [
],
}