根据环境特定的指南(包括土耳其支持)的特定指南,将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设置的任何组合,并将适当的转换应用于内容。默认情况下,它将跟踪文档内容的语言。