Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Linear Year Calendar

gordon-denggordon-deng53 downloads

A linear year planner: see all 12 months at once, create events from notes, and import Google Calendar via ICS.

Add to Obsidian
Linear Year Calendar screenshot
  • Overview
  • Scorecard
  • Updates5

An Obsidian plugin that shows your whole year at a glance: 12 month rows, pastel event bars, Linear / Stacked / Column / Col-Stack layouts, click or drag to create notes, an event detail popover, and Google Calendar import via ICS.

screenshot


Install

Community plugins (once listed)

  1. Open Obsidian → Settings → Community plugins.
  2. Turn Restricted mode off if it is on.
  3. Browse → search Linear Year Calendar → Install → Enable.

Manual install (from a GitHub release)

  1. Create VaultFolder/.obsidian/plugins/linear-year-calendar/.
  2. From the latest release, download these three assets into that folder:
    • manifest.json
    • main.js
    • styles.css
  3. Enable Linear Year Calendar under Community plugins.

Ignore GitHub’s auto-generated Source code zip/tar — that is the whole repository, not the plugin install package. Obsidian only uses the three files above.


Open the view

Use the calendar ribbon icon, or run Open Linear Year Calendar from the command palette.


How it works

Google Calendar is the source of truth for imported events. Obsidian is for local planning.

Kind Folder In Obsidian
Local planning Calendar/<CalendarName>/ Create, edit, delete
Google ICS Calendar/google/<CalendarName>/ View only; open the day in Google Calendar

Click or drag creates notes in the Default calendar name folder (settings). In the create/edit modal, pick a local calendar from the dropdown, or choose Other… to name a new one (Google calendars are not listed). Changing calendar on edit moves the note into that folder. Filters group Local vs Google.

Action What happens
Click a day Create a one-day local event note
Drag across days Create a multi-day local event note (live range preview)
Click a local event bar Detail popover (open note / edit / delete)
Click a Google event bar Read-only popover; Google opens that day in Google Calendar
Hover an event bar Tooltip with title, dates, day count
Today (next to year arrows) Jump to the current year and center on today
Display Switch Stacked / Linear / Column / Col-Stack
Filters Local and Google sections; Show all when some are hidden
Search Filter bars by title
Year arrows Move year

Layouts

  • Linear — day 1 of every month is in the first column.
  • Stacked — months are offset so Sundays (or Mondays) stack in the same columns.
  • Column — months sit side by side with days top to bottom; events appear inside each month on their days.
  • Col-Stack — like Column, but months are weekday-aligned so weekends line up horizontally across the year.

Event notes

Local events are Markdown notes with YAML frontmatter:

---
start: 2026-09-07
end: 2026-09-15
color: "#E7A989"
calendar: Personal
---
# Home Office Makeover

Optional description lives in the note body.

Google Calendar via ICS

  1. In Google Calendar, open Settings.
  2. Under Settings for my calendars, select a calendar.
  3. Open Integrate calendar.
  4. Copy Secret address in iCal format.
  5. In Obsidian: Settings → Linear Year Calendar → Add under Google calendars.
  6. Paste the URL, set a name and color.
  7. On the year view, click the refresh icon (or command Refresh ICS calendars).

All-day events only skips timed meetings when enabled. Timed Google events still import as one-day bars when that setting is off.

Imported events are written under Calendar/google/<calendar-name>/, keyed by ics-uid + start date so refreshes update instead of duplicating. Do not edit those notes in Obsidian — change them in Google and refresh.

Public ICS URLs work too (webcal / https). webcal:// is rewritten to https:// automatically.

If you previously imported into Calendar/<name>/ (without google/), refresh will write to the new path; you can delete the old ICS notes manually.


Settings

Open Settings → Linear Year Calendar.

Setting What it does
Events folder Root folder for calendar notes (default Calendar). Local calendars use <folder>/<Name>/; Google imports use <folder>/google/<Name>/.
Default calendar name Local calendar used when you click or drag to create an event.
Week starts on Sunday or Monday — used by Stacked and Col-Stack so weekends line up.
Default view Layout used when you open the year view.
All-day events only When on, skip timed Google meetings on ICS refresh.
Google US holidays Optional holiday feed, with a color picker. Refresh ICS after enabling.
Google calendars Add, enable/disable, color, and test ICS sources. Names map to Calendar/google/<Name>/.

Use Refresh ICS calendars (toolbar or command) after changing ICS sources. The settings page shows the last refresh time and per-calendar results when available.


Known limits

  • Google / ICS events are read-only in Obsidian. Edit them in Google, then refresh.
  • Timed Google events render as one-day bars (not hour blocks).
  • ICS recurrence covers common Google series (including weekly BYDAY and EXDATE). Some monthly patterns and edge cases may still land wrong or incomplete.
  • Recurring series are capped when expanding occurrences so a bad rule cannot flood the vault.
  • The plugin reads Markdown notes under your events folder (and related vault paths) to draw the year grid.
HealthExcellent
ReviewSatisfactory
About
View your whole year at a glance with 12-month rows and pastel event bars, and switch between Linear, Stacked, Column, and Col-Stack layouts. Create notes by clicking or dragging, inspect events with a detail popover, and import Google Calendar via ICS while keeping local notes organized into calendar folders.
CalendarImportFolders
Details
Current version
1.0.4
Last updated
Last week
Created
2 weeks ago
Updates
5 releases
Downloads
53
Compatible with
Obsidian 1.13.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
gordon-denggordon-deng
GitHubgzd2032
  1. Community
  2. Plugins
  3. Calendar
  4. Linear Year Calendar

Related plugins

Meal Plan

Meal planning and recipe manager.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Full Calendar Remastered

Complete Calendar HUB experience. Work with all your calendars in one place. Analyze your time and take action!

Tracker

Track occurrences and numbers in your notes.

Folder notes

Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.

Zotero Integration

Insert and import citations, bibliographies, notes, and PDF annotations from Zotero.

Operon

Task and project management system that unifies inline tasks and file-based tasks in the same workflows with Tables, Filters, Calendars, Kanban boards, Gantt views, Canvas, and time tracking.

Relay

Collaborate in real time with live cursors. Share folders. Manage access to updates.