ยูทิลิตี้ CLI, ลังสนิม, Lua Rock, โมดูล Python, โมดูล JavaScript, ปลั๊กอิน NeoVim และ Sile Package เพื่อส่งสตริงไปยังกรณีชื่อเรื่อง (และกรณีอื่น ๆ ) ตามแนวทางสไตล์เฉพาะของสถานที่รวมถึงการสนับสนุนตุรกี
โครงการนี้เกิดจากความหงุดหงิดกับผู้แต่งและบรรณาธิการทิ้งชื่อแคปทั้งหมดในแหล่งมาร์เดอร์ดาวน์ ไม่มีเครื่องมือใดที่ฉันสามารถพบการคัดเลือกนักแสดงเหล่านี้ไปยังสตริงชื่อเรื่อง (ซึ่งมีความหลากหลายมากกว่าสำหรับการเรียงพิมพ์) ปัญหานั้นยากเป็นสองเท่าเนื่องจากงานส่วนใหญ่ของฉันอยู่ติดกับตุรกีและแม้แต่เครื่องมือก็น้อยกว่าและมีปัญหาพิเศษเกี่ยวกับการแปลงเคส เครื่องมือหลายอย่างสามารถจัดการกับคำเดียวได้เครื่องมือเฉพาะโปรแกรมเมอร์บางตัวจัดการโทเค็นและตัวระบุอีกครั้งและยังมีอีกสองสามตัวที่สามารถจัดการสตริง ภาษาอังกฤษ ได้ แต่ดูเหมือนจะ ไม่มีอะไร ออกไปที่นั่นเพราะเปลี่ยนกรณีของร้อยแก้วตุรกี
CLI จะเริ่มต้นเป็น Titlecase และภาษาอังกฤษ แต่ตัวเลือกกรณีที่ต่ำกว่า, บนและประโยคก็มีให้เช่นกัน Rust, Lua, Python และ JavaScript Library APIs มีฟังก์ชั่นเฉพาะสำหรับการดำเนินการแต่ละครั้ง ในขณะที่ APIs เป็นไปได้ในปัจจุบันเริ่มต้นกฎภาษาอังกฤษและ (สำหรับภาษาอังกฤษ) คู่มือสไตล์ Gruber แต่มีให้เลือกอื่น ๆ
สไตล์ตุรกีเป็นไปตามแนวทางของสถาบันภาษาตุรกี
สำหรับภาษาอังกฤษมีคำแนะนำสามสไตล์: Associated Press (AP), Chicago Manual of Style (CMOS) และ Fireball Daring ของ John Gruber (Gruber) สไตล์ Gruber นั้นสมบูรณ์ที่สุดและถูกนำไปใช้โดย Titlecase Crate สไตล์ CMOS จัดการกับส่วนหนึ่งของการพูด แต่มีปัญหาที่เกี่ยวข้องกับเครื่องหมายวรรคตอน สไตล์ AP ส่วนใหญ่ไม่ได้ใช้งาน
ยินดีต้อนรับการสนับสนุนสำหรับคู่มือสไตล์ที่ดีกว่าหรือภาษาเพิ่มเติม
การใช้ CLI นั้นค่อนข้างง่าย อินพุตอาจเป็นทั้งอาร์กิวเมนต์เชลล์หรือ stdin อาร์กิวเมนต์สามารถควบคุมตัวเลือกต่าง ๆ สำหรับการตรวจสอบข้อมูลการใช้งานเต็มรูป decasify --help หรือ man decasify
$ decasify -l tr ILIK SU VE İTEN RÜZGARLAR
Ilık Su ve İten Rüzgarlar
$ echo ILIK SU VE İTEN RÜZGARLAR | decasify -l tr
Ilık Su ve İten Rüzgarlar
$ echo foo BAR AND baz: an alter ego | decasify -l en -s gruber
Foo BAR and Baz: An Alter Ego ในการติดตั้งก่อนอื่นให้ตรวจสอบ distro ของคุณสำหรับแพ็คเกจเช่น arch linux เพียงติดตั้งผ่าน pacman -S decasify หรือสำหรับ homebrew ผ่าน brew install decasify
มิฉะนั้นสำหรับหลายแพลตฟอร์มคุณสามารถเรียกใช้โดยตรงหรือติดตั้งลงในเปลือกโดยใช้ Nix Flakes:
$ nix run github:alerque/decasify หากต้องการทำการติดตั้งเต็มรูปแบบจากแหล่งที่มาให้คว้า tarball ที่แนบมากับรุ่นล่าสุดหรือใช้ Git เพื่อโคลนพื้นที่เก็บข้อมูล อย่าใช้ไฟล์ zip/tar.gz ที่เชื่อมโยงจากรุ่น "รหัสแหล่งที่มา" ไปที่ไฟล์ต้นฉบับ tar.zst หากคุณใช้ Git Close ให้เรียกใช้ครั้งแรก ./bootstrap.sh หลังการชำระเงิน สิ่งนี้ไม่จำเป็นในการเปิดตัว Tarballs ถัดไปกำหนดค่าและติดตั้งด้วย:
$ ./configure
$ make
$ sudo make install โปรดทราบว่าการติดตั้งจากแหล่งที่มามีข้อได้เปรียบของการรวมหน้า MAN และความสมบูรณ์ของเชลล์ ตัวเลือก Autotools ปกติทั้งหมดใช้ดู --help ให้รายละเอียด ตัวเลือกที่ใช้กันมากที่สุดโดยเฉพาะอย่างยิ่งสำหรับ packager distro น่าจะเป็น --prefix /usr เพื่อเปลี่ยนตำแหน่งการติดตั้งจากค่าเริ่มต้นของ /usr/local
แน่นอนว่าไบนารีเปลือยสามารถติดตั้งได้โดยตรงด้วยสินค้า:
$ cargo install --features cli decasify ในไฟล์ Cargo.toml ของคุณ
[ dependencies ]
decasify = " 0.8 "จากนั้นใช้ฟังก์ชั่นลังและประเภทในโครงการของคุณบางอย่างเช่นนี้:
use decasify :: titlecase ;
use decasify :: { Locale , StyleGuide } ;
fn demo ( ) {
let input = "ILIK SU VE İTEN RÜZGARLAR" ;
let output = titlecase ( input , Locale :: TR , StyleGuide :: LanguageDefault ) ;
eprintln ! { "{output}" } ;
let input = "title with a twist: a colon" ;
let output = titlecase ( input , Locale :: EN , StyleGuide :: DaringFireball ) ;
eprintln ! { "{output}" } ;
} ขึ้นอยู่กับ luarock ในโครงการของคุณหรือติดตั้งด้วย luarocks install decasify :
dependencies = {
" decasify "
}จากนั้นนำเข้าและใช้ฟังก์ชั่นที่ให้ไว้:
local decasify = require ( " decasify " )
local input = " ILIK SU VE İTEN RÜZGARLAR "
local output = decasify . titlecase ( input , " tr " )
print ( output )
input = " title with a twist: a colon "
output = decasify . titlecase ( input , " en " , " gruber " )
print ( output ) ขึ้นอยู่กับโมดูล Python ในโครงการของคุณหรือติดตั้งด้วย pip install decasify :
[ project ]
dependencies = [
" decasify "
]จากนั้นนำเข้าและใช้ฟังก์ชั่นที่ให้มาและคลาส:
from decasify import *
input = "ILIK SU VE İTEN RÜZGARLAR"
output = titlecase ( input , Locale . TR )
print ( output )
input = "title with a twist: a colon"
output = titlecase ( input , Locale . EN , StyleGuide . DaringFireball )
print ( output ) ขึ้นอยู่กับโมดูล JavaScript ที่ใช้ WASM ในโครงการของคุณด้วย npm add decasify :
จากนั้นนำเข้าและใช้ฟังก์ชั่นและคลาสที่ให้ไว้:
import { titlecase , uppercase , lowercase , Locale , StyleGuide } from 'decasify' ;
var input = "ILIK SU VE İTEN RÜZGARLAR"
var output = titlecase ( input , Locale . TR )
console . log ( output )
var input = "title with a twist: a colon"
var output = titlecase ( input , Locale . EN , StyleGuide . DaringFireball )
console . log ( output ) การใช้ rocks.nvim เพียงแค่เรียกใช้ :Rocks install decasify.nvim
ใช้ lazy.nvim เพียงเพิ่ม { "alerque/decasify" }
การใช้ตัวจัดการปลั๊กอินอื่น ๆ ที่ไม่ตรวจพบการพึ่งพาโดยอัตโนมัติคุณจะต้องระบุการพึ่งพาอาศัยกันโดยอัตโนมัติและ/หรือตรวจสอบให้แน่ใจว่า Lua Rock สำหรับ Decasify พร้อมใช้งานจากนั้นใช้ที่เก็บนี้เป็นปลั๊กอิน แต่ผู้จัดการปลั๊กอินของคุณจัดการได้
-- for packer.nvim
use {
" alerque/decasify " ,
rocks = { " decasify " },
} การใช้งาน Plugin Manager ตรวจสอบให้แน่ใจว่า Decasify Rock ติดตั้งตรงกับเวอร์ชันของ Lua NeoVim ที่สร้างขึ้นจากนั้นคัดลอก plugin/decasify.lua ไปที่ใดก็ตามที่ไดเรกทอรีปลั๊กอินของผู้ใช้ของคุณอยู่ที่ใด
คำสั่งใหม่ :Decasify จะพร้อมใช้งาน (พร้อมคำสั่งย่อยที่เป็นตัวเลือกสำหรับกรณีอื่น ๆ นอกเหนือจากกรณีชื่อเรื่อง) ที่แปลงบรรทัดปัจจุบันหรือช่วงของบรรทัดใด ๆ เคสเริ่มต้นที่ตั้งสถานที่ตั้งและสไตล์สามารถเปลี่ยนแปลงได้ (ก่อนหรือหลังโหลด) ด้วยตัวแปรท้องถิ่นหรือบัฟเฟอร์ตัวแปรท้องถิ่น:
-- Set the default target case globally
vim . g . decasify_case = " title "
-- Change the locale for the current buffer
vim . b . decasify_locale = " tr "
-- Change the default style guide globally
vim . g . decasify_style = " gruber " Sile Typenetter ใช้ประโยชน์จาก Luarocks เพื่อจัดการแพ็คเกจบุคคลที่สาม Decasify.sile Rock สามารถติดตั้งด้วย luarocks install decasify.sile โดยทั่วไปคุณจะต้องปรับรุ่น LUA ให้ตรงกับการติดตั้ง Sile ของคุณบางทีอาจมี luarocks --lua $(sile -q <<< SILE.lua_version) install decasify.sile นอกจากนี้คุณต้องการใช้ --local เพื่อติดตั้งในบัญชีผู้ใช้ของคุณแทนรูทระบบหรือ --tree lua_modules เพื่อติดตั้งในพื้นที่ภายในโครงการเดียว การโหลดในเอกสาร Sile ใช้ use[module=package.decasify] (ดูหมายเหตุในคู่มือ Sile เกี่ยวกับการตั้งค่าพา ธ แพ็คเกจหากคุณติดตั้งผ่าน --local ) เมื่อโหลดแพ็คเกจจะเปิดเผยฟังก์ชั่น decasify{} ที่สามารถใช้การรวมกันของ case locale และการตั้งค่า style และใช้การแปลงที่เหมาะสมกับเนื้อหา โดยค่าเริ่มต้นมันจะติดตามภาษาของเนื้อหาเอกสาร