ErikMH
(Erik Mueller-Harder)
150
我的 Linkify 功能已经几乎完全符合我的预期:
/TBI\s*\W?(\d*)/,https://tbi.example.com/tbi/$1/
这可以覆盖用户输入的多种形式的“TBI 编号”:
- TBI 17
- TBI-17
- TBI17
- TBI -17
- TBI*17
- 等等。
我喜欢这种灵活性。
不幸的是,它无法处理输入这些编号的标准方式:
似乎无论我怎么做,都无法正确匹配 #(井号、哈希符、数字符号、八重符号、井号标记、磅号、井字棋符号)。我尝试过:
/TBI\s*#?(\d*)/,https://tbi.example.com/tbi/$1/
/TBI\s*\#?(\d*)/,https://tbi.example.com/tbi/$1/
当然,这些都不起作用;甚至连完整的通配符也不行:
/TBI\s*.?(\d*)/,https://tbi.example.com/tbi/$1/
在我看来,可能是分类弹出功能接管了这一过程,导致 Linkify 无法正常工作——即使用户没有选择提供的任何分类。
这是预期行为还是 bug?是否有人知道如何绕过这个问题?
是的,如果你检查 HTML 源代码,会发现 Discourse 似乎会将任何以井号(#)开头的内容放入独立的 span 元素中,从而破坏了链接化主题的流式布局。恐怕这个问题没有简单的解决办法,很抱歉。
除非有人有更好的主意,否则你可能需要 fork 这个主题并针对此情况进行自定义。
eextra
(Sylwia)
152
这个插件运行良好,谢谢。不过,与 abrify 结合使用时无法正常工作。
是否可以让链接在添加该插件所带的 类时也能正常工作?
https://github.com/metabrainz/discourse-abbrify-words。
我认为问题在于 abbrify 插件默认会跳过链接标签。你可以通过修改代码来解决,删除 head_tag.html 中的第 16 行:
'a': 1,
如果有效,或者你需要更多指导,请告诉我。
2 个赞
eextra
(Sylwia)
154
看起来已经可以正常工作了,非常感谢。
顺便问一下,如果只在 CSS/HTML 模板中进行编辑,而不是直接从 GitHub 编辑,会有什么区别吗?
是的,从 GitHub 更新主题组件时需要小心,它会覆盖您在 CSS/HTML 中的本地更改。
3 个赞
eextra
(Sylwia)
156
谢谢,我想知道是否也能实现类似的功能,但不是添加 abriffy 属性,而是添加其他类型的类,例如 dfn data-info、span aria-label 等。
例如,与 content: attr() 配合使用。
没错,肯定可以。你可以尝试使用 createAbbr 函数(或者 linkify 主题中对应的函数)
1 个赞
eextra
(Sylwia)
158
真的很好。我得稍微玩一下。
我想这里可能有很多可能性。你知道如何通过某种方式使用 JSON 和 API 吗?
例如,能否通过 API 在 WordPress 上显示 Abriffy 单词和其他数据?
我不太明白您的意思。您能否更具体地说明您想要实现什么?主题组件在 Discourse 中运行,没有 API 可以在其他地方使用它们。但您应该可以在大多数情况下,只需将 JS 代码复制到其他位置,并修改与 Discourse 相关的部分,即可使用这些代码。
jrgong
(jrgong)
160
有没有办法避免将 onebox 中的内容自动转换为链接?
1 个赞
你可以尝试在“跳过标签”设置中添加 <aside> 标签。不过我不确定所有一体框(oneboxes)是否都放在 <aside> 内。也许我们需要一个基于类名的过滤器。
@sam 对此有什么看法?
这似乎是一个合理的默认行为(不在一体框中自动创建链接)。
4 个赞
sam
(Sam Saffron)
162
基于类的过滤设置听起来很完美,默认情况下我们应该排除一个框。
7 个赞
cherrot
(cherrot)
164
你好,我今天已成功为默认的 Light 主题安装了此主题组件,但它对我来说无法正常工作。
我尝试过使用正则表达式以及默认的链接化词汇(discourse 和 meta),但都没有成功。
我安装的是 v2.3.0.beta2 +256 版本。请问有什么调试建议吗?提前感谢 
1 个赞
我们最近进行了代码重构,您可能需要更新您的 Discourse(这很方便,因为 2.4 版本刚刚发布
)
6 个赞
onebox 中的 Linkify 现在默认已禁用。@jrgong 能否请您更新主题并测试一下?
1 个赞
tomtjes
(Thomas Reintjes)
167
看来这个问题还没解决?我本以为可以通过从管理界面导出组件来创建备份,但导出内容并不包含自定义设置。
有个想法:如果该设置及其所有行在双击时变成一个可编辑的文本区域会怎样?类似于 编辑 CSS/HTML 编辑器?这样无论是备份/导出,还是导入每行一个项目的列表都会变得很简单。
之前:
双击后:
另外提一点:你可能会在那里看到一些奇怪的正则表达式,但在这些设置字段中无法使用 |。也许上述方案也能解决这个问题。
3 个赞
eextra
(Sylwia)
168
你好,朋友!你觉得如何利用 linkify/abrify 插件将文字或链接转换成图片呢?
使用当前插件可能无法实现,但修改插件以生成 <img> 标签而不是 <a> 标签应该不难。
1 个赞