Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
const LACONICA_STATUS_MAXLEN = 140 CmdUtils.CreateCommand({ name: "identica", takes: {status: noun_arb_text}, homepage: "http://theunfocused.net/moz/ubiquity/verbs/", author: {name: "Blair McBride; Find and replaced by Remy Porter", homepage: "http://theunfocused.net/"}, license: "MPL", preview: function(previewBlock, statusText) { var previewTemplate = "Updates your Identi.ca status to: <br/>" + "<b>${status}</b><br /><br />" + "Characters remaining: <b>${chars}</b>"; var truncateTemplate = "<br />The last <b>${truncate}</b> " + "characters will be truncated!"; var previewData = { status: statusText.text, chars: LACONICA_STATUS_MAXLEN - statusText.text.length }; var previewHTML = CmdUtils.renderTemplate(previewTemplate, previewData); if(previewData.chars < 0) { var truncateData = { truncate: 0 - previewData.chars }; previewHTML += CmdUtils.renderTemplate(truncateTemplate, truncateData); } previewBlock.innerHTML = previewHTML; }, execute: function(statusText) { if(statusText.text.length < 1) { displayMessage("Identi.ca requires a status to be entered"); return; } var updateUrl = "http://identi.ca/api/statuses/update.json"; var updateParams = { source: "ubiquity", status: statusText.text }; jQuery.ajax({ type: "POST", url: updateUrl, data: updateParams, dataType: "json", error: function() { displayMessage("Identi.ca error - status not updated"); }, success: function() { displayMessage("Identi.ca status updated"); } }); } });
This paste will be private.
From the Design Piracy series on my blog: