「モジュール:Pococha」の版間の差分

提供: エケペディア
ナビゲーションに移動 検索に移動
Motodai (トーク | 投稿記録)
編集の要約なし
Motodai (トーク | 投稿記録)
文法に従って書き直し
 
12行目: 12行目:
     end
     end
      
      
     local dataStore = {}
     -- local dataStore = {}
     dataStore['Pocochaアカウント'] = t_name
     -- dataStore['Pocochaアカウント'] = t_name


     local ok, result = pcall(mw.smw.set, dataStore )
     local ok, result = pcall(mw.smw.set, {
    ['Pocochaアカウント'] = t_name
    })


if not ok then
if not ok then

2026年10月3日 (土) 16:23時点における最新版

このモジュールについての説明文ページを モジュール:Pococha/doc に作成できます

local p = {};

local function setProperty(t_name)
	
	-- メイン空間のみ
	if not mw.title.getCurrentTitle().namespace == 0 then
		return true;
	end
	
	if not mw.smw then
        return true;
    end
    
    -- local dataStore = {}
    -- dataStore['Pocochaアカウント'] = t_name

    local ok, result = pcall(mw.smw.set, {
    	['Pocochaアカウント'] = t_name
    	})

	if not ok then
		return '<span class="error">SMW Lua error: ' .. tostring(result) .. '</span>'
	end
    if result  ~= true then
        -- error message to be found in result.error
        return '<span class="error">SMW set error: ' .. tostring(result.error) .. '</span>'
    end
end	

function p.main( frame )
	local args = require( 'Module:Arguments' ).getArgs( frame, { wrappers = 'Template:Pococha', removeBlanks = false, parentFirst = true });

	--  ID
	local t_name = args[1] or args.id or '';
	
	--  URL
	local formatterURL = "https://www.pococha.com/ja-jp/app/users/$1";
	local url = mw.ustring.gsub(formatterURL,"$1", t_name);
	
	-- 表示名
	local name = args[2] or args.name or '';
	
	-- SemanticMediaWiki
	if not args.nosmw then
		setProperty(t_name);
	end


	-- 表示名デフォルト
	if name == '' then
		name = "Pocochaアカウント";
	end

	-- local t_name2 = '(@' .. t_name  ..')';
	if mw.ustring.match(name, '%(' .. t_name .. '%)$') then
		t_name2 = '';
	end

    -- Pococha は記事が作成されるまではリンクは張らない
	-- return '[' ..url ..' ' ..name ..'] ' ..t_name2 ..' - Pococha';
	return '[' ..url ..' ' ..name ..'] - Pococha';
end

return p;