mirror of
https://github.com/pseXperiments/freedit.git
synced 2026-01-09 15:48:05 -05:00
update
This commit is contained in:
58
Cargo.lock
generated
58
Cargo.lock
generated
@@ -131,7 +131,7 @@ dependencies = [
|
||||
"mime_guess",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -170,7 +170,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -452,7 +452,7 @@ dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -619,7 +619,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -630,7 +630,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -667,7 +667,7 @@ dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -677,7 +677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
|
||||
dependencies = [
|
||||
"derive_builder_core",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -713,9 +713,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.11.0"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
|
||||
checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
|
||||
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
@@ -973,9 +973,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.15"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
||||
checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
@@ -1086,7 +1086,7 @@ dependencies = [
|
||||
"markup5ever",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1388,9 +1388,9 @@ checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.154"
|
||||
version = "0.2.153"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
|
||||
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
||||
|
||||
[[package]]
|
||||
name = "libm"
|
||||
@@ -1400,9 +1400,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.13"
|
||||
version = "0.4.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
|
||||
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@@ -1870,7 +1870,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2256,9 +2256,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.102.3"
|
||||
version = "0.102.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
|
||||
checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
@@ -2315,7 +2315,7 @@ checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2504,9 +2504,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.63"
|
||||
version = "2.0.64"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704"
|
||||
checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2726,7 +2726,7 @@ checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2830,7 +2830,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2944,7 +2944,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3106,7 +3106,7 @@ dependencies = [
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3173,7 +3173,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@@ -3207,7 +3207,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@@ -3464,7 +3464,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"syn 2.0.64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
use bincode::{Decode, Encode};
|
||||
use freedit::{get_one, ivec_to_u32, set_one, u8_slice_to_u32};
|
||||
use serde::Serialize;
|
||||
|
||||
fn main() {
|
||||
let db_url = std::env::args()
|
||||
.nth(1)
|
||||
.unwrap_or_else(|| "freedit.db".to_owned());
|
||||
let config = sled::Config::default().path(db_url);
|
||||
let db = config.open().unwrap();
|
||||
|
||||
let tree = db.open_tree("inns").unwrap();
|
||||
for i in tree.iter() {
|
||||
let (k, _) = i.unwrap();
|
||||
let id = ivec_to_u32(&k);
|
||||
let old_inn: OldInn = get_one(&db, "inns", id).unwrap();
|
||||
|
||||
let inn_type = match old_inn.inn_type.as_str() {
|
||||
"Public" => 0,
|
||||
"Apply" => 5,
|
||||
"Private" => 10,
|
||||
"Hidden" => 20,
|
||||
_ => 20,
|
||||
};
|
||||
|
||||
let new_inn = Inn {
|
||||
iid: old_inn.iid,
|
||||
inn_name: old_inn.inn_name,
|
||||
about: old_inn.about,
|
||||
description: old_inn.description,
|
||||
topics: old_inn.topics,
|
||||
inn_type,
|
||||
early_birds: old_inn.early_birds,
|
||||
created_at: old_inn.created_at,
|
||||
limit_edit_seconds: 60 * 30,
|
||||
};
|
||||
|
||||
set_one(&db, "inns", id, &new_inn).unwrap();
|
||||
}
|
||||
|
||||
let tree = db.open_tree("user_posts").unwrap();
|
||||
for i in tree.iter() {
|
||||
let (k, v) = i.unwrap();
|
||||
let iid = u8_slice_to_u32(&v[0..4]);
|
||||
let inn: Inn = get_one(&db, "inns", iid).unwrap();
|
||||
let mut v = iid.to_be_bytes().to_vec();
|
||||
v.push(inn.inn_type);
|
||||
tree.insert(k, v).unwrap();
|
||||
}
|
||||
|
||||
let tree = db.open_tree("post_timeline_idx").unwrap();
|
||||
for i in tree.iter() {
|
||||
let (k, v) = i.unwrap();
|
||||
let iid = u8_slice_to_u32(&k[0..4]);
|
||||
let inn: Inn = get_one(&db, "inns", iid).unwrap();
|
||||
let mut v = v.to_vec();
|
||||
v.push(inn.inn_type);
|
||||
tree.insert(k, v).unwrap();
|
||||
}
|
||||
|
||||
let tree = db.open_tree("post_timeline").unwrap();
|
||||
for i in tree.iter() {
|
||||
let (k, _) = i.unwrap();
|
||||
let iid = u8_slice_to_u32(&k[4..8]);
|
||||
let inn: Inn = get_one(&db, "inns", iid).unwrap();
|
||||
tree.insert(k, &[inn.inn_type]).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Encode, Decode, Serialize, Debug)]
|
||||
struct Inn {
|
||||
iid: u32,
|
||||
inn_name: String,
|
||||
about: String,
|
||||
description: String,
|
||||
topics: Vec<String>,
|
||||
inn_type: u8,
|
||||
early_birds: u32,
|
||||
created_at: i64,
|
||||
limit_edit_seconds: u32,
|
||||
}
|
||||
|
||||
#[derive(Encode, Decode, Serialize, Debug)]
|
||||
struct OldInn {
|
||||
iid: u32,
|
||||
inn_name: String,
|
||||
about: String,
|
||||
description: String,
|
||||
topics: Vec<String>,
|
||||
inn_type: String,
|
||||
early_birds: u32,
|
||||
created_at: i64,
|
||||
limit_edit_seconds: u32,
|
||||
}
|
||||
@@ -57,7 +57,7 @@ const MATHML_TAGS: [&str; 31] = [
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with cmark-syntax. If not, see <http://www.gnu.org/licenses/>
|
||||
pub(super) fn md2html(md: &str) -> String {
|
||||
let parser = pulldown_cmark::Parser::new_ext(md, OPTIONS);
|
||||
let parser = pulldown_cmark::Parser::new_ext(md, Options::all());
|
||||
let processed = SyntaxPreprocessor::new(parser);
|
||||
let mut html_output = String::with_capacity(md.len() * 2);
|
||||
html::push_html(&mut html_output, processed);
|
||||
@@ -74,8 +74,6 @@ pub(super) fn clean_html(raw: &str) -> String {
|
||||
.to_string()
|
||||
}
|
||||
|
||||
const OPTIONS: Options = Options::all();
|
||||
|
||||
struct SyntaxPreprocessor<'a, I: Iterator<Item = Event<'a>>> {
|
||||
parent: I,
|
||||
}
|
||||
@@ -87,9 +85,6 @@ impl<'a, I: Iterator<Item = Event<'a>>> SyntaxPreprocessor<'a, I> {
|
||||
}
|
||||
}
|
||||
|
||||
static THEME_SET: Lazy<syntect::highlighting::ThemeSet> = Lazy::new(ThemeSet::load_defaults);
|
||||
static SYNTAX_SET: Lazy<SyntaxSet> = Lazy::new(SyntaxSet::load_defaults_newlines);
|
||||
|
||||
impl<'a, I: Iterator<Item = Event<'a>>> Iterator for SyntaxPreprocessor<'a, I> {
|
||||
type Item = Event<'a>;
|
||||
|
||||
@@ -131,6 +126,9 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for SyntaxPreprocessor<'a, I> {
|
||||
}
|
||||
}
|
||||
|
||||
static THEME_SET: Lazy<syntect::highlighting::ThemeSet> = Lazy::new(ThemeSet::load_defaults);
|
||||
static SYNTAX_SET: Lazy<SyntaxSet> = Lazy::new(SyntaxSet::load_defaults_newlines);
|
||||
|
||||
fn code_highlighter(code: &str, lang: &str) -> String {
|
||||
let syntax = if let Some(syntax) = SYNTAX_SET.find_syntax_by_name(lang) {
|
||||
syntax
|
||||
|
||||
Reference in New Issue
Block a user