Content of markitup/sets/serverside/set.js
// ----------------------------------------------------------------------------
// 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
// ----------------------------------------------------------------------------
myServersideSettings = {
onShiftEnter: {keepDefault:false, replaceWith:'<br />\n' },
onCtrlEnter: {keepDefault:false, openWith:'\n<p>', closeWith:'</p>' },
onTab: {keepDefault:false, openWith:' ', placeHolder:'' },
markupSet: [
{name:'Bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' },
{name:'Italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)' },
{name:'Stroke through', key:'S', openWith:'<del>', closeWith:'</del>' },
{separator:'---------------' },
{name:'Html Tidy Repair', className:'htmlTidyRepair', replaceWith:function(markItUp) { return miu.tidyRepair(markItUp) } },
{name:'Html Tidy Report', className:'htmlTidyReport', beforeInsert:function(markItUp) { return miu.tidyReport(markItUp) } },
{separator:'---------------' },
{name:'TinyUrl', className:'tinyUrl', openWith:function(markItUp) { return miu.tinyUrl(markItUp) }, closeWith:'</a>', placeHolder:'text to link with a long url...' },
{separator:'---------------' },
{name:'RSS Feed Grab', className:'feedGrabber', replaceWith:function(markItUp) { return miu.rssFeedGrabber(markItUp) } },
{separator:'---------------' },
{name:'Save', className:'save', beforeInsert:function(markItUp) { miu.save(markItUp) } },
{name:'Load', className:'load', beforeInsert:function(markItUp) { miu.load(markItUp) } },
{separator:'---------------' },
{name:'Clean', className:'clean', replaceWith:function(markItUp) { return markItUp.selection.replace(/<(.*?)>/g, "") } },
{name:'Preview', className:'preview', call:"preview" }
]
}
// mIu nameSpace to avoid conflict.
miu = {
save: function(markItUp) {
data = markItUp.textarea.value;
ok = confirm("Save the content?");
if (!ok) {
return false;
}
$.post(markItUp.root+"utils/quicksave/save.php", "data="+data, function(response) {
if(response === "MIU:OK") {
alert("Saved!");
}
}
);
},
load: function(markItUp) {
$.get(markItUp.root+"utils/quicksave/load.php", function(response) {
if(response === "MIU:EMPTY") {
alert("Nothing to load");
} else {
ok = confirm("Load the previously saved content?");
if (!ok) {
return false;
}
markItUp.textarea.value = response;
alert("Loaded!");
}
}
);
},
// Deal with Tiny Url server-side Script
tinyUrl: function (markItUp) {
var url, tinyUrl;
url = prompt("Url:", "http://");
if (url) {
$.ajaxSetup( { async:false } );
$.post(markItUp.root+"utils/tinyurl/get.php", "url="+url, function(content) {
tinyUrl = content;
}
);
} else {
tinyUrl = "";
}
return '<a href="'+tinyUrl+'"(!( title="[![Title]!]")!)>';
},
// Deal with Html Tidy server-side Script
tidyRepair: function(markItUp) {
var tidy;
if (markItUp.selection !== "") {
$.ajax({
async: false,
type: "POST",
url: markItUp.root+"utils/htmltidy/repair.php",
data: "selection="+encodeURIComponent(markItUp.selection),
success:function(content) {
tidy = content;
}
});
} else {
$.ajax({
async: true,
type: "POST",
url: markItUp.root+"utils/htmltidy/repair.php",
data: "data="+encodeURIComponent(markItUp.textarea.value),
success:function(content) {
tidy = content;
markItUp.textarea.value = tidy;
}
});
}
return tidy;
},
// Deal with Html Tidy server-side Script
tidyReport: function(markItUp) {
$.ajax({
async: false,
type: "POST",
url: markItUp.root+"utils/htmltidy/report.php",
data: "data="+encodeURIComponent(markItUp.textarea.value),
success:function(content) {
win = window.open("", "htmlTidyReport","width=600, height=400, resizable=yes, scrollbars=yes");
win.document.open();
win.document.write(content);
win.document.close();
win.focus();
}
});
},
// Deal with Rss Feed Grabber server-side Script
rssFeedGrabber: function(markItUp) {
var feed, limit = 100;
url = prompt('Rss Feed Url', 'http://rss.news.yahoo.com/rss/topstories');
if (markItUp.altKey) {
limit = prompt('Top stories', '5');
}
$.ajax({
async: false,
type: "POST",
url: markItUp.root+"utils/rssfeed/grab.php",
data: "url="+url+"&limit="+limit,
success:function(content) {
feed = content;
}
}
);
if (feed == "MIU:ERROR") {
alert("Can't find a valid RSS Feed at "+url);
return false;
}
return feed;
}
}