Add protocol handler
This commit is contained in:
parent
32b581a6c4
commit
63a5e3f8c9
|
@ -60,8 +60,7 @@ TEMPLATE = """<!DOCTYPE html>
|
||||||
<p>Powered by <a href="https://ganarchy.autistic.space/">GAnarchy</a>. AGPLv3-licensed. <a href="https://cybre.tech/SoniEx2/ganarchy">Source Code</a>.</p>
|
<p>Powered by <a href="https://ganarchy.autistic.space/">GAnarchy</a>. AGPLv3-licensed. <a href="https://cybre.tech/SoniEx2/ganarchy">Source Code</a>.</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/">Main page</a>.
|
<a href="/">Main page</a>.
|
||||||
<!-- commented out because browsers suck :( -->
|
<a href="{{ base_url|e }}" onclick="event.preventDefault(); navigator.registerProtocolHandler('web+ganarchy', this.href + '?url=%s', 'GAnarchy');">Register web+ganarchy: URI handler</a>.
|
||||||
<!--<a href="{{ base_url|e }}" onclick="event.preventDefault(); navigator.registerProtocolHandler('web+ganarchy', this.href + 'project/%s', 'GAnarchy');">Register web+ganarchy: URI handler</a>.-->
|
|
||||||
</p>
|
</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
// GAnarchy - project homepage generator
|
||||||
|
// Copyright (C) 2019 Soni L.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var url = new URL(document.location.href);
|
||||||
|
var target = url.searchParams.get("url");
|
||||||
|
if (target !== null) {
|
||||||
|
var project = target.match(/^web\+ganarchy\:([a-fA-F0-9]+)$/);
|
||||||
|
if (project !== null) {
|
||||||
|
// some browsers don't like it when you set this directly
|
||||||
|
url.search = "";
|
||||||
|
url.pathname = "/project/" + project[1];
|
||||||
|
document.location = url.href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
Loading…
Reference in New Issue