# 🌱 Forgetful Notes ![code size](https://img.shields.io/github/languages/code-size/semanticdata/forgetful-notes) ![repository size](https://img.shields.io/github/repo-size/semanticdata/forgetful-notes) ![commits](https://img.shields.io/github/commit-activity/t/semanticdata/forgetful-notes) ![last commit](https://img.shields.io/github/last-commit/semanticdata/forgetful-notes) ![is website up?](https://img.shields.io/website/https/forgetfulnotes.com.svg) [Forgetful Notes](https://forgetfulnotes.com) 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](https://img.shields.io/badge/github%20pages-121013?style=for-the-badge&logo=github&logoColor=white)](https://forgetfulnotes.com/) [![Vercel](https://img.shields.io/badge/vercel-%23000000.svg?style=for-the-badge&logo=vercel&logoColor=white)](https://forgetful-notes.vercel.app/) ## πŸ“‘ Table of Contents - [🌱 Forgetful Notes](#-forgetful-notes) - [πŸ“‘ Table of Contents](#-table-of-contents) - [⚑ Quick start](#-quick-start) - [✨ Features](#-features) - [πŸ‘¨πŸΌβ€πŸ’» Useful Commands](#-useful-commands) - [🎨 Customization](#-customization) - [πŸ“ Folder Structure](#-folder-structure) - [πŸ› οΈ Technology](#️-technology) - [Β© License](#-license) ## ⚑ Quick start **1. Clone repo** ```bash git clone https://github.com/semanticdata/forgetful-notes.git ``` **2. Install dependencies** ```sh pnpm install ``` **3. Run the project locally** ```sh pnpm start ``` ## ✨ Features - Fast Natural-Language Search - Bidirectional Backlinks - Floating Link Previews - Admonition-style Callouts - Markdown Links and Wikilinks Support - Latex Support ## πŸ‘¨πŸΌβ€πŸ’» Useful Commands **Update Quartz** ```sh npm run update ``` **Sync changes** ```sh npm run sync ``` **Read about a command** ```sh npx quartz --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](https://fonts.google.com/specimen/Bitter) | [Schibsted Grotesk](https://fonts.google.com/specimen/Schibsted+Grotesk) | | Body | [Poppins](https://fonts.google.com/specimen/Poppins) | [Source Sans Pro](https://fonts.google.com/specimen/Source+Sans+3) | | Code | [Fira Mono](https://fonts.google.com/specimen/Fira+Mono) | [IBM Plex Mono](https://fonts.google.com/specimen/IBM+Plex+Mono) | ## πŸ“ Folder Structure
Show/Hide ```plaintext . β”œβ”€β”€ .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](https://github.com/jackyzha0/quartz/) and [Obsidian](https://obsidian.md). You can read the [Documentation](https://quartz.jzhao.xyz/), and join the [Discord Community](https://discord.gg/cRFFHYye7t). Here's some of them: - [Quartz](https://github.com/jackyzha0/quartz): a fast, batteries-included static-site generator. - [Prettier](https://github.com/prettier/prettier): an opinionated code formatter. - [Sass](https://github.com/sass/sass): makes CSS fun! - [TypeScript](https://github.com/microsoft/TypeScript): superset of JavaScript that compiles to clean JavaScript output. All content for the site is written in _Markdown_ within [Obsidian](https://obsidian.md/)β€”an extensible, flexible note-taking app. To export the notes from Obsidian, I rely on the [GitHub Publisher](https://github.com/ObsidianPublisher) plugin. The website has gone through many changes. I have ran my notes through [Jekyll](https://jekyllrb.com/), [Hugo](https://gohugo.io/), [MkDocs](https://squidfunk.github.io/mkdocs-material/), [Zola](https://www.getzola.org/), and most recently [11ty](https://11ty.dev). ## Β© License Source code in this repository is available under the [MIT License](LICENSE).