Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Usage  





2 See also  














Module:EditAtWikidata: Difference between revisions






ak:Module:EditAtWikidata

Ænglisc
Аԥсшәа
العربية
Արեւմտահայերէն

Asturianu
Авар
Azərbaycanca
تۆرکجه
Basa Bali

 / Bân-lâm-gú
Беларуская (тарашкевіца)

Bikol Central
Bosanski
Català
Cebuano
Čeština
Cymraeg
Dansk
Eesti
Ελληνικά
Эрзянь
Español
Euskara
فارسی
Fiji Hindi
Français
Galego
گیلکی

/Hak-kâ-ngî

Hausa
ि
Igbo
Ilokano
Bahasa Indonesia
Íslenska
Italiano
Jawa


Ikinyarwanda
Kurdî
Latviešu
Lietuvių
ि
Македонски

Malti


مصرى
Bahasa Melayu
Minangkabau

Nederlands


Norsk bokmål
ି
Oʻzbekcha / ўзбекча


Tok Pisin
Polski
Português
Qaraqalpaqsha
Română
Sakizaya


سرائیکی
Scots
Shqip

Simple English
Slovenščina
کوردی
Српски / srpski
Srpskohrvatski / српскохрватски
Sunda
Suomi
Svenska
Tagalog
ி
Tarandíne
 


Тоҷикӣ
Türkçe
Türkmençe
Українська
اردو
ئۇيغۇرچە / Uyghurche
Vahcuengh
Vèneto
Tiếng Vit
Winaray

Yorùbá

Zazaki

 

Edit links
 









Module
Talk
 

















Read
View source
View history
 








Tools
   


Actions  



Read
View source
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
Meta-Wiki
Wikiquote
Wikiversity
Wikivoyage
 
















Appearance
   

 





Help

Permanently protected module

From Wikipedia, the free encyclopedia
 


Browse history interactively
 Previous edit
Content deleted Content added
copy over nbsp option from sandbox
update from Module:EditAtWikidata/sandbox per talk: tweaks + greatly reduce memory usage + class=noprint
 
Line 1: Line 1:

-- Module to display an icon with a tooltip such as "Edit this at Wikidata".

-- Module to display an icon with a tooltip such as "Edit this at Wikidata".

-- Icon will be linked to the Wikidata entry for the article where this is placed.

-- Icon is linked to the Wikidata entry for the article where this is placed.

-- This message is only displayed if a local_parameter is not supplied

-- This message is only displayed if a local_parameter is not supplied

-- i.e. when called from a template, it can be coded not to display the message

-- i.e. when called from a template, it can be coded not to display the message.

-- when a local parameter is in use, preventing the value form Wikidata being fetched.

-- The qid of a Wikidata entry can optionally be supplied for testing outside the article.

-- The qid of a Wikidata entry can optionally be supplied for testing outside the article.

-- Usage:

-- Usage:

Line 16: Line 15:

}

}



p.showMessage = function(frame)

local function trimToNil(text)

-- Return trimmed non-empty text, or nil.

-- There may be a local parameter supplied, if it's blank, set it to nil

if type(text) == 'string' then

local local_parm = mw.text.trim(frame.args[1] or "")

return text:match('(%S.-)%s*$')

if local_parm and (local_parm == "") then local_parm = nil end

end


end

-- If there is a local parameter used, we don't want to display the message

if local_parm then return nil end


-- Can take a named parameter |qid which is the Wikidata ID for the article.

-- This will not normallybe used except for testing outside the article.

local qid = frame.args.qid

if qid and (qid == "") then qid = nil end


-- The module can take a parameter pid=

-- which will create a link to that property in the Wikidata entry for the article

local propertyID = mw.text.trim(frame.args.pid or "")


-- Get the object containing all the claims for the article

local entity = mw.wikibase.getEntityObject(qid)

if entity then

local thisQid

if qid then thisQid = qid else thisQid = entity.id end


-- Named parameter nbsp allows replacing the leading space with  

local space

if frame.args.nbsp and (frame.args.nbsp ~= "") then

space = " "

else

space = " "

end



function p._showMessage(args)

local local_parm = trimToNil(args[1])

if local_parm then return "" end

-- Parameter qid=x specifies the Wikidata ID for the article.

-- This is not normally used except for testing outside the article.

local qid = trimToNil(args.qid) or mw.wikibase.getEntityIdForCurrentPage()

if qid and mw.wikibase.entityExists(qid) then

-- Parameter pid=x uses x as an anchor in the link to the Wikidata entry.

local anchor = trimToNil(args.pid)

-- Parameter nbsp replaces the leading space with  

local space = trimToNil(args.nbsp) and " " or " "

return

return

space .. "[[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=" ..

space ..

"[[File:OOjs UI icon edit-ltr-progressive.svg|frameless|text-top|10px" ..

i18n.message ..

"|alt=" .. i18n.message ..

" |link=https://www.wikidata.org/wiki/" ..

"|link=https://www.wikidata.org/wiki/" .. qid ..

(anchor and ("#" .. anchor) or "") ..

thisQid ..

"|class=noprint" ..

(propertyID == "" and "" or ("#" .. propertyID)) ..

"|" .. i18n.message .. "]]"

"|" .. i18n.message ..

"]]"

end

end

return ""

end


function p.showMessage(frame)

return p._showMessage(frame.args)

end

end




Latest revision as of 22:49, 13 March 2022

Module to display an icon with a tooltip such as "Edit this at Wikidata"

Usage

To always display the icon:

Edit this at Wikidata

To display the icon depending on a local parameter not existing:

To test the functionality outside of an article:

To make the link point to the given property at the Wikidata entry:

See also

-- Module to display an icon with a tooltip such as "Edit this at Wikidata".
-- Icon is linked to the Wikidata entry for the article where this is placed.
-- This message is only displayed if a local_parameter is not supplied
-- i.e. when called from a template, it can be coded not to display the message.
-- The qid of a Wikidata entry can optionally be supplied for testing outside the article.
-- Usage:
-- {{#invoke:EditAtWikidata|showMessage|local_parameter}}
-- {{#invoke:EditAtWikidata|showMessage|qid=<ArticleID>|local_parameter}}

local p = {}

local i18n =
{
 ["message"] = "Edit this at Wikidata"
}

local function trimToNil(text)
 -- Return trimmed non-empty text, or nil.
 if type(text) == 'string' then
  return text:match('(%S.-)%s*$')
 end
end

function p._showMessage(args)
 local local_parm = trimToNil(args[1])
 if local_parm then return "" end
 -- Parameter qid=x specifies the Wikidata ID for the article.
 -- This is not normally used except for testing outside the article.
 local qid = trimToNil(args.qid) or mw.wikibase.getEntityIdForCurrentPage()
 if qid and mw.wikibase.entityExists(qid) then
  -- Parameter pid=x uses x as an anchor in the link to the Wikidata entry.
  local anchor = trimToNil(args.pid)
  -- Parameter nbsp replaces the leading space with &nbsp;
  local space = trimToNil(args.nbsp) and "&nbsp;" or " "
  return
   space ..
   "[[File:OOjs UI icon edit-ltr-progressive.svg|frameless|text-top|10px" ..
   "|alt=" .. i18n.message ..
   "|link=https://www.wikidata.org/wiki/" .. qid ..
   (anchor and ("#" .. anchor) or "") ..
   "|class=noprint" ..
   "|" .. i18n.message ..
   "]]"
 end
 return ""
end

function p.showMessage(frame)
 return p._showMessage(frame.args)
end

return p

Retrieved from "https://en.wikipedia.org/w/index.php?title=Module:EditAtWikidata&oldid=1076968612"

Categories: 
Modules subject to page protection
Wikidata modules
Modules using data from Wikidata
Hidden category: 
Wikipedia fully protected modules
 



This page was last edited on 13 March 2022, at 22:49 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki