diff --git a/components/layout.js b/components/layout.js index d95805e..40e1cf9 100644 --- a/components/layout.js +++ b/components/layout.js @@ -36,6 +36,9 @@ export class Layout extends HTMLElement { addEventListener('hashchange', () => { this.load() }) + this.addEventListener('hash-change', () => { + this.load() + }) } load() { diff --git a/components/nav-menu.js b/components/nav-menu.js index 99f6899..713f73d 100644 --- a/components/nav-menu.js +++ b/components/nav-menu.js @@ -42,16 +42,17 @@ export class NavMenu extends HTMLElement { this.shadowRoot.append(this.pageList) this.renderPageList() this.shadowRoot.addEventListener('click', e => { - if (this.handleLinks) { - e.preventDefault() - } if (e.target.classList.contains('page')) { + if (this.handleLinks) { + e.preventDefault() + } this.dispatchEvent(new CustomEvent( 'close-menu', {bubbles: true} )) - } - if (this.handleLinks) { - location.hash = `#${e.target.innerText}` + if (this.handleLinks) { + const hash = '#' + e.target.innerText + location.hash = hash + } } }) } diff --git a/components/page.js b/components/page.js index 71236e3..3e1dd58 100644 --- a/components/page.js +++ b/components/page.js @@ -131,7 +131,7 @@ export class Page extends HTMLElement { } display(value) { - let doc = value + let doc = value || '' if (!(/<\w/).test(doc.substring(0, 30))) { doc = `
` +
doc.replace("<", "<").replace(">", ">") +