String.sは、開発者向けのオープンソースのプライバシーに優しいツールキットです。ここで動作していることがわかります。

String.は、次の目標を持つ意見のある変換ツールです。
String.は、Chrome、Safari、Firefox、およびEdgeで作業することが確認されています。インターネットエクスプローラーはサポートされていません。
依存関係をインストールします:
yarn installGitフックをセットアップ:
yarn husky install開発サーバーを実行します:
yarn dev...そして、ブラウザでhttp:// localhost:3000を開きます。
すべての糸くずのチェックを実行するには、チェック、テストを入力し、生産用にビルドします。
yarn allDocker画像を作成します:
yarn docker-buildまたは
docker build -t string-is ....そしてそれを実行します:
yarn docker-runまたは
docker run -p 3000:3000 string-isまたは、 docker-composeで構築して実行できます。
docker-compose up...または、Dockerハブから直接実行することさえあります:
docker run -p 3000:3000 daveperrett/string-is:latest現在、 linux/arm64およびlinux/amd64プラットフォームがサポートされています。
src/libフォルダーには、ほとんどの変換ロジックが含まれており、純粋なタイプスクリプトであり、Reactの知識は必要ありません。
src/lib/identitiesには、入力文字列を取得し、入力が特定の形式であるという信頼レベルを返す識別子が含まれています。たとえば、 JwtIdentifier 、特定の入力文字列がJWTトークンであることを信頼レベル(0〜100)を示す数値を返します。src/lib/inputsさまざまな形式の文字列をロードするパーサーが含まれています。たとえば、 JsonInput JSON文字列を解析し、オブジェクトを返します。src/lib/outputs解析されたデータを取得し、特定の出力形式にフォーマットします。たとえば、 JavaScriptOutput JavaScript文字列を使用し、提供されたフォーマットオプションに従ってフォーマットし、結果を返します。src/lib/convertersは入力→出力ペアです - フォーマット間で変換を実行する接着剤。たとえば、 CsvToJsonConverter 、CSV文字列を入力として採用し、解析のためにCsvInputにフィードし、結果をフォーマットのためにJsonOutputにパイプします。新しいコンバーターを追加するには:
identity (SRC/LIB/IDの下)があることを確認してください。この場合、私たちは平易なテキストから変換しており、すでに平易さを持っているので、新しいアイデンティティを追加する必要はありません。 identity 、(a)入力文字列が与えられたconfidence関数をエクスポートする必要があります。100のうち100の数を返して、与えられた入力がIDと一致するという信頼性を記述し、(b)アイデンティティを使用できるconvertersの配列。identityを追加した場合は、SRC/LIB/ID/INDEX.TSでエクスポートしてください。output (SRC/LIB/出力の下)があることを確認してください。出力は、 output関数をエクスポートする必要があります。出力関数には、入力文字列(または発生する変換に応じてオブジェクト)とoptionsオブジェクトが、入力を目的の出力文字列に変換する必要があります。outputを追加した場合は、src/lib/outputs/index.tsでエクスポートしてください。input + outputペアに新しいconverter (SRC/LIB/コンバーターの下)を追加します。コンバーターは、(a)入力文字列とoptionsオブジェクトを適切なoutputに渡すoperation関数、および(b)使用されている出力を定義するoutputIdエクスポートする必要があります。converterを追加した場合は、src/lib/converters/index.tsでエクスポートしてください。また、自動生成されたランディングページに正しい見出し、イントロテキスト、および例を持つように、ロケール/en/pages-converter.jsonにエントリを追加するようにしてください。outputIdを定義した場合、React出力コンポーネント(SRC/コンポーネント/ドメイン/コンバート/出力)を追加して、新しい種類の出力をレンダリングします。既存の種類の出力(JSONまたはYAMLへの変換など)を再利用する場合は、既存の出力コンポーネントをここで再利用できます。適切なinputs 、 outputs 、 converters 、および反応コンポーネントが整備され、正しくエクスポートされている場合、非ゼロconfidenceをトリガーする適切な入力文字列を考慮して、新しいコンバーターを使用できるはずです。
プライバシーが保護されていることを100%確信したい場合は、個人的または組織的な使用のために文字列を簡単に設定できます。
String.isを展開する最も簡単な方法は、Vercelプラットフォームを使用することです(非営利目的では無料です)。詳細については、next.js deploymentドキュメントをご覧ください。下のDeployボタンをクリックして、vercelを使用してこのアプリケーションを展開します。
NetlifyとHerokuは、無料のホスティングにも適したオプションです。下のDeployボタンをクリックして、Herokuを使用してこのアプリケーションを展開します。
残念ながら、String.ISは現在、 next exportを介して静的ビルドをサポートしていません(これi18n 、例えばS3でホスティングを許可します)。
NEXT_PUBLIC_BASE_PATH環境変数をサブパスに設定し、展開する前にプロジェクトを構築します。この値はビルド時に設定する必要があり、クライアント側のバンドルに値がインラリングされているため、再構築せずに変更することはできません。
たとえば、 https://tools.example.com/string-isに展開する場合は、 NEXT_PUBLIC_BASE_PATH to /string-is設定する必要があります。ドメインのルートに展開する場合、この変数を設定する必要はありません。
Dockerで構築して実行します:
docker build -t string-is --build-arg NEXT_PUBLIC_BASE_PATH= " /string-is " .
docker run -p 3000:3000 string-isまたは、 docker-composeで構築して実行します。
export NEXT_PUBLIC_BASE_PATH= " /string-is "
docker-compose up --buildString.isは完全なローカリゼーションをサポートしています。新しい言語は、JSON形式のlocales/フォルダーの下に追加する必要があります(例については、 locales/en/参照)。現在、英語は提供されている唯一のロケールですが、新しい言語のサポートを歓迎します。
String.isには、プライバシーに優しいクッキーレス分析サービスであるもっともらしい分析のサポートが含まれています。それを有効にするには、ドメインを指定する環境変数を設定します。
NEXT_PUBLIC_ANALYTICS_DOMAIN=string.is
Analyticsはprocess.env.NODE_ENV === 'production'とNEXT_PUBLIC_ANALYTICS_DOMAINドメインが設定されていない限り、デフォルトで無効になります。
変更を加えたら:
git checkout -b feature/add-my-new-convertergit push origin feature/add-my-new-converter@davemetrics
詳細については、ライセンスを参照してください。