Skip to content

🌱 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.

License

Notifications You must be signed in to change notification settings

semanticdata/forgetful-notes

Β 
Β 

Repository files navigation

🌱 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

✨ Features

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

⚑ 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

πŸ‘¨πŸΌβ€πŸ’» Useful Commands

Update Quartz

npm run update

Sync changes

npm run sync

Read about a command

npx quartz <command> --help

🎨 Customization

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.

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

πŸ› οΈ Technology

The site uses various technologies cobbled together. Here's a few 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.

πŸ”€ Workflows

πŸ”¨ Build only

steps:
  - uses: actions/checkout@v4
    with:
      fetch-depth: 0 # Fetch all history for git info
  - uses: actions/setup-node@v4
    with:
      node-version: 18
  - name: Install Dependencies
    run: npm i
  - name: Build Quartz
    run: npx quartz build

πŸš€ Build and Deploy

# Using npm
steps:
  - name: Checkout
    uses: actions/checkout@v4
    with:
      fetch-depth: 0 # Fetch all history for git info
  - name: Setup Node
    uses: actions/setup-node@v4
    with:
      node-version: 18
  - name: Install Dependencies
    run: npm i
  - name: Build Quartz
    run: npm run build
  - name: Upload artifact
    uses: actions/upload-pages-artifact@v3
    with:
      path: public
  - name: Deploy to GitHub Pages
    id: deployment
    uses: actions/deploy-pages@v4
# Using pnpm
steps:
  - name: Checkout
    uses: actions/checkout@v4
    with:
      fetch-depth: 0 # Fetch all history for git info
  - name: Setup PNPM
    uses: pnpm/action-setup@v3
    with:
      version: 8
  - name: Get pnpm store directory
    shell: bash
    run: |
      echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
  - name: Setup pnpm cache
    uses: actions/cache@v4
    with:
      path: ${{ env.STORE_PATH }}
      key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
      restore-keys: |
        ${{ runner.os }}-pnpm-store-
  - name: Install dependencies
    run: pnpm install
  - name: Build Quartz Site
    run: pnpm run build
  - name: Upload artifact
    uses: actions/upload-pages-artifact@v3
    with:
      path: public
  - name: Deploy to GitHub Pages
    uses: actions/deploy-pages@v4
    id: deployment

Β© License

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

About

🌱 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.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 52.3%
  • Markdown 38.5%
  • SCSS 5.5%
  • JavaScript 3.7%