新版本说明
xnote 1.4版本发布了,主要新增的功能和特性如下
- 首页改版,列表改为网格布局,内容更加丰富紧凑,三大主题一目了然
- 支持添加用户维度的自定义工具链接,以配置文件编辑的方式添加,相信程序员们肯定不陌生
- 新增文件系统的插件,现在还比较粗糙,文件上面多了【更多】的选项,点进去会列出以fs前缀命名的脚本,点击执行,脚本的定义以main方法为入口
此外还有一些小的优化和更新
- 新增URL编解码工具
- 新增条形码生成器
- markdown编辑器的优化,表格格式化
- handlers/file目录重命名为handlers/note
- 若干BUG的修复
首页优化
首页效果
工具页效果
编辑自定义工具链接,这里实际上是程序员熟知的配置文件格式,[链接名称]=[链接地址]
文件系统插件
选择顶部工具栏的【更多】或者文件右侧的【更多】,进入插件页面
这里我运行了一个统计文件夹大小的工具。使用还比较方便,就是页面糙了点。插件的实现也比较简单,进入【脚本管理】新增一个fs开头的脚本就可以了,fs-size的内容如下:
# encoding=utf-8
import os
import xutils
def main(path = None, **kw):
dirname = path
if os.path.isfile(dirname):
st = os.stat(dirname)
return 1, st.st_size
total_size = 0
total_count = 0
for root, dirs, files in os.walk(dirname):
for file in files:
path = os.path.join(root, file)
total_count += 1
try:
st = os.stat(path)
total_size += st.st_size
except Exception as e:
print("Error", str(e))
print('文件数量: %s' % total_count)
print('文件总大小: %s' % xutils.format_size(total_size))
用户触发插件的时候系统会调用main方法,传入一个文件路径参数path,这里使用keyword参数声明方便后续扩展。我大学就想做一个工具能够结合GUI操作方便和shell脚本开发敏捷的优点,可惜各种原因没有做起来,现在终于能够一点点开始了。
我希望通过这种形式可以构造一个基于图形界面的shell工具集,后续会陆续加入下面这些功能:
- 确认执行,点击插件后输出说明文字,下面有一个确认执行的按钮,再次点击执行
- 输入参数等功能,点击插件输出说明文字,下面有一个输入组和按钮,输入参数后点击执行,系统将参数传递给插件
有人可能会说jupyter已经有了这样的功能,为什么要重复造轮子?确实,我也经常用jupyter,它是一款非常好的工具,很多地方非常新颖方便,但是对我而言jupyter更多的是为了验证想法而生,属于更底层的工具,而xnote则更偏向于实际应用,解决生活工作中的问题,所以它更多的是与已有的系统功能集成,比如文件系统。所以从这个角度讲,我觉得还是有一定的价值的。
结语
OK,这就是这次版本更新的主要功能了,其他几个小工具也不赘述了,如果有兴趣请下载使用,如果觉得有用请帮忙点个赞^_^
项目主页 https://github.com/xupingmao/xnote
Have fun!