String.is เป็นชุดเครื่องมือโอเพนซอร์ซที่เป็นมิตรกับความเป็นส่วนตัวสำหรับนักพัฒนา คุณสามารถเห็นมันทำงานได้ที่นี่

String.is เป็นเครื่องมือแปลงที่มีความคิดเห็นโดยมีเป้าหมายต่อไปนี้:
String.is ได้รับการยืนยันว่าทำงานกับ Chrome, Safari, Firefox และ Edge ไม่รองรับ Internet Explorer
ติดตั้งการพึ่งพา:
yarn installตั้งค่า hooks git:
yarn husky installเรียกใช้เซิร์ฟเวอร์การพัฒนา:
yarn dev... จากนั้นเปิด http: // localhost: 3000 ในเบราว์เซอร์ของคุณ
ในการเรียกใช้การตรวจสอบลวดลายทั้งหมดพิมพ์การทดสอบและสร้างสำหรับการผลิต:
yarn allสร้างภาพนักเทียบท่า:
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 มีตรรกะการแปลงส่วนใหญ่และเป็น typenscript บริสุทธิ์โดยไม่จำเป็นต้องมีความรู้ตอบสนอง
src/lib/identities มี ตัวระบุ ที่ใช้สตริงอินพุตและส่งคืนระดับความเชื่อมั่นที่อินพุตอยู่ในรูปแบบเฉพาะ ตัวอย่างเช่น JwtIdentifier ส่งคืนตัวเลขที่ระบุระดับความเชื่อมั่น (ระหว่าง 0 ถึง 100) ว่าสตริงอินพุตที่กำหนดเป็นโทเค็น JWTsrc/lib/inputs มีตัวแยกวิเคราะห์ที่โหลดสตริงจากรูปแบบที่แตกต่างกัน ตัวอย่างเช่น JsonInput วิเคราะห์สตริง JSON และส่งคืนวัตถุsrc/lib/outputs ใช้ข้อมูลที่แยกวิเคราะห์และจัดรูปแบบเป็นรูปแบบเอาต์พุตเฉพาะ ตัวอย่างเช่น JavaScriptOutput ใช้สตริง JavaScript กำหนดรูปแบบตามตัวเลือกการจัดรูปแบบที่มีให้และส่งคืนผลลัพธ์src/lib/converters เป็น อินพุต →คู่ เอาต์พุต - กาวที่ดำเนินการแปลงระหว่างรูปแบบ ตัวอย่างเช่น CsvToJsonConverter ใช้สตริง CSV เป็นอินพุตป้อนลงใน CsvInput สำหรับการแยกวิเคราะห์และส่งผลลัพธ์ลงใน JsonOutput สำหรับการจัดรูปแบบเพื่อเพิ่มตัวแปลงใหม่:
identity (ภายใต้ SRC/lib/identities) สำหรับรูปแบบ จาก ในกรณีนี้เรากำลังแปลงจากข้อความธรรมดาและเรามีความเป็นจริงอยู่แล้วดังนั้นเราไม่จำเป็นต้องเพิ่มตัวตนใหม่ identity ควรส่งออก (a) ฟังก์ชั่น confidence ซึ่งให้สตริงอินพุตส่งคืนตัวเลขจาก 100 อธิบายความมั่นใจว่าอินพุตที่กำหนดตรงกับตัวตนและ (b) อาร์เรย์ของ converters ที่สามารถใช้ข้อมูลประจำตัวได้identity ตัวใหม่ในขั้นตอน (2) ตรวจสอบให้แน่ใจว่าได้ส่งออกใน SRC/lib/identities/index.tsoutput (ภายใต้ SRC/lib/outputs) สำหรับรูปแบบ TO เอาต์พุตควรส่งออกฟังก์ชั่น output ซึ่งได้รับสตริงอินพุต (หรือวัตถุอาจขึ้นอยู่กับการแปลงที่เกิดขึ้น) และวัตถุ options จะแปลงอินพุตเป็นสตริงเอาต์พุตที่ต้องการoutput ใหม่ในขั้นตอน (4) ตรวจสอบให้แน่ใจว่าได้ส่งออกใน SRC/lib/outputs/index.tsconverter ใหม่ (ภายใต้ SRC/LIB/Converters) สำหรับคู่ input + output ตัวแปลงควรส่งออก (a) ฟังก์ชั่น operation ที่ผ่านสตริงอินพุตและวัตถุ options ไปยัง output ที่เหมาะสมและ (b) outputId ซึ่งกำหนดว่าจะใช้เอาต์พุตใดconverter ใหม่ในขั้นตอน (6) ตรวจสอบให้แน่ใจว่าได้ส่งออกใน SRC/lib/converters/index.ts นอกจากนี้ตรวจสอบให้แน่ใจว่าได้เพิ่มรายการไปยังสถานที่/en/pages-converter.json] เพื่อให้หน้า Landing Page ที่สร้างโดยอัตโนมัติจะมีหัวข้อที่ถูกต้องข้อความอินโทรและตัวอย่างoutputId ใหม่ในขั้นตอน (6) ให้เพิ่มส่วนประกอบเอาท์พุทปฏิกิริยา (ภายใต้ SRC/ส่วนประกอบ/โดเมน/แปลง/เอาต์พุต) เพื่อแสดงผลประเภทใหม่ หากคุณกำลังใช้เอาต์พุตชนิดที่มีอยู่อีกครั้ง (เช่นการแปลงเป็น JSON หรือ YAML) คุณสามารถใช้ส่วนประกอบเอาต์พุตที่มีอยู่ได้ที่นี่ หาก inputs ที่เหมาะสม outputs converters และส่วนประกอบปฏิกิริยาจะอยู่ในสถานที่และส่งออกอย่างถูกต้องคุณควรจะสามารถใช้ตัวแปลงใหม่ของคุณได้เนื่องจากสตริงอินพุตที่เหมาะสมที่ก่อให้เกิด confidence ที่ไม่เป็นศูนย์
หากคุณต้องการมั่นใจ 100% ว่าความเป็นส่วนตัวของคุณได้รับการปกป้องคุณสามารถตั้งค่าสตริงได้อย่างง่ายดายสำหรับการใช้งานส่วนตัวหรือองค์กรของคุณเอง
วิธีที่เร็วที่สุดในการปรับใช้สตริงคือการใช้แพลตฟอร์ม Vercel (ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์) ตรวจสอบเอกสารการปรับใช้ next.js ของพวกเขาสำหรับรายละเอียดเพิ่มเติม คลิกปุ่ม Deploy ด้านล่างเพื่อปรับใช้แอปพลิเคชันนี้ด้วย vercel:
Netlify และ Heroku ยังเป็นตัวเลือกที่ดีสำหรับการโฮสต์ฟรี คลิกปุ่ม Deploy ด้านล่างเพื่อปรับใช้แอปพลิเคชันนี้ด้วย Heroku:
น่าเสียดายที่ String.is ไม่สนับสนุนการสร้างแบบคงที่ผ่าน next export (ซึ่งจะอนุญาตให้โฮสต์บนเช่น S3) เนื่องจากคุณสมบัติ i18n ที่ใช้ไม่ได้รับการสนับสนุนในปัจจุบันสำหรับการสร้างแบบคงที่
ตั้งค่าตัวแปรสภาพแวดล้อม NEXT_PUBLIC_BASE_PATH เป็นเส้นทางย่อยจากนั้นสร้างโครงการก่อนที่จะปรับใช้ ค่านี้จะต้องตั้งค่าในเวลาที่สร้างและไม่สามารถเปลี่ยนแปลงได้โดยไม่ต้องสร้างใหม่เนื่องจากค่าถูก inlined ในชุดลูกค้าฝั่งไคลเอ็นต์
ตัวอย่างเช่นหากคุณกำลังปรับใช้กับ 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 --build String.is รองรับการแปลเต็มรูปแบบ ควรเพิ่มภาษาใหม่ภายใต้ locales/ โฟลเดอร์ในรูปแบบ JSON (ดูที่ 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
ดูใบอนุญาตสำหรับรายละเอียด