모듈:R/data
보이기
< 모듈:R
이 문서의 설명문서는 모듈:R/data/설명문서에서 편집할 수 있습니다.
{
}
local langcode = "ko"
local ugsub = mw.ustring.gsub
local identifiers = {}
function format_data (value) -- value의 문자열을 %s에 삽입합니다.
return (ugsub(value, "id[%s_]+", "_"))
end
local R = require("모듈:R")
for parameters in mw.title.new("부록:참고문헌 자동 추가 리스트/" .. langcode .. "/초안"):getContent():gmatch("{{reference section|([^}]+)}}") do -- 해석하자면, '(' 이런 괄호 안에 있는 내용을 캐칭하겠다는 겁니다
local data = {}
local identifier, subtitle, year, volume, ISBN, edition, author, publisher, proofreader
local title
for v in parameters:gmatch("[^|]+") do
identifier = v:match("^%s*식별자%s*=%s*(%S+)") -- 별*은 다양한 형식의 공백을 처리할 수 있습니다. ex) 식별자=든 식별자 =든 식별자 =든 등등
title = v:match("^%s*제목%s*=%s*(%S+)")
subtitle = v:match("^%s*논문제목%s*=%s*(%S+)")
year = v:match("^%s*연도%s*=%s*(%S+)")
volume = v:match("^%s*권%s*=%s*(%S+)")
ISBN = v:match("^%s*ISBN%s*=%s*(%S+)")
edition = v:match("^%s*판%s*=%s*(%S+)")
author = v:match("^%s*편찬%s*=%s*(%S+)")
publisher = v:match("^%s*출판사%s*=%s*(%S+)")
proofreader = v:match("^%s*감수%s*=%s*(%S+)")
if key and value then
key = key:lower():gsub("%s+", "_")
value = value:match("^%s*(.-)%s*$")
data[key] = value
end
identifiers[format_data(v)] = "{ title = "..title.." }"
end
if data.identifier then
identifier = data.identifier
data.identifier = nil
refSect[identifier] = data
end
end
return identifiers