-
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
[Extra] 建议:相同一大类功能的选择器收归到同一个模块接口,以免用户难于选择。 #13
Comments
列表转表格的种类其实就三种,看正则
md标识的问题见 #12,等解决完 #12 我就将他弄掉。 识别是否选择器识别是否选择器,我原来的设计中有另一个方案解决关于头部标识的使用,如果太复杂,不利于用户输入。如果太简单,则特征化程度低,容易误选,而且用户想一键清除所有头部样式时也会变得困难。 我倾向于输入简单的方案。 在我原构想中,是加入一个可选的空处理器
你的方案全局方案的话,我感觉有点长,其实如果是我自用的话,不考虑给你们用的话,我甚至想直接 l2t l2u l2lt。 但是一方面,这需要给不使用这个插件的人看得懂源码表达的是什么意思。所以头部信息要简明,不要太参数化(这又得考虑简明 和 简短及便于输入 之间的平衡,比如到底是 list2listtable 还是 list2lt,(我打算在下版中,修改为两种方式均能生效)) 第二方面,无论是我想改成(l2t l2u l2lt)还是你想弄得比较长、参数化一点,虽然都可以通过自定义处理器解决,但还是需要一个比较适合大众综合使用的官方方案。感觉直接用一个独立的单词比较合适 |
1. 选择器的编排统一比是否输入简短更重要
你这个可选的空处理器 至于头部信息,我认为信息的明确和统一要比输入简短更为重要。一篇MD文件写下来,写几个AB选择器的打字输入量那几乎就可以忽略不计了。因此头部信息的格式编排更侧重于要让用户容易记住,不会混淆。比如,当需要列表要转表格,他能非常容易想起来是l2t。而不是要去AB官网或参考文件去看,是l2t,还是l2ut,还是l2lt。 现在AB插件刚起步,以后AB的API接口成熟了,谁知道日后它会发展出多少种转化渲染类型,现在只是列表转表格、列表转图表、列表转时间线、列表转标签栏等几种,难道以后就不会有列表、表格、图表、时间线、标签栏之间两两相互转化渲染吗,以及其他开发出来的奇奇怪怪越来越多的类型? 因此,你在定处理器时就要分类好,并在介绍里,尤其是FOR DEVELOPERS里就要分门别类,以免最终用户混乱。同一个转换类型,就要让选择器的编排及关键词看上去像同一个类型的,用户才容易记,不会乱。 独立工具类处理器:
转化类处理器(标记[X]为已实现):
所以需要在AB没太多转化类型之前就给选择器定好格式化的写法,以便日后扩展以及API扩展。如: 从用户角度,源类型往往需要省略掉,更应当由AB插件本身根据当前选择器的上下文来判断源类型,而不应该交由用户来定当前源类型是什么。这样变成: 至于样式参数是否要像函数()参数那样的写法,就随便了,并不重要,反正只是你代码的处理方法不同,关键是看用户用哪种写的顺,用的顺。比如,列表转表格的可折叠样式,可以像
2. 更好的办法是用户只需记住最简单的
|
不如直接加一串命令呗,选中一个列表直接根据命令转换成不同图,类似 Tabs 插件有个 Convert selected text to tabs |
有没有可能,像 Obsidian Tabs 一样做一个命令,选中列表做一个弹窗选择需要的功能 |
Obsidian Tabs 是哪个插件,有点印象但不确定,方便给链接吗? 最终效果应该类似在阅读模式那个下拉框吗?暂时没计划,想了想这会一些其他的前置工作:
现在应急使用的话,要不用自动补全插件 |
obsidian-tabs 这个。 加下拉菜单感觉用处不大,毕竟大部分情况都是选定一个视图就不变了。 tabs 在命令面板中添加了一条命令,可以将选中的内容直接转换为不同标签页。 |
之前说想要规范这个,需要一些前置工作(详见楼上上) 当前前置工作的完成情况:
需要在拆分后的基础上,后面文档再归类一下。然后再对照文档归类结果做AB块的辅助生成面板,应该就对了。 使用新的辅助面板,原来阅读模式下拉框那个东西就不要了。那个也没办法很好地在串联处理器下工作 不过另一方面,这种更细的拆分也给分类带来了挑战 |
1. 同大类的选择器收归到同一个模块接口,有助于用户使用
目前各选择器表现的很杂乱,如[list2table]、[2mdtable]、[2lt]、[2ut]、[2mdut]、[2tableT],其实就只是列表转表格这一功能的不同样式表现,但看上去就有六种功能之多,用户难以选择。
建议:相同一大类功能的选择器收归到同一个模块接口,同一大类下的各特殊样式用参数来表示。当用户参数输入不正确时调用默认参数来渲染。日后要增加新的样式时也无需新增加一个选择器,多一种参数即可。
像上面这些列表转表格都可全部收归为[2table],或用户使用更简洁的[2tb],然后通过参数来指定特殊样式,当参数不正确时调用默认接口来渲染,例如:
再如列表转各类图表,也可收归为一个接口:[2graph]:
等等诸类。
2. 接口统一后的关键词有助于识别是否是选择器,有助于排除意外的错误渲染
接口统一之后,选择器就有了几个固定的关键词。这个也有助于识别是否是选择器,凡是
[ ]
里与关键词不匹配的,统统不是选择器。可以排除很多意外的错误渲染。#2
The text was updated successfully, but these errors were encountered: