Skip to content
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

中文链接处理&HTML #21

Open
NeverBehave opened this issue May 6, 2020 · 4 comments
Open

中文链接处理&HTML #21

NeverBehave opened this issue May 6, 2020 · 4 comments

Comments

@NeverBehave
Copy link
Contributor

对于形如 https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影 这样的链接
会自动给他的text部分加上空格, 这种行为该如何避免?

还有就是如果 md 中包含 html 的 node 是不是可以直接也处理掉, 直接传给 pangu 就好了
这个情况应该是可以处理的?

@NeverBehave
Copy link
Contributor Author

vinta/pangu.js#155

@vincentbel
Copy link
Owner

是的,链接这种应该默认就不加空格。
对于这种更灵活的配置方式,会不会有相关的 remark plugin 可以参考?咱们可以先考虑一下 API 怎样定义会比较好。

@NeverBehave
Copy link
Contributor Author

NeverBehave commented May 7, 2020

是的,链接这种应该默认就不加空格。
对于这种更灵活的配置方式,会不会有相关的 remark plugin 可以参考?咱们可以先考虑一下 API 怎样定义会比较好。

其实这是个上游问题, 但是我现在其实更倾向与让pangu.js作为一个纯文本工具. 每个节点的排版由插件控制

https://github.com/remarkjs/remark/blob/master/doc/plugins.md

https://github.com/remarkjs/remark-autolink-headings#optionsgroup

说到这里, 我重新看了一下插件部分
我觉得也许可以传入一个function让用户决定identifier该如何执行

@rxliuli
Copy link

rxliuli commented Nov 7, 2024

首先,如果只是一个简单的链接,例如

https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影

这种情况下绝对不应该添加空格。

否则可能是另一种情况,这种情况下添加空格可能是合适的,但经过测试 prettier v2.1(还能正确处理 cjk 空格的版本)的表现如下

const f = (s: string) => format(s, { parser: 'markdown' })
console.log(
  f('https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影'),
) // https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影
console.log(
  f(
    '[编曲|摄影](https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影)',
  ),
) // [编曲|摄影](https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影)
console.log(
  f(
    '[中文abc中文](https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影)',
  ),
) // [中文 abc 中文](https://rsshub.app/bilibili/fav/2267573/801952073?filter=编曲|摄影)

可以看到 | 似乎并不会导致两侧添加额外的空格,单独测试得到了相同的结论

console.log(f('编曲|摄影')) // 编曲|摄影
console.log(f('中文abc中文')) // 中文 abc 中文

在 pangu.js 中提了一个相关的问题 vinta/pangu.js#218

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants