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

提供:エケペディア
ナビゲーションに移動 検索に移動
(Twitterデフォルトをページ名にできるか確認。)
タグ: 差し戻し済み
(Motodai (トーク) による編集を 48wiki による直前の版へ差し戻しました)
タグ: 巻き戻し モバイル編集 モバイルウェブ編集 改良版モバイル編集
31行目: 31行目:
-- Twitter URL
-- Twitter URL
local formatterURL = "https://twitter.com/$1";
local formatterURL = "http://twitter.com/$1";
local url = mw.ustring.gsub(formatterURL, "\$1", t_name);
local url = mw.ustring.gsub(formatterURL, "\$1", t_name);
45行目: 45行目:
-- Twitter 表示名デフォルト
-- Twitter 表示名デフォルト
if name == '' then
if name == '' then
name = mw.ustring.gsub(mw.title.getCurrentTitle().text,"%s+%b()$","");
name = "Twitterアカウント";
end
end



2022年2月11日 (金) 12:09時点における版

このモジュールについての説明文ページを モジュール:Twitter/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['twitterアカウント'] = t_name

    local result = mw.smw.set( dataStore )

    if result == true then
        -- everything ok
    else
        -- error message to be found in result.error
    end
end	

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

	-- Twitter ID
	local t_name = args[1] or args.id or '';
	
	-- Twitter URL
	local formatterURL = "http://twitter.com/$1";
	local url = mw.ustring.gsub(formatterURL, "\$1", t_name);
	
	-- Twitter 表示名
	local name = args[2] or args.name or '';
	
	-- SemanticMediaWiki
	if not args.nosmw then
		setProperty(t_name);
	end


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

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

	return '[' ..url ..' ' ..name ..'] ' ..t_name2 ..' - [[Twitter]]';
end

return p;