From 279d85b09bf2105e8ecabc7e14cf542b056ed187 Mon Sep 17 00:00:00 2001 From: roushou Date: Mon, 11 Nov 2024 14:45:52 +0700 Subject: [PATCH] feat: add `Uses` page --- src/components/topbar.astro | 107 ++++++++++++++++++++++++ src/layouts/main.astro | 85 +++++++++++++++++++ src/pages/index.astro | 6 +- src/pages/uses.astro | 162 ++++++++++++++++++++++++++++++++++++ tsconfig.json | 6 +- 5 files changed, 362 insertions(+), 4 deletions(-) create mode 100644 src/components/topbar.astro create mode 100644 src/layouts/main.astro create mode 100644 src/pages/uses.astro diff --git a/src/components/topbar.astro b/src/components/topbar.astro new file mode 100644 index 0000000..b3ab5ad --- /dev/null +++ b/src/components/topbar.astro @@ -0,0 +1,107 @@ +--- +const { pathname } = Astro.url; +--- + + + +
+ + + +
diff --git a/src/layouts/main.astro b/src/layouts/main.astro new file mode 100644 index 0000000..db45fca --- /dev/null +++ b/src/layouts/main.astro @@ -0,0 +1,85 @@ +--- +import TopBar from "../components/topbar.astro"; +import BaseLayout from "./base.astro"; + +export type Props = { + title: string; + withSocials?: boolean; +}; + +const props = Astro.props; +--- + + + + { + ( + + ) + } + + diff --git a/src/pages/index.astro b/src/pages/index.astro index df7c7f2..0608366 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -2,10 +2,10 @@ import { Icon } from "astro-icon/components"; import { Square } from "../components/square"; import { squares } from "../data/squares"; -import BaseLayout from "../layouts/base.astro"; +import MainLayout from "../layouts/main.astro"; --- - + @@ -52,4 +52,4 @@ import BaseLayout from "../layouts/base.astro"; - + diff --git a/src/pages/uses.astro b/src/pages/uses.astro new file mode 100644 index 0000000..27b4e48 --- /dev/null +++ b/src/pages/uses.astro @@ -0,0 +1,162 @@ +--- +import MainLayout from "~/layouts/main.astro"; + +type Item = { + name: string; + category?: string; + link: string; +}; + +const hardware: Item[] = [ + { + name: "Keychron Q7 QMK - Red switches", + category: "Keyboard", + link: "https://www.keychron.com/products/keychron-q7-qmk-custom-mechanical-keyboard", + }, + { + name: "Logitech Yeti", + category: "Microphone", + link: "https://www.logitechg.com/en-us/products/streaming-gear/yeti-premium-usb-microphone.988-000100.html", + }, +]; + +const editor: Item[] = [ + { + name: "Neovim", + link: "https://neovim.io", + }, + { + name: "Catppuccin", + category: "Theme", + link: "https://github.com/catppuccin/catppuccin", + }, + { + name: "JetBrains Mono", + category: "Font", + link: "https://fonts.google.com/specimen/JetBrains+Mono?query=jetbrains", + }, +]; + +type TerminalItem = { + name: string; + description: string; + link: string; +}; + +const terminal: TerminalItem[] = [ + { + name: "Wezterm", + description: + "A powerful cross-platform terminal emulator and multiplexer written in Rust", + link: "https://wezfurlong.org/wezterm/index.html", + }, + { + name: "Fish", + description: "User-friendly command-line shell", + link: "https://fishshell.com", + }, + { + name: "Zelli", + description: "Terminal multiplexer", + link: "https://zellij.dev", + }, + { + name: "Starship", + description: "Cross-Shell prompt", + link: "https://starship.rs", + }, + { + name: "Lazygit", + description: "TUI for git commands", + link: "https://github.com/jesseduffield/lazygit", + }, + { + name: "fzf", + description: "Command-line fuzzy finder", + link: "https://github.com/junegunn/fzf", + }, + { + name: "fd", + description: "Faster `find`", + link: "https://github.com/sharkdp/fd", + }, + { + name: "Ripgrep", + description: "Search tool like `grep`", + link: "https://github.com/BurntSushi/ripgrep", + }, + { + name: "Exa", + description: "Modern replacement for `ls`", + link: "https://the.exa.website", + }, + { + name: "Bat", + description: "Better `cat`", + link: "https://github.com/sharkdp/bat", + }, +]; +--- + + +
+

Uses

+
+ My dotfiles can be found here. +
+

# Hardware

+ +

# Editor

+ +

# Terminal

+ +
+
diff --git a/tsconfig.json b/tsconfig.json index 9f04f98..630fca4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,10 @@ "extends": "astro/tsconfigs/strict", "compilerOptions": { "jsx": "preserve", - "jsxImportSource": "solid-js" + "jsxImportSource": "solid-js", + "baseUrl": ".", + "paths": { + "~/*": ["src/*"] + } } }