Changeset 15364 in project


Ignore:
Timestamp:
08/07/09 16:09:59 (10 years ago)
Author:
sjamaan
Message:

Add "nowiki" tag support

Location:
release/4/wiki-parse
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/wiki-parse/test.wiki

    r15362 r15364  
    2222Here's another random link to http://example.com/bar in the text.
    2323
     24==== Subsection
     25
     26<nowiki>
     27<script type="text/javascript">
     28alert("Hello there");
     29</script>
     30<center>This is not parsed as wiki text</center>
     31</nowiki>
     32
    2433---
    2534Previous: [[Introduction]]
  • release/4/wiki-parse/wiki-parse.scm

    r15363 r15364  
    125125         (irregex "'''([^']+)'''"))
    126126        (wiki-italic-rx
    127          (irregex "''([^']+)''")) 
     127         (irregex "''([^']+)''"))
    128128        (wiki-big-rx
    129129         (irregex "<big>([^<]+)</big>"))
     
    229229        (wiki-def-rx
    230230         (irregex ";[ \\t]+([^:]+)[ \\t]+:[ \\t]+(.*)$"))
     231        (wiki-nowiki-start-rx
     232         (irregex "<nowiki>(.*)"))
     233        (wiki-nowiki-end-rx
     234         (irregex "(.*)</nowiki>"))
    231235        (wiki-list-level
    232236         (lambda (str) (string-prefix-length "**********" str)))
     
    297301                     (parse res par list-level (cons (list t d) defns)))))
    298302
     303             ((irregex-match wiki-nowiki-start-rx line)
     304              => (lambda (m)
     305                   (let nw ((txt "")
     306                            (ln (irregex-match-substring m 1)))
     307                     (cond
     308                      ((eof-object? ln)
     309                       (parse (cons (list 'nowiki txt) (collect)) '() 0 defns))
     310                      ((irregex-match wiki-nowiki-end-rx ln)
     311                       => (lambda (n)
     312                            (parse
     313                             (cons (list 'nowiki
     314                                         (string-append
     315                                          txt (irregex-match-substring n 1)))
     316                                   (collect)) '() 0 defns)))
     317                      (else (nw (string-append txt ln) (read-line in)))))))
     318             
    299319             ((eqv? #\space (string-ref line 0))
    300320              (let lp ((ls (list line)))
Note: See TracChangeset for help on using the changeset viewer.