6.0 KiB
🌱 Forgetful Notes
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.
📑 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
👨🏼💻 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 | Poppins | 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.
The website has gone through many changes. I have ran my notes through Jekyll, Hugo, MkDocs, Zola, and most recently 11ty.
© License
Source code in this repository is available under the MIT License.