-
Notifications
You must be signed in to change notification settings - Fork 1
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
tippy的链接锚无法正确对应 #5
Comments
收到。即刻开始调查。
…---原始邮件---
发件人: "Core-Chan"<[email protected]>
发送时间: 2020年1月17日(星期五) 晚上11:27
收件人: "RichardYan314/hexo-pandoc-tippy"<[email protected]>;
抄送: "Subscribed"<[email protected]>;
主题: [RichardYan314/hexo-pandoc-tippy] tippy的链接锚无法正确对应 (#5)
不太确定是上游bug还是你这边的问题,先提出来看看,举例如下:
找到了大佬的blog,其中有一注脚如图:
点击后期望的反应:跳转到最底部的注脚详细内容
点击后实际反馈:无反应
观察url可发现点击后链接锚为#fn1-1(如图),而其id(html的id)则为fnref1-1
而底部注脚详细内容的注脚则出现了对应错误
期望的链接锚为:#fnref1-1
期望的id为:#fn1-1
实际的链接锚为:#fnref1
实际的id为:#fn1
所以导致无法直接跳转,如果我没记错的话,之前原文的html id和链接锚是没有-1的,不确定是哪里出了问题,如果大佬最近比较忙的话,可以告诉我具体处理环节是否增加了-1,,我也会去看看源码,以便随后提交pr上来。
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
0.4.1 的修复有问题,暂时不要升级 |
如果你愿意帮忙一起看源码的话,现在已经确定是 fixFootnotes.js 的问题。 当时为了解决 #3 的时候,发现在 hexo 中 tag 都是独立渲染后嵌入回原文,导致脚注计数器从 1 重新计数。于是 pandocFilter.py 那边就在渲染每一个块时在最外层裹了一个 设计上是希望顶层的脚注链接为 #fnref1 和 #fn1 的,然后内部的用 #fnref1.1.1.1-1 和 #fn1.1.1.1-1 . 现在 footnote section 是对的,但是正文对它的引用有问题。大概是 fixFootnotes 函数里 接下来的周末会有点忙碌,如果你能帮忙确认是不是上述这么个情况就太感谢了。 |
刚刚试了下,先反馈下我这边debug的情况,使用的版本是0.4.0,在 不确定我是否理解正确,我先梳理一遍:
如果上述描述无误,那么比较疑惑的地方是上文提到
的 建立在前面理解无误的情况下,代码在此处逻辑无误,作为第一章的第一个注解,其id的确应该为 |
我将 修改后的情况可以看latex学习 |
这个 scope 跟 markdown 里的 heading 没有关系。scope 解决的问题是 hexo 渲染下例时会根据 tag 选择不同的 renderer. 下例中的 blockquote 使用的是 markdown renderer (在我们的情况下 md 被注册为 hexo-renderer-pandoc), 而就算跟正文使用的是同样的 renderer, hexo 也会将 tag 中的内容单独交给 renderer 渲染后插入正文中。而这个插入是发生在正文渲染完毕后。因此 hexo-renderer-pandoc 每次被调用时都只能得到其中一块而并不知道这一块是将要嵌入到哪儿去的,也不知道这一块中是否有嵌入 (后面这个不一定。也许有办法在 pandocFilter.py 里做这个,这样就不用费心在 js 那边用 cheerio 做这个了。这个看一眼 pandoc 的语法树就可以确定了。) 然后现在的问题是,我原本设计是 #fna-b 其中 a 是嵌入层次,如 我现在想是不是去掉 https:/RichardYan314/hexo-pandoc-tippy/blob/23a44d7914f30c97a0a491481edb98f03500c3ac/fixFootnotes.js#L119 上的 if-else 就可以解决。晚上有时间我试试。 global 1
^[global 1]
{% blockquote %}
1.1^[1.1]
{% blockquote %}
1.1.1^[1.1.1]
{% endblockquote %}
1.2^[1.2]
{% endblockquote %}
{% blockquote %}
2.1^[2.1]
{% endblockquote %}
global 2
^[global 2] 感觉我中文表达能力越来越有问题了。上面哪里不清楚的请务必让我澄清。 |
姑且算是找个地方先记录一下:因为 pandoc 生成的脚注 id 是 fnref1, 然后我懒,直接把 scope 后缀到原 id 上了,于是应该是 fnref1-1.1.1 |
发现了几个问题:
hexo 由于使用正则表达式会将第一个嵌入块匹配为
以上所有部分。这个我这边无能为力。 |
修好了,还顺带解决了下排序的问题。你试试更新插件到0.4.3,然后pandoc也更新到2.9试试。 |
抱歉因为疫情的原因,一直不方便回复(人在武汉,笔记本没在使用)。刚刚重新测试了一遍,没有任何问题。感谢大佬更新 |
👌
保重呀
…---原始邮件---
发件人: "Core-Chan"<[email protected]>
发送时间: 2020年3月1日(星期日) 晚上10:48
收件人: "RichardYan314/hexo-pandoc-tippy"<[email protected]>;
抄送: "State change"<[email protected]>;"Ritsuka"<[email protected]>;
主题: Re: [RichardYan314/hexo-pandoc-tippy] tippy的链接锚无法正确对应 (#5)
抱歉因为疫情的原因,一直不方便回复(人在武汉,笔记本没在使用)。刚刚重新测试了一遍,没有任何问题。感谢大佬更新
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
不太确定是上游bug还是你这边的问题,先提出来看看,举例如下:
找到了大佬的blog,其中有一注脚如图:
观察url可发现点击后链接锚为
#fn1-1
(如图),而其id(html的id)则为fnref1-1
而底部注脚详细内容的注脚则出现了对应错误
#fnref1-1
#fn1-1
#fnref1
#fn1
所以导致无法直接跳转,如果我没记错的话,之前原文的html id和链接锚是没有
-1
的,不确定是哪里出了问题,如果大佬最近比较忙的话,可以告诉我具体处理环节是否增加了-1,,我也会去看看源码,以便随后提交pr上来。The text was updated successfully, but these errors were encountered: