🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites
Go to file
2024-09-02 15:56:39 -05:00
.github enable more options 2024-09-02 15:56:39 -05:00
.vscode add extension settings 2024-03-25 17:41:37 -05:00
content update content 2024-08-14 16:33:04 -05:00
docs Merge branch 'v4' of https://github.com/jackyzha0/quartz 2024-09-02 15:34:11 -05:00
quartz Merge branch 'v4' of https://github.com/jackyzha0/quartz 2024-09-02 15:34:11 -05:00
.gitattributes rgb to hex colors 2023-09-21 17:49:02 -05:00
.gitignore enable all plugins 2024-04-22 13:44:29 -05:00
.prettierignore enable all plugins 2024-04-22 13:44:29 -05:00
.prettierrc pnpm run format 2024-03-14 12:28:44 -05:00
Dockerfile Create Dockerfile 2023-10-10 18:12:23 -05:00
globals.d.ts refactor(comments): move script to files (#1308) 2024-08-05 15:17:11 -04:00
index.d.ts pnpm run format 2024-03-14 12:28:44 -05:00
LICENSE minor changes/adjustments 2024-03-07 12:46:33 -06:00
package-lock.json chore(deps): bump unified from 11.0.4 to 11.0.5 (#1373) 2024-08-26 14:13:09 -07:00
package.json Merge branch 'v4' of https://github.com/jackyzha0/quartz 2024-09-02 15:34:11 -05:00
pagespeed-fn.svg Update pagespeed-fn.svg - [Skip GitHub Action] 2024-09-02 20:46:25 +00:00
pnpm-lock.yaml update dependencies 2024-08-14 17:23:30 -05:00
quartz.config.ts fix type issues 2024-08-14 16:28:39 -05:00
quartz.layout.ts Merge branch 'v4' of https://github.com/jackyzha0/quartz 2024-08-14 16:10:38 -05:00
README.md update readme 2024-08-14 16:42:20 -05:00
tsconfig.json chore(deps-dev): bump prettier 2024-06-17 21:46:43 -07:00

🌱 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:
  - name: Checkout
    uses: actions/checkout@v4
  - name: Setup Node
    uses: actions/setup-node@v4
  - 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
  - name: Setup Node
    uses: actions/setup-node@v4
  - 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
  - name: Setup PNPM
    uses: pnpm/action-setup@v3
  - 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
# Using Bun (my preferred method)
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest
      - name: Install Dependencies
        run: bun install
      - 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

© License

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