forked from cadey/xesite
parent
ff64215d07
commit
bdc64f78f2
|
@ -29,7 +29,7 @@ impl Client {
|
|||
.build()?;
|
||||
|
||||
Ok(Self {
|
||||
cli: cli,
|
||||
cli,
|
||||
base_url: "https://mi.within.website".to_string(),
|
||||
})
|
||||
}
|
||||
|
@ -63,11 +63,3 @@ pub struct WebMention {
|
|||
pub source: String,
|
||||
pub title: Option<String>,
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[test]
|
||||
fn it_works() {
|
||||
assert_eq!(2 + 2, 4);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ pub fn render(inp: &str) -> Result<String> {
|
|||
let mut data = node.data.borrow_mut();
|
||||
match &mut data.value {
|
||||
&mut NodeValue::Link(ref mut link) => {
|
||||
let base = Url::parse("https://christine.website/")?;
|
||||
let base = Url::parse("https://xeiaso.net/")?;
|
||||
let u = base.join(std::str::from_utf8(&link.url.clone())?)?;
|
||||
if u.scheme() != "conversation" {
|
||||
return Ok(());
|
||||
|
@ -85,9 +85,9 @@ pub fn render(inp: &str) -> Result<String> {
|
|||
<div class="conversation">
|
||||
<div class="conversation-picture conversation-smol">
|
||||
<picture>
|
||||
<source srcset="https://cdn.christine.website/file/christine-static/stickers/{name_lower}/{mood}.avif" type="image/avif">
|
||||
<source srcset="https://cdn.christine.website/file/christine-static/stickers/{name_lower}/{mood}.webp" type="image/webp">
|
||||
<img src="https://cdn.christine.website/file/christine-static/stickers/{name_lower}/{mood}.png" alt="{name} is {mood}">
|
||||
<source srcset="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.avif" type="image/avif">
|
||||
<source srcset="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.webp" type="image/webp">
|
||||
<img src="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.png" alt="{name} is {mood}">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="conversation-chat"><<b>{name}</b>> "#), ContentType::Html);
|
||||
|
|
|
@ -54,7 +54,7 @@ async fn patrons() -> Result<Option<patreon::Users>> {
|
|||
}
|
||||
}
|
||||
|
||||
pub const ICON: &'static str = "https://christine.website/static/img/avatar.png";
|
||||
pub const ICON: &'static str = "https://xeiaso.net/static/img/avatar.png";
|
||||
|
||||
pub struct State {
|
||||
pub cfg: Config,
|
||||
|
@ -106,12 +106,12 @@ pub async fn init(cfg: PathBuf) -> Result<State> {
|
|||
.author(
|
||||
jsonfeed::Author::new()
|
||||
.name("Xe")
|
||||
.url("https://christine.website")
|
||||
.url("https://xeiaso.net")
|
||||
.avatar(ICON),
|
||||
)
|
||||
.feed_url("https://christine.website/blog.json")
|
||||
.feed_url("https://xeiaso.net/blog.json")
|
||||
.user_comment("This is a JSON feed of my blogposts. For more information read: https://jsonfeed.org/version/1")
|
||||
.home_page_url("https://christine.website")
|
||||
.home_page_url("https://xeiaso.net")
|
||||
.icon(ICON)
|
||||
.favicon(ICON);
|
||||
|
||||
|
@ -124,17 +124,17 @@ pub async fn init(cfg: PathBuf) -> Result<State> {
|
|||
let smw = sitemap::writer::SiteMapWriter::new(&mut sm);
|
||||
let mut urlwriter = smw.start_urlset()?;
|
||||
for url in &[
|
||||
"https://christine.website/resume",
|
||||
"https://christine.website/contact",
|
||||
"https://christine.website/",
|
||||
"https://christine.website/blog",
|
||||
"https://christine.website/signalboost",
|
||||
"https://xeiaso.net/resume",
|
||||
"https://xeiaso.net/contact",
|
||||
"https://xeiaso.net/",
|
||||
"https://xeiaso.net/blog",
|
||||
"https://xeiaso.net/signalboost",
|
||||
] {
|
||||
urlwriter.url(*url)?;
|
||||
}
|
||||
|
||||
for post in &everything {
|
||||
urlwriter.url(format!("https://christine.website/{}", post.link))?;
|
||||
urlwriter.url(format!("https://xeiaso.net/{}", post.link))?;
|
||||
}
|
||||
|
||||
urlwriter.end()?;
|
||||
|
|
|
@ -29,7 +29,7 @@ pub async fn the_cloud() -> Result<()> {
|
|||
async fn bing() -> Result<()> {
|
||||
let cli = reqwest::Client::new();
|
||||
cli.get("https://www.bing.com/ping")
|
||||
.query(&[("sitemap", "https://christine.website/sitemap.xml")])
|
||||
.query(&[("sitemap", "https://xeiaso.net/sitemap.xml")])
|
||||
.header("User-Agent", crate::APPLICATION_NAME)
|
||||
.send()
|
||||
.await?
|
||||
|
@ -42,7 +42,7 @@ async fn bing() -> Result<()> {
|
|||
async fn google() -> Result<()> {
|
||||
let cli = reqwest::Client::new();
|
||||
cli.get("https://www.google.com/ping")
|
||||
.query(&[("sitemap", "https://christine.website/sitemap.xml")])
|
||||
.query(&[("sitemap", "https://xeiaso.net/sitemap.xml")])
|
||||
.header("User-Agent", crate::APPLICATION_NAME)
|
||||
.send()
|
||||
.await?
|
||||
|
@ -56,17 +56,17 @@ async fn cloudflare() -> Result<()> {
|
|||
let cli = cfcache::Client::new(env::var("CF_TOKEN")?, env::var("CF_ZONE_ID")?)?;
|
||||
cli.purge(
|
||||
vec![
|
||||
"https://christine.website/sitemap.xml",
|
||||
"https://christine.website",
|
||||
"https://christine.website/blog",
|
||||
"https://christine.website/blog.atom",
|
||||
"https://christine.website/blog.json",
|
||||
"https://christine.website/blog.rss",
|
||||
"https://christine.website/gallery",
|
||||
"https://christine.website/talks",
|
||||
"https://christine.website/resume",
|
||||
"https://christine.website/signalboost",
|
||||
"https://christine.website/feeds",
|
||||
"https://xeiaso.net/sitemap.xml",
|
||||
"https://xeiaso.net",
|
||||
"https://xeiaso.net/blog",
|
||||
"https://xeiaso.net/blog.atom",
|
||||
"https://xeiaso.net/blog.json",
|
||||
"https://xeiaso.net/blog.rss",
|
||||
"https://xeiaso.net/gallery",
|
||||
"https://xeiaso.net/talks",
|
||||
"https://xeiaso.net/resume",
|
||||
"https://xeiaso.net/signalboost",
|
||||
"https://xeiaso.net/feeds",
|
||||
]
|
||||
.into_iter()
|
||||
.map(|i| i.to_string())
|
||||
|
|
|
@ -5,7 +5,7 @@ use axum::{
|
|||
http::StatusCode,
|
||||
response::{Html, IntoResponse, Response},
|
||||
};
|
||||
use chrono::{Datelike, Timelike, Utc};
|
||||
use chrono::{Datelike, Timelike, Utc, Weekday};
|
||||
use lazy_static::lazy_static;
|
||||
use prometheus::{opts, register_int_counter_vec, IntCounterVec};
|
||||
use std::sync::Arc;
|
||||
|
@ -16,6 +16,19 @@ pub mod feeds;
|
|||
pub mod gallery;
|
||||
pub mod talks;
|
||||
|
||||
fn weekday_to_name(w: Weekday) -> &'static str {
|
||||
use Weekday::*;
|
||||
match w {
|
||||
Sun => "Sun",
|
||||
Mon => "Mon",
|
||||
Tue => "Tue",
|
||||
Wed => "Wed",
|
||||
Thu => "Thu",
|
||||
Fri => "Fri",
|
||||
Sat => "Sat",
|
||||
}
|
||||
}
|
||||
|
||||
lazy_static! {
|
||||
static ref HIT_COUNTER: IntCounterVec =
|
||||
register_int_counter_vec!(opts!("hits", "Number of hits to various pages"), &["page"])
|
||||
|
@ -24,7 +37,7 @@ lazy_static! {
|
|||
let now = Utc::now();
|
||||
format!(
|
||||
"{dayname}, {day} {month} {year} {hour}:{minute}:{second} GMT",
|
||||
dayname = now.weekday(),
|
||||
dayname = weekday_to_name(now.weekday()),
|
||||
day = now.day(),
|
||||
month = now.month(),
|
||||
year = now.year(),
|
||||
|
|
|
@ -268,7 +268,7 @@ async fn go_vanity() -> Html<Vec<u8>> {
|
|||
templates::gitea_html(
|
||||
&mut buffer,
|
||||
"christine.website/jsonfeed",
|
||||
"https://christine.website/metrics",
|
||||
"https://tulpa.dev/Xe/jsonfeed",
|
||||
"master",
|
||||
)
|
||||
.unwrap();
|
||||
|
|
|
@ -31,14 +31,14 @@ impl Into<jsonfeed::Item> for Post {
|
|||
let mut result = jsonfeed::Item::builder()
|
||||
.title(self.front_matter.title)
|
||||
.content_html(self.body_html)
|
||||
.id(format!("https://christine.website/{}", self.link))
|
||||
.url(format!("https://christine.website/{}", self.link))
|
||||
.id(format!("https://xeiaso.net/{}", self.link))
|
||||
.url(format!("https://xeiaso.net/{}", self.link))
|
||||
.date_published(self.date.to_rfc3339())
|
||||
.author(
|
||||
jsonfeed::Author::new()
|
||||
.name("Xe Iaso")
|
||||
.url("https://christine.website")
|
||||
.avatar("https://christine.website/static/img/avatar.png"),
|
||||
.url("https://xeiaso.net")
|
||||
.avatar("https://xeiaso.net/static/img/avatar.png"),
|
||||
);
|
||||
|
||||
let mut tags: Vec<String> = vec![];
|
||||
|
@ -105,7 +105,7 @@ async fn read_post(dir: &str, fname: PathBuf, cli: &Option<mi::Client>) -> Resul
|
|||
|
||||
let mentions: Vec<mi::WebMention> = match cli {
|
||||
Some(cli) => cli
|
||||
.mentioners(format!("https://christine.website/{}", link))
|
||||
.mentioners(format!("https://xeiaso.net/{}", link))
|
||||
.await
|
||||
.map_err(|why| tracing::error!("error: can't load mentions for {}: {}", link, why))
|
||||
.unwrap_or(vec![])
|
||||
|
@ -130,7 +130,7 @@ async fn read_post(dir: &str, fname: PathBuf, cli: &Option<mi::Client>) -> Resul
|
|||
let new_post = NewPost {
|
||||
title: front_matter.title.clone(),
|
||||
summary: format!("{} minute read", read_time_estimate_minutes),
|
||||
link: format!("https://christine.website/{}", link),
|
||||
link: format!("https://xeiaso.net/{}", link),
|
||||
};
|
||||
|
||||
Ok(Post {
|
||||
|
|
Loading…
Reference in New Issue