- Added support for wikilinks that embed files. These are rendered as images or links in the HTML content.
Vault#mark_referenced
andVault#prune!
- ignore unwanted filesVault#collapse!
- if a subdirectory contains only one file, treat it as if the file were added to the parent
- Added
Page#prune!
method to page objects, to remove non-referenced pages - Added
#frontmatter
toParsedMarkdownDocument
- Added
Vault#mark_referenced
,Vault#referenced?
,Vault#prune!
Big refactor of Page
class. This is now split into Page
, ParsedPage
, Vault
, Tree
.
Vault
is now the main interface for adding and fetching pages.
- Fix wikilinks pointing to slugs with spaces not rendering properly.
- Links created from wikilinks now include a leading slash
- Prevent
HtmlRenderer
state being shared across documents
- Replace Kramdown with Markly
- Enabled support for Github Flavored Markdown tables and tasklists
- Rename
MarkdownContent
->MarkdownDocument
,ObsidianFlavoredMarkdown
->MarkdownParser
- Fix page getting clobbered when wikilinks point to non-existent pages.
- Expand
[[foo/index]]
wiklinks to[foo](foo)
.
- Support non-fully qualified titles when parsing wikilink syntax.
- Autolink raw URLs.
- Fix handling of
index.md
at the root level.
- Fix ordering of
Page#children
so that index pages come first. - Fix handling of
index.md
documents so that the slug reflects the directory path.
- Unify
Note
andIndex
classes intoPage
. This is a breaking API change.Parser#notes is replaced by Parse#pages
. CallPage#is_index?
to distinguish between directory derived pages and documents. - Remove
Parser#table_of_contents
andParser#walk_tree
. - Add
Page#find_in_tree
to recursively search for a page with a matching slug. - Rename
Obsidian::MarkdownConverter
toObsidian::ParsedMarkdownDocument
Note
objects have aparent
attribute.
Note
objects have acontent
attribute. Callcontent.generate_html
to generate HTML on demand.
- Initial release: return a tree of notes