summaryrefslogtreecommitdiff
path: root/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/fc.js8
-rw-r--r--assets/js/fcac.js5
-rw-r--r--assets/js/newsbanner.js28
-rw-r--r--assets/js/searchform.js39
4 files changed, 80 insertions, 0 deletions
diff --git a/assets/js/fc.js b/assets/js/fc.js
new file mode 100644
index 0000000..ae60b50
--- /dev/null
+++ b/assets/js/fc.js
@@ -0,0 +1,8 @@
+---
+---
+ import Comments from '{{ "/assets/mscomm/comments.js" | relative_url }}'
+ export function loadComments() {
+ document.getElementById('load-comments-btn').remove();
+ customElements.define('oom-comments', Comments);
+ }
+ window.loadComments = loadComments;
diff --git a/assets/js/fcac.js b/assets/js/fcac.js
new file mode 100644
index 0000000..d14d42b
--- /dev/null
+++ b/assets/js/fcac.js
@@ -0,0 +1,5 @@
+document.addEventListener('DOMContentLoaded', function () {
+ const btn = document.getElementById('load-comments-btn');
+ btn.addEventListener('click', loadComments);
+});
+
diff --git a/assets/js/newsbanner.js b/assets/js/newsbanner.js
new file mode 100644
index 0000000..1a06f2b
--- /dev/null
+++ b/assets/js/newsbanner.js
@@ -0,0 +1,28 @@
+---
+---
+ document.addEventListener("DOMContentLoaded", function() {
+ {% assign news_ids = site.data.news | map: 'id' | jsonify %}
+
+ const ids = {{ news_ids }};
+ for (currId of ids) {
+ const currentBanner = document.getElementById(currId);
+ if (!currentBanner) {
+ continue;
+ }
+ const closeLink = currentBanner.firstElementChild;
+ const currentNewsClosed = localStorage.getItem(currId+"closed");
+ if (currentNewsClosed === "true") {
+ currentBanner.style.display = "none";
+ }
+
+ function closeBanner(evt) {
+ currentBanner.style.display = "none";
+ const storId = evt.currentTarget.closeArg + "closed";
+ localStorage.setItem(storId, "true");
+ }
+
+ closeLink.closeArg=currId;
+ closeLink.addEventListener("click", closeBanner);
+ }
+
+ });
diff --git a/assets/js/searchform.js b/assets/js/searchform.js
new file mode 100644
index 0000000..c18311c
--- /dev/null
+++ b/assets/js/searchform.js
@@ -0,0 +1,39 @@
+ // search
+ function query(queryterm) {
+ var result = do_search(queryterm);
+ const rbase = document.getElementById("results");
+ rbase.textContent = "";
+ if (result.length) {
+ var root = rbase.appendChild(document.createElement("ul"));
+ result.forEach(function(p) {
+ var li = document.createElement("li");
+ var el = li.appendChild(document.createElement("a"));
+ el.textContent = p.title;
+ el.href = p.url;
+ // converted to page, to more score
+ /*el = li.appendChild(document.createElement("span"));
+ el.textContent = " [score: " + r.score.toString() + "]";*/
+ root.appendChild(li);
+ });
+ } else {
+ var el = document.createElement("p");
+ el.textContent = "No results";
+ rbase.appendChild(el);
+ }
+ document.getElementById("qterm").textContent = queryterm;
+ }
+
+ // Function to be called on submit
+ function submitSearch() {
+ console.log("Search submitted");
+ const qbox = document.getElementById("input_qterm").value;
+ if (qbox.length !== 0) {
+ query(qbox);
+ }
+ }
+
+ // Attach event handler to form submission
+ document.getElementById("searchForm").onsubmit = function(ev) {
+ ev.preventDefault(); // Prevent default form submission behavior
+ submitSearch();
+ };