extended-graph-interactive-type
Adding a New Interactive Filter Type
Critical
- Barrel exports only: Every internal import MUST use
"../internal"or"../../internal". Never import from specific files withinsrc/. After creating any new file, add itsexport *line tosrc/internal.ts. - Three categories of interactive: Node-level (like tags, properties), link-level (like
LINK_KEY), and folder-level (likeFOLDER_KEY). TheInteractiveEventsDispatcherroutes events differently based on whether the key equalsLINK_KEY,FOLDER_KEY, or something else (node interactive). Determine your category before starting. - Keys are string constants: Each interactive type has a constant key (e.g.,
TAG_KEY = "tag",LINK_KEY = "link",FOLDER_KEY = "folder") defined insrc/globalVariables.ts. The key is used throughout as a dictionary key ininteractiveSettings,interactiveManagers, andtypesMap. - Feature flag required: The
Featuretype insrc/types/restrictedStrings.tsgates which interactives are available. Your new type needs a feature flag entry.
Instructions
Step 1: Define the Key Constant
Add a new constant to src/globalVariables.ts:
export const MY_KEY: string = "mytype";
INVALID_KEYS[MY_KEY] = [];
More from zpankz/obsidian-skills
viva-llm
Use VIVA LLM for multi-provider chat, voice calls, terminal integration, assistants, skills, MCP tools, and agent mode inside Obsidian. Trigger when the user mentions VIVA LLM, voice chat, realtime voice, LLM providers in Obsidian, or vault-integrated AI chat.
1obsidian-plugin-accessibility
Use this skill when building or reviewing Obsidian plugin UI for keyboard access, ARIA labels, screen reader support, focus handling, or mobile touch targets. Accessibility is treated as mandatory, not optional.
1tasks
Create and query tasks using the Tasks plugin syntax including due dates, recurrence, priorities, and task queries. Use when the user mentions Tasks plugin, recurring tasks, task queries, or advanced task management in Obsidian.
1dataview
Create Dataview queries using DQL (Dataview Query Language), inline queries, and DataviewJS. Use when the user mentions Dataview, DQL, querying notes, listing notes by metadata, or creating dynamic views of vault content.
1defuddle
Extract clean markdown from web pages using Defuddle CLI, removing clutter to save tokens. Use when the user provides a URL to read or analyze.
1datacore
Create Datacore views using JSX/React syntax and the dc.* API. Use when the user mentions Datacore, dc.useQuery, JSX views, or React-based vault queries. Datacore is the successor to Dataview with better performance and interactive views.
1