Here you can find information about some of the open source projects I am working on. The list below are latest blogs about these projects.

KoJSLint

Komodo (IDE/Edit) extension to integrating with JSLint providing lint warnings/errors/function report and automatically fixing some common jslint warnings.

Once installed, the extension can be accessed via Tools -> JS Lint. The jslint run command can be assigned a shortcut key.

I’d like to thank Ben Smawfield for allowing me to fork kjslint to become this komodo extension.

FEATURES

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

AutoFix

To access the AutoFix feature, right click on a row in the “JSLint errors” output tab to auto fix that particular warning. If you are auto-fixing multiple warnings on the same line, try to begin with the last warning for that particular line, and move backward.

Download/Install

This extension can be installed through Tools -> Add-ons, Get Add-ons tab.

SOURCE/BUGS/LICENSE

Source code is available from github.

KoJSLint is licensed under Mozilla Public License 1.1 (MPL), except the jslint.js file which is covered by the license block at the top of that file.

If something is not working properly, please try to post all relevant error messages in the Error Console (see Debug komodo extensions on how to enable that) with your bug report.

Nose-Subunit

This nose plugin changes the default output to subunit format. This can be used along with buildbot to have better reports.

Installation

nose-subunit apparently depends on both nosetests and subunit.

The following command would install nose-subunit and all its dependencies:

    easy_install nose-subunit

nose-subunit can be also be downloaded manually from pypi or github

Usage

Enable this plugin with --with-subunit. This plugin is known to work with following builtin nose plugins:

  • skip plugin
  • multiprocess plugin
  • failuredetail plugin
  • stopOnFailure builtin feature (enabled by -x/--stop)
  • testid plugin

The following plugins are known to conflict with subunit plugin:

  • collectonly plugin: If you are only collecting tests, you probably don’t care about the output

Nose plugins not mentioned here are not tested by the author. Please feel free to report your experience about using nose-subunit with other nose plugins.

Source Repository and UnitTest

http://github.com/liucougar/nose-subunit

under the root of nose-subunit, run:

    nosetests --exe


WP BianHuan is a WordPress plugin for modifying the rendered HTML on the fly. It parses the post in a DOM and walk through it. In the meantime it provides its own plugin system for others to easily write XML/XHTML transforming magics. Now BianHuan includes these built-in features:

  • Unlimited Link Indication: You can setup different CSS class for each kind of Links in your post, so an icon can be displayed besides it to represent what nature the link is, be it external http or email or ftp. You can even configure your owns, such as external links to
    Wikipedia. (Yes, the icons besides links in this page is added by this plugin). It can also add target="_blank" automatically if no target attribute was set for external links. (Replacement of
    Link Indication)
  • Convert words into links: this is implemented in a plugin for BianHuan, and this feature is fully customizable. What’s more, as BianHuan uses DOM tree walking, it is smart enough not to convert a link already in a link or in a PRE tag or in some attributes. (This feature can replace the
    SH-Autolink plugin)
  • This project based on
    WordPress AutoLink plugin by Rudd-o, so it does another magic: "it lets you insert hyperlinks, content and images in your posts and pages with easy-to-type shortcut URLs, which don’t become invalid when you change your WordPress content directory or the permalink structure of your site". In addition, it converts these kind of links automatically if you do not use the simplified format, and save them in database.

Compared to the original WordPress AutoLink plugin, BianHuan runs on PHP >= 4.4.0, and it does not require any special php extensions to work. It is based on ezxml library from eZ System.

Another improvement is that BianHuan makes use of WordPress filters/actions system to handle events and provides other plugins hooks to add more functionalities.

Hope you enjoy it: please grab it
here.

Why should I choose it?

If you like me, searching for a plugin to do all the transformations like link indication/auto link/save the link in a safe way, definitely leads you to frustration: no such extensible while power plugin exists for WordPress 2.0. WordPress AutoLink plugin is close enough, however it only runs on PHP > 5 and does not provide a easy interface for plugins. Thus I decided to start this project.

In short, if you want a plugin to incorporate all these stuffs, then BianHuan is for you

Installation

Installation is simple and standard, just uncompress the zip file under your wp-content/plugins dir, and go to your Admin interface to activate this plugin. By default, after activation, the plugin still does not function, you have to explicitly tell it to do so by going to its options page and check the first box in that page.

There are bunch other options you may want to customize. This plugin is used here, and you can see source files to get some inspiration.

FeedBack

Please leave your feedback or suggestions in the news below (click more and you can leave comment for each release).

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08

Just uploaded kojslint to komodo extension site: a komodo jslint integration with additional feature of auto-fix some of the most common jslint warnings.

Kojslint is a fork of kjslint: thanks Ben Smawfield, the author of kjslint.

Give it a try if you use komodo IDE or Edit. Currently kojslint inherits all features from kjslint, and added some more (check out details on the project kojslint):

  • provide UI to modify all available JSLint options
  • save jslint options as profiles (called modes) which are shared for all files/projects
  • add/delete profiles (modes)
  • auto-fix some common jslint warnings
  • all jslint warnings on the same line are grouped in the “JSLint errors” output tab
  • profiles can be locked (it can’t be changed/deleted until unlocked)
  • bundled with JSLint 2010-12-08