🔍 Enhance cheat sheet filtering and update script metadata hashes
This commit is contained in:
@@ -72,8 +72,8 @@ fn read_to_string(path_opt: Option<&String>) -> XResult<String> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let path = if let Some(cheat_sheet_name) = try_cheat_sheet(path) {
|
let path = if let Some(cheat_sheet_name) = try_cheat_sheet(path) {
|
||||||
if cheat_sheet_name.is_empty() {
|
if cheat_sheet_name.is_empty() || cheat_sheet_name.starts_with("~") {
|
||||||
print_cheat_sheet_meta();
|
print_cheat_sheet_meta(&cheat_sheet_name);
|
||||||
}
|
}
|
||||||
format!(
|
format!(
|
||||||
"https://git.hatter.ink/hatter/cheatsheets/raw/branch/main/{cheat_sheet_name}/CHEATSHEET.md"
|
"https://git.hatter.ink/hatter/cheatsheets/raw/branch/main/{cheat_sheet_name}/CHEATSHEET.md"
|
||||||
@@ -111,7 +111,7 @@ struct CheatSheetMeta {
|
|||||||
description: String,
|
description: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_cheat_sheet_meta() -> ! {
|
fn print_cheat_sheet_meta(filter: &str) -> ! {
|
||||||
let cheat_sheet_meta_url =
|
let cheat_sheet_meta_url =
|
||||||
"https://git.hatter.ink/hatter/cheatsheets/raw/branch/main/meta.json";
|
"https://git.hatter.ink/hatter/cheatsheets/raw/branch/main/meta.json";
|
||||||
let cheat_sheet_meta_json = reqwest::blocking::get(cheat_sheet_meta_url)
|
let cheat_sheet_meta_json = reqwest::blocking::get(cheat_sheet_meta_url)
|
||||||
@@ -121,11 +121,27 @@ fn print_cheat_sheet_meta() -> ! {
|
|||||||
let cheat_sheet_meta: Vec<CheatSheetMeta> =
|
let cheat_sheet_meta: Vec<CheatSheetMeta> =
|
||||||
serde_json::from_str(&cheat_sheet_meta_json).expect("Parse cheat sheet meta failed");
|
serde_json::from_str(&cheat_sheet_meta_json).expect("Parse cheat sheet meta failed");
|
||||||
|
|
||||||
|
let f = if !filter.is_empty() {
|
||||||
|
let f = filter.chars().skip(1).collect::<String>();
|
||||||
|
Some(f)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
let mut cheat_sheet_md = String::new();
|
let mut cheat_sheet_md = String::new();
|
||||||
cheat_sheet_md.push_str("# Cheat Sheets\n\n");
|
cheat_sheet_md.push_str("# Cheat Sheets\n\n");
|
||||||
|
if let Some(f) = &f {
|
||||||
|
cheat_sheet_md.push_str(&format!("Filter: `{f}`\n"));
|
||||||
|
}
|
||||||
cheat_sheet_md.push_str("| Name | Description |\n");
|
cheat_sheet_md.push_str("| Name | Description |\n");
|
||||||
cheat_sheet_md.push_str("| ----- | ------ |\n");
|
cheat_sheet_md.push_str("| ----- | ------ |\n");
|
||||||
for cheat_sheet in &cheat_sheet_meta {
|
for cheat_sheet in &cheat_sheet_meta {
|
||||||
|
if let Some(f) = &f {
|
||||||
|
if !cheat_sheet.name.contains(f) && !cheat_sheet.description.to_lowercase().contains(f)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
cheat_sheet_md.push_str(&format!(
|
cheat_sheet_md.push_str(&format!(
|
||||||
"| {} | {} |\n",
|
"| {} | {} |\n",
|
||||||
cheat_sheet.name, cheat_sheet.description
|
cheat_sheet.name, cheat_sheet.description
|
||||||
@@ -145,5 +161,5 @@ fn try_cheat_sheet(path: &str) -> Option<String> {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20260413T003557+08:00.MEYCIQCNWXiO8eSLj0FI/N9e
|
// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20260413T004508+08:00.MEUCIFSnP/5Ur0loaT+kYccv
|
||||||
// 5tJcQ7u1d2oMPO11BpAalYvFoQIhAIm1pcCiGctYL2jeon/WL4ihKEnHv2WdJyE55Nye+m3U
|
// gRy1LUFkfDxCy5FM3/kowRdIAiEAze5uUmB82aAayo2YxdGYsMyusp1D51v9J9bcam+6GJA=
|
||||||
|
|||||||
@@ -82,11 +82,11 @@
|
|||||||
},
|
},
|
||||||
"md.rs": {
|
"md.rs": {
|
||||||
"script_name": "md.rs",
|
"script_name": "md.rs",
|
||||||
"script_length": 4585,
|
"script_length": 5085,
|
||||||
"script_sha256": "1e2f9c06d7eceb71f56c8d245815deb144e8ad70662cd0f3701430425a822c28",
|
"script_sha256": "9ea5b616c849e999d606753c039356290a4a8ca65a4d4eddd65b2ac6708f8dae",
|
||||||
"script_full_url": "https://git.hatter.ink/rust-scripts/scriptbase/raw/branch/main/md-rs/src/main.rs",
|
"script_full_url": "https://git.hatter.ink/rust-scripts/scriptbase/raw/branch/main/md-rs/src/main.rs",
|
||||||
"publish_time": 1775921621093,
|
"publish_time": 1775921621093,
|
||||||
"update_time": 1776011776921
|
"update_time": 1776012346584
|
||||||
},
|
},
|
||||||
"myip.rs": {
|
"myip.rs": {
|
||||||
"script_name": "myip.rs",
|
"script_name": "myip.rs",
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
},
|
},
|
||||||
"md-rs": {
|
"md-rs": {
|
||||||
"script_name": "md-rs",
|
"script_name": "md-rs",
|
||||||
"script_length": 4585,
|
"script_length": 5085,
|
||||||
"script_sha256": "1e2f9c06d7eceb71f56c8d245815deb144e8ad70662cd0f3701430425a822c28"
|
"script_sha256": "9ea5b616c849e999d606753c039356290a4a8ca65a4d4eddd65b2ac6708f8dae"
|
||||||
},
|
},
|
||||||
"myip-rs": {
|
"myip-rs": {
|
||||||
"script_name": "myip-rs",
|
"script_name": "myip-rs",
|
||||||
|
|||||||
Reference in New Issue
Block a user