根據環境特定的指南(包括土耳其支持)的特定指南,將Cli實用程序,Rust Crate,Lua Rock,Lua Rock,Python模塊,JavaScript模塊,Neovim插件和Sile套件鑄造為標題案例(和其他情況)。
這個項目是出於對作者和編輯的沮喪而生的,這些項目將所有帽子的頭銜都留在了馬達克斯來源。沒有工具,我可以找到適當的支持將其鑄造為標題符號字符串(用於排版目的的用途更廣泛)。這個問題非常困難,因為我的大部分工作都與土耳其語相鄰,而且工具的可用性甚至更少,並且在案例轉換方面存在特殊問題。許多工具可以處理套管單詞,一些程序員特定的工具處理重新構圖令牌和標識符,但其他一些工具可以處理英語字符串。但是,似乎沒有什麼可以改變土耳其散文的情況。
CLI默認為Titlecase和English,但也可以使用下部,上部和句子案例選項。 Rust,Lua,Python和JavaScript庫API具有針對每個操作的功能。在可能的情況下,API當前默認為英語規則,(對於英語)Gruber樣式指南,但其他可用。
土耳其風格遵循土耳其語言研究所的指南。
對於英語,三個樣式指南是已知的:美聯社(AP),芝加哥風格手冊(CMOS)和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要安裝,請先檢查您的發行套件中的發行套件,例如,對於Arch Linux,只需通過pacman -S decasify安裝或通過brew install decasify自製。
否則,對於許多平台,您可以直接運行它或使用Nix Flakes將其安裝到外殼上:
$ nix run github:alerque/decasify要從源進行完整安裝,請抓住附加到最新版本的tarball或使用git克隆存儲庫。不要使用從版本鏈接的“源代碼” zip/tar.gz文件,請訪問tar.zst源文件。如果您使用git關閉,請在結帳後首先運行./bootstrap.sh 。在源釋放Tarballs中,這不需要。接下來,配置並安裝以下方式:
$ ./configure
$ make
$ sudo make install請注意,從源安裝的優點是包括一個人頁面和外殼完成。所有常用的自動工具選項都適用,請參見--help備用詳細信息。最常用的選項,尤其是對於發行版包裝器,可能是--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 )依賴於您項目中基於WASM的JavaScript模塊,並使用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岩石可用,然後將此存儲庫用作插件,但是您的插件管理器可以處理該插件。
-- for packer.nvim
use {
" alerque/decasify " ,
rocks = { " decasify " },
}使用不使用插件管理器,請確保安裝了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排水器利用Luarocks管理第三方軟件包。可以使用luarocks install decasify.sile decasify.sile岩石。通常,您需要調整LUA版本以匹配您的Sile安裝,也許與luarocks --lua $(sile -q <<< SILE.lua_version) install decasify.sile 。此外,您想使用--local安裝到您的用戶帳戶,而不是系統root或--tree lua_modules ,以在單個項目中本地安裝。將其加載到Sile文檔中使用通常的use[module=package.decasify] (如果您通過--local安裝,請參見有關設置軟件包路徑的說明)。一旦加載軟件包,就可以揭示decasify{}函數,該功能可以採用任何case , locale和style設置的任何組合,並將適當的轉換應用於內容。默認情況下,它將跟踪文檔內容的語言。