AstroでObsidianのwikiリンク形式を使用する

この記事のリンク先には広告が含まれています

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...
[help]: Cannot read properties of undefined (reading 'data') remark-wiki-link · Issue #1059 · datopian/datahub favicon github.com
[help]: Cannot read properties of undefined (reading 'data') remark-wiki-link · Issue #1059 · datopian/datahub

  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,
    ],
  },
})

author

caori

WEB制作/イラストレーター

caori

宮城県在住。WEBデザインから構築、管理。ものづくりと効率化が趣味。二世帯住宅自宅を気密断熱DIY中。詳細はabout