Hello, Neovim World
Why I rebuilt my personal site to look like Neovim — and why you might want to too.
The idea
I spend most of my day inside Neovim. The muscle memory, the keybindings, the split panes — they feel like a second skin. So when I rebuilt my personal site, I asked: what if the site itself felt like the editor?
Not a gimmick. A genuine attempt to bring the Neovim UX — keyboard-first navigation, minimal chrome, a colorscheme I’m obsessed with — to the browser.
What it’s built with
- Astro for the static site framework (fast, content-first)
- Vue 3 for interactive islands (NeoTree, which-key, command palette)
- Tailwind CSS v4 via the Vite plugin
- Catppuccin theme (Latte / Mocha)
- Fira Code for everything — monospace all the way
The key pieces
Neo-tree sidebar
The left sidebar mirrors neo-tree.nvim: expandable directories, filetype icons, active file
highlighted with an accent border. Keyboard navigation with j/k and Enter.
which-key popup
Press Space anywhere on the site. A popup appears listing available keybindings, exactly
like which-key.nvim. Press g to drill into the goto group: h/a/b/p jump to pages.
Telescope command palette
<leader>f opens a fuzzy finder over all pages, blog posts, and projects. Type to filter;
↑/↓ to move; Enter to open.
lualine statusline
The bottom bar shows: mode pill → git branch → filename → filetype → theme flavor → clock.
The powerline diagonal separators are pure CSS clip-path.
Try it
- Press
Spaceto see the which-key popup - Press
Space fto open the command palette - Press
Space tto toggle Catppuccin Latte ↔ Mocha - Press
Space eto toggle the Neo-tree sidebar
The site is fully open source: github.com/dhanifudin/dhanifudin.github.io.