String.is是開發人員的開源,對隱私友好的工具包。您可以在這裡看到它。

String.IS是一種有用的轉換工具,具有以下目標:
String.I已被確認可以在Chrome,Safari,Firefox和Edge上工作。不支持Internet Explorer。
安裝依賴項:
yarn install設置git鉤:
yarn husky install運行開發服務器:
yarn dev...然後打開http:// localhost:瀏覽器中的3000。
要運行所有覆蓋檢查,鍵入檢查,測試並構建生產:
yarn all構建Docker圖像:
yarn docker-build或者
docker build -t string-is ....然後運行:
yarn docker-run或者
docker run -p 3000:3000 string-is另外,您可以使用docker-compose構建並運行它:
docker-compose up...甚至直接從Docker Hub運行:
docker run -p 3000:3000 daveperrett/string-is:latest當前支持linux/arm64和linux/amd64平台。
src/lib文件夾包含大多數轉換邏輯,是純打字條,不需要反應知識。
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/身份)。在這種情況下,我們正在從純文本進行轉換,並且已經有了一個純正的身份,因此我們不需要添加新的身份。 identity應導出(a)一個confidence函數,在給定輸入字符串的情況下,返回100個數字,描述了給定輸入與身份匹配的置信度,以及(b)可以與身份一起使用的一組converters 。identity ,請確保將其導出以src/lib/Identities/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。另外,請確保將條目添加到Locales/en/Pages-converter.json],以便自動生成的著陸頁具有正確的標題,簡介的文本和示例。outputId ,請添加React輸出組件(在SRC/組件/域/域/轉換/輸出下)以渲染新的輸出。如果您重複使用現有的輸出(例如,轉換為JSON或YAML),則可以在此處重新使用現有的輸出組件。如果有適當的inputs , outputs , converters和反應組件是否適當並正確導出,則考慮到適當的輸入字符串觸發非零confidence的適當輸入字符串。
如果您想100%確信自己的隱私受到保護,則可以輕鬆設置一個字符串。這是您自己的個人或組織使用的實例。
部署字符串的最快方法是使用Vercel平台(它免費用於非商業用途)。請查看他們的Next.js部署文檔以獲取更多詳細信息。單擊下面的Deploy按鈕與Vercel部署此應用程序:
Netlify和Heroku也是免費託管的不錯選擇。單擊下面的Deploy按鈕以使用Heroku部署此應用程序:
不幸的是,String.I當前不支持next export (例如S3上託管)的靜態構建,因為當前使用i18n功能不支持靜態構建。
將NEXT_PUBLIC_BASE_PATH環境變量設置為子路徑,然後在部署之前構建項目。必須在構建時間設置此值,並且在客戶端捆綁包中的值中列入了該值,因此不能在不重新構建的情況下更改。
例如,如果要部署到https://tools.example.com/string-is ,則需要將NEXT_PUBLIC_BASE_PATH設置為/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
除非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
有關詳細信息,請參見許可證。