quartz/README.md
2024-03-28 11:48:22 -05:00

6.8 KiB

🌱 Forgetful Notes

code size repository size commits last commit is website up?

Forgetful Notes is my digital garden of knowledge. It serves as a platform for my learning and creative endeavours. A space for thinking through, building upon, and coming back to.

Github Pages Vercel

📑 Table of Contents

Quick start

1. Clone repo

git clone https://github.com/semanticdata/forgetful-notes.git

2. Install dependencies

pnpm install

3. Run the project locally

pnpm start

Features

  • Fast Natural-Language Search
  • Bidirectional Backlinks
  • Floating Link Previews
  • Admonition-style Callouts
  • Markdown Links and Wikilinks Support
  • Latex Support

📄 Background

Forgetful Notes is created using Quartz, hosted on GitHub, deployed with GitHub Pages, and facilitated by the GitHub Publisher plugin for Obsidian.

The website has gone through many changes. I have not been shy about moving from technology to technology as I learn new things. Coming across the world of Static Site Generators was a game changer. I have ran my notes through Jekyll, Hugo, MkDocs, Zola, and most recently 11ty.

👨🏼‍💻 Useful Commands

Install dependencies

npm install

Update dependencies

npm update

Start local server

npm start

Update Quartz

npm run update

Sync the repo

npm run sync

Build only

npm run build

Read about a command

npx quartz <command> --help

🎨 Customization

Stylesheets

You can add custom CSS code within /quartz/styles/custom.scss. You will then need to uncomment line 4 of /quartz/styles/base.scss to have it take effect.

Fonts

Used in: Font Family Previous Font
Headers Bitter Schibsted Grotesk
Body Bitter Source Sans Pro
Code Fira Mono IBM Plex Mono

📁 Folder Structure

Show/Hide
.
├── .github/
│   └── workflows/
│       ├── build.yml
│       └── deploy.yml
├── content/
│   ├── notes.md
│   ├── pages.md
│   └── ...
├── docs/
│   ├── documentation.md
│   └── ...
├── quartz/
│   ├── cli/
│   │   ├── args.js
│   │   ├── constants.js
│   │   ├── handlers.js
│   │   └── helpers.js
│   ├── components/
│   │   ├── pages/
│   │   ├── scripts/
│   │   ├── styles/
│   │   ├── Backlinks.tsx
│   │   ├── Explorer.tsx
│   │   └── ...
│   ├── plugins/
│   │   ├── emitters/
│   │   ├── filters/
│   │   ├── transformers/
│   │   ├── index.ts
│   │   ├── types.ts
│   │   └── vfile.ts
│   ├── processors/
│   │   ├── emit.ts
│   │   ├── filter.ts
│   │   └── parse.ts
│   ├── static/
│   │   ├── favicon.ico
│   │   ├── site.manifest
│   │   └── ...
│   ├── styles/
│   │   ├── base.scss
│   │   ├── callouts.scss
│   │   ├── custom.scss
│   │   ├── syntax.scss
│   │   └── variables.scss
│   ├── util/
│   │   ├── theme.ts
│   │   ├── jsx.tsx
│   │   └── ...
│   ├── bootstrp.cli.mjs
│   ├── bootstrap-worker.njs
│   ├── build.ts
│   ├── cfg.ts
│   └── worker.ts
├── .gitattributes
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── Dockerfile
├── LICENSE
├── README.md
├── globals.d.ts
├── index.d.ts
├── package-lock.json
├── package.json
├── quartz.config.ts
├── quartz.layout.ts
├── screenshot.png
└── tsconfig.json

🛠️ Technology

The site uses various technologies cobbled together. It's powered by Quartz and Obsidian. You can read the Documentation, and join the Discord Community.

Here's some of them:

  • Quartz: a fast, batteries-included static-site generator.
  • Prettier: an opinionated code formatter.
  • Sass: makes CSS fun!
  • TypeScript: superset of JavaScript that compiles to clean JavaScript output.

All content for the site is written in Markdown within Obsidian—an extensible, flexible note-taking app. To export the notes from Obsidian, I rely on the GitHub Publisher plugin.

© License

Source code in this repository is available under the MIT License.