
1 min read
Obsidian and Vuepress: include markdown files
I am using Obisidan to manage markdown files and Vuepress to publish them. With the help of a script build.js
the Obsidian vault is converted into a publishable format for Vuepress. Obsidian supports embeding markdown files using the 
syntax. Here I’ll show you how this feature can be enabled for Vuepress.
First we need to support including markdown files for Vuepress. Install the markdown-it extension.
npm install --save markdown-it-include
And enable it (Vuepress v1).
.vuepress/config.js
module.exports = {
// ...
extendMarkdown: (md) => {
md.use(require('markdown-it-include'))
}
}
Before the Vuepress build is created the build.js
file is executed.
// ...
function convert(content,file) {
// ...
// convert include markdown links
//  -> !!!include(file.md)!!!
const mdInclude = /(!\[.*?\]\(.*?\.md\))/g
matches = content.match(mdInclude) || []
for (i = 0; i < matches.length; i++) {
let match = matches[i]
let include = match.match(/!\[.*\]\((.*\.md)\)/)[1]
include = sanitizeName(include)
content = content.replace(match, `!!!include(${include})!!!`)
}
//...
return content
}
// ...
This is just an excerpt. The script does a lot more. It renames files, moves assets, builds indexes and overall tweaks the markdown files to work with Vuepress.
Have look here for a full example.
Categories: KnowledgeTags: obsidian , git , synchronization
Edit this page
Show statistic for this page