Difference between revisions of "Team:Aachen/Template:Team:Aachen/JS/references"
(Created page with "$(function() { var matches = $('.container-primary').html().match(/<ref>(.*?)<\/ref>/gi); //Step 1 build reference list var n = 1; var referenceLis...") |
|||
Line 1: | Line 1: | ||
− | $(function() { | + | $(function () { |
var matches = $('.container-primary').html().match(/<ref>(.*?)<\/ref>/gi); | var matches = $('.container-primary').html().match(/<ref>(.*?)<\/ref>/gi); | ||
+ | var uniqueReferences = [] // collecting unique references | ||
//Step 1 build reference list | //Step 1 build reference list | ||
var n = 1; | var n = 1; | ||
var referenceList = "<ol>"; | var referenceList = "<ol>"; | ||
if (matches != null) { | if (matches != null) { | ||
− | + | matches.forEach(function (match) { | |
− | + | if (match in uniqueReferences == false) | |
− | + | { | |
− | + | uniqueReferences += match; | |
− | + | n++; | |
− | + | } | |
− | + | else | |
− | + | { | |
− | + | // do not add this reference again | |
− | + | } | |
− | + | }); | |
− | + | uniq.forEach(function (reference) { | |
− | + | referenceList += "<li>" + match.replace("<ref>", "").replace("</ref>", "") + "</li>"; | |
+ | }); | ||
+ | $(referenceList + "</ol>").insertAfter($("#References").parent()); | ||
+ | var html = $('.container-primary').html(); | ||
+ | //substitute original links | ||
+ | n = 1;//reset counter | ||
+ | matches.forEach(function (match) { | ||
+ | html = html.replace(match, ' <sup><a href="#References">[' + uniqueReferences.indexOf(match) + ']</a></sup>'); | ||
+ | n++; | ||
+ | }); | ||
+ | $('.container-primary').html(html); | ||
} | } | ||
}); | }); |
Revision as of 19:32, 17 September 2015
$(function () {
var matches = $('.container-primary').html().match(/<ref>(.*?)<\/ref>/gi); var uniqueReferences = [] // collecting unique references //Step 1 build reference list var n = 1;var referenceList = "
- ";
if (matches != null) {
matches.forEach(function (match) {
if (match in uniqueReferences == false)
{
uniqueReferences += match;
n++;
}
else
{
// do not add this reference again
}
});
uniq.forEach(function (reference) {
referenceList += "
- " + match.replace("<ref>", "").replace("</ref>", "") + " ";
});$(referenceList + "
var html = $('.container-primary').html(); //substitute original links n = 1;//reset counter matches.forEach(function (match) { html = html.replace(match, ' <a href="#References">[' + uniqueReferences.indexOf(match) + ']</a>'); n++; }); $('.container-primary').html(html); }
});