aboutsummaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/main.ts12
1 files changed, 9 insertions, 3 deletions
diff --git a/js/main.ts b/js/main.ts
index 7e0c8a1..2d11ea4 100644
--- a/js/main.ts
+++ b/js/main.ts
@@ -76,11 +76,15 @@ const settings = new KeyValueStore({
76 locationPrefixEls[i].addEventListener('click', e => { 76 locationPrefixEls[i].addEventListener('click', e => {
77 e.preventDefault(); 77 e.preventDefault();
78 78
79 let resp = prompt('Please enter new location: ', ''); 79 let resp = prompt('Please enter new location (gopher://... or gemini://...):', '');
80 if ((resp !== null) && (resp.trim() !== "")) { 80 if ((resp !== null) && (resp.trim() !== "")) {
81 resp = resp.trim(); 81 resp = resp.trim();
82 if (resp.indexOf('gopher://') === 0) { 82 if (resp.indexOf('gopher://') === 0) {
83 resp = resp.substring(9); 83 resp = 'gopher/' + resp.substring(9);
84 } else if (resp.indexOf('gemini://') === 0) {
85 resp = 'gemini/' + resp.substring(9);
86 } else {
87 resp = 'gopher/' + resp;
84 } 88 }
85 89
86 window.location.href = window.location.origin + '/' + resp; 90 window.location.href = window.location.origin + '/' + resp;
@@ -305,7 +309,9 @@ function generateMarkupForPlainLinks() {
305 contentEl.innerHTML = contentEl.innerHTML.replace(urlRegex, match => { 309 contentEl.innerHTML = contentEl.innerHTML.replace(urlRegex, match => {
306 let href: string = match; 310 let href: string = match;
307 if (href.indexOf('gopher://') === 0) { 311 if (href.indexOf('gopher://') === 0) {
308 href = href.replace(/^gopher:\/\/(.*)$/, location.origin + '/$1'); 312 href = href.replace(/^gopher:\/\/(.*)$/, location.origin + '/gopher/$1');
313 } else if (href.indexOf('gemini://') === 0) {
314 href = href.replace(/^gemini:\/\/(.*)$/, location.origin + '/gemini/$1');
309 } 315 }
310 return `<a href="${href}">${match}</a>`; 316 return `<a href="${href}">${match}</a>`;
311 }); 317 });