Модуль:Loc/Marking: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 74: | Строка 74: | ||
local function convert_lists(s) | local function convert_lists(s) | ||
local lines = mw.text.split(s or "", "\n", true) | |||
local lines = mw.text.split(s, "\n" | local out = {} | ||
local | |||
for _, line in ipairs(lines) do | for _, line in ipairs(lines) do | ||
local | local indentEsc = mw.ustring.match(line, "^((  )*)") or "" | ||
local level = 0 | |||
if | if indentEsc ~= "" then | ||
level = mw.ustring.len(indentEsc) / mw.ustring.len("  ") | |||
end | end | ||
local content = mw.ustring.sub(line, mw.ustring.len(indentEsc) + 1) | |||
local numMatch = mw.ustring.match(content, "^%d+%.%s*(.*)") | |||
if numMatch then | |||
table.insert(out, string.rep("#", level + 1) .. " " .. numMatch) | |||
else | |||
table.insert( | local dashMatch = mw.ustring.match(content, "^%-%s*(.*)") | ||
if dashMatch then | |||
table.insert(out, string.rep("*", level + 1) .. " " .. dashMatch) | |||
else | |||
table.insert(out, line) | |||
end | end | ||
end | end | ||
end | end | ||
return table.concat( | |||
return table.concat(out, "\n") | |||
end | end | ||
| Строка 166: | Строка 148: | ||
str = str:gsub('#', '#') | str = str:gsub('#', '#') | ||
:gsub('=', '=') | :gsub('=', '=') | ||
:gsub(' ', ' ') | |||
:gsub('{', '{') | :gsub('{', '{') | ||
:gsub('"', '"') | :gsub('"', '"') | ||