MJsonViewer v2.0 插件发布

可能是第一个支持嵌套 json 解析的火狐 json 插件。正如,之前写的那样,因为持续开发,主要是因为喜欢火狐,而且确实有新的需求进来了。 距离上一次的插件发布已经过去了两个多月了,其实总的使用下来还是比较舒服的。不过,有几个小的缺点也还是要说一下。如果一个 json 中的 k-v 的 v 包含了一个嵌套的 json,一般的 json 解释器都是将其作为 string 来解析。 这就带来了一个问题。在软件开发中,我们经常会在 json 中嵌套 json,从而导致在浏览器中的浏览体验极差。加上最近的四个需求: MikeCoder/MJsonViewer [Feature request] Detect if a string value contains JSON and provide an option to format it enh... [阅读全文]

JSON 解析器

这篇博客主要是最近开始玩 C,所以准备找个东西练手,突然发现,顺手写个 JSON 解析器吧。于是就开始了。 相对于其他比较成熟的上层语言。C 主要的问题就是没有基础的数据结构,而且相对于弱类型语言而言,C 的类型在解析的时候有个类型转换的坑。但是相对于其他的强类型语言而言,C 又有一个好处,那就是没有一个 void* 解决不了的问题,如果有,那就用两个。 不过相对于工作时的清闲,现在上课的时候确实没有什么时间进行额外的代码编写。所以断断续续写了一周多。 主要的使用方法就是: struct value *val = parse_new(); char *json1 = "{\"fff\":[2,4,5,6]}"; parse(val, json1); map_display(*(struct map*)val->value)... [阅读全文]

VIM 浏览器预览插件

插件的地址:GITHUB. 写这个插件的原因很简单。因为之前一直再写一个页面,因为在主力的编辑器是 VIM,所以就顺手用了。但是遇到一个很尴尬的地方,就是在想观看编写的效果的时候,常常会需要使用 Finder,然后进入当前的工作目录,然后双击 html 文件。 非常痛苦。于是去查了下 vim 有没有这么一个插件,可以方便的进行浏览器预览的。 当然也是查到了相关的方式,比如这篇博客: " 在浏览器预览 for win32 function! ViewInBrowser(name) let file = expand("%:p") exec ":update " . file let l:browsers = { \"cr":"D:/WebDevelopment/Browser/Chrome/Ch... [阅读全文]

VIM Quickrun 插件

这同样是一个重复造轮子的项目,主要的原因就是受大家喜欢的 https://github.com/thinca/vim-quickrun 并不能很好的满足我的需求。 他的运行方式是新开一个 buffer 然后将运行的结果放在 buffer 里面。这样有一个问题就是交互不是很方便。同时,我对这个插件的需求主要还是在写 ACM 的代码时,可以快速的运行。同时在写单脚本语言时,可以方便的配置。 所以,基于以上的几个原因,我自己便开始写了这么一个小插件。 原理其实很简单,就是对你当前的文件名进行一个匹配。比如 "main.cpp",我会发现这个文件的后缀名是 "cpp",于是,就会自动查找到配置文件中的 "cpp" 选项。 let g:quickrun_known_file_types = { \"cpp": ["!g++ %", "... [阅读全文]

Hexo Gandalfr 主题发布

主题地址: hexo-theme-gandalfr 在线预览: Example 起因:因为之前考虑到英文博客的主题问题,之前一直用 even 主题,但是始终觉得不是特别中意。于是找到了 apollo。 发现这是我比较喜欢的类型。简单,足够简单。但是有两点不足: 文章没有 Tag 提示。 文章中的代码段没有高亮。 在较大屏幕上显示的时候,有点小。(主要内容 600px 是有点小了) 所以这边也就是修改了下,并且打包上传。因为原作者已经停止继续开发了。 安装 # cd to your hexo dir npm install npm install --save hexo-renderer-jade hexo-generator-fe... [阅读全文]

MJsonViewer v0.1 插件发布

只是另一个使用在火狐上的 JsonView 插件。代码地址:GITHUB 为什么要写这个插件 因为现有的插件并不能很好的满足我的需求。比如火狐的自带的 json 解析器,初看挺好的,但是用的时候会发现比较复杂。并不能很直观的表示数据的类型。 JsonView 插件,之前我一直使用的插件,但是有个不好的地方就是对返回值的头部类型数据校验非常严格,通常面对一些没有明确类型的 json 返回不能很好的解析。之前也写过如何进行配置来避免这个情况,但是,还是不方便。 JsonHandler 插件,功能强大,不过需要自己把 json 数据粘贴进去。不是很方便。 所以,我这边自己给自己写了个 Json 视图插件。 主要的功能点 字体使用 Microsoft YaHei Mono,也... [阅读全文]

支持流程图的 vim markdown 预览插件

12.26, 赶在 2016 的尾巴上发布了这个版本 v2.2.1,算的上是一个比较重大的更新吧。主要更新了以下功能: 支持表格。 支持流程图。 完全去掉实时预览模块。 其实,写这个插件的也就是满足我自己的需要,顺便造福其他人。所以这个插件很多都是朋友在用。大部分的改动也是一句他们的需求来的。 话不多说,直接看这次最好玩的部分。流程图的 feature。可能是 vim 上,全球第一款支持流程图的 vim markdown 预览插件。不过,说句实话,并不是特别推荐使用这个功能。因为,大部分的网站都不支持,比如 github 的 readme 。就不支持流程图语法。 所以,如果你只是为了本地预览,然后导出 pdf 保存。非常推荐使用这个功能。 首先,你需要在代码块那里,定义这个... [阅读全文]

VIM 代码折叠插件发布

可能是第一个支持多分支多视图代码折叠的 VIM 插件。下载安装链接 正如上篇文章说的那样,可能是第一个支持同一文件在不同分支下保存不同折叠的视图的代码折叠插件。 和上篇的 0.0.1-beta 不同的是,现在的版本号已经是 0.0.7, 可以发现已经有很多的 bug 得到了解决: 文件名存在空格会报错 在不同的路径下对同一个文件修改,会出现不同的视图保存结果 在非 git 项目编辑文件时,会有报错信息出现(不影响使用) 语法高亮在特定的情况下,会失效 再打开新文件时,会报找不到文件错误 和 Tarbar 插件冲突 ... 不过还是有些不完善的地方,比如,mkview 出来的自定义视图文件,是需要用 source 命令... [阅读全文]