')
+ .bind("contextmenu", function() { // prevent contextmenu on mac and allow ctrl+click
+ return false;
+ }).click(function() {
+ return false;
+ }).mouseup(function() {
+ if (button.call) {
+ eval(button.call)();
+ }
+ markup(button);
+ return false;
+ }).hover(function() {
+ $('> ul', this).show();
+ $(document).one('click', function() { // close dropmenu if click outside
+ $('ul ul', header).hide();
+ }
+ );
+ }, function() {
+ $('> ul', this).hide();
+ }
+ ).appendTo(ul);
+ if (button.dropMenu) {
+ levels.push(i);
+ $(li).addClass('markItUpDropMenu').append(dropMenus(button.dropMenu));
+ }
+ }
+ });
+ levels.pop();
+ return ul;
+ }
+
+ // markItUp! markups
+ function magicMarkups(string) {
+ if (string) {
+ string = string.toString();
+ string = string.replace(/\(\!\(([\s\S]*?)\)\!\)/g,
+ function(x, a) {
+ var b = a.split('|!|');
+ if (altKey === true) {
+ return (b[1] !== undefined) ? b[1] : b[0];
+ } else {
+ return (b[1] === undefined) ? "" : b[0];
+ }
+ }
+ );
+ // [![prompt]!], [![prompt:!:value]!]
+ string = string.replace(/\[\!\[([\s\S]*?)\]\!\]/g,
+ function(x, a) {
+ var b = a.split(':!:');
+ if (abort === true) {
+ return false;
+ }
+ value = prompt(b[0], (b[1]) ? b[1] : '');
+ if (value === null) {
+ abort = true;
+ }
+ return value;
+ }
+ );
+ return string;
+ }
+ return "";
+ }
+
+ // prepare action
+ function prepare(action) {
+ if ($.isFunction(action)) {
+ action = action(hash);
+ }
+ return magicMarkups(action);
+ }
+
+ // build block to insert
+ function build(string) {
+ openWith = prepare(clicked.openWith);
+ placeHolder = prepare(clicked.placeHolder);
+ replaceWith = prepare(clicked.replaceWith);
+ closeWith = prepare(clicked.closeWith);
+ if (replaceWith !== "") {
+ block = openWith + replaceWith + closeWith;
+ } else if (selection === '' && placeHolder !== '') {
+ block = openWith + placeHolder + closeWith;
+ } else {
+ block = openWith + (string||selection) + closeWith;
+ }
+ return { block:block,
+ openWith:openWith,
+ replaceWith:replaceWith,
+ placeHolder:placeHolder,
+ closeWith:closeWith
+ };
+ }
+
+ // define markup to insert
+ function markup(button) {
+ var len, j, n, i;
+ hash = clicked = button;
+ get();
+
+ $.extend(hash, { line:"",
+ root:options.root,
+ textarea:textarea,
+ selection:(selection||''),
+ caretPosition:caretPosition,
+ ctrlKey:ctrlKey,
+ shiftKey:shiftKey,
+ altKey:altKey
+ }
+ );
+ // callbacks before insertion
+ prepare(options.beforeInsert);
+ prepare(clicked.beforeInsert);
+ if (ctrlKey === true && shiftKey === true) {
+ prepare(clicked.beforeMultiInsert);
+ }
+ $.extend(hash, { line:1 });
+
+ if (ctrlKey === true && shiftKey === true) {
+ lines = selection.split(/\r?\n/);
+ for (j = 0, n = lines.length, i = 0; i < n; i++) {
+ if ($.trim(lines[i]) !== '') {
+ $.extend(hash, { line:++j, selection:lines[i] } );
+ lines[i] = build(lines[i]).block;
+ } else {
+ lines[i] = "";
+ }
+ }
+ string = { block:lines.join('\n')};
+ start = caretPosition;
+ len = string.block.length + (($.browser.opera) ? n : 0);
+ } else if (ctrlKey === true) {
+ string = build(selection);
+ start = caretPosition + string.openWith.length;
+ len = string.block.length - string.openWith.length - string.closeWith.length;
+ len -= fixIeBug(string.block);
+ } else if (shiftKey === true) {
+ string = build(selection);
+ start = caretPosition;
+ len = string.block.length;
+ len -= fixIeBug(string.block);
+ } else {
+ string = build(selection);
+ start = caretPosition + string.block.length ;
+ len = 0;
+ start -= fixIeBug(string.block);
+ }
+ if ((selection === '' && string.replaceWith === '')) {
+ caretOffset += fixOperaBug(string.block);
+
+ start = caretPosition + string.openWith.length;
+ len = string.block.length - string.openWith.length - string.closeWith.length;
+
+ caretOffset = $$.val().substring(caretPosition, $$.val().length).length;
+ caretOffset -= fixOperaBug($$.val().substring(0, caretPosition));
+ }
+ $.extend(hash, { caretPosition:caretPosition, scrollPosition:scrollPosition } );
+
+ if (string.block !== selection && abort === false) {
+ insert(string.block);
+ set(start, len);
+ } else {
+ caretOffset = -1;
+ }
+ get();
+
+ $.extend(hash, { line:'', selection:selection });
+
+ // callbacks after insertion
+ if (ctrlKey === true && shiftKey === true) {
+ prepare(clicked.afterMultiInsert);
+ }
+ prepare(clicked.afterInsert);
+ prepare(options.afterInsert);
+
+ // refresh preview if opened
+ if (previewWindow && options.previewAutoRefresh) {
+ refreshPreview();
+ }
+
+ // reinit keyevent
+ shiftKey = altKey = ctrlKey = abort = false;
+ }
+
+ // Substract linefeed in Opera
+ function fixOperaBug(string) {
+ if ($.browser.opera) {
+ return string.length - string.replace(/\n*/g, '').length;
+ }
+ return 0;
+ }
+ // Substract linefeed in IE
+ function fixIeBug(string) {
+ if ($.browser.msie) {
+ return string.length - string.replace(/\r*/g, '').length;
+ }
+ return 0;
+ }
+
+ // add markup
+ function insert(block) {
+ if (document.selection) {
+ var newSelection = document.selection.createRange();
+ newSelection.text = block;
+ } else {
+ $$.val($$.val().substring(0, caretPosition) + block + $$.val().substring(caretPosition + selection.length, $$.val().length));
+ }
+ }
+
+ // set a selection
+ function set(start, len) {
+ if (textarea.createTextRange){
+ // quick fix to make it work on Opera 9.5
+ if ($.browser.opera && $.browser.version >= 9.5 && len == 0) {
+ return false;
+ }
+ range = textarea.createTextRange();
+ range.collapse(true);
+ range.moveStart('character', start);
+ range.moveEnd('character', len);
+ range.select();
+ } else if (textarea.setSelectionRange ){
+ textarea.setSelectionRange(start, start + len);
+ }
+ textarea.scrollTop = scrollPosition;
+ textarea.focus();
+ }
+
+ // get the selection
+ function get() {
+ textarea.focus();
+
+ scrollPosition = textarea.scrollTop;
+ if (document.selection) {
+ selection = document.selection.createRange().text;
+ if ($.browser.msie) { // ie
+ var range = document.selection.createRange(), rangeCopy = range.duplicate();
+ rangeCopy.moveToElementText(textarea);
+ caretPosition = -1;
+ while(rangeCopy.inRange(range)) { // fix most of the ie bugs with linefeeds...
+ rangeCopy.moveStart('character');
+ caretPosition ++;
+ }
+ } else { // opera
+ caretPosition = textarea.selectionStart;
+ }
+ } else { // gecko
+ caretPosition = textarea.selectionStart;
+ selection = $$.val().substring(caretPosition, textarea.selectionEnd);
+ }
+ return selection;
+ }
+
+ // open preview window
+ function preview() {
+ if (!previewWindow || previewWindow.closed) {
+ if (options.previewInWindow) {
+ previewWindow = window.open('', 'preview', options.previewInWindow);
+ } else {
+ iFrame = $('');
+ if (options.previewPosition == 'after') {
+ iFrame.insertAfter(footer);
+ } else {
+ iFrame.insertBefore(header);
+ }
+ previewWindow = iFrame[iFrame.length - 1].contentWindow || frame[iFrame.length - 1];
+ }
+ } else if (altKey === true) {
+ // Thx Stephen M. Redd for the IE8 fix
+ if (iFrame) {
+ iFrame.remove();
+ } else {
+ previewWindow.close();
+ }
+ previewWindow = iFrame = false;
+ }
+ if (!options.previewAutoRefresh) {
+ refreshPreview();
+ }
+ }
+
+ // refresh Preview window
+ function refreshPreview() {
+ renderPreview();
+ }
+
+ function renderPreview() {
+ var phtml;
+ if (options.previewParserPath !== '') {
+ $.ajax( {
+ type: 'POST',
+ url: options.previewParserPath,
+ data: options.previewParserVar+'='+encodeURIComponent($$.val()),
+ success: function(data) {
+ writeInPreview( localize(data, 1) );
+ }
+ } );
+ } else {
+ if (!template) {
+ $.ajax( {
+ url: options.previewTemplatePath,
+ success: function(data) {
+ writeInPreview( localize(data, 1).replace(//g, $$.val()) );
+ }
+ } );
+ }
+ }
+ return false;
+ }
+
+ function writeInPreview(data) {
+ if (previewWindow.document) {
+ try {
+ sp = previewWindow.document.documentElement.scrollTop
+ } catch(e) {
+ sp = 0;
+ }
+ var h = "test";
+ previewWindow.document.open();
+ previewWindow.document.write(data);
+ previewWindow.document.close();
+ previewWindow.document.documentElement.scrollTop = sp;
+ }
+ if (options.previewInWindow) {
+ previewWindow.focus();
+ }
+ }
+
+ // set keys pressed
+ function keyPressed(e) {
+ shiftKey = e.shiftKey;
+ altKey = e.altKey;
+ ctrlKey = (!(e.altKey && e.ctrlKey)) ? e.ctrlKey : false;
+
+ if (e.type === 'keydown') {
+ if (ctrlKey === true) {
+ li = $("a[accesskey="+String.fromCharCode(e.keyCode)+"]", header).parent('li');
+ if (li.length !== 0) {
+ ctrlKey = false;
+ li.triggerHandler('mouseup');
+ return false;
+ }
+ }
+ if (e.keyCode === 13 || e.keyCode === 10) { // Enter key
+ if (ctrlKey === true) { // Enter + Ctrl
+ console.log("onCtrlEnter");
+ ctrlKey = false;
+ markup(options.onCtrlEnter);
+ return options.onCtrlEnter.keepDefault;
+ } else if (shiftKey === true) { // Enter + Shift
+ console.log("onShiftEnter");
+ shiftKey = false;
+ markup(options.onShiftEnter);
+ return options.onShiftEnter.keepDefault;
+ } else { // only Enter
+ markup(options.onEnter);
+ return options.onEnter.keepDefault;
+ }
+ }
+ if (e.keyCode === 9) { // Tab key
+ if (shiftKey == true || ctrlKey == true || altKey == true) { // Thx Dr Floob.
+ return false;
+ }
+ if (caretOffset !== -1) {
+ get();
+ caretOffset = $$.val().length - caretOffset;
+ set(caretOffset, 0);
+ caretOffset = -1;
+ return false;
+ } else {
+ markup(options.onTab);
+ return options.onTab.keepDefault;
+ }
+ }
+ }
+ }
+
+ init();
+ });
+ };
+
+ $.fn.markItUpRemove = function() {
+ return this.each(function() {
+ $$ = $(this).unbind().removeClass('markItUpEditor');
+ $$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
+ }
+ );
+ };
+
+ $.markItUp = function(settings) {
+ var options = { target:false };
+ $.extend(options, settings);
+ if (options.target) {
+ return $(options.target).each(function() {
+ $(this).focus();
+ $(this).trigger('insertion', [options]);
+ });
+ } else {
+ $('textarea').trigger('insertion', [options]);
+ }
+ };
+})(jQuery);
diff --git a/clydeweb/media/markitup/jquery.markitup.pack.js b/clydeweb/media/markitup/jquery.markitup.pack.js
new file mode 100644
index 00000000..eecd803b
--- /dev/null
+++ b/clydeweb/media/markitup/jquery.markitup.pack.js
@@ -0,0 +1,9 @@
+// ----------------------------------------------------------------------------
+// markItUp! Universal MarkUp Engine, JQuery plugin
+// v 1.1.6
+// Dual licensed under the MIT and GPL licenses.
+// ----------------------------------------------------------------------------
+// Copyright (C) 2007-2009 Jay Salvat
+// http://markitup.jaysalvat.com/
+// ----------------------------------------------------------------------------
+eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(3($){$.23.T=3(f,g){B k,v,A,F;v=A=F=l;k={D:\'\',12:\'\',U:\'\',1j:\'\',1B:7,24:\'25\',1k:\'~/2R/1C.1D\',1b:\'\',26:\'27\',1l:7,1E:\'\',1F:\'\',1G:{},1m:{},1n:{},1H:{},28:[{}]};$.V(k,f,g);2(!k.U){$(\'2S\').1c(3(a,b){1I=$(b).14(0).2T.2U(/(.*)2V\\.2W(\\.2X)?\\.2Y$/);2(1I!==29){k.U=1I[1]}})}4 G.1c(3(){B d,u,15,16,p,H,L,P,17,1o,w,2a,M,18;d=$(G);u=G;15=[];18=l;16=p=0;H=-1;k.1b=1d(k.1b);k.1k=1d(k.1k);3 1d(a,b){2(b){4 a.W(/("|\')~\\//g,"$1"+k.U)}4 a.W(/^~\\//,k.U)}3 2b(){D=\'\';12=\'\';2(k.D){D=\'D="\'+k.D+\'"\'}8 2(d.1J("D")){D=\'D="T\'+(d.1J("D").2c(0,1).2Z())+(d.1J("D").2c(1))+\'"\'}2(k.12){12=\'N="\'+k.12+\'"\'}d.1K(\'\');d.1K(\'\');d.1K(\'\');d.2d("2e");17=$(\'\').2f(d);$(1L(k.28)).1M(17);1o=$(\'\').1N(d);2(k.1l===7&&$.X.33!==7){1l=$(\'\').1N(d).1e("35",3(e){B h=d.2g(),y=e.2h,1p,1q;1p=3(e){d.2i("2g",36.37(20,e.2h+h-y)+"38");4 l};1q=3(e){$("1D").1O("2j",1p).1O("1r",1q);4 l};$("1D").1e("2j",1p).1e("1r",1q)});1o.2k(1l)}d.2l(1P).39(1P);d.1e("1Q",3(e,a){2(a.1s!==l){14()}2(u===$.T.2m){Y(a)}});d.1f(3(){$.T.2m=G})}3 1L(b){B c=$(\'\'),i=0;$(\'C:2n > Z\',c).2i(\'3a\',\'q\');$.1c(b,3(){B a=G,t=\'\',1t,C,j;1t=(a.19)?(a.1R||\'\')+\' [3b+\'+a.19+\']\':(a.1R||\'\');19=(a.19)?\'2o="\'+a.19+\'"\':\'\';2(a.2p){C=$(\'\'+(a.2p||\'\')+\'\').1M(c)}8{i++;2q(j=15.6-1;j>=0;j--){t+=15[j]+"-"}C=$(\'\'+(a.1R||\'\')+\'\').1e("3f",3(){4 l}).2s(3(){4 l}).1r(3(){2(a.2t){3g(a.2t)()}Y(a);4 l}).2n(3(){$(\'> Z\',G).3h();$(E).3i(\'2s\',3(){$(\'Z Z\',17).2u()})},3(){$(\'> Z\',G).2u()}).1M(c);2(a.2v){15.3j(i);$(C).2d(\'3k\').2k(1L(a.2v))}}});15.3l();4 c}3 2w(c){2(c){c=c.3m();c=c.W(/\\(\\!\\(([\\s\\S]*?)\\)\\!\\)/g,3(x,a){B b=a.1S(\'|!|\');2(F===7){4(b[1]!==2x)?b[1]:b[0]}8{4(b[1]===2x)?"":b[0]}});c=c.W(/\\[\\!\\[([\\s\\S]*?)\\]\\!\\]/g,3(x,a){B b=a.1S(\':!:\');2(18===7){4 l}1T=3n(b[0],(b[1])?b[1]:\'\');2(1T===29){18=7}4 1T});4 c}4""}3 I(a){2($.3o(a)){a=a(P)}4 2w(a)}3 1g(a){J=I(L.J);1a=I(L.1a);Q=I(L.Q);O=I(L.O);2(Q!==""){q=J+Q+O}8 2(m===\'\'&&1a!==\'\'){q=J+1a+O}8{q=J+(a||m)+O}4{q:q,J:J,Q:Q,1a:1a,O:O}}3 Y(a){B b,j,n,i;P=L=a;14();$.V(P,{1u:"",U:k.U,u:u,m:(m||\'\'),p:p,v:v,A:A,F:F});I(k.1E);I(L.1E);2(v===7&&A===7){I(L.3p)}$.V(P,{1u:1});2(v===7&&A===7){R=m.1S(/\\r?\\n/);2q(j=0,n=R.6,i=0;i=9.5&&b==0){4 l}1i=u.2B();1i.3u(7);1i.2C(\'1Z\',a);1i.3v(\'1Z\',b);1i.3w()}8 2(u.2D){u.2D(a,a+b)}u.1w=16;u.1f()}3 14(){u.1f();16=u.1w;2(E.m){m=E.m.1Y().2A;2($.X.2z){B a=E.m.1Y(),1x=a.3x();1x.3y(u);p=-1;3z(1x.3A(a)){1x.2C(\'1Z\');p++}}8{p=u.2E}}8{p=u.2E;m=d.K().1h(p,u.3B)}4 m}3 1C(){2(!w||w.3C){2(k.1j){w=3D.2F(\'\',\'1C\',k.1j)}8{M=$(\'<2G N="3E">2G>\');2(k.24==\'25\'){M.1N(1o)}8{M.2f(17)}w=M[M.6-1].3F||3G[M.6-1]}}8 2(F===7){2(M){M.3H()}8{w.2H()}w=M=l}2(!k.1B){1X()}}3 1X(){2I()}3 2I(){B b;2(k.1b!==\'\'){$.2J({2K:\'3I\',2L:k.1b,27:k.26+\'=\'+3J(d.K()),2M:3(a){21(1d(a,1))}})}8{2(!2a){$.2J({2L:k.1k,2M:3(a){21(1d(a,1).W(//g,d.K()))}})}}4 l}3 21(a){2(w.E){3L{22=w.E.2N.1w}3M(e){22=0}B h="3N";w.E.2F();w.E.3O(a);w.E.2H();w.E.2N.1w=22}2(k.1j){w.1f()}}3 1P(e){A=e.A;F=e.F;v=(!(e.F&&e.v))?e.v:l;2(e.2K===\'2l\'){2(v===7){C=$("a[2o="+3P.3Q(e.1y)+"]",17).1z(\'C\');2(C.6!==0){v=l;C.3R(\'1r\');4 l}}2(e.1y===13||e.1y===10){2(v===7){2O.2P("1n");v=l;Y(k.1n);4 k.1n.1A}8 2(A===7){2O.2P("1m");A=l;Y(k.1m);4 k.1m.1A}8{Y(k.1G);4 k.1G.1A}}2(e.1y===9){2(A==7||v==7||F==7){4 l}2(H!==-1){14();H=d.K().6-H;1W(H,0);H=-1;4 l}8{Y(k.1H);4 k.1H.1A}}}}2b()})};$.23.3S=3(){4 G.1c(3(){$$=$(G).1O().3T(\'2e\');$$.1z(\'z\').1z(\'z.T\').1z(\'z\').Q($$)})};$.T=3(a){B b={1s:l};$.V(b,a);2(b.1s){4 $(b.1s).1c(3(){$(G).1f();$(G).2Q(\'1Q\',[b])})}8{$(\'u\').2Q(\'1Q\',[b])}}})(3U);',62,243,'||if|function|return||length|true|else|||||||||||||false|selection||string|caretPosition|block||||textarea|ctrlKey|previewWindow|||div|shiftKey|var|li|id|document|altKey|this|caretOffset|prepare|openWith|val|clicked|iFrame|class|closeWith|hash|replaceWith|lines||markItUp|root|extend|replace|browser|markup|ul||start|nameSpace||get|levels|scrollPosition|header|abort|key|placeHolder|previewParserPath|each|localize|bind|focus|build|substring|range|previewInWindow|previewTemplatePath|resizeHandle|onShiftEnter|onCtrlEnter|footer|mouseMove|mouseUp|mouseup|target|title|line|fixIeBug|scrollTop|rangeCopy|keyCode|parent|keepDefault|previewAutoRefresh|preview|html|beforeInsert|afterInsert|onEnter|onTab|miuScript|attr|wrap|dropMenus|appendTo|insertAfter|unbind|keyPressed|insertion|name|split|value|opera|fixOperaBug|set|refreshPreview|createRange|character||writeInPreview|sp|fn|previewPosition|after|previewParserVar|data|markupSet|null|template|init|substr|addClass|markItUpEditor|insertBefore|height|clientY|css|mousemove|append|keydown|focused|hover|accesskey|separator|for|markItUpButton|click|call|hide|dropMenu|magicMarkups|undefined|insert|msie|text|createTextRange|moveStart|setSelectionRange|selectionStart|open|iframe|close|renderPreview|ajax|type|url|success|documentElement|console|log|trigger|templates|script|src|match|jquery|markitup|pack|js|toUpperCase|markItUpContainer|markItUpHeader|markItUpFooter|safari|markItUpResizeHandle|mousedown|Math|max|px|keyup|display|Ctrl|markItUpSeparator|className|href|contextmenu|eval|show|one|push|markItUpDropMenu|pop|toString|prompt|isFunction|beforeMultiInsert|trim|join|afterMultiInsert|version|collapse|moveEnd|select|duplicate|moveToElementText|while|inRange|selectionEnd|closed|window|markItUpPreviewFrame|contentWindow|frame|remove|POST|encodeURIComponent|content|try|catch|test|write|String|fromCharCode|triggerHandler|markItUpRemove|removeClass|jQuery'.split('|'),0,{}))
\ No newline at end of file
diff --git a/clydeweb/media/markitup/readme.txt b/clydeweb/media/markitup/readme.txt
new file mode 100644
index 00000000..0ad6eff3
--- /dev/null
+++ b/clydeweb/media/markitup/readme.txt
@@ -0,0 +1,67 @@
+markItUp! 1.1.6
+
+CHANGE LOG
+markItUp! 1.1.6 2010-01-12
+- Improved: Ajax requests are now asynchronous
+- Fixed: Double empty line problem with preview and parsers
+- Fixed: IE8 now close the preview properly
+
+markItUp! 1.1.5 2009-05-01
+- Modified: http://drupal.org/project/wysiwyg compatibility
+- Modified: Alt/Ctrl/Alt+Tab are now disabled
+
+markItUp! 1.1.4 2008-12-03
+- Fixed: Extra quote deleted line 95
+
+markItUp! 1.1.3 2008-09-12
+- Fixed: IE7 preview problem
+
+markItUp! 1.1.2 2008-07-17
+- Fixed: Quick fix for Opera 9.5 caret position problem after insertion
+
+markItUp! 1.1.1 2008-06-02
+- Fixed: Key events status are passed to callbacks properly
+- Improved: ScrollPosition is kept in the preview when its refreshed
+
+markItUp! 1.1.0 2008-05-04
+- Modified: Textarea's id is no more moved to the main container
+- Modified: NameSpace Span become a Div to remain strict
+- Added: Relative path to the script is computed
+- Added: Relative path to the script passed to callbacks
+- Added: Global instance ID property
+- Added: $(element).markItUpRemove() to remove markItUp!
+- Added: Resize handle is now optional with resizeHandle property
+- Added: Property previewInWindow is added and accept window parameter
+- Added: Property previewPosition is added
+- Modified: Resize handle is no more displayed in Safari to avoid repetition with the native handle
+- Modified: Property previewIframeRefresh become previewAutorefresh
+- Modified: Built-in Html Preview call a template file
+- Improved: Autorefreshing is now apply for preview in window too
+- Improved: Cancel button in prompt window cancel now the whole insertion process
+- Improved: Cleaner markItUp! code added to the DOM
+- Removed: Depreciated preview properties as previewBaseUrl, previewCharset, previewCssPath, previewBodyId, previewBodyClassName
+- Removed: Property previewIframe not longer exists
+- Fixed: "Magic markups" works with line feeds
+- Fixed: Key events are initialized after insertion
+- Fixed: Internet Explorer line feed offset bug
+- Fixed: Shortcut keys on Mac OS
+- Fixed: Ctrl+click works and doesn't open Mac context menu anymore
+- Fixed: Ctrl+click works and doesn't open the page in a new tab anymore
+- Fixed: Minor Css modifications
+
+markItUp! 1.0.3 2008-04-04
+- Fixed: IE7 Preview empty baseurl problem
+- Fixed: IE7 external targeted insertion
+- Added: Property scrollPosition is passed to callbacks functions
+
+markItUp! 1.0.2 2008-03-31
+- Fixed: IE7 Html preview problems
+- Fixed: Selection is kept if nothing is inserted
+- Improved: Code minified
+
+markItUp! 1.0.1 2008-03-21
+- Removed: Global PlaceHolder
+- Modified: Property previewCharset is setted to "utf-8" by default
+
+markItUp! 1.0.0 2008-03-01
+- First public release
diff --git a/clydeweb/media/markitup/sets/default/images/bold.png b/clydeweb/media/markitup/sets/default/images/bold.png
new file mode 100644
index 00000000..889ae80e
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/bold.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/clean.png b/clydeweb/media/markitup/sets/default/images/clean.png
new file mode 100644
index 00000000..7e7cefb8
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/clean.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/image.png b/clydeweb/media/markitup/sets/default/images/image.png
new file mode 100644
index 00000000..fc3c393c
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/image.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/italic.png b/clydeweb/media/markitup/sets/default/images/italic.png
new file mode 100644
index 00000000..8482ac8c
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/italic.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/link.png b/clydeweb/media/markitup/sets/default/images/link.png
new file mode 100644
index 00000000..25eacb7c
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/link.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/picture.png b/clydeweb/media/markitup/sets/default/images/picture.png
new file mode 100644
index 00000000..4a158fef
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/picture.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/preview.png b/clydeweb/media/markitup/sets/default/images/preview.png
new file mode 100644
index 00000000..a9925a06
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/preview.png differ
diff --git a/clydeweb/media/markitup/sets/default/images/stroke.png b/clydeweb/media/markitup/sets/default/images/stroke.png
new file mode 100644
index 00000000..612058a7
Binary files /dev/null and b/clydeweb/media/markitup/sets/default/images/stroke.png differ
diff --git a/clydeweb/media/markitup/sets/default/set.js b/clydeweb/media/markitup/sets/default/set.js
new file mode 100644
index 00000000..2498b250
--- /dev/null
+++ b/clydeweb/media/markitup/sets/default/set.js
@@ -0,0 +1,27 @@
+// ----------------------------------------------------------------------------
+// markItUp!
+// ----------------------------------------------------------------------------
+// Copyright (C) 2008 Jay Salvat
+// http://markitup.jaysalvat.com/
+// ----------------------------------------------------------------------------
+// Html tags
+// http://en.wikipedia.org/wiki/html
+// ----------------------------------------------------------------------------
+// Basic set. Feel free to add more tags
+// ----------------------------------------------------------------------------
+mySettings = {
+ onShiftEnter: {keepDefault:false, replaceWith:' \n'},
+ onCtrlEnter: {keepDefault:false, openWith:'\n
', closeWith:'
'},
+ onTab: {keepDefault:false, replaceWith:' '},
+ markupSet: [
+ {name:'Bold', key:'B', openWith:'(!(|!|)!)', closeWith:'(!(|!|)!)' },
+ {name:'Italic', key:'I', openWith:'(!(|!|)!)', closeWith:'(!(|!|)!)' },
+ {name:'Stroke through', key:'S', openWith:'', closeWith:'' },
+ {separator:'---------------' },
+ {name:'Picture', key:'P', replaceWith:'' },
+ {name:'Link', key:'L', openWith:'', closeWith:'', placeHolder:'Your text to link...' },
+ {separator:'---------------' },
+ {name:'Clean', className:'clean', replaceWith:function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } },
+ {name:'Preview', className:'preview', call:'preview'}
+ ]
+}
\ No newline at end of file
diff --git a/clydeweb/media/markitup/sets/default/style.css b/clydeweb/media/markitup/sets/default/style.css
new file mode 100644
index 00000000..26cb927b
--- /dev/null
+++ b/clydeweb/media/markitup/sets/default/style.css
@@ -0,0 +1,27 @@
+/* -------------------------------------------------------------------
+// markItUp!
+// By Jay Salvat - http://markitup.jaysalvat.com/
+// ------------------------------------------------------------------*/
+.markItUp .markItUpButton1 a {
+ background-image:url(images/bold.png);
+}
+.markItUp .markItUpButton2 a {
+ background-image:url(images/italic.png);
+}
+.markItUp .markItUpButton3 a {
+ background-image:url(images/stroke.png);
+}
+
+.markItUp .markItUpButton4 a {
+ background-image:url(images/picture.png);
+}
+.markItUp .markItUpButton5 a {
+ background-image:url(images/link.png);
+}
+
+.markItUp .markItUpButton6 a {
+ background-image:url(images/clean.png);
+}
+.markItUp .preview a {
+ background-image:url(images/preview.png);
+}
\ No newline at end of file
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-container-white.png b/clydeweb/media/markitup/skins/macosx/images/bg-container-white.png
new file mode 100644
index 00000000..30120db9
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-container-white.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-container.png b/clydeweb/media/markitup/skins/macosx/images/bg-container.png
new file mode 100644
index 00000000..ee9a81ce
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-container.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-footer-white.png b/clydeweb/media/markitup/skins/macosx/images/bg-footer-white.png
new file mode 100644
index 00000000..50d1bc6d
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-footer-white.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-footer.png b/clydeweb/media/markitup/skins/macosx/images/bg-footer.png
new file mode 100644
index 00000000..79552f9b
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-footer.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-header-white.png b/clydeweb/media/markitup/skins/macosx/images/bg-header-white.png
new file mode 100644
index 00000000..2265b462
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-header-white.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/bg-header.png b/clydeweb/media/markitup/skins/macosx/images/bg-header.png
new file mode 100644
index 00000000..7035cd69
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/bg-header.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/handle.png b/clydeweb/media/markitup/skins/macosx/images/handle.png
new file mode 100644
index 00000000..00e44e5c
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/handle.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/menu.png b/clydeweb/media/markitup/skins/macosx/images/menu.png
new file mode 100644
index 00000000..c817adc9
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/menu.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/spacer.gif b/clydeweb/media/markitup/skins/macosx/images/spacer.gif
new file mode 100644
index 00000000..fc256098
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/spacer.gif differ
diff --git a/clydeweb/media/markitup/skins/macosx/images/submenu.png b/clydeweb/media/markitup/skins/macosx/images/submenu.png
new file mode 100644
index 00000000..03d1977a
Binary files /dev/null and b/clydeweb/media/markitup/skins/macosx/images/submenu.png differ
diff --git a/clydeweb/media/markitup/skins/macosx/readme.txt b/clydeweb/media/markitup/skins/macosx/readme.txt
new file mode 100644
index 00000000..e6d52dd3
--- /dev/null
+++ b/clydeweb/media/markitup/skins/macosx/readme.txt
@@ -0,0 +1,7 @@
+Skin:
+MacOSX inspired look & feel
+
+Install:
+- Download the zip file
+- Unzip it in your markItUp! skins folder
+- Modify your CSS link to point at this skin
\ No newline at end of file
diff --git a/clydeweb/media/markitup/skins/macosx/style.css b/clydeweb/media/markitup/skins/macosx/style.css
new file mode 100644
index 00000000..d74adceb
--- /dev/null
+++ b/clydeweb/media/markitup/skins/macosx/style.css
@@ -0,0 +1,139 @@
+/* -------------------------------------------------------------------
+// markItUp! Universal MarkUp Engine, JQuery plugin
+// By Jay Salvat - http://markitup.jaysalvat.com/
+// ------------------------------------------------------------------*/
+body {
+/* background-color:#3875D7;*/
+}
+.markItUp {
+ background-color:#3875D7;
+ border:1px solid #3C769D;
+ padding:13px;
+}
+.markItUp * {
+ margin:0px; padding:0px;
+ outline:none;
+}
+.markItUp a:link,
+.markItUp a:visited {
+ color:#000;
+ text-decoration:none;
+}
+.markItUp {
+ width:670px;
+ margin:5px 0 5px 0;
+}
+.markItUpContainer {
+ width:670px;
+ font:11px Verdana, Arial, Helvetica, sans-serif;
+ background-image:url(images/bg-container.png);
+}
+.markItUpEditor {
+ font:12px 'Courier New', Courier, monospace;
+ padding:5px;
+ margin:0px 11px 0px 11px;
+ width:640px;
+ height:320px;
+ clear:both; display:block;
+ line-height:18px;
+ overflow:auto;
+ border:0px solid white;
+}
+.markItUpPreviewFrame {
+ overflow:auto;
+ background-color:#FFFFFF;
+ width:99.9%;
+ height:350px;
+ margin:5px 0;
+}
+.markItUpHeader {
+ width:650px;
+ padding:15px 0px 0px 20px;
+ height:25px;
+ background-image:url(images/bg-header.png);
+}
+.markItUpFooter {
+ width:670px;
+ height:25px;
+ background-image:url(images/bg-footer.png);
+ padding-bottom:10px;
+}
+.markItUpResizeHandle {
+ margin:0px 12px 5px auto;
+ overflow:hidden;
+ width:12px; height:12px;
+ position:relative;
+ background-image:url(images/handle.png);
+ cursor:n-resize;
+}
+/***************************************************************************************/
+/* first row of buttons */
+.markItUpHeader ul li {
+ list-style:none;
+ float:left;
+ position:relative;
+}
+.markItUpHeader ul li:hover > ul{
+ display:block;
+}
+.markItUpHeader ul .markItUpDropMenu {
+ background:transparent url(images/menu.png) no-repeat 115% 50%;
+ margin-right:5px;
+}
+.markItUpHeader ul .markItUpDropMenu li {
+ margin-right:0px;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul {
+ display:none;
+ position:absolute;
+ top:18px; left:0px;
+ background:#FFF;
+ border:1px solid #000;
+}
+.markItUpHeader ul ul li {
+ float:none;
+ border-bottom:1px solid #000;
+}
+.markItUpHeader ul ul .markItUpDropMenu {
+ background:#FFF url(images/submenu.png) no-repeat 100% 50%;
+}
+.markItUpHeader ul .markItUpSeparator {
+ margin:0 10px;
+ width:1px;
+ height:16px;
+ overflow:hidden;
+ background-color:#CCC;
+}
+.markItUpHeader ul ul .markItUpSeparator {
+ width:auto; height:1px;
+ margin:0px;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul ul {
+ position:absolute;
+ top:-1px; left:150px;
+}
+.markItUpHeader ul ul ul li {
+ float:none;
+}
+.markItUpHeader ul a {
+ display:block;
+ width:16px; height:16px;
+ text-indent:-10000px;
+ background-repeat:no-repeat;
+ padding:3px;
+ margin:0px;
+}
+.markItUpHeader ul ul a {
+ display:block;
+ padding-left:0px;
+ text-indent:0;
+ width:120px;
+ padding:5px 5px 5px 25px;
+ background-position:2px 50%;
+}
+.markItUpHeader ul ul a:hover {
+ color:#FFF;
+ background-color:#3875D7;
+}
\ No newline at end of file
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-container.png b/clydeweb/media/markitup/skins/markitup/images/bg-container.png
new file mode 100644
index 00000000..a28e0188
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-container.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-bbcode.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-bbcode.png
new file mode 100644
index 00000000..39cdbd83
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-bbcode.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-dotclear.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-dotclear.png
new file mode 100644
index 00000000..b3188dcd
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-dotclear.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-html.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-html.png
new file mode 100644
index 00000000..11bff456
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-html.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-json.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-json.png
new file mode 100644
index 00000000..e898c1d7
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-json.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-markdown.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-markdown.png
new file mode 100644
index 00000000..c1997152
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-markdown.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-textile.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-textile.png
new file mode 100644
index 00000000..3ab1e9f6
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-textile.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-wiki.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-wiki.png
new file mode 100644
index 00000000..7887181c
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-wiki.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor-xml.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor-xml.png
new file mode 100644
index 00000000..33b1c5d8
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor-xml.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/bg-editor.png b/clydeweb/media/markitup/skins/markitup/images/bg-editor.png
new file mode 100644
index 00000000..ab7cde48
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/bg-editor.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/handle.png b/clydeweb/media/markitup/skins/markitup/images/handle.png
new file mode 100644
index 00000000..3993b203
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/handle.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/menu.png b/clydeweb/media/markitup/skins/markitup/images/menu.png
new file mode 100644
index 00000000..44a07afd
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/menu.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/images/submenu.png b/clydeweb/media/markitup/skins/markitup/images/submenu.png
new file mode 100644
index 00000000..03d1977a
Binary files /dev/null and b/clydeweb/media/markitup/skins/markitup/images/submenu.png differ
diff --git a/clydeweb/media/markitup/skins/markitup/style.css b/clydeweb/media/markitup/skins/markitup/style.css
new file mode 100644
index 00000000..6f3a3c79
--- /dev/null
+++ b/clydeweb/media/markitup/skins/markitup/style.css
@@ -0,0 +1,148 @@
+/* -------------------------------------------------------------------
+// markItUp! Universal MarkUp Engine, JQuery plugin
+// By Jay Salvat - http://markitup.jaysalvat.com/
+// ------------------------------------------------------------------*/
+.markItUp * {
+ margin:0px; padding:0px;
+ outline:none;
+}
+.markItUp a:link,
+.markItUp a:visited {
+ color:#000;
+ text-decoration:none;
+}
+.markItUp {
+ width:700px;
+ margin:5px 0 5px 0;
+ border:5px solid #F5F5F5;
+}
+.markItUpContainer {
+ border:1px solid #3C769D;
+ background:#FFF url(images/bg-container.png) repeat-x top left;
+ padding:5px 5px 2px 5px;
+ font:11px Verdana, Arial, Helvetica, sans-serif;
+}
+.markItUpEditor {
+ font:12px 'Courier New', Courier, monospace;
+ padding:5px 5px 5px 35px;
+ border:3px solid #3C769D;
+ width:643px;
+ height:320px;
+ background-image:url(images/bg-editor.png);
+ background-repeat:no-repeat;
+ clear:both; display:block;
+ line-height:18px;
+ overflow:auto;
+}
+.markItUpPreviewFrame {
+ overflow:auto;
+ background-color:#FFFFFF;
+ border:1px solid #3C769D;
+ width:99.9%;
+ height:300px;
+ margin:5px 0;
+}
+.markItUpFooter {
+ width:100%;
+ cursor:n-resize;
+}
+.markItUpResizeHandle {
+ overflow:hidden;
+ width:22px; height:5px;
+ margin-left:auto;
+ margin-right:auto;
+ background-image:url(images/handle.png);
+ cursor:n-resize;
+}
+/***************************************************************************************/
+/* first row of buttons */
+.markItUpHeader ul li {
+ list-style:none;
+ float:left;
+ position:relative;
+}
+.markItUpHeader ul li ul{
+ display:none;
+}
+.markItUpHeader ul li:hover > ul{
+ display:block;
+}
+.markItUpHeader ul .markItUpDropMenu {
+ background:transparent url(images/menu.png) no-repeat 115% 50%;
+ margin-right:5px;
+}
+.markItUpHeader ul .markItUpDropMenu li {
+ margin-right:0px;
+}
+.markItUpHeader ul .markItUpSeparator {
+ margin:0 10px;
+ width:1px;
+ height:16px;
+ overflow:hidden;
+ background-color:#CCC;
+}
+.markItUpHeader ul ul .markItUpSeparator {
+ width:auto; height:1px;
+ margin:0px;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul {
+ display:none;
+ position:absolute;
+ top:18px; left:0px;
+ background:#F5F5F5;
+ border:1px solid #3C769D;
+ height:inherit;
+}
+.markItUpHeader ul ul li {
+ float:none;
+ border-bottom:1px solid #3C769D;
+}
+.markItUpHeader ul ul .markItUpDropMenu {
+ background:#F5F5F5 url(images/submenu.png) no-repeat 100% 50%;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul ul {
+ position:absolute;
+ top:-1px; left:150px;
+}
+.markItUpHeader ul ul ul li {
+ float:none;
+}
+.markItUpHeader ul a {
+ display:block;
+ width:16px; height:16px;
+ text-indent:-10000px;
+ background-repeat:no-repeat;
+ padding:3px;
+ margin:0px;
+}
+.markItUpHeader ul ul a {
+ display:block;
+ padding-left:0px;
+ text-indent:0;
+ width:120px;
+ padding:5px 5px 5px 25px;
+ background-position:2px 50%;
+}
+.markItUpHeader ul ul a:hover {
+ color:#FFF;
+ background-color:#3C769D;
+}
+/***************************************************************************************/
+.html .markItUpEditor {
+ background-image:url(images/bg-editor-html.png);
+}
+.markdown .markItUpEditor {
+ background-image:url(images/bg-editor-markdown.png);
+}
+.textile .markItUpEditor {
+ background-image:url(images/bg-editor-textile.png);
+}
+.bbcode .markItUpEditor {
+ background-image:url(images/bg-editor-bbcode.png);
+}
+.wiki .markItUpEditor,
+.dotclear .markItUpEditor {
+ background-image:url(images/bg-editor-wiki.png);
+}
\ No newline at end of file
diff --git a/clydeweb/media/markitup/skins/simple/images/handle.png b/clydeweb/media/markitup/skins/simple/images/handle.png
new file mode 100644
index 00000000..3993b203
Binary files /dev/null and b/clydeweb/media/markitup/skins/simple/images/handle.png differ
diff --git a/clydeweb/media/markitup/skins/simple/images/menu.png b/clydeweb/media/markitup/skins/simple/images/menu.png
new file mode 100644
index 00000000..44a07afd
Binary files /dev/null and b/clydeweb/media/markitup/skins/simple/images/menu.png differ
diff --git a/clydeweb/media/markitup/skins/simple/images/submenu.png b/clydeweb/media/markitup/skins/simple/images/submenu.png
new file mode 100644
index 00000000..03d1977a
Binary files /dev/null and b/clydeweb/media/markitup/skins/simple/images/submenu.png differ
diff --git a/clydeweb/media/markitup/skins/simple/style.css b/clydeweb/media/markitup/skins/simple/style.css
new file mode 100644
index 00000000..1838ded6
--- /dev/null
+++ b/clydeweb/media/markitup/skins/simple/style.css
@@ -0,0 +1,118 @@
+/* -------------------------------------------------------------------
+// markItUp! Universal MarkUp Engine, JQuery plugin
+// By Jay Salvat - http://markitup.jaysalvat.com/
+// ------------------------------------------------------------------*/
+.markItUp * {
+ margin:0px; padding:0px;
+ outline:none;
+}
+.markItUp a:link,
+.markItUp a:visited {
+ color:#000;
+ text-decoration:none;
+}
+.markItUp {
+ width:700px;
+ margin:5px 0 5px 0;
+}
+.markItUpContainer {
+ font:11px Verdana, Arial, Helvetica, sans-serif;
+}
+.markItUpEditor {
+ font:12px 'Courier New', Courier, monospace;
+ padding:5px;
+ width:690px;
+ height:320px;
+ clear:both; display:block;
+ line-height:18px;
+ overflow:auto;
+}
+.markItUpPreviewFrame {
+ overflow:auto;
+ background-color:#FFF;
+ width:99.9%;
+ height:300px;
+ margin:5px 0;
+}
+.markItUpFooter {
+ width:100%;
+}
+.markItUpResizeHandle {
+ overflow:hidden;
+ width:22px; height:5px;
+ margin-left:auto;
+ margin-right:auto;
+ background-image:url(images/handle.png);
+ cursor:n-resize;
+}
+/***************************************************************************************/
+/* first row of buttons */
+.markItUpHeader ul li {
+ list-style:none;
+ float:left;
+ position:relative;
+}
+.markItUpHeader ul li:hover > ul{
+ display:block;
+}
+.markItUpHeader ul .markItUpDropMenu {
+ background:transparent url(images/menu.png) no-repeat 115% 50%;
+ margin-right:5px;
+}
+.markItUpHeader ul .markItUpDropMenu li {
+ margin-right:0px;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul {
+ display:none;
+ position:absolute;
+ top:18px; left:0px;
+ background:#FFF;
+ border:1px solid #000;
+}
+.markItUpHeader ul ul li {
+ float:none;
+ border-bottom:1px solid #000;
+}
+.markItUpHeader ul ul .markItUpDropMenu {
+ background:#FFF url(images/submenu.png) no-repeat 100% 50%;
+}
+.markItUpHeader ul .markItUpSeparator {
+ margin:0 10px;
+ width:1px;
+ height:16px;
+ overflow:hidden;
+ background-color:#CCC;
+}
+.markItUpHeader ul ul .markItUpSeparator {
+ width:auto; height:1px;
+ margin:0px;
+}
+/* next rows of buttons */
+.markItUpHeader ul ul ul {
+ position:absolute;
+ top:-1px; left:150px;
+}
+.markItUpHeader ul ul ul li {
+ float:none;
+}
+.markItUpHeader ul a {
+ display:block;
+ width:16px; height:16px;
+ text-indent:-10000px;
+ background-repeat:no-repeat;
+ padding:3px;
+ margin:0px;
+}
+.markItUpHeader ul ul a {
+ display:block;
+ padding-left:0px;
+ text-indent:0;
+ width:120px;
+ padding:5px 5px 5px 25px;
+ background-position:2px 50%;
+}
+.markItUpHeader ul ul a:hover {
+ color:#FFF;
+ background-color:#000;
+}
diff --git a/clydeweb/media/markitup/templates/preview.css b/clydeweb/media/markitup/templates/preview.css
new file mode 100644
index 00000000..ad91a871
--- /dev/null
+++ b/clydeweb/media/markitup/templates/preview.css
@@ -0,0 +1,5 @@
+/* preview style examples */
+body {
+ background-color:#EFEFEF;
+ font:70% Verdana, Arial, Helvetica, sans-serif;
+}
\ No newline at end of file
diff --git a/clydeweb/media/markitup/templates/preview.html b/clydeweb/media/markitup/templates/preview.html
new file mode 100644
index 00000000..b8b3702e
--- /dev/null
+++ b/clydeweb/media/markitup/templates/preview.html
@@ -0,0 +1,11 @@
+
+
+
+
+markItUp! preview template
+
+
+
+
+
+
diff --git a/clydeweb/templates/base.html b/clydeweb/templates/base.html
new file mode 100644
index 00000000..6ed6549f
--- /dev/null
+++ b/clydeweb/templates/base.html
@@ -0,0 +1,78 @@
+
+
+
+ Clyde - Hyde on the Cloud
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Clyde - Hyde on the Cloud
+
+
+
+
+
+
+ Select a file from the file navigator to the left to edit
+ or press the add button to create a new file. When done
+ press the publish button if you are ready.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/clydeweb/templates/site.html b/clydeweb/templates/site.html
new file mode 100644
index 00000000..8d8a1408
--- /dev/null
+++ b/clydeweb/templates/site.html
@@ -0,0 +1 @@
+{%extends base.html%}
\ No newline at end of file
diff --git a/hydeengine/siteinfo.py b/hydeengine/siteinfo.py
index 82e07f23..45e8836e 100644
--- a/hydeengine/siteinfo.py
+++ b/hydeengine/siteinfo.py
@@ -167,7 +167,24 @@ def __init__(self, folder, parent=None):
def __repr__(self):
return str(self.folder)
-
+
+ @property
+ def simple_dict(self):
+ ress = []
+ for resource in self.walk_resources():
+ res = dict(
+ name=resource.file.name,
+ path=resource.file.path)
+ ress.append(res)
+ nodes = []
+ for node in self.children:
+ nodes.append(node.simple_dict)
+ return dict(
+ name=self.folder.name,
+ path=self.folder.path,
+ resources=ress,
+ nodes=nodes)
+
@property
def isroot(self):
return not self.parent
diff --git a/lib/tornado b/lib/tornado
new file mode 160000
index 00000000..9107b6be
--- /dev/null
+++ b/lib/tornado
@@ -0,0 +1 @@
+Subproject commit 9107b6be2bffe4bcaf8cd47cf79c6d792cdf71d4