Version 2 (modified by JeremyRuston, 7 years ago)

--

Contributing Code

You can contribute code to TiddlyWiki by submitting changes to the main core code, or by submitting your own plugins.

Guidelines for Core Code Contributors

Code submissions for the TiddlyWiki core code are welcomed from anybody with any improvements to contribute. Like many open source projects, at any given time checkin rights are restricted to a small number of trusted developers. For everyone else, the best way to submit code is via email or a posting in the  discussion group.

Regardless of how your code is submitted, it's much more likely be accepted if you follow these guidelines:

  • Nearly universally useful (if it's very specialised, it probably belongs in a plugin)
  • Impractical to offer as a plugin
  • Use the same coding conventions as the existing core code. Even if your preferred conventions are better...
  • Test the change on all major browsers

Guidelines for Plugin Contributors

If you're an approved committer for the project, you will have a personal directory under the contributors directory in the SourceTree. Your plugins should be placed in a subdirectory called plugins. For example, /Trunk/contributors/EricShulman/plugins.

Plugins are specially treated by the Cook process enabling them to be stored in human readable form (as opposed to ordinary tiddlers which are somewhat obfuscated by the \n escaping and so on). A plugin called MyPlugin is formed out of up to three separate files:

  • MyPlugin.js is the text of the plugin
  • MyPlugin.deps is a RecipeFile? referencing any dependent tiddlers or plugins that should be automatically cooked along with this plugin
  • MyPlugin.meta is a text file containing the metadata about the plugin (see below)

The metadata file looks like this:

modifier: EricShulman
title: MyPlugin
tags: systemConfig

(Each metadata item corresponds to one of the attributes of a TiddlyWiki storeArea DIV).