User:Cacycle/editor

:

This software is no longer actively maintained. Please switch to its successor wikEd. This page is kept solely for historical reasons.

Change log

  • Maintenance update: fixed the summary field size. Press SHIFT-Reload to update! Cacycle 21:54, 21 October 2006 (UTC)
  • New functions: Find ahead, html-to-wikicode for tables, links, and images, horizontal cursor memory, jump to position of last change. Cacycle 20:46, 19 February 2006 (UTC)
  • A fullscreen editing mode has been added. Cacycle 22:30, 12 February 2006 (UTC)
  • SetupEditor(); is now called automatically, incompatibilities with Wikipedia:Tools/Navigation popups have been fixed. Cacycle 12:01, 8 February 2006 (UTC)
  • The diff code has been moved to User:Cacycle/diff and several options have been changed

The edit tool

User:Cacycle/editor.js is a script that adds extended editing functions to Wikipedia edit pages. Currently it works only for Mozilla Firefox, Mozilla, and Mozilla SeaMonkey browsers. Features include regular expression search and replace, server-independent Show preview and Show changes, one-click fixing of common mistakes, and undo/redo. Simply add one of the code snippet from below to your User:YourUsername/monobook.js page.

Features

Adds the following functions as buttons below the edit textarea:

  • Fullscreen editing area on a click
  • Comfortable find an replace with case insensitive find and regular expression support
  • Server-independent Show preview (uses Live Preview)
  • Server-independent Show changes, uses User:Cacycle/diff for the color-coded visualization of deletions, additions, and block movements
  • 20 level undo / redo for the editor buttons, undo-all button
  • History for summary, find, and replace fields from drop-down menus (history is not lost between browser sessions and is accessible from different windows)
  • Predefined and customizable summary texts
  • Find ahead as you type
  • Bold, italic, and lowercase buttons
  • Decrease and increase heading levels
  • Formatting functions can be restricted to selected text
  • Fixing common mistakes with one button:
  • Basic — spaces and empty lines
  • Dashes
  • Units
  • Math
  • HTML — change html to wikicode including tables
  • Capitalizing headers and lists
  • All buttons have popup descriptions (titles)
  • The cursor position and the selected text is kept visible in the textbox
  • Horizontal cursor memory
  • Jump to position of last change
  • Many custom options

Preview

Source code

Installation

Simply add one of the following code snippets to your User:YourUsername/monobook.js (or whatever skin used) page. After saving, you have to bypass your browser's cache to see the changes,  hold down Shift while clicking Reload (or press Ctrl-Shift-R).

Ultra-simple version (expands to the simple version upon saving the page):

{{subst:EditTool}}

Simple version:

// install User:Cacycle/diff text diff code

document.write('');

// install User:Pilaf/Live_Preview page preview tool

document.write('');

// install User:Cacycle/editor edit tool

document.write('');

Version with all configuration options:

// include comfortable javascript editor by cacycle

// levels of undo (each level holds the whole text)

undoBufferMax = 20;

// style for preview box

stylePreviewBox = 'background-color: #f9f9f9;';

// style for custom edit buttons

styleButtons = 'font-size: smaller; padding-left: 0.1em; padding-right: 0.1em';

// presets for input field dropdown options

findHistoryLength = 10;

// preset for combo box select options

presetOptions = [];

presetOptions['summary'] = [

 'Copyedit',

 'Linkfix',

 'Reverting vandalism',

 'Formatting source text'

];

// expiration time span for history cookies in seconds

cookieExpireSec = (365 * 24 * 60 * 60);

// enable cursor horizontal position memory

cursorMemory = true;

// show at least this number of lines ahead of cursor movement

scrollMargin = 1;

// show at least this number of lines ahead of cursor movement for

findMargin = 2;

// find ahead checkbox selected by default

findAheadSelected = true;

// css for change indicators

styleDelete = 'font-weight: normal; text-decoration: none; color: #ffffff; background-color: #990033;';

styleInsert = 'font-weight: normal; text-decoration: none; color: #ffffff; background-color: #009933;';

styleMoved  = 'font-weight: bold; vertical-align: text-bottom; font-size: xx-small; padding: 0; border: solid 1px;';

styleBlock  = [

       'background-color: #ffff44;',

       'background-color: #b0ff90;',

       'background-color: #ffcc99;',

       'background-color: #99ffff;',

       'background-color: #99ccff;',

       'background-color: #cc99ff;',

       'background-color: #ff99cc;',

       'background-color: #ffd040;',

       'background-color: #d0d0d0;'

];

// html for change indicators, {number} is replaced by the block number, {block} is replaced by the block style

htmlMovedRight  = '';

htmlMovedLeft   = '';

htmlBlockStart  = '';

htmlBlockEnd    = '';

htmlDeleteStart = '';

htmlDeleteEnd   = '';

htmlInsertStart = '';

htmlInsertEnd   = '';

// minimal number of real words for a moved block (0 for always displaying block move indicators)

blockMinLength = 3;

// exclude identical sequence starts and endings from change marking

wordDiff = true;

// enable recursive diff to resolve problematic sequences

recursiveDiff = true;

// enable block move display

showBlockMoves = true;

// install User:Cacycle/diff text diff code

document.write('');

// install User:Pilaf/Live_Preview page preview tool

document.write('');

// install User:Cacycle/editor edit tool

document.write('');

= Installation tips =

  • SetupEditor() is called automatically and has not to be added to a window.onload function
  • The configuration parts are optional and can be omitted
  • If you already use User:Pilaf/livepreview.js then you should not call its installation routine LivePreviewInstall()
  • Do not forget to flush your cache after installation (hold down Shift while clicking Reload or press Ctrl-Shift-R).

Developer version

The developer version can be found under User:Cacycle/editor_dev.js.

License

{{PD-self|date=October 2006}}

editor