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');
}
});
});