[Bug Report]手风琴语法单独使用无法识别
Prerequisites
- [X] There isn't an existing issue that reports the same bug to avoid duplicates.
- [ ] The provided information offers a minimal reproducible example of the bug.
- [ ] For Q&A, please open a GitHub Discussion instead.
Describe the Bug
问题
手风琴语法单独使用无法识别
修复方案
将regexp.js#L254的正则修改为:
begin: /(?:^|\n)(\n*[^\S\n]*)\+\+([+-]?)\s+([^\n]+)\n/,
修复效果
另外
这个项目看起来有点混乱。
- 部分语法的正则写在
regexp里面,有一部分还写在ParagraphBase的子类里面 - 语法的样式过于混乱,都用了scss为什么不把样式拆分到子文件来和语法名称对应(Detail语法对应Detail.scss这样),也方便后期维护和管理
Reproduction Steps
No response
System Information
No response
Contributing
No, I don't plan to at this time.
哦哦,这里应该是我们语法说明上不够准确,默认收起的语法是 +++,默认展开的语法是+++-
针对正则写法的问题,目前遵循的一个原则是:需要复用的就放在regexp.js里,不需要复用的就放在各自的子类里,所以可能看上去会有点乱,后续确实可以考虑全都放到regexp.js里,但优先级比较低。
scss的话,针对不同的段落语法写对应的样式文件确实可行,不过主题就比较难实现了。。总不能有一大堆 /src/sass/themes/blue/Detail.scss这样的文件吧,这样反而降低了开发效率,所以最终我们选择了按模块拆分scss
你们现在的主题写了太多了重复性代码....
主题个人觉得用css变量的形式更方便一点?例如可以给变量加前缀:
默认主题(写到对应的scss文件里core/Detail.scss):
.theme{
--detail-summary-color:#000;
}
其他主题的话(themes/light.scss),直接覆盖变量就好了
.theme-light{
--detail-summary-color:#111;
}
而且现在的主题和cherry的耦合度太高了,都是一次性打包进cherry。
可以拆离开来,分离成一个个css,即便用户不引用主题的css,也有一个内置的默认主题可用。
用变量还有个好处就是,如果我只是想修改主题的颜色,我不用写一大段的css语法选择器去覆盖默认的主题
嗯。。确实可以用css变量方式。当时实现主题的时候技术不行不知道有css变量的方式(当然现在我也似懂非懂),我们后续排期搞搞
确实需要优化一下css主题了,前几天做自定义主题时发现,给的几个demo主题的css文件居然元素结构不一样,而且有一些元素在css中也没有体现出来,后来对着chrome的debug调试了好久才找到对应的元素修改点,改起来好麻烦
欢迎安装最新版(v0.10.1),新版本主题已改成css变量的方式