来自 YAML front matters 的 Typora 封面标题和作者

Typora coverpage title and author from YAML front matters

我正在尝试使用 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 并发现 meta 标签没有 name='author'

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}" /> 

点赞this.This即可解决您的问题。