WikifyWeb: Difference between revisions

From fridemar.ai
Jump to navigation Jump to search
(When dragging the WikifyWeb bookmarklet, some browsers confused that with the title of the page. So f renamed it to WikiFy)
(work in progress)
 
(31 intermediate revisions by the same user not shown)
Line 7: Line 7:
== About ==
== About ==


This BookMarklet WikiFy turns WikiWords into UserDefinable MultiLinks. On this page you get the actual bookmarklet
This '''BookMarklet''' WikifyWeb turns WikiWords into UserDefinable MultiLinks. On this page you get the actual bookmarklet.


== Versions ==
== Use of the Bookmarklet ==
 
Clicking on the link WikifyWeb (at the end of this page) enriches each WikiWord in any document in the Web (articles, blogs, posts, .. ) with the following inks:
 
1. '''Mainlink''': GoogleSearch


v1.1: with number subscripts
2. letter '''i''': iqWikiSearch


v1.2: made it mnemonic friendly with letters
3. letter '''w''': WikiPediaSearch


4. letter '''t''': TwitterSearch


== Use of the Bookmarklet ==
5. letter '''h''': TwitterHashSearch


Clicking on the link WikiFy (at the end of this page) enriches each WikiWord with the following 4 links:
6. letter '''y''': YouTubeSearch


* '''Mainlink''': GoogleSearch
7.  letter '''a''': Fridemar.aiSearch
* 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.
Drag and drop the below link WikifyWeb (on this page, not that in the sidebar) into your (Chrome, Safari Browser) BookmarksList and you can apply Wikify (nearly) everywhere in the Web.
 
For simplicity test all five search links on the word '''BookMarklet''', since the author verified, that it always gives results.


To get rid of the MultiLinks simply refresh the page of the browser.
To get rid of the MultiLinks simply refresh the page of the browser.


== Versions ==
v1.1: with number subscripts


v1.2: made it mnemonic friendly with letters
v1.3:  used this WikiMap =<nowiki>
['http://google.com/search?q=','iq.wiki/wiki/wiki/','https://wikipedia.org/wiki/','https://twitter.com/search?q=','https://twitter.com/hashtag/']
</nowiki>,
','iq.wiki/wiki/wiki/'
v1.4:  used this WikiMap =<nowiki>
['http://google.com/search?q=','iq.wiki/wiki/wiki/','https://wikipedia.org/wiki/','https://twitter.com/search?q=','https://twitter.com/hashtag/','https://www.youtube.com/results?search_query=', 'https://fridemar.ai/wiki/' ]</nowiki>,
== Disclaimer ==
== Disclaimer ==


Line 44: Line 59:


<html>
<html>
    <head>
 
    </head>
<a href="javascript:function ai() {
    <body>
    var WikiMap = ['http://google.com/search?q=','','iq.wiki/wiki/wiki/','https://twitter.com/search?q=','https://twitter.com/hashtag/','https://www.youtube.com/results?search_query=', 'https://fridemar.ai/wiki/' ],
<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=
        i, j, k, len, llen, link, linkpatt,
[link,' (e',' w',' t',' h)']
        linkText, linkTextArray = [], msg, myArray, node, txt, href, a, reg, span,
;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>
        lastLastIndex, textNodeXpath, textNodes;
    </body>
 
</html>
    textNodeXpath = './/text()[not(ancestor::a) and not(ancestor::head)and not(ancestor::option) and not(ancestor::textarea)]';
    textNodes = document.evaluate(textNodeXpath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
 
    len = textNodes.snapshotLength;
    reg = /^\s+$/g;
    linkpatt = /\b(?:([a-z0-9äöü]*(?:[A-ZÄÖÜ_]|_)[a-z0-9äöü_]*){2,})\b/g;
 
    for (i = 0; i < len; i++) {
        node = textNodes.snapshotItem(i);
        txt = node.nodeValue; txt = txt.replace(reg, '');
 
        if (linkpatt.test(txt)) {
            span = document.createElement('span');
            lastLastIndex = 0;
            linkpatt.lastIndex = 0;
            try {
                while (true) {
                    myArray = linkpatt.exec(txt);
                    if (!myArray) break;
 
                    link = myArray[0];
                    linkTextArray = [link, ' (i', ' w', ' t', ' h', ' y', ' 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) === '' && link.substring(llen - 2, llen) === '') {
                        link = link.substring(2, llen - 2);
                    }
 
                    for (j = 0; j < Math.min(WikiMap.length, linkTextArray.length); j++) {
                        href = WikiMap[j] + link;
                        a = document.createElement('a');
                        a.setAttribute('href', 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();">WikifyWeb</a>
 
</html> work in progress
 
 
----
See also [[BookmarkletWikifyWebAlsKlartext]]

Latest revision as of 21:15, 17 October 2023

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 WikifyWeb turns WikiWords into UserDefinable MultiLinks. On this page you get the actual bookmarklet.

Use of the Bookmarklet

Clicking on the link WikifyWeb (at the end of this page) enriches each WikiWord in any document in the Web (articles, blogs, posts, .. ) with the following inks:

1. Mainlink: GoogleSearch

2. letter i: iqWikiSearch

3. letter w: WikiPediaSearch

4. letter t: TwitterSearch

5. letter h: TwitterHashSearch

6. letter y: YouTubeSearch

7. letter a: Fridemar.aiSearch

Drag and drop the below link WikifyWeb (on this page, not that in the sidebar) into your (Chrome, Safari Browser) BookmarksList and you can apply Wikify (nearly) everywhere in the Web.

For simplicity test all five search links on the word BookMarklet, since the author verified, that it always gives results.

To get rid of the MultiLinks simply refresh the page of the browser.

Versions

v1.1: with number subscripts

v1.2: made it mnemonic friendly with letters

v1.3: used this WikiMap = ['http://google.com/search?q=','iq.wiki/wiki/wiki/','https://wikipedia.org/wiki/','https://twitter.com/search?q=','https://twitter.com/hashtag/'] , ','iq.wiki/wiki/wiki/' v1.4: used this WikiMap = ['http://google.com/search?q=','iq.wiki/wiki/wiki/','https://wikipedia.org/wiki/','https://twitter.com/search?q=','https://twitter.com/hashtag/','https://www.youtube.com/results?search_query=', 'https://fridemar.ai/wiki/' ],

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


WikifyWeb work in progress



See also BookmarkletWikifyWebAlsKlartext