diff --git a/actaddmanual/index.html b/actaddmanual/index.html new file mode 100644 index 0000000..2c51df0 --- /dev/null +++ b/actaddmanual/index.html @@ -0,0 +1,24 @@ + + + + + + + + + + + Actually Additions Manual + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/actaddmanual/index.js b/actaddmanual/index.js new file mode 100644 index 0000000..4258435 --- /dev/null +++ b/actaddmanual/index.js @@ -0,0 +1,67 @@ +const replacements = new Map(); +replacements.set(/([^<]*)/g, function (content) { + return `${content}` +}); +replacements.set(/([^<]*)/g, function (content) { + return `${content}` +}); +replacements.set(//g, function (_content) { + return "
" +}); +replacements.set(/([^<]*)/g, function (content) { + return `${content}` +}); +replacements.set(/([^<]*)/g, function (content) { + return `${content}` +}); + +$.ajax({ + url: "https://cdn.jsdelivr.net/gh/Ellpeck/ActuallyAdditions/src/main/resources/assets/actuallyadditions/lang/en_US.lang", + cache: false, + success: populateManual +}); + +function populateManual(lang) { + let startIndex = lang.indexOf("#Booklet Chapters"); + let data = lang.substring(startIndex + 18); + + let entries = $("#entries"); + let sidebar = $("#sidebar"); + + for (let topic of data.split("\n\n")) { + let lines = topic.split("\n"); + let t = '
'; + // first line is name + let name = lines[0].substring(lines[0].indexOf("=") + 1); + let id = lines[0].match(/chapter\.([^\.]*)\.name/)[1]; + sidebar.append(`${name}`); + t += ``; + t += `

${name}

`; + // following lines are content + for (let i = 1; i < lines.length; i++) { + let text = lines[i].substring(lines[i].indexOf("=") + 1); + t += `

${replaceFormatting(text)}

`; + } + t += "
"; + entries.append(t); + } + + // Move to anchor now that it's loaded + if (window.location.hash.startsWith("#")) { + var anchor = $(window.location.hash); + if (anchor.length) { + $('html, body').animate({ + scrollTop: anchor.offset().top + }, 0); + } + } +} + +function replaceFormatting(text) { + for (let [k, v] of replacements.entries()) { + text = text.replace(k, function (_substring, group) { + return v(group); + }); + } + return text; +} \ No newline at end of file diff --git a/actaddmanual/style.css b/actaddmanual/style.css new file mode 100644 index 0000000..467ec8a --- /dev/null +++ b/actaddmanual/style.css @@ -0,0 +1,64 @@ +body { + font-family: Roboto; + margin-top: 30px; + margin-bottom: 30px; + background-color: #e2e2e2; +} + +.item { + color: blue; +} + +.imp { + color: green; +} + +.entry { + width: 85%; + display: block; + margin-top: 20px; + margin-left: auto; + margin-right: auto; + padding-top: 30px; + padding-bottom: 30px; + padding-left: 40px; + padding-right: 40px; + background-color: white; +} + +#entries { + margin-left: 300px; +} + +#sidebar { + height: 100%; + width: 300px; + position: fixed; + z-index: 1; + top: 0; + left: 0; + background-color: white; + overflow-x: hidden; + padding-top: 20px; +} + +#sidebar a { + padding: 5px 5px 5px 20px; + text-decoration: none; + color: #686868; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +#sidebar a:hover { + color: black; +} + +.anchor { + display: block; + position: relative; + top: -40px; + visibility: hidden; +} \ No newline at end of file