start | find | index | login or register | edit
link-prefix
by unknown, a long time ago
alternatives linking scheme fuer vanilla. ab 0.5 im core integriert. kooperatives werk langreiter/earl. der outcome ist in diesem space unter vanilla-links zu sehen.


Inhaltsverzeichnis
Grundlagen
Neues Prefixing
Spezialsequenzen
Vorteile
Umsetzung
Beispiele
Comments?


Grundlagen
link-prefixes gehoeren thematisch zu einem groesseren. zB passt das link prefix fuer google perfekt in das google snip. nachdem der akt des link setzens hier die kreation eines forward- und eines backward-links (backlink) umfasst, laesst sich backwards aggregaten.

es liessen sich link-prefixes auch zentral verwalten - die dynamische aggregation foerdert allerdings auch andre dynamiken und ist auch unter dem einleitenden aspekt der natuerlichere ansatz (statischer ansatz: ein snip mit hard-codierten rules mitliefern, dieses in das snip vanilla-links includen).

Neues Prefixing
Neue link-prefixes werden in der Form
*link-prefix*:prefix:"url":"text"[:pre[:post]]
eingefuegt, beispiele dazu weiter unten oder in den backlinks.

durch die verlinkung mit diesem snip (link-prefix), wird die vorher beschriebene aggregation ermoeglicht. prefix ist der link prefix, dies kann eine beliebige, alphanumerische kombination sein. im tatsaechlichen linken, wird dann dieser prefix durch : getrennt dem link-content vorangestellt.

die url beschreibt wohin der link dann tatsaechlich zeigen soll. der "text" wird in die a-tag klammer als verlinkter text eingefuegt, des weiteren kann optional ein pre/post text angegeben werden, dieser wird ausserhalb der a-tag klammer vor respektive hinter dieser angefuegt (pretextpost).

ueber alle diese angaben koennen spezialsequenzen verwendet werden, um auf information zur runtime zuzugreifen.

Spezialsequenzen
um das linking total flexibel zu machen, stehen vier spezialsequenzen zur Verfuegung, die in den angaben zu "url" und "text" verwendet werden koennen:

- [full]
- [pre-colon]
- [post-colon], [url-encoded-post-colon]
- [post-slashes]

der link-translator ersetzt diese sequenzen dann. anstelle von [full] wird der komplette link - also auch inklusive prefix eingefuegt, [pre-colon]/[post-colon] entsprechen im regelfall dem prefix (pre) und der link-value (post). mit [url-encoded-post-colon] kann man vanilla eine automatische umsetzung des link-contents in url-konformes format fordern.

[post-slashes] ist ein spezialfall, der zum beispiel in http:// oder ftp:// links verwendet werden kann - eingesetzt wird dann der text hinter den doppel-slashes (//).

Vorteile
somit lassen sich allerhand lustige dinge auffuehren. von den klassischen cross-wiki links, ueber searches in google & co bis hin zu ISBN lookups oder aehnlichem.

das linking ist damit hoch-dynamisch und kann von usern ohne zugang zum vanilla-core modifiziert werden. die notwendigkeit zur rebol-kenntnis (die fuer eine modifikation des cores erforderlich ist) faellt weg.

das linking in dieser form ist aeusserst vanilla-style - sexy naemlich!

Umsetzung
der tatsaechliche link-setzungs-prozess im vanilla-core wird ein wenig komplexer. es bieten sich zwei moeglichkeiten:

- voll-dynamischer ablauf
- precompilation von linklists

voll-dynamische generation scheidet wahrscheinlich aus performance gruenden aus. dies wuerde das parsen aller backlinks dieses snips bei jedem view eines snips umfassen. damit wuerde allerdings bei hinzufuegen eines neuen link-prefixes dieser sofort verfuegbar sein.

precompilation ist die daher realisierte variante. durch ein (gecachtes) dynasnip (aeusserst vanilloid!) wird eine linklist generiert die dann vom vanilla core verwendet wird. nachdem allerdings nicht ueberall vanilloide hacker unbedingt alles was linkt parametrisieren wollen, kann durch dieses vorgehen zb eine master-list an prefixes mitgeliefert werden, die dann sofort zur verfuegung steht.

interessant ist auch, dass alle 'herkoemmlichen' urls auf dieses schema problemlos umsetzbar sind (siehe nachfolgende beispiele).

Beispiele
nachfolgend nun ein paar beispiele, fuer denkbare link-prefix spezifikationen. mehr laesst sich in den backlinks zu diesem snip finden.

- gaengige linkspezifikationen:

link-prefix:http:"[full]":"[full]"
link-prefix:ftp:"[full]":"[full]"
link-prefix:mailto:"[full]":"[post-colon]"

- its a kind of magic:

link-prefix:google:"http://www.google.com/search?q=[post-colon]":"Google for [post-colon] now!"
link-prefix:isbn:"http://www.isbn.nu/[post-colon]":"(ISBN: [post-colon])"
link-prefix:dict:"http://www.dictionary.com/cgi-bin/dict.pl?term=[post-colon]":"Lookup [post-colon]!"

- look over the borders:

link-prefix:lcom:"http://www.langreiter.com/space/[post-colon]":"[post-colon]@lcom"

Comments?
Kommentare immer gerne! Bitte in [create comments-link-prefix]!

--
produced by andreas bolka/chris langreiter, may 2001
powered by vanilla
echo earlZstrainYat|tr ZY @.
earl.strain.at • esa3 • online for 8415 days • c'est un vanilla site