123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- /**
- * This file is part of DotClear.
- * Copyright (c) 2005 Nicolas Martin & Olivier Meunier and contributors. All rights reserved.
- * This code is released under the GNU General Public License.
- *
- * Modified by JP LANG for markdown formatting
- */
-
- // strong
- jsToolBar.prototype.elements.strong = {
- type: 'button',
- title: 'Strong',
- shortcut: 'b',
- fn: {
- wiki: function() { this.singleTag('**') }
- }
- }
-
- // em
- jsToolBar.prototype.elements.em = {
- type: 'button',
- title: 'Italic',
- shortcut: 'i',
- fn: {
- wiki: function() { this.singleTag("*") }
- }
- }
-
- // ins
- jsToolBar.prototype.elements.ins = {
- type: 'button',
- title: 'Underline',
- shortcut: 'u',
- fn: {
- wiki: function() { this.singleTag('_') }
- }
- }
-
- // del
- jsToolBar.prototype.elements.del = {
- type: 'button',
- title: 'Deleted',
- fn: {
- wiki: function() { this.singleTag('~~') }
- }
- }
-
- // code
- jsToolBar.prototype.elements.code = {
- type: 'button',
- title: 'Code',
- fn: {
- wiki: function() { this.singleTag('`') }
- }
- }
-
- // spacer
- jsToolBar.prototype.elements.space1 = {type: 'space'}
-
- // headings
- jsToolBar.prototype.elements.h1 = {
- type: 'button',
- title: 'Heading 1',
- fn: {
- wiki: function() {
- this.encloseLineSelection('# ', '',function(str) {
- str = str.replace(/^#+\s+/, '')
- return str;
- });
- }
- }
- }
- jsToolBar.prototype.elements.h2 = {
- type: 'button',
- title: 'Heading 2',
- fn: {
- wiki: function() {
- this.encloseLineSelection('## ', '',function(str) {
- str = str.replace(/^#+\s+/, '')
- return str;
- });
- }
- }
- }
- jsToolBar.prototype.elements.h3 = {
- type: 'button',
- title: 'Heading 3',
- fn: {
- wiki: function() {
- this.encloseLineSelection('### ', '',function(str) {
- str = str.replace(/^#+\s+/, '')
- return str;
- });
- }
- }
- }
-
- // spacer
- jsToolBar.prototype.elements.space2 = {type: 'space'}
-
- // ul
- jsToolBar.prototype.elements.ul = {
- type: 'button',
- title: 'Unordered list',
- fn: {
- wiki: function() {
- this.encloseLineSelection('','',function(str) {
- str = str.replace(/\r/g,'');
- return str.replace(/(\n|^)[#-]?\s*/g,"$1* ");
- });
- }
- }
- }
-
- // ol
- jsToolBar.prototype.elements.ol = {
- type: 'button',
- title: 'Ordered list',
- fn: {
- wiki: function() {
- this.encloseLineSelection('','',function(str) {
- str = str.replace(/\r/g,'');
- return str.replace(/(\n|^)[*-]?\s*/g,"$11. ");
- });
- }
- }
- }
-
- // spacer
- jsToolBar.prototype.elements.space3 = {type: 'space'}
-
- // bq
- jsToolBar.prototype.elements.bq = {
- type: 'button',
- title: 'Quote',
- fn: {
- wiki: function() {
- this.encloseLineSelection('','',function(str) {
- str = str.replace(/\r/g,'');
- return str.replace(/(\n|^)( *)([^\n]*)/g,"$1> $2$3");
- });
- }
- }
- }
-
- // unbq
- jsToolBar.prototype.elements.unbq = {
- type: 'button',
- title: 'Unquote',
- fn: {
- wiki: function() {
- this.encloseLineSelection('','',function(str) {
- str = str.replace(/\r/g,'');
- return str.replace(/(\n|^) *(> ?)?( *)([^\n]*)/g,"$1$3$4");
- });
- }
- }
- }
-
- // table
- jsToolBar.prototype.elements.table = {
- type: 'button',
- title: 'Table',
- fn: {
- wiki: function() {
- var This = this;
- this.tableMenu(function(cols, rowCount){
- This.encloseLineSelection(
- '|'+cols.join(' |')+' |\n' + // header
- Array(cols.length+1).join('|--')+'|\n' + // second line
- Array(rowCount+1).join(Array(cols.length+1).join('| ')+'|\n') // cells
- );
- });
- }
- }
- }
-
- // pre
- jsToolBar.prototype.elements.pre = {
- type: 'button',
- title: 'Preformatted text',
- fn: {
- wiki: function() { this.encloseLineSelection('```\n', '\n```') }
- }
- }
-
- // Code highlighting
- jsToolBar.prototype.elements.precode = {
- type: 'button',
- title: 'Highlighted code',
- fn: {
- wiki: function() {
- var This = this;
- this.precodeMenu(function(lang){
- This.encloseLineSelection('``` ' + lang + '\n', '\n```\n');
- });
- }
- }
- }
-
- // spacer
- jsToolBar.prototype.elements.space4 = {type: 'space'}
-
- // wiki page
- jsToolBar.prototype.elements.link = {
- type: 'button',
- title: 'Wiki link',
- fn: {
- wiki: function() { this.encloseSelection("[[", "]]") }
- }
- }
- // image
- jsToolBar.prototype.elements.img = {
- type: 'button',
- title: 'Image',
- fn: {
- wiki: function() { this.encloseSelection("![](", ")") }
- }
- }
-
- // spacer
- jsToolBar.prototype.elements.space5 = {type: 'space'}
- // help
- jsToolBar.prototype.elements.help = {
- type: 'button',
- title: 'Help',
- fn: {
- wiki: function() { window.open(this.help_link, '', 'resizable=yes, location=no, width=300, height=640, menubar=no, status=no, scrollbars=yes') }
- }
- }
|