Строка 48: |
Строка 48: |
| s = r (s, /<\s*a\s+href\s*=\s*(["'])\s*https?:\/\/in(?:formatorium)?\.wiki(?:\/wiki)?\/(\S+?)\s*\1\s*>(.+?)<\s*\/a\s*>/gi, wikifyInternalLinks); | | s = r (s, /<\s*a\s+href\s*=\s*(["'])\s*https?:\/\/in(?:formatorium)?\.wiki(?:\/wiki)?\/(\S+?)\s*\1\s*>(.+?)<\s*\/a\s*>/gi, wikifyInternalLinks); |
| // -- внутренние <a> → [[]); | | // -- внутренние <a> → [[]); |
− | s = r (s, /<\s*a\s+href\s*=\s*(["'])(\S+?)\1\s*>(.+?)<\s*\/a\s*>/gi, '[$2 $3]'); // -- <a> → [); | + | s = r (s, /<\s*a\s+href\s*=\s*(["'])(\S+?)\1\s*>(.+?)<\s*\/a\s*>/gi, '[$2 $3]'); // — <a> → [); |
− | s = r (s, /\[\s*(https?:\/\/[^\]\s]+)\s*([^\]]*)\]/gi, collect_link); // — замена внешних ссылок на загруженные документы. | + | s = r (s, /\[\s*(https?:\/\/[^\]\s]+)\s*([^\]]*)\]/gi, collect_link); // — сбор внешних ссылок для последующей замены внутренними. |
− | | + | s = resolve_links (s); // — массовая интернализация ссылок. Выполняется только в Lua. |
− | // Интернализация ссылок. Выполняется только в Lua.
| + | s = r (s, /\[\s*(https?:\/\/[^\]\s]+)\s*([^\]]*)\]/gi, internalise_link); // — замена внешних ссылок на загруженные документы. |
− | s = internalise_links (s); | |
| | | |
| s = hide (s, /(?:https?|ftp|news|nntp|telnet|irc|gopher|magnet):\/\/[^\s\[\]<>"]+ ?/gi); // — гиперссылки. | | s = hide (s, /(?:https?|ftp|news|nntp|telnet|irc|gopher|magnet):\/\/[^\s\[\]<>"]+ ?/gi); // — гиперссылки. |
Строка 299: |
Строка 298: |
| return '[' + url + ' ' + alias + ']'; | | return '[' + url + ' ' + alias + ']'; |
| } | | } |
− | function internalise_links (_, __, url, alias) { | + | function resolve_links (/* String */ s) { |
| + | return s; |
| + | } |
| + | function internalise_link (_, __, url, alias) { |
| return '[' + url + ' ' + alias + ']'; | | return '[' + url + ' ' + alias + ']'; |
| } | | } |
− |
| |
| | | |
| // Превращение ссылок HTML на «Традицию» в викиссылки: | | // Превращение ссылок HTML на «Традицию» в викиссылки: |