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
有关详细信息,请参见许可证。