Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Указатели
Свежие правки
Случайная страница
Справка по MediaWiki
Народные Сказки
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
Модуль:Wikitext
Модуль
Обсуждение
English
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
--[[ Служебные функции для конверсии викитекста Синтаксис: функция со строчной буквы - для {{#invoke:wikitext|fun|...}}, с заглавной - для require(wikitext).Fun() ]] specns={file='file',image='file',category='cat', ['к']='cat',['категория']='cat',['файл']='file',['изображение']='file'} linkprefs="http:// gopher:// https:// mailto: news:// ftp:// irc:// //" local function Delink(text,repl,cat,file,href,colon) return ( --удаление вики-ссылок mw.ustring.gsub(text, "%[%[(%s*([^|%]]+)%s*)|?(.-)%]%](%a*)", function(a,l,c,e) l = l:gsub("%s+"," "); if specns[mw.ustring.lower(l):match("^(.*):")] then -- ссылка на специальное п. и. if specns[mw.ustring.lower(l):match("^(.*):")]=='cat' then--категория if cat then -- строчка замены, %1=catname, %2=key, %3=mode, %%="%" return table.concat{ l:gsub("^.-:%s*",''), '|', c }:gsub( "^(.-)|([^|]*)|?(.-)$", cat ) .. e else return e -- удалять по умолчанию все категории end else--файл. Fixme:пока все поля описания файла не выдаются шаблонам if file then -- строка замены, %1=filename, %2=parameters, %%="%" return table.concat{ l:gsub("^.-:%s*",''), '|', c }:gsub( "^(.-)|(.*)", file ) .. e else return e -- вырезать фалы end end--if(файл или категория) end--if(спец. пространства) l=string.gsub(l,"^: *", colon or "%1");-- замена начального ":" if repl then return mw.ustring.gsub(l..'|'..(c=='' and a..e or c..e),"^(.-)|(.*)$",repl) else if c=='' then return a..e else return c..e end-- вырезаем end end ):gsub( "(%[([%a%._\/~%%%-%+&#%?!=%(%)@]+)%s*(.-)%])", function(a,r,t) --вырезатор внешних ссылок local p,i=r:match('^(%a*:?//)(.*)') if not p then p,i=r:match('^(mailto:)(.*)') end if p then-- Это URL if href then return (p..' '..i..' '..t):gsub("^(.-) (.-) (.*)$",href) else return t end else-- Это не URL return a end end--вырезатор ) ) end local function Detag(t) if t == nil or t == '' then return '' end -- Вырезаем кавычки и > из литералов в тэгах, а потом сами литералы local text,j,i,k=t,0; repeat text,i=text:gsub('(</?%a[^>"\']*")[^"]*\\["\\]',"%1");--первая \", \\ из 1-го литерала text,k=text:gsub("(</?%a[^>\"']*')[^']*\\['\\]","%1");--первая \', \\ из 1-го литерала if i+k==0 then--1-й литерал очищен text,j=text:gsub("(</?%a[^>]*)(['\"]).-%2","%1") end until i+j+k==0 -- и вырезать тэги, а также ''курсив'' и '''жирный''' return (text:gsub("'''?",""):gsub('</?%a[^>]*>','')) end local function Nodis(t) -- Убирает уточнения в скобках return (t:gsub('%s*%([^%)]+%)$','')) end return { delink=function(f) -- Удаляет ссылки из викитекста local tf=f:getParent() return Delink( f.args[1] or tf.args[1], f.args['repl'] or tf.args['repl'], f.args['cat'] or tf.args['cat'], f.args['file'] or tf.args['file'], f.args['href'] or tf.args['href'], f.args[':'] or tf.args[':'] ) end; Delink=Delink; detag=function(f) return Detag(f.args[1] or f:getParent().args[1]) end; Detag=Detag; plain=function(f) local tf=f:getParent() return Detag(Delink( f.args[1] or tf.args[1], f.args['repl'] or tf.args['repl'], f.args['cat'] or tf.args['cat'], f.args['file'] or tf.args['file'], f.args['href'] or tf.args['href'], f.args[':'] or tf.args[':'] )); end; nodis=function(f) return Nodis(f.args[1] or f:getParent().args[1]) end;Nodis=Nodis }
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Народные Сказки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
РуСказки:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Отобразить/Скрыть ограниченную ширину содержимого