On Fri, Aug 7, 2009 at 3:39 AM, Reinier Balt<[email protected]> wrote:
> I think the problem is in rails. The auto_link uses a regular expression:
>
>     AUTO_LINK_RE = %r{
>                        (                          # leading text
>                          <\w+.*?>|                # leading HTML tag, or
>                          [^=!:'"/]|               # leading punctuation, or
>                          ^                        # beginning of line
>                        )
>                        (
>                          (?:https?://)|           # protocol spec, or
>                          (?:www\.)                # www.*
>                        )
>                        (
>                          [-\w]+                   # subdomain or domain
>                          (?:\.[-\w]+)*            # remaining subdomains or
> domain
>                          (?::\d+)?                # port
>                          (?:/(?:[~\...@%=\(\)-]|(?:[,.;:'][^\s$]))*)* #
> path
>                          (?:\?[\...@%&=.;:-]+)?     # query string
>                          (?:\#[\w\-]*)?           # trailing anchor
>                        )
>                        ([[:punct:]]|<|$|)       # trailing text
>                       }x unless const_defined?(:AUTO_LINK_RE)
>
> (from vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb)
>
> Although I'm not very good at regular expressions,

regexp are one of the things that remind me that I am a pathetic,
pathetic excuse for a hacker ;)

> I cannot spot { or } in
> the query string part or the path part of the expression. I think that is
> why auto_link does not take the complete url.

I think the problem is actually that after the #, only \w and \- are
counted as valid parts of the URL. So adding another punctuation (here
another \ ) after the # anchor (rare, but becoming more common) breaks
the regexp. I will file a rails bug and modify my plugin to use
markdown in the meantime (which is probably more user-friendly anyway,
now that I think about it...)

Luis
_______________________________________________
Tracks-discuss mailing list
[email protected]
http://lists.rousette.org.uk/mailman/listinfo/tracks-discuss

Reply via email to