|
|
Line 3: |
Line 3: |
| Each Wiki should have such a place for helping new users to test out Wiki features. | | Each Wiki should have such a place for helping new users to test out Wiki features. |
|
| |
|
| <html>
| | WikiFy |
| | |
| javascript:
| |
| function ai() {
| |
| var WikiMap = ['http://google.com/search?q=','https://aipedia.eu/wiki/','https://etherpad.wikimedia.org/p/','https://twitter.com/search?q=','https://twitter.com/hashtag/'],
| |
| i, j, k, len, llen, link, linkpatt,
| |
| linkText, linkTextArray = [], msg, myArray, node, txt, href, a, reg, span,
| |
| lastLastIndex, textNodeXpath, textNodes;
| |
| | |
| 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, ' 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) === '' && 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();
| |
| }
| |
| | |
| | |
| <a href="javascript:ai()">testWikfyWeb4</a>
| |
| | |
| </html>
| |