Fix classification of Base64Tool

This commit is contained in:
Kevin Kandlbinder 2022-05-03 14:49:14 +02:00
parent e0edd29436
commit 044c63474d
9 changed files with 137 additions and 122 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "kevins-data-toolbox", "name": "kevins-data-toolbox",
"version": "2.1.0", "version": "2.1.1",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@loadable/component": "^5.15.0", "@loadable/component": "^5.15.0",

View file

@ -1,58 +1,64 @@
{ {
"site": { "site": {
"title": "Kevins Datenkasten", "title": "Kevins Datenkasten",
"navigation": { "navigation": {
"tools": "Werkzeuge", "tools": "Werkzeuge",
"about": "Über" "about": "Über"
} }
},
"home": {
"heroPretitle": "Kevins",
"heroTitle": "Daten­kasten",
"heroSubtitle": "Dein 1-Stopp-Daten-Shop!"
},
"tools": {
"toolCategories": "Kategorien",
"toolList": "Liste von Werkzeugen",
"noresults": "Keine Ergebnisse.",
"categories": {
"everything": "Alles",
"cryptography": "Kryptografie",
"encodings": "Kodierungen"
}, },
"home": { "cryptography": {
"heroPretitle": "Kevins", "common": {
"heroTitle": "Daten\u00ADkasten", "cleartext": "Entschlüsselter Text",
"heroSubtitle": "Dein 1-Stopp-Daten-Shop!" "ciphertext": "Verschlüsselter Text"
},
"rot": {
"title": "ROT-N",
"description": "Die <wikipedia>ROT-Verschlüsselung</wikipedia>, auch oft als Caesar-Verschlüsselung bezeichnet, basiert auf der Idee, jeden Buchstaben um einen bestimmten Versatz zu verschieben, z.B. <pre>A => +13 => N</pre>",
"outOfRangeWarning": "ROT unterstützt nur Buchstaben des Grundalphabets (A-Z). Nummern und Umlaute werden nicht unterstützt und unverschlüsselt kopiert!",
"offset": "ROT-Versatz (oftmals 13)"
}
}, },
"tools": { "encodings": {
"toolCategories": "Kategorien", "common": {
"toolList": "Liste von Werkzeugen", "encoded": "Kodiert",
"noresults": "Keine Ergebnisse.", "decoded": "Dekodiert"
"categories": {
"everything": "Alles",
"cryptography": "Kryptografie"
}, },
"cryptography": { "base64": {
"common": { "title": "Base64",
"cleartext": "Entschlüsselter Text", "description": "<wikipedia>Base64-Codierung</wikipedia> wird oft genutzt um beliebige Binärdaten in pure Zeichenfolgen zu schreiben, indem die Daten auf 64 ASCII-Zeichen projeziert werden."
"ciphertext": "Verschlüsselter Text"
},
"rot": {
"title": "ROT-N",
"description": "Die <wikipedia>ROT-Verschlüsselung</wikipedia>, auch oft als Caesar-Verschlüsselung bezeichnet, basiert auf der Idee, jeden Buchstaben um einen bestimmten Versatz zu verschieben, z.B. <pre>A => +13 => N</pre>",
"outOfRangeWarning": "ROT unterstützt nur Buchstaben des Grundalphabets (A-Z). Nummern und Umlaute werden nicht unterstützt und unverschlüsselt kopiert!",
"offset": "ROT-Versatz (oftmals 13)"
},
"base64": {
"title": "Base64",
"description": "<wikipedia>Base64-Codierung</wikipedia> wird oft genutzt um beliebige Binärdaten in pure Zeichenfolgen zu schreiben, indem die Daten auf 64 ASCII-Zeichen projeziert werden."
}
}
},
"about": {
"title": "Über Kevins Datenkasten",
"p1": "Kevins Datenkasten ist meine Kollektion von kleinen, nützlichen Werkzeugen. Schau doch mal ob du was nüzliches findest!",
"p2": "Ich werde mehr Werkzeuge hinzufügen sobald ich diese fertig habe, also schau regelmäßig wieder rein!",
"morebyme": "Mehr von mir",
"visitKevinKdev": "Schau dir meine Website unter <1>KevinK.dev</1> an!"
},
"system": {
"notfound": "Seite nicht gefunden",
"language": "Sprache",
"imprint": "Impressum",
"errors": {
"toolException": {
"title": "Ein fatales Problem ist aufgetreten.",
"description": "Im Werkzeug ist ein fatales Problem aufgetreten und die Aufgabe konnte nicht abgeschlossen werden. Bitte erneut versuchen."
}
} }
} }
} },
"about": {
"title": "Über Kevins Datenkasten",
"p1": "Kevins Datenkasten ist meine Kollektion von kleinen, nützlichen Werkzeugen. Schau doch mal ob du was nüzliches findest!",
"p2": "Ich werde mehr Werkzeuge hinzufügen sobald ich diese fertig habe, also schau regelmäßig wieder rein!",
"morebyme": "Mehr von mir",
"visitKevinKdev": "Schau dir meine Website unter <1>KevinK.dev</1> an!"
},
"system": {
"notfound": "Seite nicht gefunden",
"language": "Sprache",
"imprint": "Impressum",
"errors": {
"toolException": {
"title": "Ein fatales Problem ist aufgetreten.",
"description": "Im Werkzeug ist ein fatales Problem aufgetreten und die Aufgabe konnte nicht abgeschlossen werden. Bitte erneut versuchen."
}
}
}
}

View file

@ -1,58 +1,64 @@
{ {
"site": { "site": {
"title": "Kevin's Data-Toolbox", "title": "Kevin's Data-Toolbox",
"navigation": { "navigation": {
"tools": "Tools", "tools": "Tools",
"about": "About" "about": "About"
} }
},
"home": {
"heroPretitle": "Kevin's",
"heroTitle": "Data Toolbox",
"heroSubtitle": "Your One-Stop-Data-Shop!"
},
"tools": {
"toolCategories": "Categories",
"toolList": "List of tools",
"noresults": "No results have been found.",
"categories": {
"everything": "Everything",
"cryptography": "Cryptography",
"encodings": "Encodings"
}, },
"home": { "cryptography": {
"heroPretitle": "Kevin's", "common": {
"heroTitle": "Data Toolbox", "cleartext": "Cleartext",
"heroSubtitle": "Your One-Stop-Data-Shop!" "ciphertext": "Ciphertext"
},
"rot": {
"title": "ROT-N",
"description": "The <wikipedia>ROT-cipher</wikipedia>, also commonly referred to as the Caesar-cipher, is based on the idea of ofsetting every letter of the alphabet by a certain amount, i.e. <pre>A => +13 => N</pre>",
"outOfRangeWarning": "ROT only supports letters of the basic alphabet (A-Z). Numbers and accented letters are not supported and will be copied as-is!",
"offset": "ROT-Offset (commonly 13)"
}
}, },
"tools": { "encodings": {
"toolCategories": "Categories", "common": {
"toolList": "List of tools", "encoded": "Encoded",
"noresults": "No results have been found.", "decoded": "Decoded"
"categories": {
"everything": "Everything",
"cryptography": "Cryptography"
}, },
"cryptography": { "base64": {
"common": { "title": "Base64",
"cleartext": "Cleartext", "description": "<wikipedia>Base64-encoding</wikipedia> is commonly used for storing arbitrary binary data in pure strings, by mapping it to 64 ASCII characters."
"ciphertext": "Ciphertext"
},
"rot": {
"title": "ROT-N",
"description": "The <wikipedia>ROT-cipher</wikipedia>, also commonly referred to as the Caesar-cipher, is based on the idea of ofsetting every letter of the alphabet by a certain amount, i.e. <pre>A => +13 => N</pre>",
"outOfRangeWarning": "ROT only supports letters of the basic alphabet (A-Z). Numbers and accented letters are not supported and will be copied as-is!",
"offset": "ROT-Offset (commonly 13)"
},
"base64": {
"title": "Base64",
"description": "<wikipedia>Base64-encoding</wikipedia> is commonly used for storing arbitrary binary data in pure strings, by mapping it to 64 ASCII characters."
}
}
},
"about": {
"title": "About Kevin's Data-Toolbox",
"p1": "Kevin's Data-Toolbox is my collection of useful small tools. Feel free to look through them to see if there anything is of use to you!",
"p2": "There will be more tools added over time as I create them, so check back regularly to learn about new tools!",
"morebyme": "More By Me",
"visitKevinKdev": "Check out my website <1>KevinK.dev</1>!"
},
"system": {
"notfound": "Page Not Found",
"language": "Language",
"imprint": "Imprint",
"errors": {
"toolException": {
"title": "The tool encountered a fatal error.",
"description": "The tool encountered a fatal error and was unable to complete its task. Please retry."
}
} }
} }
} },
"about": {
"title": "About Kevin's Data-Toolbox",
"p1": "Kevin's Data-Toolbox is my collection of useful small tools. Feel free to look through them to see if there anything is of use to you!",
"p2": "There will be more tools added over time as I create them, so check back regularly to learn about new tools!",
"morebyme": "More By Me",
"visitKevinKdev": "Check out my website <1>KevinK.dev</1>!"
},
"system": {
"notfound": "Page Not Found",
"language": "Language",
"imprint": "Imprint",
"errors": {
"toolException": {
"title": "The tool encountered a fatal error.",
"description": "The tool encountered a fatal error and was unable to complete its task. Please retry."
}
}
}
}

View file

@ -1,6 +1,6 @@
$fontFamily: 'Open Sans', sans-serif; $fontFamily: 'Open Sans', sans-serif;
$colorAccent: #f58428; $colorAccent: #e52b3e;
$colorBackground: #0c0c0c; $colorBackground: #0c0c0c;
$layoutWidth: 1200px; $layoutWidth: 1200px;

View file

@ -70,7 +70,8 @@
.lbText { .lbText {
font-size: 1em; font-size: 1em;
font-weight: 200; font-weight: 400;
padding-left: 5px;
} }
} }
} }

View file

@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import { Binary, List } from 'lucide-react'; import { Binary, List, Lock } from 'lucide-react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
@ -25,7 +25,8 @@ const HomePage = () => {
<div className={styles.flexList}> <div className={styles.flexList}>
<LinkBox to={"/tools"} text={t("tools.categories.everything")} icon={<List/>} /> <LinkBox to={"/tools"} text={t("tools.categories.everything")} icon={<List/>} />
<LinkBox to={"/tools/cryptography"} text={t("tools.categories.cryptography")} icon={<Binary/>} /> <LinkBox to={"/tools/cryptography"} text={t("tools.categories.cryptography")} icon={<Lock/>} />
<LinkBox to={"/tools/encodings"} text={t("tools.categories.encodings")} icon={<Binary/>} />
{/*<LinkBox to={"/tools/osm"} text={"OSM"} icon={Map} />*/} {/*<LinkBox to={"/tools/osm"} text={"OSM"} icon={Map} />*/}
</div> </div>
</div> </div>

View file

@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
import * as icons from 'lucide-react'; import {Lock, Binary, List} from 'lucide-react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
@ -28,8 +28,9 @@ const ToolsPage = () => {
<span className={styles.title}>{t("tools.toolList")}</span> <span className={styles.title}>{t("tools.toolList")}</span>
<div className={styles.flexList}> <div className={styles.flexList}>
<LinkBox to={"/tools"} text={t("tools.categories.everything")} icon={<icons.List/>} small={true} highlight={category == null} /> <LinkBox to={"/tools"} text={t("tools.categories.everything")} icon={<List/>} small={true} highlight={category == null} />
<LinkBox to={"/tools/cryptography"} text={t("tools.categories.cryptography")} icon={<icons.Binary/>} small={true} highlight={category === "cryptography"} /> <LinkBox to={"/tools/cryptography"} text={t("tools.categories.cryptography")} icon={<Lock/>} small={true} highlight={category === "cryptography"} />
<LinkBox to={"/tools/encodings"} text={t("tools.categories.encodings")} icon={<Binary/>} small={true} highlight={category === "encodings"} />
{/*<LinkBox to={"/tools/osm"} text={"OSM"} icon={icons["Map"]} small={true} highlight={category === "osm"} />*/} {/*<LinkBox to={"/tools/osm"} text={"OSM"} icon={icons["Map"]} small={true} highlight={category === "osm"} />*/}
</div> </div>

View file

@ -29,19 +29,19 @@ const Base64Tool = () => {
return ( return (
<main> <main>
<Helmet> <Helmet>
<title>{t("tools.cryptography.base64.title")} | {t("site.title")}</title> <title>{t("tools.encodings.base64.title")} | {t("site.title")}</title>
<meta name="keywords" content="Base64, encryption, decryption, verschlüsselung, entschlüsselung, base, 64, binary, tool" /> <meta name="keywords" content="Base64, encoding, decoding, encoder, decoder, base, 64, binary, tool" />
</Helmet> </Helmet>
<div className={styles.layoutBox}> <div className={styles.layoutBox}>
<h1>{t("tools.cryptography.base64.title")}</h1> <h1>{t("tools.encodings.base64.title")}</h1>
<p><Trans i18nKey={"tools.cryptography.base64.description"} components={{wikipedia: <a href="https://en.wikipedia.org/wiki/Base64">xxx</a>, pre: <pre/>}} /></p> <p><Trans i18nKey={"tools.encodings.base64.description"} components={{wikipedia: <a href="https://en.wikipedia.org/wiki/Base64">xxx</a>, pre: <pre/>}} /></p>
<label htmlFor="base64-input">{t("tools.cryptography.common.cleartext")}</label> <label htmlFor="base64-input">{t("tools.encodings.common.decoded")}</label>
<textarea id="base64-input" placeholder={t("tools.cryptography.common.cleartext")} onChange={(e) => {setReversed(false); setInput(e.currentTarget.value);}} value={input}></textarea> <textarea id="base64-input" placeholder={t("tools.encodings.common.decoded")} onChange={(e) => {setReversed(false); setInput(e.currentTarget.value);}} value={input}></textarea>
<label htmlFor="base64-output">{t("tools.cryptography.common.ciphertext")}</label> <label htmlFor="base64-output">{t("tools.encodings.common.encoded")}</label>
<textarea id="base64-output" placeholder={t("tools.cryptography.common.ciphertext")} onChange={(e) => {setReversed(true); setOutput(e.currentTarget.value);}} value={output}></textarea> <textarea id="base64-output" placeholder={t("tools.encodings.common.encoded")} onChange={(e) => {setReversed(true); setOutput(e.currentTarget.value);}} value={output}></textarea>
</div> </div>
</main> </main>
) )

View file

@ -23,9 +23,9 @@ const tools = [
"external": false, "external": false,
"urlname": "base64", "urlname": "base64",
"icon": Binary, "icon": Binary,
"category": "cryptography", "category": "encodings",
"hidden": false, "hidden": false,
"keywords": "binary, base64, base, 64, cryptography, encryption, decryption" "keywords": "binary, base64, base, 64, encodings, encryption, decryption"
} }
] ]