AstroでObsidianのwikiリンク形式を使用する
この記事のリンク先には広告が含まれています
2024/8/30
obsidianで書いたmdファイルをAstroでブログに変換する際。wikilink形式をremark-wiki-linkで変換して使用したいと思ったがにっちもさっちもいかなかった。
こちらのissueを参考にremark-wiki-linkのindex.jsを書き換えたらなんとか成功した。
[help]: Cannot read properties of undefined (reading 'data') remark-wiki-link · Issue #1059 · datopian/datahub
I really love this project so much. This is awesome work!!! But i have some issue: Cannot read properties of undefined (reading 'data') at Object.exitWikiLink (file:///D:/Project/Pkmer/thino-landpa...
github.com
function exitWikiLink(token) {
//var wikiLink = this.exit(token); 削除して以下を追加
var wikiLink = top(this.stack)
/* この範囲削除して下を追加
var _wikiLink$data = wikiLink.data,
isEmbed = _wikiLink$data.isEmbed,
target = _wikiLink$data.target,
alias = _wikiLink$data.alias;
*/
//ここから追加
const {
data: {isEmbed, target, alias},
} = wikiLink;
this.exit(token);
//ここまで
exitの返り値がなくなったことよるにエラーとのことで別のかたちで追加しているみたい。 Astro3から4にバージョンアップに伴って出たエラーらしい?
ちなみにastro.config.mjsはこんな感じ。
import wikiLinkPlugin from '@portaljs/remark-wiki-link'
// https://astro.build/config
export default defineConfig({
markdown: {
remarkPlugins: [
wikiLinkPlugin,
],
},
})