-
-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
手動で目次を作成した時に#
以降に特定の文字を指定すると、ページ番号が??
になりリンクされない
#164
Comments
「ページ番号が??になりリンクされない」という問題の箇所のHTMLコードは <li><a href="manuscript2.html#%E5%90%BE%E8%BC%A9%E3%81%AF%E3%80%81%E7%8C%AB%E3%81%A7%E3%81%82%E3%82%8B22">吾輩は、猫である22(句読点あり)</a></li> でこのリンクのURLをデコードすると リンク先のHTMLファイルの「吾輩は、猫である22」のところは次のようになってます: <section id="吾輩は猫である22" class="level2">
<h2>吾輩は、猫である22</h2> リンクのURLのフラグメントで参照されてるidは まず、これは Vivliostyle.js の問題ではなく、vfm でのMarkdown→HTML変換でのid自動生成の規則に関する問題ですので、issueをvfmに移します。 |
MarkdownからHTMLへの変換において、見出しからidを自動生成するとき、見出しの文字列をそのままidにするわけではありません。idには通常使えない文字があります。そのため空白は "-" に置き換え、句読点類は削除などされます。また、idは文書内で重複したものは使えないので、同じテキスト内容の見出しが複数あった場合は、自動的に連番をふって重複のないidが生成されます。 ですので、Markdownで文書内の見出しへのリンクを書くときは、生成されたHTMLでidを確認して、そのidをリンク先のURLのフラグメントで指定するのが確実かと思います。あるいは、見出しに明示的にidを指定する方法もあります。(Markdownの見出しのあとに 以上、これはバグではないので、bugのラベルは外します。 |
ご確認いただきありがとうございます。 |
Describe the bug
句読点などを含むHeaderに
#
を使って、目次からHeaderへのリンクを作るとページ番号が??
になり、リンクされなくなります。(サンプルコード)https://github.com/kght6123/kght6123-book-template/blob/c40c1f7a615b94c573aec0a8f8aa0b1bdb490457/toc.md?plain=1#L6
https://github.com/kght6123/kght6123-book-template/blob/c40c1f7a615b94c573aec0a8f8aa0b1bdb490457/manuscript2.md?plain=1#L9
To Reproduce
下記のリポジトリをクローンして、
npm install
してnpm run dev
するhttps://github.com/kght6123/kght6123-book-template/
Screenshots
他にもわかっているだけで、下記の様なアットマーク、全角かっこ、半角空白、全角プラスで発生します。
(半角かっこでも起きます、全角半角の区別はないのかもしれません。)
Desktop:
The text was updated successfully, but these errors were encountered: