perfectkb-yate
Version:
Yet Another Turtle Editor, forked from YASQE
80 lines (78 loc) • 3.36 kB
JavaScript
var $ = jQuery = require("jquery");
require("../node_modules/bootstrap-sass/assets/javascripts/bootstrap/affix.js");
require("../node_modules/bootstrap-sass/assets/javascripts/bootstrap/scrollspy.js");
$(document).ready(function() {
//get the latest hosted version
if ($("#cdnDownload").length > 0) {
var name = "yate";
var npmName = "perfectkb-yate";
//only draw when we've got some place to print this info (might not be on all pages where we include this js file)
$.get("https://data.jsdelivr.com/v1/package/npm/" + npmName, function(data) {
var version = data.tags.latest;
if (version) {
$("#" + name + "Css").text(
"<link href='//cdn.jsdelivr.net/npm/" +
npmName +
"@" +
version +
"/dist/" +
name +
".min.css' rel='stylesheet' type='text/css'/>"
);
$("#" + name + "JsBundled").text(
"<script src='//cdn.jsdelivr.net/npm/" + npmName + "@" + version + "/dist/" + name + ".bundled.min.js'></script" + ">"
);
$("#" + name + "Js").text(
"<script src='//cdn.jsdelivr.net/npm/" + npmName + "@" + version + "/dist/" + name + ".min.js'></script" + ">"
);
} else {
console.log("failed accessing jsdelivr api");
$("#cdnDownload").hide();
}
}).fail(function() {
console.log("failed accessing jsdelivr api");
$("#cdnDownload").hide();
});
}
var gistContainer = $("#gistContainer");
if (gistContainer.length > 0) {
$.get("https://api.github.com/users/LaurensRietveld/gists", function(data) {
var processLabel = function(origLabel) {
var label = origLabel.replace("#YATE", "YATE");
label = label.replace("#YASR", "YASR");
var splitted = label.split(" ");
if (splitted.length > 0) {
if ((splitted[0].indexOf("YATE") == 0 || splitted[0].indexOf("YASR") == 0) && splitted[0].slice(-1) == ":") {
//we want to change "#YATE: some gist" into "some gist". So, remove the first item
return splitted.splice(1).join(" ");
} else {
return splitted.join(" ");
}
} else {
return label;
}
};
data.forEach(function(gist) {
if (gist.description.indexOf("#YATE") >= 0) {
var gistDiv = $("<div>").addClass("gist").addClass("well").appendTo(gistContainer);
$("<h4>").text(processLabel(gist.description)).appendTo(gistDiv);
if (gist.files["README.md"]) {
var description = $("<p>").appendTo(gistDiv);
$.get(gist.url, function(gistFile) {
description.text(gistFile.files["README.md"].content);
});
}
var buttonContainer = $("<p>").appendTo(gistDiv);
$("<a class='btn btn-primary btn-sm' target='_blank' href='#' role='button'>Demo</a>")
.attr("href", "http://bl.ocks.org/LaurensRietveld/raw/" + gist.id)
.appendTo(buttonContainer);
$(
"<a style='margin-left: 4px;' target='_blank' class='btn btn-default btn-sm' href='#' role='button'>Code <img class='pull-right gistIcon' src='imgs/blacktocat_black.png'></a>"
)
.attr("href", gist["html_url"])
.appendTo(buttonContainer);
}
});
});
}
});