From 8f69fd5aa89d087c01a4c5561be8d4623053d7ed Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 27 May 2008 00:01:04 -0500 Subject: [PATCH] Fix simple links --- extra/farkup/farkup-tests.factor | 2 +- extra/farkup/farkup.factor | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/extra/farkup/farkup-tests.factor b/extra/farkup/farkup-tests.factor index 043502cd24..4abd655d62 100755 --- a/extra/farkup/farkup-tests.factor +++ b/extra/farkup/farkup-tests.factor @@ -67,7 +67,7 @@ IN: farkup.tests [ "<p><img src=\"lol.jpg\"/></p>" ] [ "[[image:lol.jpg]]" convert-farkup ] unit-test [ "<p><img src=\"lol.jpg\" alt=\"teh lol\"/></p>" ] [ "[[image:lol.jpg|teh lol]]" convert-farkup ] unit-test -[ "<p><a href=\"lol.com\"></a></p>" ] [ "[[lol.com]]" convert-farkup ] unit-test +[ "<p><a href=\"lol.com\">lol.com</a></p>" ] [ "[[lol.com]]" convert-farkup ] unit-test [ "<p><a href=\"lol.com\">haha</a></p>" ] [ "[[lol.com|haha]]" convert-farkup ] unit-test [ ] [ "[{}]" convert-farkup drop ] unit-test diff --git a/extra/farkup/farkup.factor b/extra/farkup/farkup.factor index fad237635f..5dcfa7528e 100755 --- a/extra/farkup/farkup.factor +++ b/extra/farkup/farkup.factor @@ -6,6 +6,8 @@ splitting io.streams.string peg.parsers sequences.deep unicode.categories ; IN: farkup +SYMBOL: relative-link-prefix + <PRIVATE : delimiters ( -- string ) @@ -68,7 +70,9 @@ MEMO: eq ( -- parser ) CHAR: : over member? [ dup { "http://" "https://" "ftp://" } [ head? ] with contains? [ drop "/" ] unless - ] when ; + ] [ + relative-link-prefix get prepend + ] if ; : escape-link ( href text -- href-esc text-esc ) >r check-url escape-quoted-string r> escape-string ; @@ -100,7 +104,7 @@ MEMO: simple-link ( -- parser ) "[[" token hide , [ "|]" member? not ] satisfy repeat1 , "]]" token hide , - ] seq* [ first f make-link ] action ; + ] seq* [ first dup make-link ] action ; MEMO: labelled-link ( -- parser ) [