「モジュール:Instagram」の版間の差分
ナビゲーションに移動
検索に移動
(デフォルトをページ名に) |
(認証バッジ 「v=○」を入れてみる) |
||
1行目: | 1行目: | ||
local p = {}; | local p = {}; | ||
local function setProperty(t_name) | local function setProperty(t_name, i_v) | ||
-- メイン空間のみ | -- メイン空間のみ | ||
14行目: | 14行目: | ||
local dataStore = {} | local dataStore = {} | ||
dataStore['Instagramアカウント'] = t_name | dataStore['Instagramアカウント'] = t_name | ||
dataStore['認証バッジ'] = i_v | |||
local result = mw.smw.set( dataStore ) | local result = mw.smw.set( dataStore ) | ||
36行目: | 37行目: | ||
-- Instagram 表示名 | -- Instagram 表示名 | ||
local name = args[2] or args.name or ''; | local name = args[2] or args.name or ''; | ||
-- Instagram 認証バッジ | |||
local verified = args[3] or args.v or ''; | |||
-- SemanticMediaWiki | -- SemanticMediaWiki | ||
if not args.nosmw then | if not args.nosmw then | ||
setProperty(i_name); | setProperty(i_name, i_v); | ||
end | end | ||
53行目: | 57行目: | ||
end | end | ||
return '[' ..url ..' ' ..name ..'] ' ..i_name2 ..' - [[Instagram]]'; | if verified == '' then | ||
return '[' ..url ..' ' ..name ..'] ' ..i_name2 ..' - [[Instagram]]'; | |||
end | |||
return '[' ..url ..' ' ..name ..'] ' ..i_name2 ..' [[ファイル:認証バッジ.png|15px]] - [[Instagram]]'; | |||
end | end | ||
return p; | return p; |
2022年2月11日 (金) 00:41時点における版
このモジュールについての説明文ページを モジュール:Instagram/doc に作成できます
local p = {};
local function setProperty(t_name, i_v)
-- メイン空間のみ
if not mw.title.getCurrentTitle().namespace == 0 then
return true;
end
if not mw.smw then
return true;
end
local dataStore = {}
dataStore['Instagramアカウント'] = t_name
dataStore['認証バッジ'] = i_v
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:Instagram', removeBlanks = false, parentFirst = true });
-- Instagram ID
local i_name = args[1] or args.id or '';
-- Instagram URL
local formatterURL = "https://instagram.com/$1";
local url = mw.ustring.gsub(formatterURL, "\$1", i_name);
-- Instagram 表示名
local name = args[2] or args.name or '';
-- Instagram 認証バッジ
local verified = args[3] or args.v or '';
-- SemanticMediaWiki
if not args.nosmw then
setProperty(i_name, i_v);
end
-- Instagram 表示名デフォルト
if name == '' then
name = mw.ustring.gsub(mw.title.getCurrentTitle().text,"%s+%b()$","");
end
local i_name2 = '(@' .. i_name ..')';
if mw.ustring.match(name, '%(' ..i_name .. '%)$') then
i_name2 = '';
end
if verified == '' then
return '[' ..url ..' ' ..name ..'] ' ..i_name2 ..' - [[Instagram]]';
end
return '[' ..url ..' ' ..name ..'] ' ..i_name2 ..' [[ファイル:認証バッジ.png|15px]] - [[Instagram]]';
end
return p;