aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xlocale/translations.go21
-rw-r--r--locale/translations/de_DE.json1
-rw-r--r--locale/translations/en_US.json1
-rw-r--r--locale/translations/fr_FR.json1
-rw-r--r--locale/translations/nl_NL.json1
-rwxr-xr-xlocale/translations/pl_PL.json1
-rw-r--r--locale/translations/ru_RU.json1
-rw-r--r--locale/translations/zh_CN.json1
-rw-r--r--template/common.go3
-rw-r--r--template/html/common/layout.html1
-rw-r--r--ui/static/js.go6
-rw-r--r--ui/static/js/bootstrap.js2
-rw-r--r--ui/static/js/nav_handler.js15
13 files changed, 44 insertions, 11 deletions
diff --git a/locale/translations.go b/locale/translations.go
index 97614e1..216ca22 100755
--- a/locale/translations.go
+++ b/locale/translations.go
@@ -119,6 +119,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Liste der Tastenkürzel anzeigen",
"page.keyboard_shortcuts.go_to_previous_item": "Zum vorherigen Artikel gehen",
"page.keyboard_shortcuts.go_to_next_item": "Zum nächsten Artikel gehen",
+ "page.keyboard_shortcuts.go_to_feed": "Gehe zum Abo",
"page.keyboard_shortcuts.go_to_previous_page": "Zur vorherigen Seite gehen",
"page.keyboard_shortcuts.go_to_next_page": "Zur nächsten Seite gehen",
"page.keyboard_shortcuts.open_item": "Gewählten Artikel öffnen",
@@ -409,6 +410,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Show keyboard shortcuts",
"page.keyboard_shortcuts.go_to_previous_item": "Go to previous item",
"page.keyboard_shortcuts.go_to_next_item": "Go to next item",
+ "page.keyboard_shortcuts.go_to_feed": "Go to feed",
"page.keyboard_shortcuts.go_to_previous_page": "Go to previous page",
"page.keyboard_shortcuts.go_to_next_page": "Go to next page",
"page.keyboard_shortcuts.open_item": "Open selected item",
@@ -679,6 +681,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Voir les raccourcis clavier",
"page.keyboard_shortcuts.go_to_previous_item": "Élément précédent",
"page.keyboard_shortcuts.go_to_next_item": "Élément suivant",
+ "page.keyboard_shortcuts.go_to_feed": "Voir abonnement",
"page.keyboard_shortcuts.go_to_previous_page": "Page précédente",
"page.keyboard_shortcuts.go_to_next_page": "Page suivante",
"page.keyboard_shortcuts.open_item": "Ouvrir élément sélectionné",
@@ -970,6 +973,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Laat sneltoetsen zien",
"page.keyboard_shortcuts.go_to_previous_item": "Vorige item",
"page.keyboard_shortcuts.go_to_next_item": "Volgende item",
+ "page.keyboard_shortcuts.go_to_feed": "Ga naar feed",
"page.keyboard_shortcuts.go_to_previous_page": "Vorige pagina",
"page.keyboard_shortcuts.go_to_next_page": "Volgende pagina",
"page.keyboard_shortcuts.open_item": "Open geselecteerde link",
@@ -1259,6 +1263,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Pokaż listę skrótów klawiszowych",
"page.keyboard_shortcuts.go_to_previous_item": "Przejdź do poprzedniego artykułu",
"page.keyboard_shortcuts.go_to_next_item": "Przejdź do następnego punktu artykułu",
+ "page.keyboard_shortcuts.go_to_feed": "Przejdź do subskrypcji",
"page.keyboard_shortcuts.go_to_previous_page": "Przejdź do poprzedniej strony",
"page.keyboard_shortcuts.go_to_next_page": "Przejdź do następnej strony",
"page.keyboard_shortcuts.open_item": "Otwórz zaznaczony artykuł",
@@ -1555,6 +1560,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Показать сочетания клавиш",
"page.keyboard_shortcuts.go_to_previous_item": "Перейти к предыдущему элементу",
"page.keyboard_shortcuts.go_to_next_item": "Перейти к следующему элементу",
+ "page.keyboard_shortcuts.go_to_feed": "Перейти к подписке",
"page.keyboard_shortcuts.go_to_previous_page": "Перейти к предыдущей странице",
"page.keyboard_shortcuts.go_to_next_page": "Перейти к следующей странице",
"page.keyboard_shortcuts.open_item": "Открыть выбранный элемент",
@@ -1829,6 +1835,7 @@ var translations = map[string]string{
"page.keyboard_shortcuts.show_keyboard_shortcuts": "显示快捷键",
"page.keyboard_shortcuts.go_to_previous_item": "上一条目",
"page.keyboard_shortcuts.go_to_next_item": "下一条目",
+ "page.keyboard_shortcuts.go_to_feed": "转到订阅",
"page.keyboard_shortcuts.go_to_previous_page": "上一页",
"page.keyboard_shortcuts.go_to_next_page": "下一页",
"page.keyboard_shortcuts.open_item": "打开选定的条目",
@@ -1998,11 +2005,11 @@ var translations = map[string]string{
}
var translationsChecksums = map[string]string{
- "de_DE": "67d3a4bb4e3985ff62882ad0dc73dd86137e474d3e33d41162701a7228913b0a",
- "en_US": "db7298b54554207287e2ba15de03646164774368dad54e00197f0162d541643f",
- "fr_FR": "fb08492db1984800e5e095f0f784b9b430caa8172c7e0ecbbbc7de08f4adfa60",
- "nl_NL": "3bdd3e0150878bc9c196300c7cacb30efd01b7b5df3926950c443d01084b9cee",
- "pl_PL": "b81ddb5c5955b043c571701f84d9f3f0a75574e69240c458c7a42f3a20a5aa7e",
- "ru_RU": "343393224e21437009e047deb728e4ed036646ed3e4df6101a6bc3cd084b9996",
- "zh_CN": "74aefbf6be418ea198fa70d6ed5c7dd8bb3b7b112d9c3f90ebff41fba8c314a3",
+ "de_DE": "b1008d7ecf29c5f0cb841341cde621fd30db7a5d3ac65f8f8df31a0501d8e8ca",
+ "en_US": "d4342f431da69a4ce26162862d649c42cc395b4266e0125c5bc9df7577e401be",
+ "fr_FR": "687d1c0147eb3925911d48972b39c94a4accf2e03e7327fe99ae05e0b5f11a9f",
+ "nl_NL": "08513979f3194bb1df3207f14ea7adf81cc4a62abec347a9dacbc201ce6846f0",
+ "pl_PL": "7c445e94570e42c08268153ba63b297874e22da519eb161551fdf56957627a17",
+ "ru_RU": "03aef503278965e7dbc2f2d9b34d32d50c4e75c2834bd8814bbdd6c261450385",
+ "zh_CN": "effecdd0cd6139de8488fda0f26a6279b1958ed5ec8c7445b42e1cc361756134",
}
diff --git a/locale/translations/de_DE.json b/locale/translations/de_DE.json
index d5bbad0..aef9f2a 100644
--- a/locale/translations/de_DE.json
+++ b/locale/translations/de_DE.json
@@ -114,6 +114,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Liste der Tastenkürzel anzeigen",
"page.keyboard_shortcuts.go_to_previous_item": "Zum vorherigen Artikel gehen",
"page.keyboard_shortcuts.go_to_next_item": "Zum nächsten Artikel gehen",
+ "page.keyboard_shortcuts.go_to_feed": "Gehe zum Abo",
"page.keyboard_shortcuts.go_to_previous_page": "Zur vorherigen Seite gehen",
"page.keyboard_shortcuts.go_to_next_page": "Zur nächsten Seite gehen",
"page.keyboard_shortcuts.open_item": "Gewählten Artikel öffnen",
diff --git a/locale/translations/en_US.json b/locale/translations/en_US.json
index 83367be..15ac257 100644
--- a/locale/translations/en_US.json
+++ b/locale/translations/en_US.json
@@ -114,6 +114,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Show keyboard shortcuts",
"page.keyboard_shortcuts.go_to_previous_item": "Go to previous item",
"page.keyboard_shortcuts.go_to_next_item": "Go to next item",
+ "page.keyboard_shortcuts.go_to_feed": "Go to feed",
"page.keyboard_shortcuts.go_to_previous_page": "Go to previous page",
"page.keyboard_shortcuts.go_to_next_page": "Go to next page",
"page.keyboard_shortcuts.open_item": "Open selected item",
diff --git a/locale/translations/fr_FR.json b/locale/translations/fr_FR.json
index 9b2f47d..1aeaeeb 100644
--- a/locale/translations/fr_FR.json
+++ b/locale/translations/fr_FR.json
@@ -114,6 +114,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Voir les raccourcis clavier",
"page.keyboard_shortcuts.go_to_previous_item": "Élément précédent",
"page.keyboard_shortcuts.go_to_next_item": "Élément suivant",
+ "page.keyboard_shortcuts.go_to_feed": "Voir abonnement",
"page.keyboard_shortcuts.go_to_previous_page": "Page précédente",
"page.keyboard_shortcuts.go_to_next_page": "Page suivante",
"page.keyboard_shortcuts.open_item": "Ouvrir élément sélectionné",
diff --git a/locale/translations/nl_NL.json b/locale/translations/nl_NL.json
index ad54220..fde071b 100644
--- a/locale/translations/nl_NL.json
+++ b/locale/translations/nl_NL.json
@@ -115,6 +115,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Laat sneltoetsen zien",
"page.keyboard_shortcuts.go_to_previous_item": "Vorige item",
"page.keyboard_shortcuts.go_to_next_item": "Volgende item",
+ "page.keyboard_shortcuts.go_to_feed": "Ga naar feed",
"page.keyboard_shortcuts.go_to_previous_page": "Vorige pagina",
"page.keyboard_shortcuts.go_to_next_page": "Volgende pagina",
"page.keyboard_shortcuts.open_item": "Open geselecteerde link",
diff --git a/locale/translations/pl_PL.json b/locale/translations/pl_PL.json
index d9d4678..3a3e0f6 100755
--- a/locale/translations/pl_PL.json
+++ b/locale/translations/pl_PL.json
@@ -116,6 +116,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Pokaż listę skrótów klawiszowych",
"page.keyboard_shortcuts.go_to_previous_item": "Przejdź do poprzedniego artykułu",
"page.keyboard_shortcuts.go_to_next_item": "Przejdź do następnego punktu artykułu",
+ "page.keyboard_shortcuts.go_to_feed": "Przejdź do subskrypcji",
"page.keyboard_shortcuts.go_to_previous_page": "Przejdź do poprzedniej strony",
"page.keyboard_shortcuts.go_to_next_page": "Przejdź do następnej strony",
"page.keyboard_shortcuts.open_item": "Otwórz zaznaczony artykuł",
diff --git a/locale/translations/ru_RU.json b/locale/translations/ru_RU.json
index ef1a200..60bd4ff 100644
--- a/locale/translations/ru_RU.json
+++ b/locale/translations/ru_RU.json
@@ -116,6 +116,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "Показать сочетания клавиш",
"page.keyboard_shortcuts.go_to_previous_item": "Перейти к предыдущему элементу",
"page.keyboard_shortcuts.go_to_next_item": "Перейти к следующему элементу",
+ "page.keyboard_shortcuts.go_to_feed": "Перейти к подписке",
"page.keyboard_shortcuts.go_to_previous_page": "Перейти к предыдущей странице",
"page.keyboard_shortcuts.go_to_next_page": "Перейти к следующей странице",
"page.keyboard_shortcuts.open_item": "Открыть выбранный элемент",
diff --git a/locale/translations/zh_CN.json b/locale/translations/zh_CN.json
index 1501641..35860d7 100644
--- a/locale/translations/zh_CN.json
+++ b/locale/translations/zh_CN.json
@@ -112,6 +112,7 @@
"page.keyboard_shortcuts.show_keyboard_shortcuts": "显示快捷键",
"page.keyboard_shortcuts.go_to_previous_item": "上一条目",
"page.keyboard_shortcuts.go_to_next_item": "下一条目",
+ "page.keyboard_shortcuts.go_to_feed": "转到订阅",
"page.keyboard_shortcuts.go_to_previous_page": "上一页",
"page.keyboard_shortcuts.go_to_next_page": "下一页",
"page.keyboard_shortcuts.open_item": "打开选定的条目",
diff --git a/template/common.go b/template/common.go
index 1afb9f1..379f7f9 100644
--- a/template/common.go
+++ b/template/common.go
@@ -191,6 +191,7 @@ var templateCommonMap = map[string]string{
<ul>
<li>{{ t "page.keyboard_shortcuts.go_to_previous_item" }} = <strong>p</strong>, <strong>j</strong>, <strong>◄</strong></li>
<li>{{ t "page.keyboard_shortcuts.go_to_next_item" }} = <strong>n</strong>, <strong>k</strong>, <strong>►</strong></li>
+ <li>{{ t "page.keyboard_shortcuts.go_to_feed" }} = <strong>g + f</strong></li>
</ul>
<p>{{ t "page.keyboard_shortcuts.subtitle.pages" }}</p>
@@ -244,6 +245,6 @@ var templateCommonMap = map[string]string{
var templateCommonMapChecksums = map[string]string{
"entry_pagination": "4faa91e2eae150c5e4eab4d258e039dfdd413bab7602f0009360e6d52898e353",
"item_meta": "34deb081a054f2948ad808bdb2c8603d6ab00c58f2f50c4ead0b47ae092888eb",
- "layout": "69ba8db45fde768cf71bab7dba60cece39968a185cec58850582dec11668efec",
+ "layout": "4a5339267f67b5999a22ece7584df4c75785bc3bf95d44e1891da763aaea7991",
"pagination": "3386e90c6e1230311459e9a484629bc5d5bf39514a75ef2e73bbbc61142f7abb",
}
diff --git a/template/html/common/layout.html b/template/html/common/layout.html
index cf49fa5..312c21f 100644
--- a/template/html/common/layout.html
+++ b/template/html/common/layout.html
@@ -117,6 +117,7 @@
<ul>
<li>{{ t "page.keyboard_shortcuts.go_to_previous_item" }} = <strong>p</strong>, <strong>j</strong>, <strong>◄</strong></li>
<li>{{ t "page.keyboard_shortcuts.go_to_next_item" }} = <strong>n</strong>, <strong>k</strong>, <strong>►</strong></li>
+ <li>{{ t "page.keyboard_shortcuts.go_to_feed" }} = <strong>g + f</strong></li>
</ul>
<p>{{ t "page.keyboard_shortcuts.subtitle.pages" }}</p>
diff --git a/ui/static/js.go b/ui/static/js.go
index 5ffc0b8..02ae43d 100644
--- a/ui/static/js.go
+++ b/ui/static/js.go
@@ -85,6 +85,7 @@ unsubscribeFromFeed(){let unsubscribeLinks=document.querySelectorAll("[data-acti
goToPage(page,fallbackSelf){let element=document.querySelector("a[data-page="+page+"]");if(element){document.location.href=element.href;}else if(fallbackSelf){window.location.reload();}}
goToPrevious(){if(this.isListView()){this.goToPreviousListItem();}else{this.goToPage("previous");}}
goToNext(){if(this.isListView()){this.goToNextListItem();}else{this.goToPage("next");}}
+goToFeedOrFeeds(){if(this.isEntry()){let feedAnchor=document.querySelector("span.entry-website a");if(feedAnchor!==null){window.location.href=feedAnchor.href;}}else{this.goToPage('feeds');}}
goToPreviousListItem(){let items=DomHelper.getVisibleElements(".items .item");if(items.length===0){return;}
if(document.querySelector(".current-item")===null){items[0].classList.add("current-item");items[0].querySelector('.item-header a').focus();return;}
for(let i=0;i<items.length;i++){if(items[i].classList.contains("current-item")){items[i].classList.remove("current-item");if(i-1>=0){items[i-1].classList.add("current-item");DomHelper.scrollPageTo(items[i-1]);items[i-1].querySelector('.item-header a').focus();}
@@ -93,15 +94,16 @@ goToNextListItem(){let currentItem=document.querySelector(".current-item");let i
if(currentItem===null){items[0].classList.add("current-item");items[0].querySelector('.item-header a').focus();return;}
for(let i=0;i<items.length;i++){if(items[i].classList.contains("current-item")){items[i].classList.remove("current-item");if(i+1<items.length){items[i+1].classList.add("current-item");DomHelper.scrollPageTo(items[i+1]);items[i+1].querySelector('.item-header a').focus();}
break;}}}
+isEntry(){return document.querySelector("section.entry")!==null;}
isListView(){return document.querySelector(".items")!==null;}}
class LinkStateHandler{static flip(element){let labelElement=document.createElement("span");labelElement.className="link-flipped-state";labelElement.appendChild(document.createTextNode(element.dataset.labelNewState));element.parentNode.appendChild(labelElement);element.parentNode.removeChild(element);}}
-document.addEventListener("DOMContentLoaded",function(){FormHandler.handleSubmitButtons();let touchHandler=new TouchHandler();touchHandler.listen();let navHandler=new NavHandler();let keyboardHandler=new KeyboardHandler();keyboardHandler.on("g u",()=>navHandler.goToPage("unread"));keyboardHandler.on("g b",()=>navHandler.goToPage("starred"));keyboardHandler.on("g h",()=>navHandler.goToPage("history"));keyboardHandler.on("g f",()=>navHandler.goToPage("feeds"));keyboardHandler.on("g c",()=>navHandler.goToPage("categories"));keyboardHandler.on("g s",()=>navHandler.goToPage("settings"));keyboardHandler.on("ArrowLeft",()=>navHandler.goToPrevious());keyboardHandler.on("ArrowRight",()=>navHandler.goToNext());keyboardHandler.on("j",()=>navHandler.goToPrevious());keyboardHandler.on("p",()=>navHandler.goToPrevious());keyboardHandler.on("k",()=>navHandler.goToNext());keyboardHandler.on("n",()=>navHandler.goToNext());keyboardHandler.on("h",()=>navHandler.goToPage("previous"));keyboardHandler.on("l",()=>navHandler.goToPage("next"));keyboardHandler.on("o",()=>navHandler.openSelectedItem());keyboardHandler.on("v",()=>navHandler.openOriginalLink());keyboardHandler.on("m",()=>navHandler.toggleEntryStatus());keyboardHandler.on("A",()=>navHandler.markPageAsRead());keyboardHandler.on("s",()=>navHandler.saveEntry());keyboardHandler.on("d",()=>navHandler.fetchOriginalContent());keyboardHandler.on("f",()=>navHandler.toggleBookmark());keyboardHandler.on("?",()=>navHandler.showKeyboardShortcuts());keyboardHandler.on("#",()=>navHandler.unsubscribeFromFeed());keyboardHandler.on("/",(e)=>navHandler.setFocusToSearchInput(e));keyboardHandler.on("Escape",()=>ModalHandler.close());keyboardHandler.listen();let mouseHandler=new MouseHandler();mouseHandler.onClick("a[data-save-entry]",(event)=>{EntryHandler.saveEntry(event.target);});mouseHandler.onClick("a[data-toggle-bookmark]",(event)=>{EntryHandler.toggleBookmark(event.target);});mouseHandler.onClick("a[data-toggle-status]",(event)=>{let currentItem=DomHelper.findParent(event.target,"entry");if(!currentItem){currentItem=DomHelper.findParent(event.target,"item");}
+document.addEventListener("DOMContentLoaded",function(){FormHandler.handleSubmitButtons();let touchHandler=new TouchHandler();touchHandler.listen();let navHandler=new NavHandler();let keyboardHandler=new KeyboardHandler();keyboardHandler.on("g u",()=>navHandler.goToPage("unread"));keyboardHandler.on("g b",()=>navHandler.goToPage("starred"));keyboardHandler.on("g h",()=>navHandler.goToPage("history"));keyboardHandler.on("g f",()=>navHandler.goToFeedOrFeeds());keyboardHandler.on("g c",()=>navHandler.goToPage("categories"));keyboardHandler.on("g s",()=>navHandler.goToPage("settings"));keyboardHandler.on("ArrowLeft",()=>navHandler.goToPrevious());keyboardHandler.on("ArrowRight",()=>navHandler.goToNext());keyboardHandler.on("j",()=>navHandler.goToPrevious());keyboardHandler.on("p",()=>navHandler.goToPrevious());keyboardHandler.on("k",()=>navHandler.goToNext());keyboardHandler.on("n",()=>navHandler.goToNext());keyboardHandler.on("h",()=>navHandler.goToPage("previous"));keyboardHandler.on("l",()=>navHandler.goToPage("next"));keyboardHandler.on("o",()=>navHandler.openSelectedItem());keyboardHandler.on("v",()=>navHandler.openOriginalLink());keyboardHandler.on("m",()=>navHandler.toggleEntryStatus());keyboardHandler.on("A",()=>navHandler.markPageAsRead());keyboardHandler.on("s",()=>navHandler.saveEntry());keyboardHandler.on("d",()=>navHandler.fetchOriginalContent());keyboardHandler.on("f",()=>navHandler.toggleBookmark());keyboardHandler.on("?",()=>navHandler.showKeyboardShortcuts());keyboardHandler.on("#",()=>navHandler.unsubscribeFromFeed());keyboardHandler.on("/",(e)=>navHandler.setFocusToSearchInput(e));keyboardHandler.on("Escape",()=>ModalHandler.close());keyboardHandler.listen();let mouseHandler=new MouseHandler();mouseHandler.onClick("a[data-save-entry]",(event)=>{EntryHandler.saveEntry(event.target);});mouseHandler.onClick("a[data-toggle-bookmark]",(event)=>{EntryHandler.toggleBookmark(event.target);});mouseHandler.onClick("a[data-toggle-status]",(event)=>{let currentItem=DomHelper.findParent(event.target,"entry");if(!currentItem){currentItem=DomHelper.findParent(event.target,"item");}
if(currentItem){EntryHandler.toggleEntryStatus(currentItem);}});mouseHandler.onClick("a[data-fetch-content-entry]",(event)=>{EntryHandler.fetchOriginalContent(event.target);});mouseHandler.onClick("a[data-on-click=markPageAsRead]",()=>navHandler.markPageAsRead());mouseHandler.onClick("a[data-confirm]",(event)=>{(new ConfirmHandler()).handle(event);});mouseHandler.onClick("a[data-action=search]",(event)=>{navHandler.setFocusToSearchInput(event);});mouseHandler.onClick("a[data-link-state=flip]",(event)=>{LinkStateHandler.flip(event.target);},true);if(document.documentElement.clientWidth<600){let menuHandler=new MenuHandler();mouseHandler.onClick(".logo",()=>menuHandler.toggleMainMenu());mouseHandler.onClick(".header nav li",(event)=>menuHandler.clickMenuListItem(event));}
if("serviceWorker"in navigator){let scriptElement=document.getElementById("service-worker-script");if(scriptElement){navigator.serviceWorker.register(scriptElement.src);}}});})();`,
"sw": `'use strict';self.addEventListener("fetch",(event)=>{if(event.request.url.includes("/feed/icon/")){event.respondWith(caches.open("feed_icons").then((cache)=>{return cache.match(event.request).then((response)=>{return response||fetch(event.request).then((response)=>{cache.put(event.request,response.clone());return response;});});}));}});`,
}
var JavascriptsChecksums = map[string]string{
- "app": "6d1dc775cab31cdb7275e38c32c4ae714e330df897c7515e84e021878359e3d5",
+ "app": "0ad0d1aea5dc06d811998bd6cd6fede09a73ae00d682f28a850621bb750947e3",
"sw": "55fffa223919cc18572788fb9c62fccf92166c0eb5d3a1d6f91c31f24d020be9",
}
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js
index 3c2bb35..5c0bfac 100644
--- a/ui/static/js/bootstrap.js
+++ b/ui/static/js/bootstrap.js
@@ -9,7 +9,7 @@ document.addEventListener("DOMContentLoaded", function() {
keyboardHandler.on("g u", () => navHandler.goToPage("unread"));
keyboardHandler.on("g b", () => navHandler.goToPage("starred"));
keyboardHandler.on("g h", () => navHandler.goToPage("history"));
- keyboardHandler.on("g f", () => navHandler.goToPage("feeds"));
+ keyboardHandler.on("g f", () => navHandler.goToFeedOrFeeds());
keyboardHandler.on("g c", () => navHandler.goToPage("categories"));
keyboardHandler.on("g s", () => navHandler.goToPage("settings"));
keyboardHandler.on("ArrowLeft", () => navHandler.goToPrevious());
diff --git a/ui/static/js/nav_handler.js b/ui/static/js/nav_handler.js
index 5f611e0..dd10607 100644
--- a/ui/static/js/nav_handler.js
+++ b/ui/static/js/nav_handler.js
@@ -173,6 +173,17 @@ class NavHandler {
}
}
+ goToFeedOrFeeds() {
+ if (this.isEntry()) {
+ let feedAnchor = document.querySelector("span.entry-website a");
+ if (feedAnchor !== null) {
+ window.location.href = feedAnchor.href;
+ }
+ } else {
+ this.goToPage('feeds');
+ }
+ }
+
goToPreviousListItem() {
let items = DomHelper.getVisibleElements(".items .item");
if (items.length === 0) {
@@ -228,6 +239,10 @@ class NavHandler {
}
}
+ isEntry() {
+ return document.querySelector("section.entry") !== null;
+ }
+
isListView() {
return document.querySelector(".items") !== null;
}