최근 바뀜
도구
업로드
도움말
길라잡이
위키 문법
특수 문서
문의·신고
디스코드
IP 사용자
216.73.216.63
로그인
모듈:Dictionary 문서 원본 보기
←
모듈:Dictionary
편집
토론
역사
새로고침
주시
역링크
정보
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
-------------------------------------------------- -- Module:Dictionary – v3 (조합형 한글 인식 지원) -------------------------------------------------- local p = {} local encode = mw.text.encode -- 기본 데이터 테이블 local defaultData = mw.loadData('Module:Dictionary/data') -- Unicode 정규화 (조합형 → 완성형) local function normalizeKey(str) if type(str) ~= "string" then return str end return mw.ustring.toNFC(str) end -- 테이블 전체를 정규화 (키 기준) local function normalizeTableKeys(tbl) local new = {} for key, value in pairs(tbl) do local nkey = normalizeKey(key) -- 충돌 방지: 같은 의미의 키가 여러 개일 때 마지막 것을 유지 new[nkey] = value end return new end -- 주어진 이름의 하위 데이터 페이지를 안전하게 불러옵니다. local function loadDataset(name) if not name or name == '' then return normalizeTableKeys(defaultData) end local ok, dataset = pcall(mw.loadData, 'Module:Dictionary/data/' .. name) if ok and type(dataset) == 'table' then return normalizeTableKeys(dataset) end return normalizeTableKeys(defaultData) end --- Renders the dictionary search container. function p.render(frame) -- dataset 명은 ① 첫 번째 무명 인수, ② named 인수 dataset 에서 찾습니다. local datasetName = frame.args[1] or frame.args.dataset local data = loadDataset(datasetName) -- 검색 UI 컨테이너 + 숨겨진 JSON local out = { '<div class="dictionary-container dict-card"></div>', '<div id="dictionary-json" style="display:none">', encode(mw.text.jsonEncode(data)), -- XSS-safe '</div>' } return table.concat(out, '\n') end return p
이 문서에 포함된 문서:
모듈:Dictionary/설명문서
(
원본 보기
)
모듈:Dictionary
문서로 돌아갑니다.