当前位置:首页 > 技术分析 > 正文内容

MacDown:一款 macOS 的强大 Markdown 编辑器

ruisui884个月前 (02-16)技术分析20

家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

什么是 MacDown

MacDown is an open source Markdown editor for OS X, released under the MIT License. The author stole the idea from Chen Luo’s Mou so that people can make crappy clones.

MacDown 是一款适用于 OS X 的开源 Markdown 编辑器。 MacDown 深受 Mou(作者宣称无法积极维护,要出售所有权) 的启发,同时在 UI 和底层逻辑上尽可能和前者对齐,只有在必要改进时才进行更改。

在主题配置层面,MacDown 更是直接从 Mou 引入了超过 20 + 编辑器主题和 CSS 文件。MacDown 的突出亮点包括:

  • 高度可定制的 Markdown 渲染,支持实时预览且高效又易于配置
  • 受防护的代码块中的语法突出显示,支持众多语言,由 Prism 支持
  • 复杂的自动完成
  • 提供各种工具对渲染的 HTML 添加额外的处理,包括: 类似 TeX 的数学语法,包括 $$...$$、\[...\]、\(...\) 和 ...... 块, GFM 任务列表、Jekyll 等等

MacDown 在很大程度上依赖于其他开源项目,例如:

  • Hoedown:用于 Markdown 到 HTML 渲染
  • Prism:用于代码块语法高亮显示
  • PEG Markdown Highlight:编辑器高亮显示

目前 MacDown 在 Github 通过 MIT 协议开源,有超过 9.4k 的 star、1.1k 的 fork、代码贡献者 60+,是一个值得关注的前端开源项目。

二次开发 MacDown

克隆存储库后,在存储库根(包含此 README.md 文件的目录)内运行以下命令:

git submodule update --init
bundle install
bundle exec pod install
make -C Dependency/peg-markdown-highlight

接着在 Xcode 中打开 MacDown.xcworkspace。 第一个命令初始化 MacDown 中使用的依赖子模块,第二个安装由 CocoaPods 管理的依赖项。

git submodule update
// 初始化依赖子模块
bundle exec pod install
// 管理依赖项

更多关于 MacDown 的用法和内容可以参考文末资料,本文不再过多展开。

参考资料

https://github.com/MacDownApp/macdown

https://macdown.uranusjr.com/

https://www.podfeet.com/blog/2022/06/macdown/

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1999.html

标签: gitsubmodule
分享给朋友:

“MacDown:一款 macOS 的强大 Markdown 编辑器” 的相关文章

总结了Vue3的七种组件通信方式,别再说不会组件通信了

写在前面本篇文章是全部采用的<script setup>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。本篇文章将介绍如下七种组件通信方式:propsemitv-modelrefsprovide/injecteventBusv...

前后端分离自动化运维平台开发

运维平台采用前后端分离:前端vue,框架vue-element-admin;后端python,框架django-rest-framework.目前运维平台模块如下:1、 CMDB管理应用管理、环境管理、开发语言管理、产品项目管理、资产管理2、 构建发布持续构建、持续部署、Jar工程依赖构建3、 容器...

理解virt、res、shr之间的关系(linux系统篇)

前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。...

软件测试-性能测试专题方法与经验总结

本文 从 性能测试流程,性能测试指标,性能监测工具,性能测试工具,性能测试基线,性能测试策略,性能瓶颈分析方法几个维度,进行知识总结和经验分享;详细见下图总结,欢迎大家补充;性能测试经验与思考1. 性能测试流程1.1. 性格规格评审1.2. 资源排期1.2.1. 人力资源1.2.2. 时间计划· 性...

7 招教你轻松搭建以图搜图系统

作者 | 小龙责编 | 胡巍巍当您听到“以图搜图”时,是否首先想到了百度、Google 等搜索引擎的以图搜图功能呢?事实上,您完全可以搭建一个属于自己的以图搜图系统:自己建立图片库;自己选择一张图片到库中进行搜索,并得到与其相似的若干图片。Milvus 作为一款针对海量特征向量的相似性检索引擎,旨在...

vue 异步更新那点事儿 #web前端

异步更新那点事儿。wue & vueuse官方团队成员。看一下群友投稿的问题。什么问题?就是它这边有一个组件,这个组件里面有个userID,然后这个userID通过props传给了子组件,子组件是userinfo,它里面是用来渲染用户信息的。渲染用户信息的同时,userinfo这个组件又暴露...