Quartz 中的a标签默认没有target=_blank属性,虽然这是正确的,但是对于外部连接,我还是习惯在新标签页中打开。

这个 PR 中提到了此问题: https://github.com/jackyzha0/quartz/pull/127

按照@nickian提供的方法,可通过自定义 js 的方式实现新标签页打开链接。

编辑  quartz/components/Head.tsx. 在  <head>  标签中引用自定义 js 文件:

<script src="/static/custom.js" defer></script>

新建 js 文件  static/custom.js :

document.addEventListener('DOMContentLoaded', function() {
  document.addEventListener('click', function(event) {
    if (event.target.matches('a.external')) {
      event.preventDefault();
      window.open(event.target.href, '_blank');
    }
  });
});