1 个不稳定版本
0.1.0 | 2023年4月16日 |
---|
#866 in 文本处理
17KB
82 行
sluggify-rs
简单的 slug 或 Rust 清洁 URL 生成器。
使用新的设置,您将为任何字符串获取一个连字符分隔、小写、数字版本的字符串,任何重音符号被移除,空格和短横线合并,并修剪空格。如果您正在寻找新功能或发现错误,请在新功能或错误报告 GitHub 仓库 上打开 PR 或 issue,我会尽快处理。
请参阅 API 文档 了解可用功能和用法示例。
入门
我们逐步解释如何使用 sluggify。已有 Rust 经验的用户可以直接跳转到 步骤 3:在项目中使用 sluggify。已熟悉 sluggify
的用户可能希望直接查看 模块文档
步骤 1:设置 Rust
可以按照 rustup 指示进行安装。
步骤 2:设置新的 Rust 项目
由于 sluggify 是一个库,您需要设置自己的新的 Rust 项目来使用 sluggify。在 Rust 中,项目及其依赖项由内置的包管理器 Cargo 管理。要创建一个新的 Rust 项目,请在终端中输入以下命令:
cargo new hello_world --bin
cd hello_world
标志 --bin
告诉 Cargo 创建一个可执行项目而不是库。在 Rust 文档的 此部分 中,您可以找到 Cargo 为您创建的详细内容。
您的新项目可以通过以下命令编译:
cargo build
如果项目中存在过时的依赖项,请使用以下命令更新:
cargo update
通过以下命令执行编译后的代码:
cargo run
如果您是 Rust 初学者,我们建议您通过 Rust 文档中的 学习 Rust 来继续。
步骤 3:在项目中使用 sluggify
要在您的Rust项目中使用sluggify,请将以下内容添加到您的Cargo.toml
[dependencies]
sluggify = "0.1.0"
快速入门
use sluggify::sluggify:: {SluggifyOptions, sluggify};
// Print a web page onto stdout
fn main() {
let raw_string = "Welcome to the party fellas!";
let cleaned_url = sluggify(raw_string, None);
println!("Sluggified version of raw string '{}' is '{}'", raw_string, cleaned_url);
Returns ``` r#Sluggified version of raw string 'Welcome to the party fellas!' is 'welcome-to-the-party-fellas'r# ```
}
使用带空格的配置使用sluggify
use sluggify::sluggify:: {SluggifyOptions, sluggify};
// Print a web page onto stdout
//this replaces all whitespace characters with a hyphen '-'
fn main() {
let options = SluggifyOptions::new().set_collapse_whitespace(false); //it is true by new
let raw_string = "a #$b ** c \t \n d ! ... xyz...23";
let cleaned_url = sluggify(raw_string, Some(options));
println!("Sluggified version of raw string {} is {}", raw_string, cleaned_url);
}
通过覆盖禁止的字符使用sluggify
use sluggify::sluggify:: {SluggifyOptions, sluggify};
// Print a web page onto stdout
fn main() {
let raw_string = "a #$b ** c \t \n d";
let bad_characters = vec!['*','$', '\t'];
let options = SluggifyOptions::new().set_disallowed_characters(bad_characters);
let cleaned_url = sluggify(raw_string, Some(options));
println!("Sluggified version of raw string {} is {}", raw_string, cleaned_url);
}
同时配置所有选项
use sluggify::sluggify:: {SluggifyOptions, sluggify};
// Print a web page onto stdout
fn main() {
let raw_string = "a #$b ** c \t \n d";
let bad_characters = vec!['*','$', '\t'];
//don't collapse whitespaces and also look out for these bad characters...
let options = SluggifyOptions::new().set_collapse_whitespace(false).set_disallowed_characters(chars);
//pass this option to the sluggify helper
let cleaned_url = sluggify(raw_string, Some(options));
println!("Sluggified version of raw string {} is {}", raw_string, cleaned_url);
}
变更日志
0.1.0:
- 初始发布。
许可证
MIT License
Copyright (c) 2023 propenster
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
依赖项
~2.2–3MB
~53K SLoC