技术文档必备工具:注释目录树神器 Annotree,我的第一个正式开源项目
hi,大家好,我是爱听书的程序员阿超
非常开心能在这里介绍我的第一个正式开源项目 Annotree,项目具体情况如下,请继续阅读~
Annotree 注释树
一款生成带注释的目录树工具,大大方便技术文档的编写
项目介绍
本项目基于 folder-explorer 进行二次开发,感谢 FairyEver 的创意和贡献!
- GitHub 地址:https://github.com/itchaox/annotree
- 官方文档:https://www.annotree.com
- 视频讲解:https://www.bilibili.com/video/BV1fS421R7UM
这是我在 B 站发布的第 2 个技术视频,如果对你有帮助的话,感谢一键三连,加关注~
- 使用场景:编写技术文档的目录注释树,帮助你高效地编写技术文档。
效果演示 ︎
官方文档首页
功能展示
扫描
点击扫描按钮后打开文件选择器,选择需要扫描的文件夹,即可开始扫描。
自动打开文件
导出文件后自动打开。
忽略文件夹
忽略不需要扫描的文件夹,避免性能损失甚至程序失去响应,比如:node_modules 文件夹,程序内部已自动忽略 node_modules 文件夹。
忽略以 "." 开头的文件夹
这类文件夹在 MacOS 和 Linux 上是默认隐藏的文件夹。
只扫描文件夹
忽略所有文件,只扫描文件夹。
忽略以 "." 开头的文件
这类文件在 MacOS 和 Linux 上是默认隐藏的文件。
忽略文件类型
在扫描一次后,会生成此次扫描后的所有文件类型,可以选择忽略不需要的文件类型,以提高扫描效率。
扫描深度
设置扫描目录的深度,0 为所有深度,每递增一个数字则代表扫描深度 +1。
默认名称
导出文本的默认名称配置。
注释格式化
填充注释的格式
桥梁最短字符数
路径最长的地方,显示的桥梁字符数
桥梁填充字符
输入一个单字节填充字符,比如:*,#,$,-,@,_ 等。
始终显示桥梁
配置没有注释的地方是否显示桥梁。
导出
设置好相关配置,编写好注释后,导出注释目录树。
下载地址 ️
反馈渠道
如果你有任何意见或建议,欢迎通过以下方式与我联系:
- 提交 GitHub Issue
- 飞书群 点击入群
我为何选择飞书群作为社区沟通渠道:
- 我平时飞书用的较多,沟通方便。
- 飞书话题群沟通问题,效率更高。
开发 Annotree 的故事 ️
本项目基于 folder-explorer 进行二次开发,感谢 FairyEver 的创意和贡献!
起源
- 2023 年 6 月,我负责搭建公司内部前端基础框架。框架搭建完成后,我希望通过注释来帮助团队成员快速理解目录结构。
- 我发现 tree 命令可以扫描项目目录结构,但注释需要手动添加,不够便捷。
- 之后发现了 folder-explorer,这个工具提供了目录注释和对齐功能,但仍不完全符合我的需求。
- 为了解决上述问题,我基于 folder-explorer 进行了二次开发,创建了 Annotree。
- 由于其他工作和对 Electron 不熟悉,直到 2024 年 7 月我才开始开发 Annotree。
为何二次开发
- folder-explorer 的部分功能对我而言冗余,不符合我的使用习惯。
- folder-explorer 导出文本后才看到效果,我希望有实时预览功能。
- folder-explorer 编辑备注需要右键打开菜单,操作不便。
期望
- 这是我做的第一个正式开源项目,大家的反馈和支持,对我很重要 ,谢谢
- 现在项目还处于快速迭代中,期待大家的反馈与 pr,期待与大家一起共建更好的 Annotree
致谢
- 感谢 electron-vite 提供的 electron 框架,大大提升我的开发效率。
- 感谢 md 提供给我的 README.md 文档思路。
谁在使用
如果你使用了本 Annotree 工具生成带注释的项目文件树形结构,并且希望在本项目 README 中展示你的项目,请到 Discussions #2 留言。
技术文档必备工具:注释目录树神器 Annotree,我的第一个正式开源项目的更多相关文章
- showdoc 开源在线api&&技术文档管理工具
showdoc 是一个很不错的api 以及技术文档管理工具 环境准备 doker-copose 文件 version: "3" services: doc: image: regi ...
- 技术文档生成工具:appledoc
做项目一般都会要求写技术文档,特别是提供SDK或者基础组件的.如果手写这类技术文档的话,工作量比编写代码也少不了多少.比如 Java 语言本身就自带 javadoc 命令,可以从源码中抽取文档.本篇我 ...
- DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...
- 使用Jupyter Notebook编写技术文档
1.jupyter Notebook的组成 这里它的组件及其工程构成,帮助大家更好的用好jupyter Notebook 组件 Jupyter Notebook结合了三个组件: 笔记本Web应用程序: ...
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...
- (转)Doxygen文档生成工具
http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...
- Kafka 技术文档
Kafka 技术文档 目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 ...
- RabbitMq 技术文档
RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用 ...
- [转]unity3d 脚本参考-技术文档
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...
- 使用Objective-C的文档生成工具:appledoc
使用Objective-C的文档生成工具:appledoc 前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象 Ja ...
随机推荐
- Django中的ORM转换为SQL语句日志
如果想打印ORM转换过程中的SQL,需要在settings中进行如下配置: LOGGING = { 'version': 1, 'disable_existing_loggers': False, ' ...
- go append的坑
b := []int{1,2,3,4,5} slice := b[:2] newSlice := append(slice, 50) fmt.Println(b) fmt.Println(newSli ...
- win11通过注册表禁用鼠标右键
本经验分为5个步骤,详情如下. 工具/原料 华硕K5 win11专业版21H2 注册表22000.556 方法/步骤 同时按下"win"+"R"键,打开运行 ...
- Prism IoC 依赖注入
现有2个项目,SinglePageApp是基于Prism创建的WPF项目,框架使用的是Prism.DryIoc,SinglePageApp.Services是C#类库,包含多种服务,下面通过使用Pri ...
- 像阿里OSS一样的文件对像存储服务,容器实现 docker初探及minio测试
像阿里OSS一样的文件对像存储服务,容器实现 docker run -p 8000:9000 --name oss-minio -d -e "MINIO_ACCESS_KEY=AKIAIOS ...
- Pyomo基础学习笔记:建模组成要素的编写方法
1.Pyomo 简介 pyomo文档[数学建模]优化模型建模语言 Pyomo 入门教程 - 知乎 (zhihu.com) Pyomo 是基于 Python 的开源软件包,主要功能是建立数学规划模型,包 ...
- 【Effective C++】设计与声明——考虑写出一个不抛异常的swap函数
wap是个有趣的函数.原本它只是STL的一部分,而后成为异常安全性编程的脊柱,以及用来实现自我赋值可能性的一个常见机制.所谓swap两对象值,就是将两对象的值交换. 典型实现 缺省情况下的swap动作 ...
- 对于 EI K 逆序对排列计数的另一种自然求和方法的理解
有一个简单的 \(O(n^3)\) DP,考虑 \(f_{x + 1, k} = \sum_{j = 0}^{x} f_{x, k - j}\),利用前缀和优化即可. 考虑这实际上是 \(f_{x + ...
- .net core .net6 webapi 连接mysql 8
1.表结构: CREATE TABLE `table2` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `myname` varchar(255) NOT NULL, ...
- C#.NET Winform使用线程承载WCF (硬编码配置)
winform同步承载WCF时,遇到大量请求,可能会阻塞UI线程.这时就需要开个线程来承载WCF. 1.硬编码形式创建WCF服务,WCFServer类: using CommonUtils; usin ...