Homepage Blocks

pending

by Alfio Caprino

A composable, drag-and-drop homepage with 15 native block types — no Dataview required.

2 starsUpdated 27d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Homepage Blocks

A composable, drag-and-drop homepage for Obsidian.

Homepage overview

Features

  • 15 block types — greeting, clock, quotes, quick links, button grid, image gallery, video embed, embedded note, static text, HTML, bookmarks, recent files, pomodoro timer, spacer, random note
  • Drag & drop layout with 2D resize (column span + row height)
  • Accent colors with adjustable intensity (5–100%) — tints the entire card including interactive controls
  • Per-block styling — title, emoji, divider, padding, elevation, border, opacity, backdrop blur, gradients
  • Responsive — blocks adapt to narrow panes via CSS container queries
  • Full-screen lightbox for gallery images with keyboard and swipe navigation
  • Collapsible blocks — click any header to collapse/expand
  • 50 language presets for greeting salutations
  • Zero runtime dependencies beyond GridStack

Installation

From Community Plugins

  1. Open Settings > Community plugins > Browse
  2. Search for Homepage Blocks
  3. Click Install, then Enable

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create <vault>/.obsidian/plugins/homepage-blocks/
  3. Copy the three files into that folder
  4. Enable the plugin in Settings > Community plugins

How to use

  1. Click the house icon in the ribbon (or run Open Homepage from the command palette)
  2. Click the pencil FAB to enter edit mode
  3. Use Add Block to insert blocks, gear icon to configure, grip handle to reorder, corner grip to resize
  4. Click Done to exit edit mode

Block types

BlockDescription
GreetingTime-aware salutation with 50 language presets, custom emoji per time slot or random pool
ClockLive clock with optional seconds and date
QuotesMulti-column quotes from tagged notes or manual text
Quick LinksAuto-list from a folder + manual links
Button GridEmoji-labeled buttons linking to notes
Image GalleryGrid or masonry layout from a vault folder with lightbox
Video EmbedYouTube, Vimeo, Dailymotion (supports playlists with shuffle)
Embedded NoteInline-rendered vault note
Static TextFreeform markdown with quick-edit button
HTMLCustom HTML (sanitized)
BookmarksWeb links and vault bookmarks grid
Recent FilesMost recently modified notes
PomodoroConfigurable work/break timer
SpacerEmpty space for layout gaps
Random NoteSurface a random note from a tag filter with excerpt preview

Masonry gallery with video thumbnails

Card styling

Every block supports these shared settings (gear icon):

  • Title — custom label, emoji (picker), size (h1–h6), show/hide, divider
  • Accent color — preset swatches or custom picker, intensity slider (5–100%)
  • Card — hide border, hide background, padding, elevation (shadow), border radius/width/style
  • Advanced — background opacity, backdrop blur, two-color gradient with angle

Accent colors automatically tint the header, background, border, divider, and all interactive controls (checkboxes, toggles, radio buttons).

Settings

Open Settings > Homepage Blocks:

SettingDescription
Open on startupAutomatically open the homepage when Obsidian launches
Startup open modeHow the homepage opens on startup (replace active tab, new tab, or sidebar)
Open when emptyOpen the homepage when no other tabs are open
Manual open modeHow the homepage opens from ribbon/command (replace, new tab, or sidebar)
Pin homepage tabPrevent the homepage tab from being closed
Default columnsGrid column count (2, 3, 4, or 5)
Hide scrollbarHide the homepage scroll bar
Reset to default layoutRestores demo blocks (cannot be undone)
Export layoutExport layout as JSON
Import layoutImport layout from JSON
Layout presetsApply a preset layout (Minimal, Dashboard, Focus)

Commands

CommandAction
Open HomepageOpen or focus the homepage tab
Toggle edit modeSwitch between edit and view mode
Add blockOpen the add-block modal

CSS customization

Override layout variables in a CSS snippet:

:root {
  --hp-gap: 16px;
  --hp-padding: 24px;
  --hp-card-padding: 16px;
  --hp-content-max-width: 1400px;
  --hp-row-unit: 200px;
}

Support

Bug reports and feature requests: GitHub Issues

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.