String.IS ist ein Open-Source-Privatsphäre-freundliches Toolkit für Entwickler. Sie können es hier in Aktion sehen.

String.SIS ist ein Meinungs -Conversion -Tool mit den folgenden Zielen:
String.s wurde bestätigt, dass er an Chrome, Safari, Firefox und Edge arbeitet. Internet Explorer wird nicht unterstützt.
Abhängigkeiten installieren:
yarn installGit Hooks einrichten:
yarn husky installFühren Sie den Entwicklungsserver aus:
yarn dev... und öffnen Sie dann http: // localhost: 3000 in Ihrem Browser.
So führen Sie alle Linieprüfungen aus, tippen Sie Schecks, Tests und erstellen Sie für die Produktion:
yarn allErstellen Sie das Docker -Bild:
yarn docker-buildoder
docker build -t string-is .... und dann rennen Sie es:
yarn docker-runoder
docker run -p 3000:3000 string-is Alternativ können Sie es mit docker-compose erstellen und ausführen:
docker-compose up... oder führen Sie es sogar direkt von Docker Hub aus:
docker run -p 3000:3000 daveperrett/string-is:latest Derzeit werden linux/arm64 und linux/amd64 -Plattformen unterstützt.
Der src/lib -Ordner enthält den größten Teil der Konvertierungslogik und ist reines Typenkript ohne Reaktionskenntnisse.
src/lib/identities enthält Kennungen , die eine Eingangszeichenfolge aufnehmen und das Konfidenzniveau zurückgeben, das sich in einem bestimmten Format befindet. Beispielsweise gibt JwtIdentifier eine Zahl zurück, die das Konfidenzniveau (zwischen 0 und 100) angibt, dass eine bestimmte Eingangszeichenfolge ein JWT -Token ist.src/lib/inputs enthält Parser, die Zeichenfolgen aus verschiedenen Formaten laden. Zum Beispiel analysiert der JsonInput eine JSON -Zeichenfolge und gibt ein Objekt zurück.src/lib/outputs nimmt analysierte Daten und formatiert sie in ein bestimmtes Ausgabeformat. Beispielsweise nimmt JavaScriptOutput eine JavaScript -Zeichenfolge an, formatiert sie gemäß den angegebenen Formatierungsoptionen und gibt das Ergebnis zurück.src/lib/converters sind Eingang → Ausgangspaare - der Klebstoff, der eine Konvertierung zwischen den Formaten durchführt. Beispielsweise nimmt CsvToJsonConverter eine CSV -Zeichenfolge als Eingabe ein, füttert sie zum Analysen in den CsvInput und übergibt das Ergebnis zum Formatieren in den JsonOutput .Um einen neuen Konverter hinzuzufügen:
identity (unter SRC/lib/Identitäten) für das From -Format gibt. In diesem Fall konvertieren wir aus dem einfachen Text und haben bereits eine Klartext, sodass wir keine neue Identität hinzufügen müssen. Eine identity sollte (a) eine confidence exportieren, die bei einer Eingangszeichenfolge eine Zahl von 100 zurückgibt, die das Vertrauen beschreibt, dass die angegebene Eingabe der Identität übereinstimmt, und (b) ein Array von converters , mit denen die Identität verwendet werden kann.identity hinzugefügt haben, sollten Sie sie in SRC/lib/identitäten/index.ts exportieren.output (unter SRC/LIB/Ausgängen) für das Format vorhanden ist. Ein Ausgang sollte eine output exportieren, die bei einem Eingangszeichenfolge (oder möglicherweise abhängig von der auftretenden Konvertierung) und einem options die Eingabe in die gewünschte Ausgabezeichenfolge umwandelt.output hinzugefügt haben, sollten Sie ihn in SRC/LIB/Outputs/Index.TS exportieren.converter (unter SRC/lib/konverter) für das input + output hinzu. Ein Konverter sollte (a) eine operation exportieren, die die Eingangszeichenfolge und ein options an die entsprechende output übergibt, und (b) eine outputId , die definiert, welche Ausgabe verwendet wird.converter hinzugefügt haben, sollten Sie ihn in SRC/lib/konverter/index.ts exportieren. Stellen Sie außerdem sicher, dass die Orte/en/Seiten-Converter.json Einträge hinzufügen, damit die automatisch generierte Landing Page über die richtige Überschrift, den Intro-Text und das Beispiel verfügt.outputId definiert haben, fügen Sie eine React -Ausgangskomponente (unter SRC/Komponenten/Domäne/Konvertiten/Ausgängen) hinzu, um die neue Art der Ausgabe zu rendern. Wenn Sie eine vorhandene Art von Ausgabe (z. B. Konvertierung in JSON oder YAML) wiederverwenden können, können Sie hier eine vorhandene Ausgangskomponente wiederverwenden. Wenn die entsprechenden inputs , outputs , converters und React-Komponenten vorhanden sind und korrekt exportiert werden, sollten Sie Ihren neuen Konverter verwenden können, wenn die entsprechende Eingangszeichenfolge, die ein confidence ohne Null auslöst, ausgelöst wird.
Wenn Sie zu 100% zuversichtlich sein möchten, dass Ihre Privatsphäre geschützt ist, können Sie problemlos eine Zeichenfolge einrichten.
Der schnellste Weg zum Bereitstellen von String. ist die Verwendung der Vercel-Plattform (sie ist kostenlos für den nicht kommerziellen Gebrauch). Weitere Informationen finden Sie in der Dokumentation zur Bereitstellung von Next.JS -Bereitstellungen. Klicken Sie unten auf die Schaltfläche Deploy , um diese Anwendung mit Vercel bereitzustellen:
Netlify und Heroku sind auch gute Optionen für kostenloses Hosting. Klicken Sie unten auf die Schaltfläche Deploy , um diese Anwendung mit Heroku bereitzustellen:
Leider unterstützt String.is derzeit keine statischen Builds über next export (was das Hosting auf S3 ermöglichen würde), da die von ihr verwendete i18n -Funktion derzeit nicht für statische Builds unterstützt wird.
Setzen Sie die Umgebungsvariable NEXT_PUBLIC_BASE_PATH auf den Unterzustand und erstellen Sie das Projekt vor der Bereitstellung. Dieser Wert muss zur Build-Zeit festgelegt werden und kann nicht ohne Wiederaufbau geändert werden, da der Wert in die clientseitigen Bundles eingeführt wird.
Wenn Sie beispielsweise auf https://tools.example.com/string-is bereitstellen, müssen Sie NEXT_PUBLIC_BASE_PATH auf /string-is festlegen. Sie müssen diese Variable nicht festlegen, wenn Sie für die Stammin einer Domäne bereitgestellt werden.
Bauen und laufen mit Docker:
docker build -t string-is --build-arg NEXT_PUBLIC_BASE_PATH= " /string-is " .
docker run -p 3000:3000 string-is Oder mit docker-compose bauen und laufen:
export NEXT_PUBLIC_BASE_PATH= " /string-is "
docker-compose up --build String.is unterstützt die volle Lokalisierung. Neue Sprachen sollten im JSON -Format unter den locales/ im Ordner hinzugefügt werden (siehe locales/en/ für ein Beispiel). Englisch ist derzeit das einzige Gebietsschema, aber die Unterstützung für neue Sprachen ist willkommen.
String.is beinhaltet Unterstützung für plausible Analysen, ein Privatsphäre-freundlicher, kookieloser Analysedienst. Stellen Sie eine Umgebungsvariable fest, in der die Domäne angegeben ist:
NEXT_PUBLIC_ANALYTICS_DOMAIN=string.is
Analytics ist standardmäßig deaktiviert, es sei denn process.env.NODE_ENV === 'production' und eine NEXT_PUBLIC_ANALYTICS_DOMAIN -Domäne wird festgelegt.
Sobald Sie Ihre Änderungen vorgenommen haben:
git checkout -b feature/add-my-new-convertergit push origin feature/add-my-new-converter@davemetrics
Weitere Informationen finden Sie in der Lizenz.