====== Bookmarklets ======
[[wp>Bookmarklet]]s are //smart// bookmarks. They usually allow one to perform complex task via a single click (bookmark-toolbar).
===== Dokuwiki =====
Inspired by [[http://wiki.splitbrain.org/wiki:tips:weblog_bookmarklet|Dokuwiki-Weblog]].
This bookmarklet directly POSTS to DokuWiki - it opens up a popup-window to create/preview a DokuWiki page about the currently browsed page, using the current selection as wiki-page text.
javascript:Q=document.selection?document.selection.createRange().text:document.getSelection();L=location.href;D=document.title;d=new Date();I=d.getFullYear()+':'+(d.getUTCMonth()+1)+'_'+d.getUTCDay()+'_'+d.getUTCHours()+''+d.getUTCMinutes()+''+d.getUTCSeconds(); myWindow=window.open('','dokuwikiadd','scrollbars=yes,resizable=yes,toolbars=yes,width=640,height=420,left=200,top=160,status=yes');f=myWindow.document.createElement('form');f.method='post';f.action='https://your.host/?id=wiki:weblog:'+I;i0=document.createElement('input');i0.type='hidden';i0.name='wikitext';i0.value='===== '+D+' =====\n * '+L+'\n'+Q+'\n{{tag>Bookmark}}';i1=document.createElement('input');i1.type='hidden';i1.name='do';i1.value='preview';f.appendChild(i0);f.appendChild(i1);b=myWindow.document.getElementsByTagName('body')[0]; b.appendChild(f); f.submit();
This script may be too long for some browsers, see [[dokubookmark]] for an alternative.
Modify the action //URL// (''https://your.host/''), //ID// (''wiki:weblog:'') and the //wiki-page// template ''wikitext=..'' to your preference.
//Note//: the date syntax is not the same as the Dokuwiki-Weblog mentioned above. javascript's UTCMonth and UTCDay are values 1-12 and 1-31 rather than 01-12 or 01-31.
===== Misc Bookmarklets =====
Javascript bookmarklet to HTTP-POST.
javascript: (
function() {
document.open(); // Empties the current browser page
uri = 'http://translate.google.com/translate_t'; // Destination URI for the POST request
f = document.createElement('form'); // Form creation
f.method = 'post'; // of POST type
f.action = uri; // using the URI given above.
i0 = document.createElement('input'); // Field creation
i0.type = 'text'; // of text type
i0.name = 'text'; // called "text"
i0.value = '%s'; // which takes as input the words
// given in the navigation bar
i1 = document.createElement('input'); // Second field creation
i1.type = 'hidden'; // of hidden type
i1.name = 'langpair'; // called "langpair"
i1.value = 'fr|en'; // that takes "fr|en", as argument,
// understood by Google as
// "translate from french to english"
f.appendChild(i0); // Ties the first field to the form
f.appendChild(i1); // Ties the second field to the form
b = document.createElement('body'); // element creation
b.appendChild(f); // Ties the form to the
h = document.getElementsByTagName('html')[0]; // Get anchor point for
h.appendChild(b); // Ties the to the current page
f.submit(); // Submits the form
}
)()
source: http://ptaff.ca/smart/