diff options
-rw-r--r-- | kittybox-rs/companion-lite/index.html | 54 | ||||
-rw-r--r-- | kittybox-rs/javascript/jslicense.html | 31 | ||||
-rw-r--r-- | kittybox-rs/src/frontend/mod.rs | 3 | ||||
-rw-r--r-- | kittybox-rs/templates/src/templates.rs | 2 |
4 files changed, 88 insertions, 2 deletions
diff --git a/kittybox-rs/companion-lite/index.html b/kittybox-rs/companion-lite/index.html index e494cd9..fc99c60 100644 --- a/kittybox-rs/companion-lite/index.html +++ b/kittybox-rs/companion-lite/index.html @@ -5,6 +5,7 @@ <title>Kittybox-Micropub debug client</title> <link rel="stylesheet" href="./style.css"> <script type="module" src="./main.js"></script> + <link rel="jslicense" href="#jslicense"> </head> <body> <noscript> @@ -71,7 +72,56 @@ </fieldset> </fieldset> <input type="submit"> - </div> - </main> + </form> + </div> + + <details id="jslicense"> + <summary>JavaScript licensing information for this software</summary> + <table id="jslicense-labels1"> + <tr> + <td><a href="/.kittybox/micropub/client/main.js">main.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/companion-lite/src/main.ts">main.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/micropub/client/micropub_api.js">micropub_api.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/companion-lite/src/micropub_api.ts">micropub_api.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/micropub/client/indieauth.js">indieauth.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/companion-lite/src/indieauth.ts">indieauth.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/micropub/client/base64.js">base64.js</a></td> + <td><a href="http://creativecommons.org/publicdomain/zero/1.0/legalcode">CC0 (Public Domain)</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/companion-lite/src/base64.ts">base64.ts</a>, adapted from <a href="https://developer.mozilla.org/en-US/docs/Glossary/Base64#solution_2_%E2%80%93_rewriting_atob_and_btoa_using_typedarrays_and_utf-8">MDN page on Base64</a></td> + </tr> + <tr> + <td><a href="https://esm.sh/microformats-parser@1.4.1?pin=v96">ESM.sh entrypoint for microformats-parser</a></td> + <td><a href="http://www.jclark.com/xml/copying.txt">MIT/Expat</a></td> + <td><a href="https://github.com/ije/esm.sh/blob/main/server/handler.go">esm.sh source code</a> + </tr> + <tr> + <td><a href="https://esm.sh/v96/microformats-parser@1.4.1/es2022/microformats-parser.js">microformats-parser</a></td> + <td><a href="http://www.jclark.com/xml/copying.txt">MIT/Expat</a></td> + <td><a href="https://github.com/microformats/microformats-parser">GitHub repository</a> + </tr> + <tr> + <td><a href="https://esm.sh/v96/parse5@6.0.1/es2022/parse5.js">parse5</a></td> + <td> + <a href="http://www.jclark.com/xml/copying.txt">MIT/Expat</a> + <br> + <a href="http://www.freebsd.org/copyright/freebsd-license.html">BSD-2-Clause</a> + </td> + <td> + <a href="https://github.com/inikulin/parse5">GitHub repository for parse5</a> + <br> + <a href="https://github.com/fb55/entities">GitHub repository for entitites</a>, a parse5 dependency + </td> + </tr> + </table> + </details> </body> </html> diff --git a/kittybox-rs/javascript/jslicense.html b/kittybox-rs/javascript/jslicense.html new file mode 100644 index 0000000..90c681c --- /dev/null +++ b/kittybox-rs/javascript/jslicense.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + <head> + <title>JavaScript licensing information for Kittybox</title> + </head> + <body> + <p>All JavaScript included with Kittybox is licensed as free software, most of it under AGPL-3.0.</p> + <table id="jslicense-labels1"> + <tr> + <td><a href="/.kittybox/static/onboarding.js">onboarding.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/javascript/src/onboarding.ts">onboarding.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/static/indieauth.js">indieauth.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/javascript/src/indieauth.ts">indieauth.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/static/lib.js">lib.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/javascript/src/lib.ts">lib.ts (Kittybox source code)</a></td> + </tr> + <tr> + <td><a href="/.kittybox/static/indieauth.js">indieauth.js</a></td> + <td><a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL-3.0</a></td> + <td><a href="https://git.sr.ht/~vikanezrimaya/kittybox/tree/main/item/kittybox-rs/javascript/src/indieauth.ts">indieauth.ts (Kittybox source code)</a></td> + </tr> + </table> + </body> +</html> diff --git a/kittybox-rs/src/frontend/mod.rs b/kittybox-rs/src/frontend/mod.rs index 970a09b..58de39d 100644 --- a/kittybox-rs/src/frontend/mod.rs +++ b/kittybox-rs/src/frontend/mod.rs @@ -283,9 +283,11 @@ const INDIEAUTH_JS: &[u8] = include_bytes!(concat!( const LIB_JS: &[u8] = include_bytes!(concat!( env!("OUT_DIR"), "/", "kittybox_js", "/", "lib.js" )); +const JSLABELS_HTML: &[u8] = include_bytes!("../../javascript/jslicense.html"); const MIME_JS: &str = "application/javascript"; const MIME_CSS: &str = "text/css"; const MIME_PLAIN: &str = "text/plain"; +const MIME_HTML: &str = "text/html; charset=utf-8"; pub async fn statics(Path(name): Path<String>) -> impl IntoResponse { use axum::http::header::CONTENT_TYPE; @@ -296,6 +298,7 @@ pub async fn statics(Path(name): Path<String>) -> impl IntoResponse { "onboarding.css" => (StatusCode::OK, [(CONTENT_TYPE, MIME_CSS)], ONBOARDING_CSS), "indieauth.js" => (StatusCode::OK, [(CONTENT_TYPE, MIME_JS)], INDIEAUTH_JS), "lib.js" => (StatusCode::OK, [(CONTENT_TYPE, MIME_JS)], LIB_JS), + "jslicense.html" => (StatusCode::OK, [(CONTENT_TYPE, MIME_HTML)], JSLABELS_HTML), _ => ( StatusCode::NOT_FOUND, [(CONTENT_TYPE, MIME_PLAIN)], diff --git a/kittybox-rs/templates/src/templates.rs b/kittybox-rs/templates/src/templates.rs index 60daa55..ba5b684 100644 --- a/kittybox-rs/templates/src/templates.rs +++ b/kittybox-rs/templates/src/templates.rs @@ -19,6 +19,8 @@ markup::define! { // legacy links for some dumb clients link[rel="authorization_endpoint", href="/.kittybox/indieauth/auth"]; link[rel="token_endpoint", href="/.kittybox/indieauth/token"]; + // LibreJS-compliant JS licensing info (because TypeScript is a bitch) + link[rel="jslicense", href="/.kittybox/static/jslicense.html"]; /*@if let Some(endpoints) = endpoints { @if let Some(webmention) = &endpoints.webmention { link[rel="webmention", href=&webmention]; |