Link Search Menu Expand Document

Changelog

0.25.3

Features

  • mermaid diagram support when publishing (docs)
  • display note title as link (docs)

Enhancements

  • use list of vaults when resolving duplicate notes (docs)
  • go to definition now works for ![[refs]]
  • Copy Note Link now updates alias to header value when copying header

Bug Fix

  • grammar issue with unpublished page notification

House Cleaning

  • remove sync_vault as a step when building dendron for the first time

0.25.2

Bug Fix

  • issue with new vaults not having welcome note

0.25.1

Bug Fix

  • issue with md outline not showing

0.24.2

Features

Site Build and Preview built-in to extension

You can now publish and build your notes without going to the command line (docs)

Enhancements

  • show progress bar when syncing graph
  • show progress bar when installing node modules
  • useFMTitle set to true by default
  • add .gitignore to newly created workspace
  • Copy Note Url uses siteUrl as value for noteRef

Bug Fixes

  • fix issues with nav capitalization
  • fix dup items in nav
  • windows site preview not cleaning up child processes
  • fix note graph errors

Docs

  • revamped publishing docs

House Cleaning

0.24.1

Features

Enhancements

Bug Fixes

  • fix multi-vault breadcrump null issue
  • fix windows build for site

0.23.2

Features

Enhancements

  • better 403 page (docs)
  • spurious error message if user doesn't create note from not selecting a vault
  • better default journal note titles

Bug Fixes

  • issue publishing with subdomain
  • some queries not being returned in multi-vault settings
  • issue with noteRef mangling when using doctor

House Cleaning

0.23.1

  • Dendron Markdown Preview: 0.10.18
  • Dendron 11ty: 1.23.6

Features

Updated Note Ref Syntax

You can now do references to notes using ![[note]] instead of ((ref: [[note]])) syntax. To reference a header, use ![[note#foo]]. This changes makes our note ref syntax more consistent with our wiki link syntax.

Note that the new ref syntax expects a sluggified header. This is done automatically when you use the updated copy note ref command.

This change makes it possible to create a ref to a header with special characters.

The old syntax ref syntax will still work but should now be considered deprecated. We will release a doctor command to help you auto-upgrade from the old syntax to the new syntax in the coming week.

Frontmatter Variable Substitution

It is now possible to use variables defined in your note frontmatter inside your note. The syntax is {{fm.VAR_NAME}} where VAR_NAME is the name of your variable. The fm designates that you want to use a frontmatter variable.

Enhancements

  • nav_exclude property excludes from nav sider and table of contents (docs)
  • copy note ref command will use the new note ref syntax
  • footnote support in preview and when publishing (docs)

Bug Fixes

  • spaces in wiki link not rendering in preview

0.22.2

Enhancements

  • better fuzzy search for lookup
  • publishing v2 enhancements
    • abbreviation support for 11ty publishing (docs)
    • better note titles (docs)
    • shrink size of published page 10x
    • fix left nav position of current active page
    • ability to override output folder from CLI when building site
    • don't throw error on code blocks that are unsupported by prismjs

Bug Fixes

  • markdown preview delay in showing newly created notes
  • buildSiteV2 not connect to running workspace

0.22.1

Features

  • Collections support for 11ty
    • publish blog like archives using Dendron
  • CLI Based Doctor (docs)
    • run various tests to make your notes are healthy for the new year
  • use frontmatter as title when publishing and in the preview (docs)

Enhancements

  • additional metadata tags for published pages
  • support noindex option (docs)
  • add anchor links to headers
  • use note title for page title
  • support nav_exclude option
  • support overriding output in buildSiteV2 command
  • don't throw error if no syntax highlighter available for code block

Bug Fixes

  • issue connecting to open workspace using CLI
  • nav bar when publishing multiple hierarchies will show wrong expansion options

0.21.2

Enhancements

  • build-site command can connect to current running workspace (docs)
  • support inline math when publishing
  • support block math when publishing
  • support rendering gfm inside note reference when publishing
  • support anchor headings when publishing
  • support relative links when publishing

Bug Fixes

  • issue with displaying math in preview

House Cleaning

  • the code highlighter has been changed from prismjs to highligher.js

0.21.1

Enhancements

  • add seo tags (docs)
  • enable edit on github link (docs)
  • migrate all jekyll _config.yml settings to dendron.yml

Bug Fixes

  • build-site errors when building from vaults without asset folder
  • build-site error on certain operating systems
  • build-site error on node version != 12

Docs

0.20.2

Features

Publishing For Multi Vault

Publishing

You can publish from a multi-vault enabled workspace if you are using dendron-11ty to publish.

We have added a new configuration, duplicateNoteBehavior, which controls how Dendron handles duplicate notes across multiple vaults.

Enhancements

  • creating engine via cli also initializes meta files (d72f097)(docs)
  • remove github light theme from dendron bundle (33d5708)
  • support note refs for multi-vault
  • support relative links in dendron preview (docs)
  • further speed enhancements to publishing using 11ty resulting in another 5x improvement
  • configure writeStubs from dendron.yml

Bug Fixes

  • refactor hierarchy miss self referential links (00b385d)
  • reduce frequency of engine not connecting error when launching dendron preview

House Cleaning

  • writeStubs is set to true by default (or when not set) when publishing using 11ty

0.20.1

Publishing V2 (preview)

We've re-build publishing for Dendron from the ground up to be faster, better, and easier to use.

Besides for schemas, publishing has consistently been one of the hardest to use features in Dendron. Dendron currently publishes using jekyll using our own template. While this has served as well initially, slow compile times for large sites and difficulty of getting started has made it a growing pain point.

To address this, we've migrated our publishing stack to 11ty, a super fast javascript based static generator. This means much faster, and perhaps more importantly, easier publishing.

There's still some work left to integrate publishing into the Dendron plugin - meanwhile, you can take the new publishing workflow for a spin using the dendron cli

In order to to use the 11ty based publishing, initialize your workspace with the following commands.

npm init -y
npm install @dendronhq/dendron-cli@latest
npm install @dendronhq/dendron-11ty@latest

After you have your dependencies installed, build your your site using the following command.

npx dendron-cli buildSiteV2 --wsRoot .  --stage dev --serve

This will both compile your site locally and make it available at localhost:8080 for instant preview. When building your site locally, the pages will be build to {wsRoot}/build/site.

When you are ready to publish to github, make sure to change the stage to prod.

npx dendron-cli buildSiteV2 --wsRoot .  --stage prod 

This will build your site to the path specified by siteRootDir in dendron.yml.

Benchmarks

Publishing V2 is ~10x faster than jekyll based publishing for sites with +100 pages. For comparison, below is the compilation difference between building the dendron site using 11ty vs jekyll.

  • 11ty: 24.45s
  • jekyll: 220.33s

There are additional optimizations still on the table that will further drive down he compilation time by another order of magnitude for future releases.

Gaps

11ty publishing is currently not at full feature parity with Jekyll publishing. Notably, the following features are missing:

  • setting a custom color theme
  • edit on github links
  • jekyll-seo functionality
  • mathjax

Migration

All values that used to be written into _config.yml will now be moved into dendron.yml. You can see the currently supported configuration values here: https://github.com/dendronhq/dendron/blob/master/packages/common-all/src/types.ts#L71:L71

If you currently have a Jekyll based Dendron page, note that the following settings have changed:

  • the url property from _config.yml is now siteUrl in dendron.yml
  • favicon is now controlled by siteFaviconPath in dendron.yml and is a path relative to your workspace root
  • CNAME is now controlled by githubCname property in dendron.yml

Sample dendron.yml config

  • publishing without a cname
version: 1
vaults:
    - fsPath: vault
site:
    copyAssets: true
    siteHierarchies:
        - dendron
    siteRootDir: docs
    siteUrl: "kevinslin.github.io/dendron-11ty-test"
    usePrettyRefs: true
  • using custom cname
version: 1
vaults:
    - fsPath: vault
site:
    copyAssets: true
    siteHierarchies:
        - dendron
    siteRootDir: docs
    usePrettyRefs: true
    siteUrl: "11ty.dendron.so"
    githubCname: "11ty.dendron.so"

Sample repo

CLI Command Reference

dendron-cli buildSiteV2

build notes for publication using 11ty

Options:
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]
  --wsRoot   location of workspace                                    [required]
  --vaults   location of vault                                           [array]
  --serve    serve over local http server             [boolean] [default: false]
  --stage    serve over local http server

Past Releases


Table of contents