diff --git a/src/General/Header.coffee b/src/General/Header.coffee index d8592edce..1134a4f6c 100644 --- a/src/General/Header.coffee +++ b/src/General/Header.coffee @@ -186,7 +186,7 @@ Header = return unless boardnav boardnav = boardnav.replace /(\r\n|\n|\r)/g, ' ' as = $$ '#full-board-list a[title]', Header.boardList - re = /[\w@]+(-(all|title|replace|full|index|catalog|archive|expired|text:"[^"]+"(,"[^"]+")?))*|[^\w@]+/g + re = /[\w@]+(-(all|title|replace|full|index|catalog|archive|expired|(mode|sort|text):"[^"]+"(,"[^"]+")?))*|[^\w@]+/g nodes = (Header.mapCustomNavigation t, as for t in boardnav.match re) $.add list, nodes @@ -202,6 +202,11 @@ Header = url = m2 '' + indexOptions = [] + t = t.replace /-(?:mode|sort):"([^"]+)"/g, (m0, m1) -> + indexOptions.push m1.toLowerCase().replace(/\ /g, '-') + '' + if /^toggle-all/.test t a = $.el 'a', className: 'show-board-list-button' @@ -252,6 +257,9 @@ Header = else return a.firstChild # Its text node. + if Conf['JSON Index'] and indexOptions.length and a.host is location.host and /\/$/.test(a.pathname) + a.href += (if a.hash then '/' else '#') + indexOptions.join('/') + if /-archive/.test t if href = Redirect.to 'board', {boardID} a.href = href diff --git a/src/General/Settings/Advanced.html b/src/General/Settings/Advanced.html index e6b5f38ef..420a1a711 100644 --- a/src/General/Settings/Advanced.html +++ b/src/General/Settings/Advanced.html @@ -32,6 +32,8 @@
g-text:"Install Gentoo"g-indexg-catalogg-mode:"infinite scrolling"g-sort:"creation date"external-text:"Google","http://www.google.com"g-index-text:"Technology Index"toggle-all