mirror of
https://github.com/zyllian/webdog.git
synced 2025-06-27 08:56:49 -07:00
Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
9125738498 | |||
230e22dbf8 | |||
abd591c8fa |
4 changed files with 16 additions and 50 deletions
29
Cargo.lock
generated
29
Cargo.lock
generated
|
@ -690,12 +690,6 @@ dependencies = [
|
|||
"percent-encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fs_extra"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
|
||||
|
||||
[[package]]
|
||||
name = "fsevent-sys"
|
||||
version = "4.1.0"
|
||||
|
@ -1297,15 +1291,6 @@ version = "1.70.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.15"
|
||||
|
@ -2652,21 +2637,9 @@ dependencies = [
|
|||
"mio 1.0.4",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"tokio-macros",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.101",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-tungstenite"
|
||||
version = "0.21.0"
|
||||
|
@ -3025,13 +2998,11 @@ dependencies = [
|
|||
"color-eyre",
|
||||
"extract-frontmatter",
|
||||
"eyre",
|
||||
"fs_extra",
|
||||
"futures",
|
||||
"grass",
|
||||
"hotwatch",
|
||||
"html5ever 0.31.0",
|
||||
"include_dir",
|
||||
"itertools",
|
||||
"kuchikiki",
|
||||
"lol_html",
|
||||
"minifier",
|
||||
|
|
|
@ -13,13 +13,11 @@ clap = { version = "4", features = ["derive"] }
|
|||
color-eyre = { version = "0.6", optional = true }
|
||||
extract-frontmatter = "4"
|
||||
eyre = "0.6"
|
||||
fs_extra = "1.2"
|
||||
futures = { version = "0.3", optional = true }
|
||||
grass = { version = "0.13", default-features = false }
|
||||
hotwatch = { version = "0.5", optional = true }
|
||||
html5ever = "0.31"
|
||||
include_dir = "0.7"
|
||||
itertools = "0.14"
|
||||
kuchikiki = "0.8.8-speedreader"
|
||||
lol_html = "2"
|
||||
minifier = { version = "0.3", features = ["html"] }
|
||||
|
@ -35,10 +33,7 @@ serde_yaml_ng = "0.10"
|
|||
syntect = "5"
|
||||
tera = "1"
|
||||
time = { version = "0.3", features = ["serde-human-readable"] }
|
||||
tokio = { version = "1", features = [
|
||||
"macros",
|
||||
"rt-multi-thread",
|
||||
], optional = true }
|
||||
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }
|
||||
url = { version = "2", features = ["serde"] }
|
||||
walkdir = "2"
|
||||
warp = { version = "0.3", optional = true }
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use itertools::Itertools;
|
||||
use lol_html::{element, RewriteStrSettings};
|
||||
use lol_html::{RewriteStrSettings, element};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{builder::SiteBuilder, resource::ResourceTemplateData};
|
||||
|
@ -111,10 +110,12 @@ fn resource_list_outside(
|
|||
)
|
||||
.map(|ts| (id, v, ts))
|
||||
})
|
||||
.map_ok(|(id, v, ts)| ResourceTemplateData {
|
||||
resource: v,
|
||||
id: id.clone(),
|
||||
readable_timestamp: ts,
|
||||
.map(|v| {
|
||||
v.map(|(id, v, ts)| ResourceTemplateData {
|
||||
resource: v,
|
||||
id: id.clone(),
|
||||
readable_timestamp: ts,
|
||||
})
|
||||
})
|
||||
.collect::<eyre::Result<Vec<_>>>()?,
|
||||
})?,
|
||||
|
|
|
@ -4,17 +4,16 @@ use std::{
|
|||
};
|
||||
|
||||
use eyre::Context;
|
||||
use itertools::Itertools;
|
||||
use rss::{validation::Validate, ChannelBuilder, ItemBuilder};
|
||||
use rss::{ChannelBuilder, ItemBuilder, validation::Validate};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use time::{format_description::well_known::Rfc2822, OffsetDateTime};
|
||||
use time::{OffsetDateTime, format_description::well_known::Rfc2822};
|
||||
|
||||
use crate::{
|
||||
PageMetadata,
|
||||
builder::SiteBuilder,
|
||||
frontmatter::FrontMatterRequired,
|
||||
link_list::Link,
|
||||
util::{self, format_timestamp},
|
||||
PageMetadata,
|
||||
};
|
||||
|
||||
/// Metadata for resources.
|
||||
|
@ -319,7 +318,7 @@ impl ResourceBuilder {
|
|||
let page_max = list.len() / items_per_page + (list.len() % items_per_page).min(1);
|
||||
let mut previous = None;
|
||||
let mut next;
|
||||
for (page, iter) in list.iter().chunks(items_per_page).into_iter().enumerate() {
|
||||
for (page, iter) in list.chunks(items_per_page).enumerate() {
|
||||
next = (page + 1 != page_max).then_some(page + 2);
|
||||
let out = builder.build_page_raw(
|
||||
PageMetadata {
|
||||
|
@ -329,7 +328,7 @@ impl ResourceBuilder {
|
|||
},
|
||||
"",
|
||||
ResourceListTemplateData {
|
||||
resources: iter.copied().collect(),
|
||||
resources: iter.to_vec(),
|
||||
tag,
|
||||
rss_enabled: config.rss.is_some(),
|
||||
page: page + 1,
|
||||
|
@ -372,7 +371,7 @@ impl ResourceBuilder {
|
|||
|
||||
// Build list of tags
|
||||
{
|
||||
let links = tags
|
||||
let mut links: Vec<_> = tags
|
||||
.iter()
|
||||
.map(|(tag, data)| {
|
||||
let count = data.len();
|
||||
|
@ -384,9 +383,9 @@ impl ResourceBuilder {
|
|||
count,
|
||||
)
|
||||
})
|
||||
.sorted_by(|(_, a), (_, b)| b.cmp(a))
|
||||
.map(|(l, _)| l)
|
||||
.collect();
|
||||
links.sort_by(|(_, a), (_, b)| b.cmp(a));
|
||||
let links = links.into_iter().map(|(l, _)| l).collect();
|
||||
let out = crate::link_list::render_basic_link_list(
|
||||
builder,
|
||||
&self.config.tag_list_template,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue