Coder Social home page Coder Social logo

Comments (4)

foxfire881 avatar foxfire881 commented on June 4, 2024 1

可以参考一下 muya,这个项目已经实现了所见即所得和提示选择代码语言的功能,但是它开发太慢了,等了几年还没有能用的正式版放出来,所以准备转cherry了。之前一直用的是vditor,也有自动提示代码语言和所见即所得的功能,但是它的代码太乱bug太多,所以想换了。cherry看着比较干净,大厂出品质量也有保证点。

关于prism,感觉当前在预览框选择切换代码类型的功能有点鸡肋,因为贴出来的每段代码只可能有1种类型,没必要转来转去,如果类型不对重新编辑源文件修改类型就行了,也没必要转来转去,弄个下拉框在那里反而显得有点碍事,可以改成文本直接显示代码类型就行了。

另外,建议把prism的整合弄成像mermaid那样的,正常构建不包含,需要时让用户自己选择导入需要的模块和配置,把选择权交给用户,这样就方便多了。像我们主要时内网使用,速度够快,不在乎那点代码量和流量,更关注的是功能是否满足需求。

谢谢~

感谢反馈,因为cherry会把prism构建到自己的包里,为了压缩包的大小,所以我们只引入了常用的几种语言。目前还没有机制去动态修改/配置 prism,临时解决方案可以通过 配置自定义代码块语法 来曲线救国,大概思路:

  1. 定义一堆自定义语言(如asm、nginx),让他们渲染出特定class的代码块
  2. 在自身业务里引入一个“完全体”的prism,并让它高亮特定class的代码块

针对第二个问题,确实是一个非常棒的建议,我们想象怎么支持哈(目前是在右侧预览区域支持了,见下图)

from cherry-markdown.

sunsonliu avatar sunsonliu commented on June 4, 2024

感谢反馈,因为cherry会把prism构建到自己的包里,为了压缩包的大小,所以我们只引入了常用的几种语言。目前还没有机制去动态修改/配置 prism,临时解决方案可以通过 配置自定义代码块语法 来曲线救国,大概思路:

  1. 定义一堆自定义语言(如asm、nginx),让他们渲染出特定class的代码块
  2. 在自身业务里引入一个“完全体”的prism,并让它高亮特定class的代码块

针对第二个问题,确实是一个非常棒的建议,我们想象怎么支持哈(目前是在右侧预览区域支持了,见下图)
image
image

from cherry-markdown.

foxfire881 avatar foxfire881 commented on June 4, 2024

刚想起来,那个下拉框可以修改成切换这段代码的css风格样式(prism有多种css主题可以选择),旁边再用静态文本展示当前代码的语言种类,这样比较合理点。

另外再问下prism自定义模块配置的开发优先级可以提高一些吗?我们日常工作主要是编写一些配置文档、命令、代码,对不同种类code block的渲染需求比较多,那些流程图、时序图之类的使用较少(个人认为markdown中这类富文本组件用多了会引入很多不必要代码和分词,影响搜索结果准确性),当下正在寻找vditor的替代品,如果我们自行修改cherry源码做二开的话,一来不熟悉代码效率比较低,二来等后续主线版本更新了又要再重新维护一遍比较麻烦,最好是能集成在官方主线版本里,越早越好,这样我们可以尽快切换到cherry。谢谢~

from cherry-markdown.

sunsonliu avatar sunsonliu commented on June 4, 2024

额,要不先把你们常用的语言列一下,我们先无脑把他们包到cherry里,现快速满足你们的使用要求。后面我们再排期弄个包含prism完整模块的cherry版本出来

或者你们也可以自行修改prism的语言(然后构建一个版本自己用),然后PR给我们,这样就不担心无法更新cherry版本的情况了,在这里修改prism的语言配置


另外,关于切换代码块的主题,目前该功能也是支持的哈,在顶部工具栏里,如下图:
image
配置方式如下图:
image

from cherry-markdown.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.