WikifyWeb: Difference between revisions
(When dragging the WikifyWeb bookmarklet, some browsers confused that with the title of the page. So f renamed it to WikiFy) |
mNo edit summary |
||
Line 44: | Line 44: | ||
<html> | <html> | ||
<a href="javascript:function ai()%7Bvar WikiMap=['http://google.com/search?q=%27,%27https://everipedia.org/wiki/%27,%27https://en.wikipedia.org/wiki/%27,%27https://twitter.com/search?q=%27,%27https://twitter.com/hashtag/%27],i,j,k,len,llen,link,linkpatt,linkText,linkTextArray=[],msg,myArray,node,txt,href,a,reg,span,lastLastIndex,textNodeXpath,textNodes;textNodeXpath=%27.//text()[not(ancestor::a)%20and%20not(ancestor::head)and%20not(ancestor::option)%20and%20not(ancestor::textarea)]%27;textNodes=document.evaluate(textNodeXpath,document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);len=textNodes.snapshotLength;reg=/^\s+$/g;linkpatt=/\b(?:([a-z0-9%E4%F6%FC]*(?:[A-Z%C4%D6%DC_]|_)[a-z0-9%E4%F6%FC_]*){2,})\b/g;for(i=0;i%3Clen;i++){node=textNodes.snapshotItem(i);txt=node.nodeValue;txt=txt.replace(reg,%27%27);if(linkpatt.test(txt)){span=document.createElement(%27span%27);lastLastIndex=0;linkpatt.lastIndex=0;try{while(true){myArray=linkpatt.exec(txt);if(!myArray)break;link=myArray[0];linkTextArray= | <a href="javascript:function ai()%7Bvar WikiMap=['http://google.com/search?q=%27,%27https://everipedia.org/wiki/%27,%27https://en.wikipedia.org/wiki/%27,%27https://twitter.com/search?q=%27,%27https://twitter.com/hashtag/%27],i,j,k,len,llen,link,linkpatt,linkText,linkTextArray=[],msg,myArray,node,txt,href,a,reg,span,lastLastIndex,textNodeXpath,textNodes;textNodeXpath=%27.//text()[not(ancestor::a)%20and%20not(ancestor::head)and%20not(ancestor::option)%20and%20not(ancestor::textarea)]%27;textNodes=document.evaluate(textNodeXpath,document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);len=textNodes.snapshotLength;reg=/^\s+$/g;linkpatt=/\b(?:([a-z0-9%E4%F6%FC]*(?:[A-Z%C4%D6%DC_]|_)[a-z0-9%E4%F6%FC_]*){2,})\b/g;for(i=0;i%3Clen;i++){node=textNodes.snapshotItem(i);txt=node.nodeValue;txt=txt.replace(reg,%27%27);if(linkpatt.test(txt)){span=document.createElement(%27span%27);lastLastIndex=0;linkpatt.lastIndex=0;try{while(true){myArray=linkpatt.exec(txt);if(!myArray)break;link=myArray[0];linkTextArray= | ||
[link,' (e',' w',' t',' h)'] | [link,' (e',' w',' t',' h)'] | ||
;span.appendChild(document.createTextNode(txt.substring(lastLastIndex,myArray.index)));lastLastIndex=linkpatt.lastIndex;linkText=myArray[1];link=myArray[0];llen=link.length;if(link.substring(0,2)===%27%27&&link.substring(llen-2,llen)===%27%27){link=link.substring(2,llen-2);}for(j=0;j%3CMath.min(WikiMap.length,linkTextArray.length);j++){href=WikiMap[j]+link;a=document.createElement(%27a%27);a.setAttribute(%27href%27,href);a.appendChild(document.createTextNode(linkTextArray[j]));span.appendChild(a);}}span.appendChild(document.createTextNode(txt.substring(lastLastIndex)));node.parentNode.replaceChild(span,node);}catch(e){alert(e);}}}};ai()">WikiFy</a> | ;span.appendChild(document.createTextNode(txt.substring(lastLastIndex,myArray.index)));lastLastIndex=linkpatt.lastIndex;linkText=myArray[1];link=myArray[0];llen=link.length;if(link.substring(0,2)===%27%27&&link.substring(llen-2,llen)===%27%27){link=link.substring(2,llen-2);}for(j=0;j%3CMath.min(WikiMap.length,linkTextArray.length);j++){href=WikiMap[j]+link;a=document.createElement(%27a%27);a.setAttribute(%27href%27,href);a.appendChild(document.createTextNode(linkTextArray[j]));span.appendChild(a);}}span.appendChild(document.createTextNode(txt.substring(lastLastIndex)));node.parentNode.replaceChild(span,node);}catch(e){alert(e);}}}};ai()">WikiFy</a> | ||
</html> | |||
</html> |
Revision as of 20:49, 4 March 2018
Intro
What if we could create links everywhere in the Web, by just writing CamelCase words like the inventor of Wikis WardCunningham introduced them in WardsWiki.
Currently the author fridemar offers this as a free OpenSource BookMarklet to empower work and collaboration on the EveriPedia.
About
This BookMarklet WikiFy turns WikiWords into UserDefinable MultiLinks. On this page you get the actual bookmarklet
Versions
v1.1: with number subscripts
v1.2: made it mnemonic friendly with letters
Use of the Bookmarklet
Clicking on the link WikiFy (at the end of this page) enriches each WikiWord with the following 4 links:
- Mainlink: GoogleSearch
- letter e: EveriPediaSearch
- letter w: WikiPediaSearch
- letter t: TwitterSearch
- letter h: TwitterHashSearch
Drag and drop the below link WikifyWeb into your BookmarksList of your browser and you can apply Wikify (nearly) everywhere in the Web.
To get rid of the MultiLinks simply refresh the page of the browser.
Disclaimer
The author fridemar did his best to make this a useful contribution to the CreativeCommons, but cannot guarantee that each WikiWord has SearchResults nor can he take responsibility
1. for the user chosen link targets
2. for modifications of the source, which is under CcBySa
Enjoy