Changelog
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
- jekyll based publishing is now deprecated
- dendron.copyNoteUrlRoot deprecated for
siteUrl
0.24.1
Features
Enhancements
- enable pass dict to config (ccbc017)
- use enhanced filter when creating 403 links (65afe8c)
- custom header support (docs)
- google analytics support (docs)
- Multi Vault Edit on GitHub
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
- update on date format for journal and scratch notes to use Luxon style formatting
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
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
tohighligher.js
0.21.1
Enhancements
- add seo tags (docs)
- enable edit on github link (docs)
- migrate all jekyll
_config.yml
settings todendron.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
- dendron.so is now published using the new 11ty framework
- add publishing to github guide using github actions
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
linksjekyll-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 nowsiteUrl
indendron.yml
- favicon is now controlled by
siteFaviconPath
indendron.yml
and is a path relative to your workspace root CNAME
is now controlled bygithubCname
property indendron.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