Closed henrylu closed 6 years ago
我没用过 bear,不过具有类似这种的,我我理解的话,应该是 org-mode 里面的 tags
https://orgmode.org/manual/Tags.html
:tag-parent:tag-child:tag-grandchild:
的标签结构,在 h1 加上标签后,这个 h1 中的 h2 也自然继承这个标签,这样的吗?
不过如果只是一个需要跳转的 tag 的话,可以通过 <a href="#tag1">#tag1</a>
这样来得到。
Bear的标签结构是'#'开始,'/'分隔,例如: ``
``
输入链接没有输入标签那么方便。建议文档中增加开发插件的说明。我的想法是按这种方式输入标签后就生成一个可点击的span来显示。
这个可以有!
#tag-name-with-no-space
or #tag name closed#
但是这个写法之前没见过,不知道实际中会有多少人使用,以及默认是否应该开启此语法功能
说个题外话,也许可以考虑在 codemirror 自带的 autocomplete 基础上开发个自动补全的插件?用来补全 emoji 和这个格式的标签(姑且将其称之为 hashtag 吧)。但是 hashtag 自动补全又需要依赖一个文档管理系统,而 HyperMD 只是个编辑器组件 🤷♂️
Twitter是使用#标签 以空格结尾作为分隔,这个已经成为人们的习惯,个人认为比新浪微博的#标签#以#号结尾更方便,因为少输入了。至于'/'也符合层次的习惯,就像是breadcrumb那样:
首页 / 列表 / 详情
HyperMD可以提供接口获取或编辑标签列表数据,并且可扩展标签点击事件,然后文档管理那些就交给外部通过调用HyperMD的接口来完成。
d9565b9 已添加 hashtag 语法支持、click 事件支持(在线演示页面 点击 hashtag,可看到控制台输出)
获取标签列表、更新标签内容,如果要做成通用的,这个暂时没想法。除了 hashtag,标题好像也需要方法提取。
getValue()
方法可以获取所有文本内容,然后用正则表达式提取所有可能的 hashtaggetTokenTypeAt({line: 行号, ch: 字符序号})
并检查返回值有没有 "hashtag"
,可检查某个位置的文本是否是真的 hashtag (而不是别的奇怪东西,例如Python代码里的注释)replaceRange()
方法,可以替换部分文本内容。如果要插入新的 hashtag,可以用这个插入字符串。可以参考 https://codemirror.net/doc/manual.html
这是要准备搞个云笔记网站么?
ad25d2b8 现在 hashtag 语法默认不开启。开启方法可以参考文档: https://laobubu.net/HyperMD/?directOpen#./docs/options-for-mode.md
0.3.7 版本等过段时间完善了再发布到 npm 上
v0.3.7 is published. Close #33
像Bear里面这种:
h1标题
与h1标题不同之处是'#'与文字之间没有空格,例如:
#标签
就形成了一个标签,是否可以增加这个插件?fold-tags? 这个标签最好可以扩展事件,例如点击标签后的事件可以自定义。 我对typescript不熟,文档里也没有写应该怎样开发插件。