This enhancement adds visual feedback to cards based on hashtags that match calendar names from the Full Calendar plugin. Cards automatically display calendar colors when they contain hashtags that correspond to configured calendar names, creating a seamless visual connection between task planning and calendar scheduling.
- Hashtag Detection: System scans card content for hashtags (e.g.,
#Work,#Personal) - Calendar Matching: First hashtag that matches a calendar name determines the card color
- Color Application: Card background and text colors automatically update to match the associated calendar
- Smart Contrast: Text color (black/white) is automatically calculated for optimal readability
When copying a card to a calendar:
- Event Creation: Calendar event is created in the specified directory
- Hashtag Addition: If the card doesn't already have a hashtag matching the calendar name, it's automatically added
- Instant Visual Feedback: Card immediately displays the calendar's color scheme
- Persistent Association: The hashtag creates a permanent visual connection between the card and calendar
The system automatically calculates the best text color (black or white) based on the background color brightness, ensuring optimal readability regardless of the calendar color.
Colors are determined dynamically by parsing hashtags and matching them to Full Calendar configuration:
// Example card content
"Complete project deliverables #Work #HighPriority"
// System finds #Work matches "Work" calendar (case-insensitive)
// Applies calendar color: #ff6b6b with contrasting text color- Content Parsing: Extract all hashtags from card content using regex:
/#([^\s#]+)/g - Calendar Matching: Compare hashtags to calendar names from Full Calendar
data.json - Color Resolution: First matching hashtag determines the color scheme
- Style Application: Colors applied via CSS custom properties for theme integration
- Configuration Source: Reads directly from
.obsidian/plugins/obsidian-full-calendar/data.json - Live Updates: Changes to Full Calendar settings are reflected immediately
- No Storage Overhead: No persistent color data stored in board settings
- Calendar Synchronization: Visual state always matches current calendar configuration
The system uses CSS custom properties for dynamic color application:
.kanban-plugin__item.has-calendar-color {
--card-background-color: var(--calendar-color);
--card-color: var(--calendar-text-color);
}When a card is copied to a calendar:
- Check if card already has a hashtag matching the calendar name
- If not, append the calendar name as a hashtag (e.g.,
#Work) - Text contrast is calculated for optimal readability
- UI immediately reflects the new color based on the hashtag
- Automatic Color Association: Cards display calendar colors based on their hashtags
- Zero Configuration: No setup required - colors are determined by existing Full Calendar settings
- Persistent Visual Cues: Hashtags provide permanent visual connection between cards and calendars
- Dynamic Updates: Colors automatically update when Full Calendar settings change
- Intuitive Tagging: Natural hashtag workflow integrates seamlessly with calendar organization
- Accessibility: Automatic contrast calculation ensures text remains readable
- Cards without hashtags remain unchanged
- Existing color systems (tag colors, date colors) continue to work normally
- Feature is purely additive - no existing functionality is modified
- No changes to board settings format - hashtags are stored in card content only
- [ ] Meeting with client #Work
- [ ] Doctor appointment #Personal
- [ ] Team review #WorkCards automatically display colors based on #Work and #Personal hashtags matching calendar names.
- Create a card:
"Complete project proposal" - Right-click → "Copy to Calendar"
- Select "Work Calendar"
- Card content becomes:
"Complete project proposal #Work" - Card immediately displays Work calendar's color scheme
Add hashtags to any card to instantly apply calendar colors without copying to calendar:
- Add
#Personal→ card shows Personal calendar colors - Add
#Work→ card shows Work calendar colors - Change
#Workto#Personal→ colors update automatically
The feature leverages the Full Calendar plugin's color configuration:
- Reads calendar colors from Full Calendar plugin settings
- Respects calendar directory configurations
- Maintains compatibility with Full Calendar's "Full note" mode
- Supports both wildcard patterns and literal directory names
This creates a seamless workflow between task planning (Kanban) and time scheduling (Full Calendar), with visual feedback bridging the gap between the two productivity systems.