From c5014e5e73dcc8ee1ce8c65abb50bba15b5f301c Mon Sep 17 00:00:00 2001 From: Yarmo Mackenbach Date: Wed, 31 Mar 2021 14:56:13 +0200 Subject: [PATCH] Remove obsolete files --- static/styles-old.css | 439 ---------------------------- views-old/404.pug | 6 - views-old/basic.pug | 4 - views-old/encrypt.pug | 17 -- views-old/guides.pug | 67 ----- views-old/index.pug | 103 ------- views-old/partials/key_selector.pug | 24 -- views-old/profile.pug | 41 --- views-old/proofs.pug | 17 -- views-old/template.base.pug | 41 --- views-old/util/profile-url.pug | 46 --- views-old/util/qr.pug | 9 - views-old/util/qrfp.pug | 15 - views-old/util/wkd.pug | 21 -- views-old/verify.pug | 20 -- 15 files changed, 870 deletions(-) delete mode 100644 static/styles-old.css delete mode 100644 views-old/404.pug delete mode 100644 views-old/basic.pug delete mode 100644 views-old/encrypt.pug delete mode 100644 views-old/guides.pug delete mode 100644 views-old/index.pug delete mode 100644 views-old/partials/key_selector.pug delete mode 100644 views-old/profile.pug delete mode 100644 views-old/proofs.pug delete mode 100644 views-old/template.base.pug delete mode 100644 views-old/util/profile-url.pug delete mode 100644 views-old/util/qr.pug delete mode 100644 views-old/util/qrfp.pug delete mode 100644 views-old/util/wkd.pug delete mode 100644 views-old/verify.pug diff --git a/static/styles-old.css b/static/styles-old.css deleted file mode 100644 index a08e984..0000000 --- a/static/styles-old.css +++ /dev/null @@ -1,439 +0,0 @@ -/* -Copyright (C) 2021 Yarmo Mackenbach - -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 . - -Also add information on how to contact you by electronic and paper mail. - -If your software can interact with users remotely through a computer network, -you should also make sure that it provides a way for users to get its source. -For example, if your program is a web application, its interface could display -a "Source" link that leads users to an archive of the code. There are many -ways you could offer source, and different solutions will be better for different -programs; see section 13 for the specific requirements. - -You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. For -more information on this, and how to apply and follow the GNU AGPL, see . -*/ -* { - box-sizing: border-box; -} -body { - margin: 0; - color: #444; - font-family: sans-serif; - background-color: #9dd3f0; - background-image: url('/static/img/background.svg'); - background-repeat: repeat; - background-size: 512px; - background-position: -16px -16px; -} -header { - height: 64px; - padding: 8px; - margin: 0 0 48px; - font-size: 1.1em; - background-color: #fff; - box-shadow: 0 8px 16px rgba(0,0,0,0.15); -} -header .container { - display: flex; - align-items: center; - height: 100%; -} -header a.logo { - display: inline-block; - height: 100%; -} -header .logo img { - height: 100%; - margin: 0 1em 0 0; -} -nav a { - margin-left: 12px; -} -footer { - color: #777; - margin: 64px 0; - padding: 0 32px; - font-size: 0.9em; - overflow-wrap: break-word; -} -footer a { - color: #777; -} -.container { - /*max-width: 720px;*/ - max-width: 770px; - width: 100%; - margin: 0 auto; -} -.content { - padding: 16px 32px 32px; - background-color: #fff; - border-radius: 8px; - box-shadow: 0 8px 16px rgba(0,0,0,0.15); -} -.spacer { - flex: 1; -} -.flex-column-container { - display: flex; - flex-wrap: wrap; -} -.flex-column { - flex: 1 0 250px; -} -.bigBtn { - display: inline-block; - margin-bottom: 12px; - padding: 6px 12px; - color: #fff; - font-size: 1.1em; - text-transform: uppercase; - text-decoration: none; - background: #3f9acc; - background: linear-gradient(0deg, #3892c2 0%, #6abae5 100%); - border: 0; - border-radius: 8px; - cursor: pointer; -} -.bigBtn:hover { - color: #fff; - background-color: #72bde6; - background: linear-gradient(0deg, #4da4d2 0%, #82c5ea 100%); -} -.fancyBtn { - display: inline-block; - margin-bottom: 12px; - padding: 8px 24px; - color: #fff; - font-size: 1.1em; - text-transform: uppercase; - text-decoration: none; - font-weight: bold; - background: #8b76f2; - /* background: linear-gradient(90deg, #8b76f2 0%, #6abae5 100%); */ - background: linear-gradient(90deg, #6957c4 0%, #43afea 100%); - border: 0; - border-radius: 64px; - cursor: pointer; -} -.fancyBtn:hover { - color: #fff; - background-color: #a595f4; - /* background: linear-gradient(90deg, #a595f4 0%, #93d9ff 100%); */ - /* background: linear-gradient(90deg, #6957c4 0%, #43afea 100%); */ - background: linear-gradient(90deg, #8b76f2 0%, #6abae5 100%); -} -.full-width { - width: 100% !important; -} - -h1 { - margin: 0 0 24px 0; - color: #222; - /* background-color: #9dd3f0; */ - background-color: #fff; - text-align: center; - cursor: default; -} -h1::after { - content: ""; - display: block; - width: 100%; - height: 4px; - margin-top: 12px; - background: linear-gradient(90deg, #8b76f2 0%, #6abae5 100%); - border-radius: 2px; -} -h2, h3 { - margin-top: 32px; - color: #222; - cursor: default; -} -h2 { - padding-right: 32px; -} -h2::after { - content: ""; - display: block; - width: 100%; - height: 2px; - /* background: linear-gradient(90deg, #8b76f2 0%, #3892c2 50%, #6abae5 100%); */ - background: linear-gradient(90deg, #3892c2 0%, #6abae5 100%); - border-radius: 1px; -} -p { - line-height: 1.4em; - font-size: 1.1em; -} -a { - color: #3f9acc; -} -a:hover { - color: #6957c4; -} -a.bigBtn { - margin-right: 8px; -} -a.header-anchor { - text-decoration: none; - opacity: 0.5; -} -a.header-anchor:hover { - opacity: 1; -} -ul { - list-style: "- "; -} -pre { - white-space: pre-wrap; -} -code { - padding: 2px; - background-color: #eee; - border: solid 1px #ddd; - user-select: all; -} -pre code { - display: block; - padding: 8px; - word-break: break-word; - /* word-break: break-all; */ -} -textarea { - width: 100%; - height: 128px; - resize: vertical; - font-size: 0.9rem; -} -input[type="text"] { - margin: 0 12px 12px 0; - width: 45%; - font-size: 0.9rem; -} -input[type="radio"] { - vertical-align: sub; -} -input[type="submit"] { - width: 100%; -} -input[type="submit"][disabled="true"] { - cursor: default; - pointer-events: none; - opacity: 0.3; -} -select { - margin: 0 0 16px 0; -} -.green, a.proofUrl.proofUrl--verified { - color: #499539; -} -.red { - color: red; -} -.label { - display: inline-block; - margin: 0 0 8px; -} -.modes { - display: none; -} -.modes.modes--visible { - display: block; -} - -.container--profile { - margin-top: 64px; -} -.container--profile .content { - padding-top: 32px; - font-size: 1.2em; -} -.container--profile footer { - text-align: center; -} - -.guides { - display: flex; - flex-wrap: wrap; -} -.guides__section { - flex: 1 0 250px; -} -.guides__section a { - line-height: 1.8em; -} - -#profileHeader { - display: flex; - flex-direction: row; - align-items: center; - margin-bottom: 32px; - background-color: #c4e3f657; - padding: 15px; - border-radius: 15px; -} -#profileAvatar { - width: 100%; - max-width: 128px; - border-radius: 100%; - margin-right: 32px; -} -#profileName { - font-size: 1.6em; - font-weight: bold; - display: inline-block; - max-width: 100%; - white-space: wrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#profileData { - background-color: #dceef957; - padding: 15px; - border-radius: 15px; -} - -.profileDataItem { - position: relative; - display: flex; - flex-wrap: wrap; - justify-content: space-between; -} -.profileDataItem--separator { - margin-top: 1em; - font-weight: bold; -} -.profileDataItem__label { - display: inline-block; - position: relative; - flex: 1; - min-height: 32px; - padding: 0 8px; - max-width: 20%; - font-size: 0.9em; - line-height: 1.6em; - color: #777; - text-align: right; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - text-transform: capitalize; -} -.profileDataItem__value { - display: inline-block; - flex: 1; - min-height: 32px; - max-width: 100%; - padding: 0 8px; -} -.profileDataItem__value a { - display: inline-block; - max-width: 100%; - margin-right: 8px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.profileDataItem__value small { - color: white; - background: #2178ff; - border-radius: 6px; - padding: 2.8px 5px; - font-size: 0.65em; - vertical-align: middle; -} - -a.proofUrl { - color: #777; -} -a.proofQR { - line-height: 0; - background-color: #499539; - border-radius: 2px; -} -a.proofQR:hover { - background-color: #6abb5a; -} - -#form-generate-signature-profile { - margin-bottom: 2em; - font-size: 0.9rem; -} - -#qrcode { - display: flex; - justify-content: center; - max-width: 100%; - width: auto !important; - height: auto !important; - margin: 32px auto; -} - -noscript { - display: block; - margin-bottom: 2rem; - padding: 8px; - background-color: #f0e68c; - text-align: center; -} -noscript p { - margin: 0; - font-size: 1rem; -} - -@media (max-width: 680px) { - #profileHeader { - flex-direction: column; - } - #profileAvatar { - margin: 0; - } - #profileName { - font-size: 1.2em; - } - .profileDataItem { - flex-direction: column; - margin-bottom: 8px; - } - .profileDataItem__label { - max-width: 100%; - min-height: 28px; - text-align: left; - } - .profileDataItem__value { - min-height: 28px; - } - .profileDataItem--noLabel .profileDataItem__label { - display: none; - } - - #profileData .profileDataItem__value a:first-child { - max-width: 85%; - } - - #profileData #profileProofs .profileDataItem__value a:first-child { - display: block; - } - - - input[type="text"] { - width: 100%; - } -} diff --git a/views-old/404.pug b/views-old/404.pug deleted file mode 100644 index 7de3aa3..0000000 --- a/views-old/404.pug +++ /dev/null @@ -1,6 +0,0 @@ -extends template.base.pug - -block content - .content - h1 404 - p The requested page could not be found :( diff --git a/views-old/basic.pug b/views-old/basic.pug deleted file mode 100644 index bf01cdc..0000000 --- a/views-old/basic.pug +++ /dev/null @@ -1,4 +0,0 @@ -extends template.base.pug - -block content - .content !{ content } diff --git a/views-old/encrypt.pug b/views-old/encrypt.pug deleted file mode 100644 index 1ee7aa4..0000000 --- a/views-old/encrypt.pug +++ /dev/null @@ -1,17 +0,0 @@ -extends template.base.pug - -block content - .content - noscript - p Keyoxide requires JavaScript to function. - - h1 Encrypt - form#form-encrypt(method='post') - h3 Recipient - label(for='modeSelect') Mode: - include partials/key_selector - - h3 Message - textarea#message(name='message') - p#result - input.bigBtn(type='submit' name='submit' value='ENCRYPT MESSAGE') diff --git a/views-old/guides.pug b/views-old/guides.pug deleted file mode 100644 index c7d2a79..0000000 --- a/views-old/guides.pug +++ /dev/null @@ -1,67 +0,0 @@ -extends template.base.pug - -block content - .content - h1 Guides - .guides - .guides__section - h3 Using Keyoxide - a(href='/guides/verify') Verifying a signature - br - a(href='/guides/encrypt') Encrypting a message - br - a(href='/guides/proofs') Verifying identity proofs - br - a(href='/guides/contributing') Contributing to Keyoxide - br - a(href='/guides/self-hosting-keyoxide') Self-hosting Keyoxide - - .guides__section - h3 OpenPGP and identity proofs - a(href='/guides/openpgp-proofs') How OpenPGP identity proofs work - br - a(href='/guides/web-key-directory') Uploading keys using web key directory - br - a(href='/guides/signature-profiles') Using signature profiles - - .guides__section - h3 Adding proofs - a(href='/guides/devto') Dev.to - br - a(href='/guides/discourse') Discourse - br - a(href='/guides/dns') Domain / DNS - br - a(href='/guides/gitea') Gitea - br - a(href='/guides/github') GitHub - br - a(href='/guides/gitlab') GitLab - br - a(href='/guides/hackernews') Hackernews - br - a(href='/guides/lobsters') Lobste.rs - br - a(href='/guides/mastodon') Mastodon - br - a(href='/guides/owncast') Owncast - br - a(href='/guides/pleroma') Pleroma - br - a(href='/guides/reddit') Reddit - br - a(href='/guides/twitter') Twitter - br - a(href='/guides/xmpp') XMPP+OMEMO - - .guides__section - h3 Other services - a(href='/guides/feature-comparison-keybase') Feature comparison with Keybase - br - a(href='/guides/migrating-from-keybase') Migrating from Keybase - - .guides__section - h3 Managing proofs in GnuPG - a(href='/guides/managing-proofs-listing') Listing proofs - br - a(href='/guides/managing-proofs-deleting') Deleting proofs diff --git a/views-old/index.pug b/views-old/index.pug deleted file mode 100644 index 8360818..0000000 --- a/views-old/index.pug +++ /dev/null @@ -1,103 +0,0 @@ -extends template.base.pug - -block content - .content - h1 Keyoxide - p - a(href="/") Keyoxide - | is a modern, secure and privacy-friendly platform to establish your - strong decentralized online identity - | . - - a(href="/getting-started").fancyBtn Get started here - - h2 About - p - strong Keyoxide - | allows you to link accounts on various online services and platforms together, prove they belong to you and establish an online identity. This puts - strong you - | , the internet citizen, in charge when it comes to defining who you are on the internet instead of large corporations. - p - | As an example, here's the - a(href='/9f0048ac0b23301e1f77e994909f6bd6f80f485d') developer's Keyoxide profile - | . - p - strong Keyoxide - | is developed by - a(href='https://yarmo.eu') Yarmo Mackenbach - | . The AGPL-v3-licensed code is hosted on - a(href='https://codeberg.org/keyoxide/web') Codeberg - | . It uses - a(href='https://github.com/openpgpjs/openpgpjs') openpgp.js - | for all cryptographic operations. - - h2 Features - - h3 Decentralized online identity proofs - ul - li You decide which accounts are linked together - li You decide where this data is stored - li Keyoxide does not hold your identity data on its servers - li Keyoxide merely verifies the identity proofs and displays them - - h3 Empowering the internet citizen - ul - li A verified identity proof proves ownership of an account and builds trust - li No bad actor can impersonate you as long as your accounts aren't compromised - li Your online identity data is safe from greedy internet corporations - - h3 User-centric platform - ul - li Easily encrypt messages and verify signatures from the profile page - li - | Keyoxide generates QR codes that integrate with - a(href='https://www.openkeychain.org/') OpenKeychain - | and - a(href='https://conversations.im/') Conversations - li Keyoxide fetches the key wherever the user decides to store it - li Keyoxide is self-hostable, meaning you could put it on any server you trust - - h3 Secure and privacy-friendly - ul - li Keyoxide doesn't want your personal data, track you or show you ads - li You never give data to Keyoxide, it simply uses the data you have made public - li - | Keyoxide relies on OpenPGP, a widely used public-key cryptography standard ( - a(href='https://tools.ietf.org/html/rfc4880') RFC-4880 - | ) - li - | Cryptographic operations are performed in-browser by - a(href='https://openpgpjs.org/') OpenPGP.js - | , a library maintained by - a(href='https://protonmail.com/blog/openpgpjs-email-encryption/') ProtonMail - - h3 Free Open Source Software - ul - li - | Keyoxide is licensed under the - a(href='https://codeberg.org/keyoxide/web/src/branch/main/LICENSE') AGPL-v3 license - li - | The source code is hosted on - a(href='https://codeberg.org/keyoxide/web') Codeberg.org - li - | Even the - a(href='https://drone.keyoxide.org/keyoxide/web/') CI/CD activity - | is publicly visible - - .flex-column-container - .flex-column - h2 Cryptographic operations - p - a(href='/verify') Verify PGP signature - br - a(href='/encrypt') Encrypt PGP message - br - a(href='/proofs') Verify distributed identity proofs - .flex-column - h2 Utilities - p - a(href='/util/profile-url') Profile URL generator - br - a(href='/util/wkd') Web Key Directory URL generator - br - a(href='/util/qrfp') Fingerprint QR generator diff --git a/views-old/partials/key_selector.pug b/views-old/partials/key_selector.pug deleted file mode 100644 index fb7f38c..0000000 --- a/views-old/partials/key_selector.pug +++ /dev/null @@ -1,24 +0,0 @@ -select#modeSelect.modeSelect(name='modeSelect') - option(value='auto' selected=(mode == "auto" ? true : false)) Autodetect - option(value='wkd' selected=(mode == "wkd" ? true : false)) Web Key Directory - option(value='hkp' selected=(mode == "hkp" ? true : false)) Keyserver - option(value='plaintext' selected=(mode == "plaintext" ? true : false)) Plaintext - option(value='keybase' selected=(mode == "keybase" ? true : false)) Keybase - -.modesContainer - .modes.modes--auto(class=(mode == "auto" ? "modes--visible" : "")) - input#auto_input(type='text' name='auto_input' placeholder='Email / key id / fingerprint' value=(mode == "auto" ? input : "")) - - .modes.modes--wkd(class=(mode == "wkd" ? "modes--visible" : "")) - input#wkd_input(type='text' name='wkd_input' placeholder='name@domain.org' value=(mode == "wkd" ? input : "")) - - .modes.modes--hkp(class=(mode == "hkp" ? "modes--visible" : "")) - input#hkp_input(type='text' name='hkp_input' placeholder='Email / key id / fingerprint' value=(mode == "hkp" ? input : "")) - input#hkp_server(type='text' name='hkp_server' placeholder='https://keys.openpgp.org/ (default)') - - .modes.modes--plaintext(class=(mode == "plaintext" ? "modes--visible" : "")) - textarea#plaintext_input(name='plaintext_input') - - .modes.modes--keybase(class=(mode == "keybase" ? "modes--visible" : "")) - input#keybase_username(type='text' name='keybase_username' placeholder='username' value=(mode == "keybase" ? username : "")) - input#keybase_fingerprint(type='text' name='keybase_fingerprint' placeholder='fingerprint' value=(mode == "keybase" ? fingerprint : "")) diff --git a/views-old/profile.pug b/views-old/profile.pug deleted file mode 100644 index fb7ade5..0000000 --- a/views-old/profile.pug +++ /dev/null @@ -1,41 +0,0 @@ -doctype html -head - meta(charset='utf-8') - meta(name='viewport' content='width=device-width, initial-scale=1') - meta(name='robots' content='noindex') - link(rel='shortcut icon' href='/favicon.svg') - title Keyoxide - link(rel='stylesheet' href='/static/styles.css') - -main.container.container--profile - .content - noscript - p Keyoxide requires JavaScript to function. - span#profileUid(style='display: none;') #{uid} - span#profileServer(style='display: none;') #{server} - span#profileMode(style='display: none;') #{mode} - if (mode == 'sig') - #profileSigInput - form#form-generate-signature-profile(method='post') - p Please enter the raw profile signature below and press "Generate profile". - textarea#plaintext_input(name='plaintext_input') - input(type='submit', name='submit', value='Generate profile').bigBtn - #profileHeader - img#profileAvatar(src='/static/img/avatar_placeholder.png' alt='avatar' style='display: none') - p#profileName - #profileData - if (mode == 'sig') - p Waiting for input… - else - p Loading keys & verifying proofs… - footer - p - | Generated by - a(href='/') Keyoxide - | ( - a(href="https://codeberg.org/keyoxide/web/releases")= settings.keyoxide_version - | ). - -script(type='application/javascript' src='/static/openpgp.min.js' charset='utf-8') -script(type='application/javascript' src='/static/doip.js' charset='utf-8') -script(type='application/javascript' src='/static/scripts.js' charset='utf-8') diff --git a/views-old/proofs.pug b/views-old/proofs.pug deleted file mode 100644 index d61034c..0000000 --- a/views-old/proofs.pug +++ /dev/null @@ -1,17 +0,0 @@ -extends template.base.pug - -block content - .content - noscript - p Keyoxide requires JavaScript to function. - - h1 Proofs - form#form-proofs(method='post') - h3 Public key - label(for='modeSelect') Mode: - include partials/key_selector - - h3 Result - p#result - p#resultContent - input.bigBtn(type='submit' name='submit' value='VERIFY PROOFS') diff --git a/views-old/template.base.pug b/views-old/template.base.pug deleted file mode 100644 index 35bddce..0000000 --- a/views-old/template.base.pug +++ /dev/null @@ -1,41 +0,0 @@ -doctype html -head - meta(charset='utf-8') - meta(name='viewport' content='width=device-width, initial-scale=1') - meta(name='theme-color' content='#fff') - link(rel='shortcut icon' href='/favicon.svg') - title= (title ? title : "Keyoxide") - link(rel='stylesheet' href='/static/styles.css') -header - .container - a.logo(href='/') - img(src='/static/img/logo_96.png' alt='Keyoxide logo') - .spacer - nav - a(href='/') about - a(href='/getting-started') getting started - a(href='/guides') guides - a(href='/faq') faq - -main.container - block content - - footer - if settings.onion_url - p - | This website is available via Tor: - a(href=`${settings.onion_url}`) #{settings.onion_url} - p - | Keyoxide - a(href="https://codeberg.org/keyoxide/web/releases")= settings.keyoxide_version - p - a(href='https://codeberg.org/keyoxide') Source code - | - - a(href='https://drone.keyoxide.org/keyoxide/web/') CI/CD - | - - a(href='https://fosstodon.org/@keyoxide') Mastodon - p © 2021 Keyoxide contributors - -script(type='application/javascript' src='/static/openpgp.min.js' charset='utf-8') -script(type='application/javascript' src='/static/qrcode.min.js' charset='utf-8') -script(type='application/javascript' src='/static/scripts.js' charset='utf-8') diff --git a/views-old/util/profile-url.pug b/views-old/util/profile-url.pug deleted file mode 100644 index fac936c..0000000 --- a/views-old/util/profile-url.pug +++ /dev/null @@ -1,46 +0,0 @@ -extends ../template.base.pug - -block content - .content - h1 Profile URL - form#form-util-profile-url(method='post') - p This tool generates an URL for your Keyoxide profile page. - h3 Public key - label(for='source') Source: - select#source.source(name='source') - option(value='wkd') Web Key Directory - option(value='hkp') keys.openpgp.org - option(value='keybase') Keybase - br - input#input(type='text' name='input' placeholder='Input' value='') - h3 Profile URL - code#output Waiting for input... - h3 Help - p - | When using the - strong Web Key Directory - | source, the - strong Input - | looks like - strong username@domain.org - | . - p - | When using the - strong keys.openpgp.org - | source, the - strong Input - | is either the - strong fingerprint - | of your public key, or the main identity's - strong email address - | . - p - | When using the - strong Keybase - | source, the - strong Input - | is the URL obtained by going to your Keybase profile page, clicking on the - strong key id - | of your keypair and copying the URL of the - strong this key - | link. diff --git a/views-old/util/qr.pug b/views-old/util/qr.pug deleted file mode 100644 index 967528a..0000000 --- a/views-old/util/qr.pug +++ /dev/null @@ -1,9 +0,0 @@ -extends ../template.base.pug - -block content - .content - h1 QR Code - form#form-util-qr(method='post') - code#input.full-width !{input} - canvas#qrcode - a#qrcode--altLink(href='#') Press this link to directly open the URI diff --git a/views-old/util/qrfp.pug b/views-old/util/qrfp.pug deleted file mode 100644 index 80a2806..0000000 --- a/views-old/util/qrfp.pug +++ /dev/null @@ -1,15 +0,0 @@ -extends ../template.base.pug - -block content - .content - h1 QR Code - form#form-util-qrfp(method='post') - p - | This tool generates a QR code containing the fingerprint of your public key ( - a(href='https://github.com/open-keychain/open-keychain/wiki/QR-Codes') format - | ). This QR code can be scanned by apps like - a(href='https://www.openkeychain.org/') OpenKeyChain - | . - h3 Fingerprint - input#input(type='text' name='input' placeholder='Fingerprint' value=input) - canvas#qrcode diff --git a/views-old/util/wkd.pug b/views-old/util/wkd.pug deleted file mode 100644 index 8cbd8c3..0000000 --- a/views-old/util/wkd.pug +++ /dev/null @@ -1,21 +0,0 @@ -extends ../template.base.pug - -block content - .content - h1 Web Key Directory generator - form#form-util-wkd(method='post') - p - | This tool computes the part of the WKD URL that corresponds to the username when - a(href='/guides/web-key-directory') uploading keys using web key directory - | . - p - | If you enter the entire WKD identifier (username@domain.org), this tool will also generate the complete URLs. - h3 Input - input#input(type='text' name='input' placeholder='WKD username or identifier' value=input) - h3 Output - h4 Local part - code#output.full-width Waiting for input... - h4 Direct URL - code#output_url_direct.full-width Waiting for input... - h4 Advanced URL - code#output_url_advanced.full-width Waiting for input... diff --git a/views-old/verify.pug b/views-old/verify.pug deleted file mode 100644 index cdf898a..0000000 --- a/views-old/verify.pug +++ /dev/null @@ -1,20 +0,0 @@ -extends template.base.pug - -block content - .content - noscript - p Keyoxide requires JavaScript to function. - - h1 Verify - form#form-verify(method='post') - h3 Signer - label(for='modeSelect') Mode: - include partials/key_selector - - h3 Signature - textarea#signature(name='signature') - - h3 Result - p#result - p#resultContent - input.bigBtn(type='submit' name='submit' value='VERIFY SIGNATURE')