let converter = new showdown.Converter({ parseImgDimensions: true, headerLevelStart: 3 }); $.ajax({ dataType: "json", url: "blog/posts.json", cache: false, success: function (json) { let list = $('#blog-list'); list.html(""); for (let i = json.length - 1; i >= 0; i--) { var obj = json[i]; let id = obj["id"]; let p = ""; p += ''; p += '
'; p += '
'; p += '

' + obj["name"] + '

'; p += '
'; p += '' + obj["date"] + ""; var discussLink = obj["discuss"]; if (discussLink) p += '' p += '
'; list.append(p); $("#blog-button-" + id).on('click', function () { var post = $("#blog-post-" + id); if (post.html() !== "") { post.html(""); var discuss = $("#blog-discuss-" + id); if (discuss.length) discuss.html(""); history.pushState(null, null, "#blog"); } else { openBlogPost(id); history.pushState(null, null, "#blog-" + id); } }); } if (window.location.hash.startsWith("#blog-")) { var anchor = $(window.location.hash); if (anchor.length) { openBlogPost(window.location.hash.substring(6)); $('html, body').animate({ scrollTop: anchor.offset().top }, 0) } } } }); function openBlogPost(id) { $.get("blog/" + id + ".md", function (markdown) { let html = converter.makeHtml(markdown); $("#blog-post-" + id).html(html); var discuss = $("#blog-discuss-" + id); if (discuss.length) discuss.html("Discuss this post"); }); }