浏览器中的Markdown编辑器
砚台/InkStone
项目地址 https://github.com/2061360308/InkStone ⭐如果喜欢还望大家给个star⭐
《砚台》是一款轻量级的在线 Markdown 编辑器,专为静态博客优化,完全运行在浏览器中,无需服务器支持。它不仅支持可视化编辑 YAML front matter,还能浏览 GitHub 文章并一键推送。后续我们还会计划添加查看文件提交历史,内置S3等图床管理工具等。
项目特点
- 轻量运行:纯前端静态页面,使用无需下载。无需服务器支持,可自行随个人站点一起发布,随时随地编辑。
- 静态博客优化:专为 Hexo、Hugo 等静态站点生成器设计,支持同步到 GitHub。
- YAML front matter 编辑:可视化编辑 YAML front matter,简化日常文章的配置过程。
- GitHub 集成:支持直接从 GitHub 仓库获取文件,并批量提交文件到 GitHub。
- 本地缓存:使用 IndexDB 保存本地缓存数据,确保数据安全。除非手动删除,普通清除数据不会丢失。
- Markdown 编辑器:采用 Vditor 编辑器,支持所见即所得、即时渲染和分屏预览三种模式。
截图展示
授权登录
Token登录
文件编辑-即时渲染
文件编辑-分屏预览
文件管理器
大纲面板
提交页面
设置面板
技术栈
- TypeScript:提供静态类型检查,提升代码质量和开发效率。
- Vue.js:渐进式 JavaScript 框架,构建用户界面更加高效。
常见问题
数据存储在哪?
数据存储在浏览器的 IndexDB 中,确保在本地缓存数据的安全性和持久性。除非手动删除,普通清除数据不会丢失。
工作原理是什么?
《砚台》完全运行在浏览器中,利用 Vue.js 构建用户界面,TypeScript 提供静态类型检查,Vditor 作为 Markdown 编辑器,所有操作均在本地完成,无需服务器支持。使用了 GitHub API,本身注册了 GitHub App,可以通过授权让 GitHub App 代替访问仓库,或者用户输入自己的 Token 进行操作。
如何使用?
- 可以直接访问我们的演示站点
- 选择文章所在仓库
- 开始管理创作文章,文章创建日期等可以使用 YAML front matter 可视化功能方便选取。
- 通过 GitHub 集成功能浏览和推送文章。
主要为了 Hexo/Hugo 这些用户设计,可以在 GitHub 上利用 Action 生成站点并部署到 GitHub Pages,然后通过本项目的在线编辑器快速编辑仓库文章进行文章创作,而无需在本地继续维护博客项目。
如何参与开发?
访问我们的 GitHub 仓库,查看项目的源代码和开发文档。
如何进行贡献?
- Fork 项目仓库。
- 创建一个新的分支。
- 提交您的更改。
- 提交 Pull Request。
可以尝试我们的在线演示站点,然后在 issue 给与反馈,帮助我们了解需求。
未来开发计划
我们计划开发 S3 系列图床管理工具,进一步提升图片管理的便捷性。我们诚挚邀请大家一起来参与项目开发,共同完善《砚台》。
依赖项目
Lute:🎼 一款结构化的 Markdown 引擎,支持 Go 和 JavaScript
highlight.js:JavaScript syntax highlighter
mermaid:Generation of diagram and flowchart from text in a similar manner as Markdown
incubator-echarts:A powerful, interactive charting and visualization library for browser
abcjs:JavaScript library for rendering standard music notation in a browser