Configuration
Access: Settings (Ctrl/Cmd+,) → Nexus Properties
User Interface
Show Ribbon Icon (default: true): Display graph icon in left ribbon
- ⚠️ Restart required after changing
View Sidebar Position (default: Left sidebar): Choose which sidebar to open the Nexus Properties view in
- Options: Left sidebar or Right sidebar
- Your preference is saved and applied when opening the view
- Only affects new view creation (not existing open views)
Show View Switcher Header (default: true): Display header with toggle button in Nexus Properties view
- Changes apply immediately
Show Depth Slider in Graph View (default: true): Display interactive depth slider in graph view header
- Temporarily adjust recursion depth for statistics and hierarchy rendering
- Slider changes don't save to settings - only affect current session
- Controls how many levels up/down to traverse from current node
- Learn more →
View Switcher Statistics
Show Simple Statistics (default: true): Display direct parent, children, and related counts
- Shows immediate relationships only (one level)
- Format:
Parents: N,Children: N,Related: N
Show Recursive Statistics (default: true): Display recursive (all) parent, children, and related counts
- Shows all relationships across entire hierarchy
- Format:
All Parents: N,All Children: N,All Related: N - Uses efficient traversal with cycle detection
- Respects current depth slider value when active
Layout: Statistics appear on the left side of the view switcher header without affecting the centered toggle button position.
General
Hierarchy Source
Hierarchy Source (default: Properties): Choose where to read relationship hierarchy from
- Properties: Read from frontmatter properties (Parent, Children, Related) - traditional behavior
- MOC Content: Read from bullet lists with wiki links in the note body - for Map of Content files
When set to "MOC Content", the plugin parses nested bullet lists to determine parent-child relationships:
- [[Parent Topic]]
- [[Child 1]]
- [[Child 2]]
MOC Content Reading
Enable MOC Content Reading (default: true): Allow the plugin to detect and parse MOC content
When enabled:
- Files with valid MOC content (3+ links, 2+ levels) show a hierarchy source toggle button
- The button appears next to the view toggle for quick switching between "Properties" and "MOC Content" modes
When disabled:
- No MOC content detection occurs
- The hierarchy source toggle button is hidden
- Only frontmatter properties are used for relationships
What is "valid MOC content"?
- At least 3 wiki links in bullet list format
- At least one bullet has nested children (2+ levels of indentation)
Graph Display
Show Search Bar by Default (default: true): Display search bar on graph open
Show Filter Bar by Default (default: true): Display filter bar on graph open
Show Zoom Indicator (default: true): Display zoom level indicator in filter row
- Shows current zoom percentage (e.g., "100%")
- Click to type a specific zoom level
Maintain Indirect Connections When Filtering (default: true): Preserve connections when intermediate nodes are filtered
- Example: A → B → C, filter out B → shows A → C
- Prevents graph fragmentation during filtering
- Learn more →
Graph Enlarged Width (default: 75%, range: 50-100%): Window width when enlarged
Zoom Preview Height (default: 280px, range: 120-700px): Max height for zoom preview panel
Zoom Preview Frontmatter Height (default: 90px, range: 50-300px): Max height for frontmatter section
Graph Animation Duration (default: 800ms, range: 0-2000ms): Layout animation duration (0ms = instant)
Depth Settings
All Related Recursion Depth (default: 10, range: 1-20): Max levels in "All Related" constellation mode
- Controls how many hops to traverse when exploring related connections
- Used when "Include All Related" is enabled in graph view
- Affects graph building and recursive statistics calculation
- Can be temporarily adjusted with depth slider
Hierarchy Traversal Depth (default: 10, range: 1-50): Max levels in parent-child hierarchy mode
- Controls how many levels up/down to traverse in hierarchy graphs
- Creates a viewing window centered on the current file
- Used for both upward (parents) and downward (children) traversal
- Can be temporarily adjusted with depth slider
Multi-Row Layout
Configure how nodes with many children are displayed in hierarchy mode.
Use Multi-Row Layout for Large Families (default: false): Enable multi-row child positioning
- Distributes children across multiple staggered rows when a parent has many children
- Uses more vertical space and less horizontal space for better readability
- Applies only in hierarchy mode (not constellation or related views)
Max Children Per Row (default: 10, range: 3-30): Maximum children in a single row
- When exceeded, children wrap to next row in staggered pattern
- Pattern: full row (10), offset row (9), full row (10), offset row (9)...
- Offset rows fit between nodes in the row above, creating a domino effect
- Only applies when multi-row layout is enabled
How it works:
- Parent with 15 children and max=10:
- Row 1: 10 children in a line
- Row 2: 5 children offset between Row 1 gaps
- Grandchildren are positioned below the lowest row of their parent's generation
- Proper spacing maintained between all generations
Learn more about multi-row layout →
Display Properties in Nodes (default: []): Comma-separated properties to show in nodes (e.g., status, priority)
Show Node Tooltips (default: true): Display property tooltips on hover
Tooltip Width (default: 255px, range: 150-500px): Max tooltip width
Property Display
Hide Empty Properties (default: true): Hide null/undefined values in tooltips and previews
Hide Underscore Properties (default: true): Hide properties starting with _
Zoom: Hide Frontmatter by Default (default: false): Start zoom with frontmatter hidden
Zoom: Hide Content by Default (default: false): Start zoom with content hidden
Node Colors
Default Node Color (default: #e9f2ff): Color when no rules match (hex, HSL, or named CSS)
Color Rules: Conditional colors based on frontmatter
- Expression: JavaScript returning true/false
- Color: CSS color to apply
- Enabled: Toggle on/off
- Order: ↑/↓ to reorder (first match wins)
Examples:
Status === 'Active' → #22c55e (green)
type === 'project' → #3b82f6 (blue)
Array.isArray(tags) && tags.includes('important') → #f59e0b (orange)
Graph Filtering
Filter Expressions: Show only nodes matching ALL expressions (one per line)
- Access frontmatter properties directly
- Source node always shown
- Apply on blur or
Ctrl/Cmd+Enter
Examples:
Status === 'Active'
type === 'project'
Array.isArray(tags) && tags.includes('important')
Filter Presets: Named filters for quick access
- Use command "Toggle Graph Filter (Preset Selector)"
- Each preset has name and expression
Pre-fill Filter Preset: Auto-fill filter on graph open
- Filter Expressions: Always applied, can't be cleared
- Pre-fill Preset: Initial suggestion, can be modified/cleared
Indexing
Index and Assign Properties to All Files: Manually scan vault and update relationships
When to use:
- After changing property names
- First-time plugin setup
- Relationships out of sync
- After bulk imports
⚠️ May take time for large vaults
Directory Scanning
Default: ["*"] (scan all)
Options:
*- Scan entire vault- Specific paths - Only scan those directories and subdirectories
Examples:
["*"]- Entire vault["Projects"]- Only Projects/ and subdirectories["Projects", "Notes/Work"]- Both directories
Quick Actions: Reset to scan all directories
Direct Relationship Properties
Parent Property (default: Parent): Property name for parent references
Parent: "[[parent-note]]"
Children Property (default: Child): Property name for children references
Child: ["[[child-1]]", "[[child-2]]"]
Related Property (default: Related): Property name for related files
Related: ["[[note-2]]", "[[note-3]]"]
Prioritize Parent Property (default: ""): Optional property to specify which parent to prioritize in hierarchy graphs
PriorityParent: "[[preferred-parent]]"
- When a node has multiple parents, use this property to choose which one is used in hierarchy views
- The value should match one of the parent names from the Parent property
- If not set or the specified parent isn't found, uses the first available parent
- Works for all nodes in the graph, not just the current one
Auto-Link Siblings (default: true): Automatically mark siblings as related. See Bidirectional Sync for details.
Frontmatter Propagation
Propagate Frontmatter to Children (default: false): Auto-propagate changes to children recursively
Ask Before Propagating Frontmatter (default: false): Show confirmation modal before propagating
Excluded Propagated Properties (default: ""): Comma-separated properties to exclude (e.g., Status, Priority)
- Relationship properties always excluded
- Prioritize Parent property always excluded
Propagation Debounce Delay (default: 1000ms, range: 100-10000ms): Delay before propagating
Bases View
Show 'All' Relationship Views (default: false): Add recursive relationship view options
- When enabled, adds "All Children", "All Parents", and "All Related" options to the Bases view dropdown
- These views recursively traverse relationships to show all connected nodes
- "All Children" shows all descendants (children, grandchildren, etc.)
- "All Parents" shows all ancestors (parents, grandparents, etc.)
- "All Related" shows all nodes connected via the related property
- Each view displays a count of nodes found (e.g., "All Children (15)")
View Type (default: cards): Choose how data is displayed in Bases views
- Cards: Visual cards in a grid layout - ideal for visual browsing (recommended)
- Table: Traditional table with rows and columns - best for data-heavy views
- List: Simple list format - minimal and compact display
Enable Archived Filtering (default: false): Split files into "Archived" and "Active" sections
Archived Property Name (default: Archived): Property marking files as archived
Default Included Properties (default: []): Comma-separated properties as columns (e.g., status, priority, tags)
file.namealways shown first
Custom Formulas (default: ""): YAML defining sort formulas (content AFTER formulas:)
Example:
_priority_sort: |-
[
["Very High", 1],
["High", 2],
["Medium", 3],
["Low", 4],
["null", 5]
].filter(value[0] == Priority.toString())[0][1]
Custom Sort Configuration (default: ""): YAML defining sort rules (content AFTER sort:)
Example:
- property: formula._priority_sort
direction: ASC
- property: file.mtime
direction: DESC
Path-Based Inclusion Rules: Add extra columns for specific directories
- Path: Directory path (startsWith matching)
- Included Properties: Comma-separated additional columns
- Enabled: Toggle on/off
- Order: ↑/↓ to reorder (first match wins)
Column order: file.name → default properties → path-specific properties
Node Creation Shortcuts
Zettel ID Property (default: _ZettelID): Property for unique timestamp ID (format: YYYYMMDDHHmmss)
How node creation works:
- New node in same folder as source
- Inherits frontmatter (except excluded)
- New Zettel ID generated
- Bidirectional relationships established
- Only for files in indexed directories
Automatic Title Property
Configure automatic title property assignment for cleaner display in Graph and Bases views.
First-Time Setup
On first plugin use, a setup modal appears asking you to:
- Enable: Automatically add title properties to all indexed files
- Disable: Use raw file names instead (no title properties added)
- Decide Later: Keep the modal appearing on each startup until you decide
Recommendation: Before enabling, configure excluded directories to skip templates, daily notes, or other directories where automatic titles aren't needed.
Settings
Title Property Mode (default: Not configured): Controls automatic title property behavior
- Enabled: Adds title properties to files automatically. Bases view displays these titles.
- Disabled: No title properties added. Bases view uses raw file names (
file.name). - Not Configured: Shows setup modal on startup.
Title Property Name (default: Title): Property name for auto-assigned display title
- Format:
[[path/to/file|DisplayName]]- clickable in Bases view - Display name computed from filename with parent prefix stripped
- Example: "Parent - Child.md" with parent "Parent" →
[[Parent - Child|Child]] - Files without parents get their basename as the display name
- Updated automatically when parent relationships change
Exclude Directories from Title (default: ""): Comma-separated directory paths to exclude
- Files in these directories won't receive automatic title properties
- Use for templates, daily notes, or other directories where titles aren't needed
- Examples:
Templates,Daily Notes,Archive/Old - Matches directory paths (files in subdirectories are also excluded)
Behavior Summary
| Mode | Title Properties | Graph View | Bases View |
|---|---|---|---|
| Enabled | Added to files | Strips prefixes | Uses Title property |
| Disabled | Not added | Strips prefixes | Uses file.name |
Note: Graph view always strips parent prefixes from node labels regardless of the title property mode setting.
Excluded Properties
Default Excluded Properties (default: ["Parent", "Child", "Related", "_ZettelID"]): Always excluded when creating nodes
Path-Based Exclusion Rules: Exclude additional properties for specific directories
- Path: Directory path (startsWith matching)
- Excluded Properties: Comma-separated additional exclusions
- Enabled: Toggle on/off
- Order: ↑/↓ to reorder (first match wins)
Examples:
Projects/→status, progressDaily Notes/→date, weekdayTemplates/→template-version
Hotkeys
All commands support custom hotkey assignment.
View all available commands and recommended hotkeys →
Performance Tips
For large vaults:
- Limit directory scanning
- Reduce recursion depth
- Disable animations (0ms)
- Use filter expressions
- Hide tooltips
- Minimize displayed properties
Resetting Settings
- Close Obsidian
- Navigate to
<vault>/.obsidian/plugins/nexus-properties/ - Delete or rename
data.json - Restart Obsidian
Next Steps
- Features Overview — Summary of all features
- Hotkeys — Keyboard shortcuts for all commands
- Quick Start Guide — Hands-on tutorial
- Mobile Support — Mobile-specific settings and behavior