Configuration
Nexus Properties offers extensive configuration options to customize how relationships are managed and visualized. This guide covers all available settings.
Accessing Settings
Open Settings in Obsidian (Ctrl/Cmd+,) and navigate to Nexus Properties in the sidebar.
User Interface
Show Ribbon Icon
Default: true
Display the relationship graph icon in the left ribbon.
You must restart Obsidian after changing this setting for it to take effect.
Graph Display
Configure how the relationship graph is displayed and behaves.
Show Search Bar by Default
Default: true
Display the search bar in the graph view when it loads. You can still toggle it with the command "Toggle Graph Search" even if this is disabled.
Show Filter Bar by Default
Default: true
Display the filter bar (preset selector and expression input) in the graph view when it loads. You can still toggle it with commands even if this is disabled.
Graph Enlarged Width
Default: 75%
Range: 50% - 100%
Percentage of window width when the graph is enlarged using the "Enlarge Graph" command.
- 50% - Half screen width
- 75% - Three-quarters width (recommended)
- 100% - Full screen width
Zoom Preview Height
Default: 280px
Range: 120px - 700px
Maximum height in pixels for the zoom preview panel that appears when you click a node.
- Small vaults: 200-280px
- Large vaults: 400-700px for more content visibility
Zoom Preview Frontmatter Height
Default: 90px
Range: 50px - 300px
Maximum height in pixels for the frontmatter section within the zoom preview.
- Minimal frontmatter: 50-90px
- Extensive frontmatter: 150-300px
Graph Animation Duration
Default: 800ms
Range: 0ms - 2000ms
Duration of graph layout animations in milliseconds.
- 0ms - Instant layout (performance mode)
- 400ms - Fast animations
- 800ms - Smooth animations (recommended)
- 1500ms+ - Slow, cinematic animations
All Related Recursion Depth
Default: 10
Range: 1 - 20
Maximum number of constellation levels to traverse when "All Related" mode is enabled. Higher values show more distant relationships but may impact performance.
- 1-3 - Immediate connections only
- 5-10 - Medium-sized constellations (recommended)
- 15-20 - Very large networks (may be slow)
If the graph becomes slow with "All Related" enabled, reduce this value.
Hierarchy Traversal Depth
Default: 10
Range: 1 - 50
Maximum number of levels to traverse in hierarchy mode. Controls how deep the parent-child tree will be displayed.
- 1-5 - Shallow hierarchies
- 10-20 - Medium hierarchies (recommended)
- 30-50 - Very deep hierarchies
Display Properties in Nodes
Default: [] (empty)
Comma-separated list of property names to display inside graph nodes. Properties are shown in a compact format below the node title.
Examples:
status, priority- Show task status and prioritytype, tags- Show note type and tagsdate, author- Show metadata
Empty = No properties displayed in nodes (only in tooltips)
Show Node Tooltips
Default: true
Display property tooltips when hovering over nodes in the graph. Tooltips show all frontmatter properties of the node.
Can also be toggled with a hotkey (configurable in Obsidian settings).
Tooltip Width
Default: 255px
Range: 150px - 500px
Maximum width of node tooltips in pixels.
- 150-200px - Compact tooltips
- 250-300px - Balanced (recommended)
- 400-500px - Wide tooltips for extensive properties
Property Display
Configure how properties are displayed in tooltips, previews, and zoom mode.
Hide Empty Properties
Default: true
Hide properties with empty, null, or undefined values in tooltips and previews.
Enabled: Only properties with values are shown Disabled: All properties are shown, even if empty
Hide Underscore Properties
Default: true
Hide properties that start with an underscore (_) in tooltips and previews.
Useful for hiding internal/system properties like _ZettelID.
Zoom: Hide Frontmatter by Default
Default: false
When entering zoom preview, frontmatter section starts hidden by default.
You can still toggle frontmatter visibility using the eye icon.
Zoom: Hide Content by Default
Default: false
When entering zoom preview, file content starts hidden by default.
You can still toggle content visibility using the eye icon.
Node Colors
Configure the visual appearance of nodes in the graph.
Default Node Color
Default: #e9f2ff (light blue)
Default color for nodes when no color rules match. Can be any valid CSS color:
- Hex:
#3b82f6 - HSL:
hsl(200, 70%, 50%) - Named:
steelblue
Color Rules
Define conditional colors based on frontmatter properties. Rules are evaluated in order - the first matching rule determines the node color.
Each rule has:
- Expression - JavaScript expression that returns true/false
- Color - CSS color to apply when expression matches
- Enabled - Toggle to enable/disable the rule
- Order - Use ↑/↓ buttons to reorder rules
Example Rules:
| Expression | Color | Description |
|---|---|---|
Status === 'Active' | #22c55e (green) | Active nodes |
type === 'project' | #3b82f6 (blue) | Project nodes |
Priority === 'High' | #ef4444 (red) | High priority |
Array.isArray(tags) && tags.includes('important') | #f59e0b (orange) | Important tags |
Learn more about Color Rules →
Graph Filtering
Configure how nodes can be filtered in the graph view.
Filter Expressions
Show only nodes (and their edges) whose frontmatter matches ALL expressions. Each line should be a JavaScript expression returning true/false.
Access frontmatter properties directly by name. The source node is always shown.
Example Expressions:
Status === 'Active'
type === 'project'
Array.isArray(tags) && tags.includes('important')
Changes apply on blur or Ctrl/Cmd+Enter.
Filter Presets
Create named filter presets for quick access in the graph. Use the command "Toggle Graph Filter (Preset Selector)" to show a dropdown with your presets.
Each preset has:
- Name - Display name (e.g., "Active Tasks", "Projects")
- Expression - Filter expression to apply
Selecting a preset fills the filter expression input.
Pre-fill Filter Preset
Automatically fill the filter input with a selected preset when the graph opens.
Key Differences:
- Filter Expressions (default filters) - Always applied and cannot be toggled off by users
- Pre-fill Filter Preset - Optional initial filter that users can clear or modify at any time
Use Cases:
- Start with a common filter but allow users to change it
- Provide a helpful default without forcing it
- Reduce repetitive filtering actions while maintaining flexibility
Indexing
Index and Assign Properties to All Files
Manually scan all files in your vault and assign relationship properties based on your configured settings.
This process will:
- Scan all files in configured directories
- Update their frontmatter with bidirectional relationships
- Compute recursive relationships
- Clean up orphaned relationships
When to use:
- After changing property names
- After enabling the plugin for the first time
- When relationships seem out of sync
- After bulk importing notes
This operation may take some time for vaults with thousands of files. Progress is logged to the console.
Directory Scanning
Configure which directories to scan for files with relationships.
Default: ["*"] (scan all directories)
Options
*- Scan all directories in the vault- Specific paths - Only scan specified directories and their subdirectories
Examples:
| Configuration | What Gets Scanned |
|---|---|
["*"] | Entire vault |
["Projects"] | Only Projects/ and subdirectories |
["Projects", "Notes/Work"] | Both directories and subdirectories |
Adding Directories
- Enter a directory path (e.g.,
ProjectsorNotes/Work) - Click "Add"
- The directory and all its subdirectories will be scanned
When you add a specific directory, "*" is automatically removed. To scan all directories again, use the "Scan all" quick action.
Quick Actions
- Reset to scan all directories - Clears all specific directories and scans the entire vault
Direct Relationship Properties
Configure property names for direct bidirectional relationships.
When you set a relationship in one direction, the plugin automatically updates the reverse relationship.
Parent Property
Default: Parent
Property name for parent reference (bidirectional with children).
Example:
# child-note.md
Parent: "[[parent-note]]"
Children Property
Default: Child
Property name for children references (bidirectional with parent).
Example:
# parent-note.md
Child:
- "[[child-note-1]]"
- "[[child-note-2]]"
Related Property
Default: Related
Property name for related files (bidirectional - automatically syncs between linked files).
Example:
# note-1.md
Related:
- "[[note-2]]"
- "[[note-3]]"
Auto-Link Siblings
Default: true
Automatically mark nodes as related when they share the same parent (siblings are related to each other).
Enabled: Siblings automatically get related relationships Disabled: Only explicitly defined related relationships exist
Node Creation Shortcuts
Configure how new nodes are created using command palette shortcuts.
Zettel ID Property
Default: _ZettelID
Property name for unique timestamp identifier assigned to new nodes.
Format: YYYYMMDDHHmmss (e.g., 20250125143022)
How It Works
When you use commands like "Create Child Node":
- New node is created in the same folder as the source file
- All frontmatter properties are inherited (except excluded properties)
- A new Zettel ID is generated automatically
- Bidirectional relationships are established automatically
- Commands are only available for files in indexed directories
Learn more about Node Creation →
Excluded Properties
Configure which frontmatter properties should NOT be copied when creating new nodes.
Default Excluded Properties
Default: ["Parent", "Child", "Related", "_ZettelID"]
Comma-separated list of properties to ALWAYS exclude from copying. These are excluded regardless of any path-based rules.
Common exclusions:
- Relationship properties:
Parent,Child,Related - System properties:
_ZettelID,_CreatedDate - File-specific:
date,created,modified
Path-Based Exclusion Rules
Define rules to exclude ADDITIONAL properties for files in specific directories. The default excluded properties are always excluded. Rules are evaluated in order - the first matching path's properties are ADDED to the default exclusion list.
Each rule has:
- Path - Directory path (uses
startsWithmatching) - Excluded Properties - Comma-separated properties to exclude
- Enabled - Toggle to enable/disable the rule
- Order - Use ↑/↓ buttons to reorder rules
Example Rules:
| Path | Excluded Properties | Description |
|---|---|---|
Projects/ | status, progress | Don't copy status/progress for projects |
Daily Notes/2024/ | date, weekday | Don't copy date fields from daily notes |
Templates/ | template-version | Don't copy template metadata |
Path matching uses startsWith - a file matches if its path starts with the rule's path. Default excluded properties are ALWAYS excluded. Path rules ADD additional properties to exclude.
Learn more about Property Exclusion →
Hotkeys
You can assign custom hotkeys to any Nexus Properties command in Obsidian's Hotkeys settings.
Recommended Hotkeys
| Command | Suggested Hotkey | Description |
|---|---|---|
| Show Relationship Graph | Ctrl+Shift+G | Open/toggle graph view |
| Toggle Graph Search | Ctrl+K | Show/hide search bar |
| Toggle Graph Filter | Ctrl+F | Show/hide filter input |
| Enlarge Graph | Ctrl+Shift+E | Enlarge/restore graph |
| Create Child Node | Ctrl+Shift+C | Create child of current file |
| Create Parent Node | Ctrl+Shift+P | Create parent of current file |
| Create Related Node | Ctrl+Shift+R | Create related to current file |
To set hotkeys:
- Open Settings → Hotkeys
- Search for "Nexus Properties"
- Click the
+icon next to a command - Press your desired key combination
Performance Tips
For large vaults with thousands of files:
- Limit directory scanning - Only scan folders you need
- Reduce recursion depth - Lower "All Related" and "Hierarchy" depth limits
- Disable animations - Set animation duration to 0ms
- Use filter expressions - Show only relevant nodes
- Hide tooltips - Disable tooltips if you don't need them
- Limit displayed properties - Keep "Display properties in nodes" empty or minimal
Resetting Settings
To reset all settings to defaults:
- Open Settings → Nexus Properties
- Close Obsidian completely
- Navigate to
<vault>/.obsidian/plugins/nexus-properties/ - Delete or rename
data.json - Restart Obsidian
The plugin will regenerate default settings on next load.