Bruger:SimmeD/TrackScript
Følgende scripts skal indsættes i din Speciel:MyPage/common.js.
importScript('Bruger:SimmeD/Scripts/autoSporScript.js'); // [[Bruger:SimmeD/Scripts/autoSporScript.js]]
Du kan se hvordan det virker på denne lille YouTube video: https://www.youtube.com/watch?v=2ot6qz0tFqw
Jeg arbjder på et Javascript der skal kunne ved et enkelt tryk kunne opsæt sådan list:
#"Now, Diabolical" – 5:30 #"K.I.N.G." – 3:36 #"The Pentagram Burns" – 5:38 #"A New Enemy" – 5:47 #"The Rite Of Our Cross" – 5:45 #"That Darkness Shall Be Eternal" – 4:46 #"Delirium" – 5:38 #"To The Mountains" – 8:09
til:
{{Sporliste | sammenklappet = | overskrift = | ekstra_kolonne = | total_længde = | titel1 = Now, Diabolical | længde1 = 5:30 | titel2 = K.I.N.G. | længde2 = 3:36 | titel3 = The Pentagram Burns | længde3 = 5:38 | titel4 = A New Enemy | længde4 = 5:47 | titel5 = The Rite Of Our Cross | længde5 = 5:45 | titel6 = That Darkness Shall Be Eternal | længde6 = 4:46 | titel7 = Delirium | længde7 = 5:38 | titel8 = To The Mountains | længde8 = 8:09 }}
Lige på nuværende tidspunkt så er jeg kommet så langt:
var auto_track_script = function()
{
// Sprøger for en playliste
var textInput = prompt('Enter playlist:', '');
// Tjekker om input er null
if (textInput != '') {
var SongsTemplate = [];
var textArrayHashtag = textInput.split('#');
var times = [];
for (i = 1; i < textArrayHashtag.length; i++)
{
// Fjerner " fra array
var nameAndTime = textArrayHashtag[i].replace(/"/g, '');
var splitSymbol = null;
if ( nameAndTime.includes('-') ) { splitSymbol = '-'; }
if ( nameAndTime.includes('–') ) { splitSymbol = '–'; }
var stringSplit = textArrayHashtag[i].replace(/"/g, '').split(splitSymbol);
if (stringSplit[1] == null) { stringSplit[1] = ''; }
SongsTemplate.push( '\n| titel' + (i) + ' = ' + stringSplit[0] + ' \n| længde' + (i) + ' = ' + stringSplit[1] + ' ' );
times.push( stringSplit[1] );
}
// Udregner totaltid for hele albummet
var totalTime = 0;
var tmp_hour = 0;
var tmp_min = 0;
for (i = 0;i < times.length; i++)
{
var tmp_split = times[i].split(':');
tmp_min = parseInt(tmp_min) + parseInt(tmp_split[1]);
tmp_hour = parseInt(tmp_hour) + parseInt(tmp_split[0]);
if (tmp_min > 60)
{
tmp_hour = parseInt(tmp_hour) + 1;
tmp_min = parseInt(tmp_min) - 60;
}
}
// Ser om der overhovet er nogen tider at udregne/udskrive
if ( isNaN(tmp_hour) || isNaN(tmp_min) )
{
totalTime = "";
}
else
{
totalTime = tmp_hour + ':' + tmp_min;
}
// Laver skabelonen for Sporliste
var TemplateStart = ''
+ '{{Sporliste '
+ '\n| sammenklappet = '
+ '\n| overskrift = ' //+ wgPageName
+ '\n| ekstra_kolonne = '
+ '\n| total_længde = ' + totalTime;
var TemplateEnd = '\n}}';
var endResult = TemplateStart + SongsTemplate.join('') + TemplateEnd;
alert(endResult);
document.editform.wpSummary.value = document.editform.wpSummary.value + " +sporliste";
}
}
// Add the tool on the "værktøjer" list
function linkAutoTrackList() {
if (document.getElementById("t-autolist")) return;
var li_current = document.getElementById("t-whatlinkshere");
if (!li_current) return;
var li_next = li_current.nextSibling;
var ul_node = li_current.parentNode;
var li = document.createElement("li");
li.setAttribute("id", "t-autolist");
li.setAttribute("title", "Lav sporlister om til {{spor}} automatisk");
li.appendChild(document.createElement("a"));
li.firstChild.appendChild(document.createTextNode("Auto Spor Liste"));
ul_node.insertBefore(li, li_next);
}
$(linkAutoTrackList());
document.getElementById('t-autolist').onclick = auto_track_script;
Dette er bare en simpelt version af hvad den skal kunne gøre, og lige nu virker scriptet fint nok (sådan da), men jeg bliver ved med udvikle på det :)