mirror of
https://github.com/McShelby/hugo-theme-relearn.git
synced 2025-05-29 04:54:08 +00:00
cookieconsent: prepare theme and docs #1070
This commit is contained in:
parent
b38321f619
commit
4b844a8acc
4 changed files with 45 additions and 41 deletions
assets/js
|
@ -143,21 +143,21 @@ function switchTab(tabGroup, tabId) {
|
|||
|
||||
// Store the selection to make it persistent
|
||||
if (window.localStorage) {
|
||||
var selectionsJSON = window.localStorage.getItem(window.relearn.absBaseUri + '/tab-selections');
|
||||
var selectionsJSON = window.relearn.getItem(window.localStorage, window.relearn.absBaseUri + '/tab-selections');
|
||||
if (selectionsJSON) {
|
||||
var tabSelections = JSON.parse(selectionsJSON);
|
||||
} else {
|
||||
var tabSelections = {};
|
||||
}
|
||||
tabSelections[tabGroup] = tabId;
|
||||
window.localStorage.setItem(window.relearn.absBaseUri + '/tab-selections', JSON.stringify(tabSelections));
|
||||
window.relearn.setItem(window.localStorage, window.relearn.absBaseUri + '/tab-selections', JSON.stringify(tabSelections));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function restoreTabSelections() {
|
||||
if (window.localStorage) {
|
||||
var selectionsJSON = window.localStorage.getItem(window.relearn.absBaseUri + '/tab-selections');
|
||||
var selectionsJSON = window.relearn.getItem(window.localStorage, window.relearn.absBaseUri + '/tab-selections');
|
||||
if (selectionsJSON) {
|
||||
var tabSelections = JSON.parse(selectionsJSON);
|
||||
} else {
|
||||
|
@ -324,7 +324,7 @@ function initMermaid(update, attrs) {
|
|||
|
||||
var search;
|
||||
if (update) {
|
||||
search = sessionStorage.getItem(window.relearn.absBaseUri + '/search-value');
|
||||
search = window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
unmark();
|
||||
}
|
||||
var is_initialized = update ? update_func(attrs) : init_func(attrs);
|
||||
|
@ -373,7 +373,7 @@ function initMermaid(update, attrs) {
|
|||
});
|
||||
}
|
||||
if (update && search && search.length) {
|
||||
sessionStorage.setItem(window.relearn.absBaseUri + '/search-value', search);
|
||||
window.relearn.setItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value', search);
|
||||
mark();
|
||||
}
|
||||
}
|
||||
|
@ -1330,7 +1330,7 @@ function clearHistory() {
|
|||
var visitedItem = window.relearn.absBaseUri + '/visited-url/';
|
||||
for (var item in sessionStorage) {
|
||||
if (item.substring(0, visitedItem.length) === visitedItem) {
|
||||
sessionStorage.removeItem(item);
|
||||
window.relearn.removeItem(window.sessionStorage, item);
|
||||
var url = item.substring(visitedItem.length);
|
||||
// in case we have `relativeURLs=true` we have to strip the
|
||||
// relative path to root
|
||||
|
@ -1344,11 +1344,11 @@ function clearHistory() {
|
|||
|
||||
function initHistory() {
|
||||
var visitedItem = window.relearn.absBaseUri + '/visited-url/';
|
||||
sessionStorage.setItem(visitedItem + document.querySelector('body').dataset.url, 1);
|
||||
window.relearn.setItem(window.sessionStorage, visitedItem + document.querySelector('body').dataset.url, 1);
|
||||
|
||||
// loop through the sessionStorage and see if something should be marked as visited
|
||||
for (var item in sessionStorage) {
|
||||
if (item.substring(0, visitedItem.length) === visitedItem && sessionStorage.getItem(item) == 1) {
|
||||
if (item.substring(0, visitedItem.length) === visitedItem && window.relearn.getItem(window.sessionStorage, item) == 1) {
|
||||
var url = item.substring(visitedItem.length);
|
||||
// in case we have `relativeURLs=true` we have to strip the
|
||||
// relative path to root
|
||||
|
@ -1416,7 +1416,7 @@ function scrollToPositions() {
|
|||
return;
|
||||
}
|
||||
|
||||
var search = sessionStorage.getItem(window.relearn.absBaseUri + '/search-value');
|
||||
var search = window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
if (search && search.length) {
|
||||
search = regexEscape(search);
|
||||
var found = elementContains(search, elc);
|
||||
|
@ -1496,7 +1496,7 @@ function mark() {
|
|||
bodyInnerLinks[i].classList.add('highlight');
|
||||
}
|
||||
|
||||
var value = sessionStorage.getItem(window.relearn.absBaseUri + '/search-value');
|
||||
var value = window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
var highlightableElements = document.querySelectorAll('.highlightable');
|
||||
highlight(highlightableElements, value, { element: 'mark', className: 'search' });
|
||||
|
||||
|
@ -1596,7 +1596,7 @@ function highlightNode(node, re, nodeName, className) {
|
|||
}
|
||||
|
||||
function unmark() {
|
||||
sessionStorage.removeItem(window.relearn.absBaseUri + '/search-value');
|
||||
window.relearn.removeItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
var markedElements = document.querySelectorAll('mark.search');
|
||||
for (var i = 0; i < markedElements.length; i++) {
|
||||
var parent = markedElements[i].parentNode;
|
||||
|
@ -1670,7 +1670,7 @@ function elementContains(txt, e) {
|
|||
function searchInputHandler(value) {
|
||||
unmark();
|
||||
if (value.length) {
|
||||
sessionStorage.setItem(window.relearn.absBaseUri + '/search-value', value);
|
||||
window.relearn.setItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value', value);
|
||||
mark();
|
||||
}
|
||||
}
|
||||
|
@ -1682,7 +1682,7 @@ function initSearch() {
|
|||
e.addEventListener('keydown', function (event) {
|
||||
if (event.key == 'Escape') {
|
||||
var input = event.target;
|
||||
var search = sessionStorage.getItem(window.relearn.absBaseUri + '/search-value');
|
||||
var search = window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
if (!search || !search.length) {
|
||||
input.blur();
|
||||
}
|
||||
|
@ -1722,13 +1722,13 @@ function initSearch() {
|
|||
var urlParams = new URLSearchParams(window.location.search);
|
||||
var value = urlParams.get('search-by');
|
||||
if (value) {
|
||||
sessionStorage.setItem(window.relearn.absBaseUri + '/search-value', value);
|
||||
window.relearn.setItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value', value);
|
||||
}
|
||||
mark();
|
||||
|
||||
// set initial search value for inputs on page load
|
||||
if (sessionStorage.getItem(window.relearn.absBaseUri + '/search-value')) {
|
||||
var search = sessionStorage.getItem(window.relearn.absBaseUri + '/search-value');
|
||||
if (window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value')) {
|
||||
var search = window.relearn.getItem(window.sessionStorage, window.relearn.absBaseUri + '/search-value');
|
||||
inputs.forEach(function (e) {
|
||||
e.value = search;
|
||||
var event = document.createEvent('Event');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue