0.4.X
0.49.2
Features
Local Graph
Shows a graph of your current note and immediate neighbors. This is the default view when you run Show Note Graph.
Enhancements
- block anchors are de-emphasized in text editor
- doctor command will fix bad frontmatter ids
Bug Fixes
- image preview not showing up on hover
- gracefully handle a bad wiki link
- only generate alphanumeric ids to be compatible with GitHub Pages urls
0.49.1
Features
- same file autocomplete headers and anchors (docs)
Enhancements
- legacy preview will open links in the first window instead of overriding current window
- better field validation when running publish pod
- ability to toggle labels on the graph
- block anchors are hidden in published sites
- filter stubs when using the directChildOnly modifier
Bug Fixes
- issue with opening md links on legacy preview in windows
- case sensitive windows drives cause preview to not work
House Cleaning
- better analytics for initial tutorial workspace (docs)
- run eslint on commit
0.49
0.48.3
Enhancements
- better styling for preview v2
Bug Fixes
- schema graph not showing schemas more than one level deep
- support images, blockquotes, katex for preview v2
0.48.2
Features
- native Dendron preview (docs (Private))
- updated onboarding experience (docs)
Enhancements
- better validation for pods
- higher contrast for nodes and edges
- anchors and links are not updated in realtime (vs on file save)
Bug Fixes
- workbench: horizontal line folded as frontmatter
- workbench: default config sometimes not applied
- calendar: pop up on save even when hidden
- calendar: navigating to new month creates new note
- graph: toggling stub filter can fail
- graph: lookup for insert and rename note doesn't return all results
- pods: graphviz pod can fail if dest is nested directory
House Cleaning
- change blacklist/whitelist filter on graph to allow and deny list
- add analytics around command invocation (docs)
0.48.1
Bug Fixes
- issue with finding links and anchors on newly created files
0.48
0.47.3
Features
Enhancements
- autofolding frontmatter (docs)
- position cursor to end of file when new note created
- new seo frontmatter options when publishing (docs)
0.47.2
Features
- Markdown Pod supports exporting to folders
- Support filtering graph by regex (docs)
- Support filtering graph by stubs (docs)
Enhancements
- don't update update time in note if content hasn't changed
- bad note frontmatter won't crash workspace
- support canonical url option when publishing (docs)
- Dendron CLI doesn't need
wsRoot
option if executing inside subdirectory of a workspace -
- VS Code Workspace Trust: Dendron now supports Workspace Trust as 'limited in restricted mode' - all Dendron functionality will work except for hooks. For more information see VS Code Workspace Trust
0.47.1
Bug Fixes
- issue with upgrade causing lookup to fail
0.47
0.46.3
Enhancements
- support default daily journal vault (docs)
Bug Fixes
lookupConfirmVaultOnCreate
is respected when creating a daily journal
0.46.2
Features
Dendron Seed Bank
The Seed Bank is an open database of workspaces (seeds) that anyone can access and contribute to.
You can see all currently available seeds here
Calendar View
No note with name dendron._ref.web-ui found in cache during parsing.
Airtable Pod
Transfer contents of Dendron to a table on Airtable
Find missing links Command
Start anchor createmissinglinkednotes not found
Enhancements
- Check and initialize empty seeds on opening workspace
- Hover displays targeted area for links with #headers (Private) and #^anchors (Private)
Bug Fixes
- tree view shows error on rename
House Cleaning
- remove
Dendron Markdown Links
andGitHub theme
as recommended extensions at startup - defaultJournal* commands have been moved to
journal
property indendron.yml
(docs)
0.46.1
Bug Fixes
- issue with publishing using Dendron CLI
0.46
0.45.3
Enhancements
- Rename and Refactor will now replace links without formatting the file
- Dendron respects VS Code Telemetry settgs (docs)
Bug Fixes
- Dendron Preview
Go to Text
will sometimes not appear for note references - Dendron Preview links not working in VS Code 1.57
- Dendron Preview renders the first line of note ref as Markdown
- Dendron Preview removes
#
from links
House Cleaning
- Shorter UUIDs
- Analytics
- Added a
reason
field to(Enable|Disable)Telemetry
metrics (docs)
- Added a
45.2
Features
Copy Note Ref Range Selections
If you highlight multiple blocks, Dendron can create a range selection that spans the blocks selected. Watch the following video starting at the 10s mark for an example.
Random Note Command
Navigates to a random note in the workspace. By default, all notes are included in the set that can be navigated to with this command. This can be adjusted with the randomNote
setting in the Dendron Config (see Configure (yaml)).
# Sample configuration in dendron.yml:
randomNote:
include:
- alpha
- beta.foo
exclude:
- alpha.bar
This pattern would specify a set including all notes under alpha
except for notes in the alpha.bar hierarchy. The set would also include notes under beta.foo*
.
- If
include
is not specified, then theinclude
matching pattern will match all notes. exclude
takes precedence overinclude
, so if the patterns are identical, no notes will match.
Show Schema Graph V2
Start anchor show-schema-graph-v2 not found
Better Graph Filtering Options
In the top left of both the note and schema graphs lives the graph filter view. This UI element contains information about the graph and various filtering options.
Vaults
This view contains a list of each vault in the workspace. The visibility of each vault in the graph can be toggled to better filter the graph.
Connections
- Hierarchy: When checked, include hierarchical graph connections
- Links: When checked, include linked note connections
Filter
This view contains various options to filter the graph.
String Filters
Use these string filters to include/exclude graph nodes by filename or name. These fields support multiple arguments in the form of a comma-separated or space-separated list.
- Allowlist: Graph nodes including any of these string arguments will be included in the graph
- Blocklist: Graph nodes including any of these string arguments will be excluded from the graph
Here's a quick example:
- Allow:
journal.2021, dog
- Include any notes that include either
journal.2021
ordog
in their name or filename
- Include any notes that include either
- Block:
cat
- Exclude any notes with
cat
in their name or filename
- Exclude any notes with
Other Filters
- Show Stubs: When checked, show stub notes in the graph
- Depth: In a local graph view, the depth filter allows you to see the second or third degree of nodes from the active note. See video here.
Options
-
Show Local Graph (Note Only): When checked, show local graph centered around the current open note. Otherwise, show the full workspace-wide note graph.
-
Allow Relayout: When checked, layout the graph again when the graph configuration is updated.
- This is useful in instances you'd like to preserve the current layout but add/remove information, e.g. adding link connections to a hierarchical graph while maintaining readability
Information
Primarily for debugging, this section has information about graph size. Edge counts are calculated individually from the actual rendered edges, so may not represent the true rendered count if a certain type of edge is hidden.
- Linked Edges: Number of linked connections between nodes
- Hierarchical Edges: Number of hierarchical connections between nodes
- Nodes: Number of nodes in the graph
Graph Theme
This view contains a list of available Graph Themes. Presently, Dendron provides three built-in graph themes:
- Block
- Classic
- Monokai
This list also appends Custom
if custom graph stylings are provided.
To create your own Custom Styling for Graph, click on the Create Your Own
button next to the themes or by running > Dendron: Configure Graph Style (css)
. You can view the example video here.
If you are new to cytoscape styling, use Built-in Snippet provided by Dendron to help you get started.
Config
Graph configuration is nested under the graph
object.
See example below
graph:
zoomSpeed: 1 # The speed at which the graph zooms in and out. Lower is slower, higher is faster.
createStub: false # When enabled, creates a note if it hasn't been created already when clicked on a graph node
Zoom Speed
- type: number
- default: 1
The speed at which the graph zooms in and out. Lower is slower, higher is faster.
Create Stub
- type: boolean
- default: false
When enabled, creates a note if it hasn't been created already when clicked on a graph node.
Custom Styling
Dendron supports custom styling of schema and note graphs. Styling follows the Cytoscape.js format, which is CSS-like with a couple of differences. Full Cytoscape.js styling documentation can be found here.
Adding Styles
Launch the command palette (see docs): > Dendron: Configure Graph Style (css)
Once the styles.css
file is open, add your styles and save. The styles will be visible in the graph the next time it is opened.
If you're migrating from Obsidian, see Obsidian Style.
Selectors
In order to style the graph, there are a variety of selectors to choose from. Currently supported selectors include:
Selector | Description |
---|---|
node | Any node |
edge | Any edge |
:selected | Any selected node |
.parent | Any parent node (local note graph only) |
.links | Any link connection edge |
.hierarchy | Any hierarchy connection edge |
There are also some vault-specific selectors. These include:
Selector | Description |
---|---|
.vault-VAULT_NAME | Any node or edge in the VAULT_NAME vault |
Selectors can be chained together, just like in regular CSS. For example, node.vault-VAULT_NAME
would target only nodes in the VAULT_NAME
vault.
Style Properties
Styling Nodes
Some common node style properties are listed below. Full node style property list →
Property | Description |
---|---|
width | The width of the node’s body. |
height | The height of the node’s body. |
shape | The shape of the node's body (ellipse, triangle, etc.) |
background-color | The color of the node's body. |
border-width | The size of the node’s border. |
border-color | The color of the node’s border. |
Styling Node Labels
Some common node label style properties are listed below. Select labels by selecting the node associated with them. Full node label style property list →
Property | Description |
---|---|
color | The color of the label. |
font-size | The size of the label text. |
font-weight | The font weight of the label text. |
Styling Edges
Some common edge style properties are listed below. Full edge style property list →
Property | Description |
---|---|
width | The width of the edge line. |
line-color | The color of the edge line. |
line-style | The style of the edge line (solid , dotted , or dashed ). |
Built-in Snippet
Use these snippets as a starting point for curating custom styles for graph.
- Monokai Theme
/* Any graph node */
node {
color: #ff6188;
font-family: cursive;
}
/* Any graph edge */
edge {
width: 0.5;
line-color: #78dce8;
target-distance-from-node: 5;
source-distance-from-node: 5;
source-endpoint: outside-to-line-or-label;
target-endpoint: outside-to-line-or-label;
}
/* Any selected node */
:selected {
color: #fc9867;
}
/** AC2065 **/
/* Any parent nodes (local note graph only) */
.parent {
color: #a9dc76;
}
/* Any link connection edge */
.links {
curve-style: bezier;
}
/* Any hierarchy connection edge */
.hierarchy {
curve-style: bezier;
}
- Block Theme
/* Any graph node */
node {
background-color: #bb86fc;
color: #bb86fc;
}
edge {
line-color: #b591d9;
target-distance-from-node: 5;
source-distance-from-node: 5;
}
/* Any selected node */
:selected {
background-color: #c7fc86;
color: #c7fc86;
}
/* Any parent nodes (local note graph only) */
.parent {
color: coral;
background-color: coral;
}
/* Any link connection edge */
.links {
curve-style: unbundled-bezier;
}
/* Any hierarchy connection edge */
.hierarchy {
curve-style: taxi;
}
Troubleshooting
If styles are not showing up in the graph, try the following steps:
- Check that every style property ends in a semi-colon.
- Check that you have no unused selectors (e.g.
node {}
). Cytoscape can be a bit particular at times, so just comment out selectors if not in use. - Close and re-open the graph view. Styles only apply on graph open at the moment.
Enhancements
- copy note ref will create a block ref and insert block anchors when you have a block element selected (docs)
- copy note link will create a block link and insert block anchors when you have a block element selected (docs)
Bug Fixes
- published assets now respect vault configuration
- template error when publishing in windows
House Cleaning
- Analytics
- we now measure
duration
when installing and upgrading Dendron (see docs)
- we now measure
- Deprecation Notices
- Dendron Markdown Links is now deprecated and replaced with Dendron's Native Graph Commands. It will be removed July 12, 2021
0.45.1
Bug Fixes
- published assets now respect vault configuration
- template error when publishing in windows
0.45
0.44.2
Features
Native Note Graph
The graph view lets you explore your workspace using a graph
Features
- Click on a node to open up the corresponding note/schema in your workspace.
- Hover over a node to see its full name
- Filter graph view to show only desired data
Types
Note Graph
Full Note Graph
Show graph of all your notes. You can activate this by using the Show Note Graph Command command and toggling the Show Note Graph option.
Local Note Graph
Shows a graph of your current note and immediate neighbors. This is the default view when you run Show Note Graph.
Schema Graph
Show graph of your schemas. You can activate by running the Show Schema Graph command.
Commands
Show Note Graph
Launch the command palette (see docs): > Dendron: Show Note Graph
Click on a node to open up the corresponding note in your workspace, or open a note to center the graph on that note.
Use the filter view in the top left to filter and modify the data shown by the graph.
Show Schema Graph
Launch the command palette (see docs): > Dendron: Show Schema Graph
Click on a node to open up the corresponding schema in your workspace.
Use the filter view in the top left to filter and modify the data shown by the graph.
The schema graph shows high level connections between a vault's root
schema and other schemas within the vault. These other schemas may have other nodes connected to them representing additional children of that schema.
Filter View
In the top left of both the note and schema graphs lives the graph filter view. This UI element contains information about the graph and various filtering options.
Vaults
This view contains a list of each vault in the workspace. The visibility of each vault in the graph can be toggled to better filter the graph.
Connections
- Hierarchy: When checked, include hierarchical graph connections
- Links: When checked, include linked note connections
Filter
This view contains various options to filter the graph.
String Filters
Use these string filters to include/exclude graph nodes by filename or name. These fields support multiple arguments in the form of a comma-separated or space-separated list.
- Allowlist: Graph nodes including any of these string arguments will be included in the graph
- Blocklist: Graph nodes including any of these string arguments will be excluded from the graph
Here's a quick example:
- Allow:
journal.2021, dog
- Include any notes that include either
journal.2021
ordog
in their name or filename
- Include any notes that include either
- Block:
cat
- Exclude any notes with
cat
in their name or filename
- Exclude any notes with
Other Filters
- Show Stubs: When checked, show stub notes in the graph
- Depth: In a local graph view, the depth filter allows you to see the second or third degree of nodes from the active note. See video here.
Options
-
Show Local Graph (Note Only): When checked, show local graph centered around the current open note. Otherwise, show the full workspace-wide note graph.
-
Allow Relayout: When checked, layout the graph again when the graph configuration is updated.
- This is useful in instances you'd like to preserve the current layout but add/remove information, e.g. adding link connections to a hierarchical graph while maintaining readability
Information
Primarily for debugging, this section has information about graph size. Edge counts are calculated individually from the actual rendered edges, so may not represent the true rendered count if a certain type of edge is hidden.
- Linked Edges: Number of linked connections between nodes
- Hierarchical Edges: Number of hierarchical connections between nodes
- Nodes: Number of nodes in the graph
Graph Theme
This view contains a list of available Graph Themes. Presently, Dendron provides three built-in graph themes:
- Block
- Classic
- Monokai
This list also appends Custom
if custom graph stylings are provided.
To create your own Custom Styling for Graph, click on the Create Your Own
button next to the themes or by running > Dendron: Configure Graph Style (css)
. You can view the example video here.
If you are new to cytoscape styling, use Built-in Snippet provided by Dendron to help you get started.
Config
Graph configuration is nested under the graph
object.
See example below
graph:
zoomSpeed: 1 # The speed at which the graph zooms in and out. Lower is slower, higher is faster.
createStub: false # When enabled, creates a note if it hasn't been created already when clicked on a graph node
Zoom Speed
- type: number
- default: 1
The speed at which the graph zooms in and out. Lower is slower, higher is faster.
Create Stub
- type: boolean
- default: false
When enabled, creates a note if it hasn't been created already when clicked on a graph node.
Custom Styling
Dendron supports custom styling of schema and note graphs. Styling follows the Cytoscape.js format, which is CSS-like with a couple of differences. Full Cytoscape.js styling documentation can be found here.
Adding Styles
Launch the command palette (see docs): > Dendron: Configure Graph Style (css)
Once the styles.css
file is open, add your styles and save. The styles will be visible in the graph the next time it is opened.
If you're migrating from Obsidian, see Obsidian Style.
Selectors
In order to style the graph, there are a variety of selectors to choose from. Currently supported selectors include:
Selector | Description |
---|---|
node | Any node |
edge | Any edge |
:selected | Any selected node |
.parent | Any parent node (local note graph only) |
.links | Any link connection edge |
.hierarchy | Any hierarchy connection edge |
There are also some vault-specific selectors. These include:
Selector | Description |
---|---|
.vault-VAULT_NAME | Any node or edge in the VAULT_NAME vault |
Selectors can be chained together, just like in regular CSS. For example, node.vault-VAULT_NAME
would target only nodes in the VAULT_NAME
vault.
Style Properties
Styling Nodes
Some common node style properties are listed below. Full node style property list →
Property | Description |
---|---|
width | The width of the node’s body. |
height | The height of the node’s body. |
shape | The shape of the node's body (ellipse, triangle, etc.) |
background-color | The color of the node's body. |
border-width | The size of the node’s border. |
border-color | The color of the node’s border. |
Styling Node Labels
Some common node label style properties are listed below. Select labels by selecting the node associated with them. Full node label style property list →
Property | Description |
---|---|
color | The color of the label. |
font-size | The size of the label text. |
font-weight | The font weight of the label text. |
Styling Edges
Some common edge style properties are listed below. Full edge style property list →
Property | Description |
---|---|
width | The width of the edge line. |
line-color | The color of the edge line. |
line-style | The style of the edge line (solid , dotted , or dashed ). |
Built-in Snippet
Use these snippets as a starting point for curating custom styles for graph.
- Monokai Theme
/* Any graph node */
node {
color: #ff6188;
font-family: cursive;
}
/* Any graph edge */
edge {
width: 0.5;
line-color: #78dce8;
target-distance-from-node: 5;
source-distance-from-node: 5;
source-endpoint: outside-to-line-or-label;
target-endpoint: outside-to-line-or-label;
}
/* Any selected node */
:selected {
color: #fc9867;
}
/** AC2065 **/
/* Any parent nodes (local note graph only) */
.parent {
color: #a9dc76;
}
/* Any link connection edge */
.links {
curve-style: bezier;
}
/* Any hierarchy connection edge */
.hierarchy {
curve-style: bezier;
}
- Block Theme
/* Any graph node */
node {
background-color: #bb86fc;
color: #bb86fc;
}
edge {
line-color: #b591d9;
target-distance-from-node: 5;
source-distance-from-node: 5;
}
/* Any selected node */
:selected {
background-color: #c7fc86;
color: #c7fc86;
}
/* Any parent nodes (local note graph only) */
.parent {
color: coral;
background-color: coral;
}
/* Any link connection edge */
.links {
curve-style: unbundled-bezier;
}
/* Any hierarchy connection edge */
.hierarchy {
curve-style: taxi;
}
Troubleshooting
If styles are not showing up in the graph, try the following steps:
- Check that every style property ends in a semi-colon.
- Check that you have no unused selectors (e.g.
node {}
). Cytoscape can be a bit particular at times, so just comment out selectors if not in use. - Close and re-open the graph view. Styles only apply on graph open at the moment.
Enhancements
- fine grained control for workspace sync (docs)
- improved startup speed
- block references fully supported in publishing and preview @hikchoi (Private)
- toggle scope when running the doctor command (plugin docs) (cli docs)
Bug Fixes
House Cleaning
Docs
0.44.1
Features
Block Reference Refs Support
Start anchor block-reference not found
Workspace Vaults
End anchor configuration-1 not found
Enhancements
- faster workspace initialization
Bug Fixes
- tree view not displaying
Docs
0.44
0.43.3
Features
Insert Note Link Command
Start anchor insert-note-link not found
Enhancements
- Block Reference Support in Dendron Preview
0.43.2
Features
- Better Fuzzy Match for Lookup
Enhancements
- Block Reference Support in Published Site
- Open Link is Vault Aware (docs)
Docs
0.43.1
Bug Fixes
- welcome page not showing up unless workspace is initialized
- paste file command should handle names with spaces and special characters
- Markdown import pod not working
0.43
Features
Dendron Web UI with a new Tree View
No note with name dendron._ref.web-ui found in cache during parsing.
Block References
Start anchor block-reference not found
Paste File Command
Takes the path currently in the clipboard, copies the file into {vault}/assets
, and inserts Markdown link in the current note. This is the file equivalent of Dendron's Paste Image command
Note that most file types won't be natively supported in the preview. You'll need to use the VS Code built-in > Open Link
command to open the file.
If you are on macOs, you can find instructions for getting the path to the current file here
GraphViz Pod
The GraphViz export pod will take Dendron markdown and convert it into a graph structured using DOT Language. The export config some additional options for filtering the graph output by the type of note connection.
In the graph output, hierarchical connections are notated with a solid line and edge connections are notated with a dotted line.
Enhancements
- Workspace Sync Command is now available as a native Dendron command (docs)
Bug Fixes
- dendron caching old links at startup
House Cleaning
- collect analytics on Web UI load time (docs)
- internal interface refactoring
0.42
Features
Schema Library
Summary
The schema library is a collection of existing schemas contributed by the community. You can find the full library as well as instructions on getting started here.
This project is still in its early stages so if you have ideas on how to make it better, please leave a comment in this GitHub discussion.
Enhancements
- Specify initial value with custom keyboard shortcuts for lookup (docs)
Bug Fixes
- issue with latex not displaying in latest preview
0.41
Enhancements
- new welcome page for new users
- running site preview will fetch latest changes from current workspace session
- running site build will fetch latest changes from current workspace session
- support configurable site preview port in workspace
- better error messages when building site
Bug Fixes
- double confirmation message when using publish pod
House Cleaning
- collect telemetry around lookup performance (docs)
- remove
initialize with tutorial notes
when initializing a new workspace (functionality replaced with the new getting started guide (docs))
Docs
- new getting started guide (docs)
0.40.3
Features
Dendron Hooks 🪝
Summary
Hooks allow users to attach custom scripts to various parts of Dendron's lifecycle.
Use Cases
- carry over all your uncompleted todos from one note to the next
- pull in the weather report in your daily journal note
- automatically add citations to all images in a note on save
Related
Enhancements
- Dendron will successfully initialize on recoverable errors (eg. bad schema file)
- nicer error messages
Bug Fixes
- footer text occludes published content on mobile
- tree view order for newly created notes
Dev
- we documented the organization of utility modules here
0.40.2
Bug Fixes
- Navigating siblings not working
0.40.1
Bug Fixes
- Go to prev hierarchy command accidentally removed