Typora封面标题和作者来自YAML头版



我正在尝试使用WebKit/JS自动生成封面。

目前我正在打印一个标题,但当我试图导出作者时,它会崩溃

当前实施

<meta name="title" content="${title}">
<div id='_export_cover' style="height:100vh;">
<div id='_export_title' style="margin-top: 25%;text-align: center;font-size: 3rem;">
<div id='_export_author' style="margin-top: 40%;text-align: center;font-size: 1.5rem;">
</div>
</div>
<script>
var $cover = document.querySelector("#_export_cover");
var title = document.querySelector("meta[name='title']").getAttribute("content");
var author = document.querySelector("meta[name='author']").getAttribute("content");
if(!title || title == "${title}" || !author || author == "${author}") {
// no title
$cover.remove();
} else {
document.body.insertBefore($cover, document.body.childNodes[0])
$cover.querySelector("#_export_title").textContent = title;
$cover.querySelector("#_export_author").textContent = author;
}
</script>

有人看到这个片段的问题吗?

我尝试运行HTML,发现没有带有name='author'meta标记

var author = document.querySelector("meta[name='author']").getAttribute("content");显示Uncaught TypeError: Cannot read property 'getAttribute' of null错误

您应该像这样添加一个元标记<meta name="author" content="${author}" />

您应该添加一个元标签

<meta name="author" content="${author}" /> 

像这样。这将解决你的问题

最新更新