diff --git a/content.js b/content.js
index 992b2f7..51aaa95 100644
--- a/content.js
+++ b/content.js
@@ -4,6 +4,28 @@ var scrapeEpisodeData=function(){
return s.replace(/[\u2018\u2019]/g, "'").replace(/[\u201c\u201d]/g, '"');
}
+ function wikify(node) {
+ // Make a copy so we can fiddle with it
+ var copy = node.cloneNode(true);
+ // Wikify all the links
+ $(copy).find('a').each(function (index) {
+ if (this.href.startsWith("https://www.fangraphs.com/players/")) {
+ this.insertAdjacentText("beforebegin", "[[");
+ this.insertAdjacentText("afterend", "]]");
+ } else {
+ this.insertAdjacentText("beforebegin", "[" + this.href + " ");
+ this.insertAdjacentText("afterend", "]");
+ }
+ });
+
+ // Preserve italics
+ $(copy).find('em').each(function (index) {
+ this.insertAdjacentText("beforebegin", "''");
+ this.insertAdjacentText("afterend", "''");
+ });
+ return straightenQuotes($(copy).text());
+ }
+
let linkCollect = new Array;
let descriptionCollect = new String;
let audioIntro = new String;
@@ -39,31 +61,12 @@ var scrapeEpisodeData=function(){
let textChecker = $(this).text();
if (index == 0 ) {
- // Make a copy so we can fiddle with it
- var copy = this.cloneNode(true);
- // Wikify all the links
- $(copy).find('a').each(function (index) {
- if (this.href.startsWith("https://www.fangraphs.com/players/")) {
- this.insertAdjacentText("beforebegin", "[[");
- this.insertAdjacentText("afterend", "]]");
- } else {
- this.insertAdjacentText("beforebegin", "[" + this.href + " ");
- this.insertAdjacentText("afterend", "]");
- }
- });
-
- // Preserve italics
- $(copy).find('em').each(function (index) {
- this.insertAdjacentText("beforebegin", "''");
- this.insertAdjacentText("afterend", "''");
- });
-
- let descriptRaw = $(copy).text();
+ let descriptRaw = wikify(this);
if (descriptRaw.startsWith("\n", 0)) {
descriptRaw = descriptRaw.substring(1);
}
descriptRaw = descriptRaw.replace(/\((\d+:[\d:]+)\)/g, function (match, time) { return "({{tcl|tc=" + time + "}})"; });
- descriptionCollect = straightenQuotes(descriptRaw);
+ descriptionCollect = descriptRaw;
if (descriptRaw.startsWith("Ben Lindbergh and Meg Rowley")) {
// Alternate the order of the hosts
@@ -76,21 +79,18 @@ var scrapeEpisodeData=function(){
}
else if (textChecker.startsWith("Link", 1)) {
- $(this).find('a').each(function() {
- let linkHref = $(this).attr('href');
- let linkText = $(this).text();
-
- let newLink = "*[" + linkHref + " " + straightenQuotes(linkText) + "]\n"
-
- linkCollect.push(newLink);
+ let lines = wikify(this).split("\n");
+ lines.forEach(function(line) {
+ line && linkCollect.push("*" + line + "\n");
});
}
else if ( textChecker.startsWith("Audio", 0)) {
- let lines = textChecker.split("\n");
+ let text = wikify(this);
+ let lines = text.split("\n");
lines.every(function(line) {
var lower = line.toLowerCase();
- var data = straightenQuotes(line.substring(line.indexOf(":") + 2));
+ var data = line.substring(line.indexOf(":") + 2);
if (lower.includes("intro")) {
audioIntro = data;
}
@@ -99,7 +99,7 @@ var scrapeEpisodeData=function(){
audioOutro = data;
// stop processing after this
return false;
- } else {
+ } else if (lower) {
audioInter.push(data);
}
return true;
@@ -107,28 +107,6 @@ var scrapeEpisodeData=function(){
}
});
- $('.fullpostentry').find('strong').each(function( index ) {
-
- let strongText = $(this).text();
- let potentialLink = $(this).next('a');
-
- console.log(strongText);
-
- if (strongText.startsWith("intr", 6)) {
- console.log('intro');
- audioIntroLink = potentialLink.attr('href');
- }
-
- else if (strongText.startsWith("inte", 6)) {
- audioInterLinks.push( potentialLink.attr('href'));
- }
-
- else if (strongText.startsWith("outro", 6)) {
- console.log('outro');
- audioOutroLink = potentialLink.attr('href');
- }
- });
-
clipboardText = "__NOTOC__";
clipboardText += "{{Episode Infobox\n\n";
clipboardText += "| epnumber=" + epNumber + "\n\n";
@@ -138,17 +116,13 @@ var scrapeEpisodeData=function(){
clipboardText += "| date=" + episodeDate + "\n\n";
clipboardText += "| duration=\n\n"; //TO DO: ADD DURATION
clipboardText += "| hosts=" + hosts + "\n\n"; //TO DO: ADD HOSTS
- clipboardText += "| intro=[" + audioIntroLink + " " + audioIntro + "]\n\n";
- //interstitials are funky
+ clipboardText += "| intro=" + audioIntro + "\n\n";
+
if (audioInter.length > 0) {
- clipboardText += "| interstitials=";
- jQuery.each(audioInter, function( index ) {
- clipboardText += "[" + audioInterLinks[index] + " ";
- clipboardText += this + "]
";
- });
- clipboardText += "\n\n";
+ clipboardText += "| interstitials=" + audioInter.join("
") + "\n\n";
}
- clipboardText += "| outro=[" + audioOutroLink + " " + audioOutro + "]\n\n}}";
+
+ clipboardText += "| outro=" + audioOutro + "\n\n}}";
clipboardText += "{{#vardefine:downloadlink|" + directLink + "}}";
clipboardText += "{{IncompleteNotice}}\n";
clipboardText += "==Summary==\n\'\'";