User:Karima Rafes/LinkUniversity.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
$(function() {
var patternWikiversity = /wikiversity/;
var str = window.location.href;
var matchesWikiversity = patternWikiversity.exec(str);
var idWikidata = null;
var wgWikibaseItemId = mw.config.get("wgWikibaseItemId");
var wgContentLanguage = mw.config.get("wgContentLanguage");
if (!wgWikibaseItemId) {
console.log("no wikidata");
return;
}else if ( matchesWikiversity !== null) {
//do nothing
return;
}
var endpoint = "https://query.wikidata.org/sparql";
var query = "PREFIX wikibase: <http://wikiba.se/ontology#> \
PREFIX wd: <http://www.wikidata.org/entity/> \
PREFIX schema: <http://schema.org/> \
select ?linkWikiversity \
where { \
?linkWikiversity a schema:Article ; \
schema:about wd:"+wgWikibaseItemId+" ; \
schema:inLanguage \""+wgContentLanguage+"\" ; \
schema:isPartOf ?wikiversity . \
?wikiversity wikibase:wikiGroup \"wikiversity\" . \
} \
limit 1";
$.ajax({
url: endpoint,
dataType: 'json',
data: {
queryLn: 'SPARQL',
query: query ,
limit: 'none',
infer: 'true',
Accept: 'application/sparql-results+json'
},
success: displayWikiversityLink,
error: displayError
});
function displayError(xhr, textStatus, errorThrown) {
console.log(textStatus);
console.log(errorThrown);
}
function displayWikiversityLink(data) {
if(data.results.bindings.length === 0){
//do nothing
}else{
$.each(data.results.bindings, function(index, bs) {
$("#firstHeading").prepend(
"<a href=\""+ bs["linkWikiversity"].value +"\" target=\"_blank\" style=\"text-decoration: none;color: inherit;\">"+
"<img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/HSWVersity.svg/45px-HSWVersity.svg.png\" />"+
"</a>"
);
});
}
}
});