/* Copyright (C) 2016 Andrew Murrell The JavaScript code in this page is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (GNU GPL) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The code is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. As additional permission under GNU GPL version 3 section 7, you may distribute non-source (e.g., minimized or compacted) forms of that code without the copy of the GNU GPL normally required by section 4, provided you include this license notice and a URL through which recipients can access the Corresponding Source. */ function init() { /* Search Bar Handling */ var searchbar = document.getElementById("search"); searchbar.onfocus = function() { this.value = ""; } searchbar.onblur = function() { if (this.value == "") { this.value = "Search"; } clear(); initSections(); } searchbar.onkeyup = clear;//function() { if (event.keycode == 13) clear }; initSections(); } function initSections() { addSection("Writing"); addItem("Writing", mkItem("http://365tomorrows.com/12/03/a-simple-lament/", "365 Tomorrows: A Simple Lament", [["FF", "Flash Fiction"]])); addItem("Writing", mkItem("./DND/Tastavi.html", "Tastavi's Backstory", [["SS", "Short Story"]])); addItem("Writing", mkItem("./DND/SpellGauntlet.txt", "Spell Gauntlet: Practical Spellcasting", [["FF", "Flash Fiction"], ["SS", "Short Story"], ["WP", "WIP"]])); addItem("Writing", mkItem("./DND/SoP.txt", "Psionic Schools for D&D", [["ES", "Essay"], ["HB", "Homebrew"]])); /*addItem("Writing", mkItem("./DND/Psionist.html", "D&D 5e Psionist Class", [//["ES", "Essay"], ["HB", "Homebrew"]]));*/ addSection("Programming"); addItem("Programming", mkItem("./DND/WaterdeepBazaar/WaterdeepBazaar.html", "Waterdeep Bazaar: Marketplace Generator", [["DM", "DMing Resource"], ["WP", "WIP"]])); /*addSection("Music"); addItem("Music", mkItem("./Playlists.html", "Playlists", [["WP", "WIP"]]));*/ //addSection("Art"); /*addSection("Misc"); addItem("Misc", mkItem("./Reading_List.html", "Reading List", [["WP", "WIP"]]));*/ } function mkItem(href, title, tags) { return { href: href, title: title, tags: tags }; } function addSection(name) { // add h2 with id 'name' there. var append = "

" + name + "

"; // add empty table there 'name-tbl' append += "
"; // find 'links' document.getElementById("links").innerHTML += append; } function addItem(section, item) { var append = "" + item.title + ""; for (i = 0; i < item.tags.length; i++) { append += "" + item.tags[i][1] + ""; } append += ""; document.getElementById(section + "-tbl").innerHTML += append; } function clear() { document.getElementById("links").innerHTML = ""; } onload = init;