@@ -11,7 +11,7 @@ function Hallway (sites) {
11 this._el = document.createElement('div')
11 this._el = document.createElement('div')
12 this._el.id = 'hallway'
12 this._el.id = 'hallway'
13 const filterAndPage = window.location.hash.split('^')
13 const filterAndPage = window.location.hash.split('^')
14− this.finder = { filter: filterAndPage[0].trim().replace('#', ''), page: filterAndPage[1] || 1 }
14+ this.finder = { filter: stripHash(filterAndPage[0]), page: filterAndPage[1] || 1 }
15 this.cache = null
15 this.cache = null
17 this._main = document.createElement('main')
17 this._main = document.createElement('main')
@@ -214,9 +214,14 @@ function escapeHtml (unsafe) {
214 return unsafe.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''')
214 return unsafe.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''')
217+function stripHash (hash) {
218+ const decoded = decodeURIComponent(hash)
219+ return decoded.charAt(0) === '#' ? decoded.substring(1) : decoded
217function filter (name) {
222function filter (name) {
218 window.location.hash = name
223 window.location.hash = name
219 const filterAndPage = window.location.hash.split('^')
224 const filterAndPage = window.location.hash.split('^')
220− hallway.finder = { filter: filterAndPage[0].trim().replace('#', ''), page: filterAndPage[1] || 1 }
225+ hallway.finder = { filter: stripHash(filterAndPage[0]), page: filterAndPage[1] || 1 }
221 hallway.refresh()
226 hallway.refresh()