From 8289137d3dfff2a5e76c8f2b7b54b63e66ee6f7f Mon Sep 17 00:00:00 2001 From: cbax Date: Tue, 22 Oct 2024 23:46:41 -0400 Subject: [PATCH] basic template routes done --- Cargo.lock | 260 +++++++++++++++++++++++++++++++++++++++++--- Cargo.toml | 2 + src/main.rs | 158 ++++++++++++++++++++++++--- static/css/nord.css | 64 +++-------- 4 files changed, 408 insertions(+), 76 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9740a79..6e1f077 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -260,6 +260,8 @@ dependencies = [ "askama", "askama_axum", "axum", + "markdown", + "notify", "tokio", "tower", "tower-http", @@ -292,12 +294,39 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + [[package]] name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + [[package]] name = "flate2" version = "1.0.28" @@ -323,6 +352,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + [[package]] name = "futures-channel" version = "0.3.30" @@ -519,6 +557,26 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + [[package]] name = "iri-string" version = "0.7.0" @@ -544,6 +602,26 @@ dependencies = [ "libc", ] +[[package]] +name = "kqueue" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -562,6 +640,17 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.5.7", +] + [[package]] name = "lock_api" version = "0.4.11" @@ -578,6 +667,15 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "markdown" +version = "1.0.0-alpha.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6491e6c702bf7e3b24e769d800746d5f2c06a6c6a2db7992612e0f429029e81" +dependencies = [ + "unicode-id", +] + [[package]] name = "matchers" version = "0.1.0" @@ -637,8 +735,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", + "log", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -651,6 +750,25 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "notify" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +dependencies = [ + "bitflags 2.4.1", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio", + "walkdir", + "windows-sys 0.48.0", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -719,9 +837,9 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -795,6 +913,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +dependencies = [ + "bitflags 2.4.1", +] + [[package]] name = "regex" version = "1.10.2" @@ -857,6 +984,15 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -956,7 +1092,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1002,7 +1138,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1159,6 +1295,12 @@ dependencies = [ "version_check", ] +[[package]] +name = "unicode-id" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -1186,6 +1328,16 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -1208,6 +1360,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -1220,7 +1381,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -1229,13 +1399,29 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -1244,42 +1430,90 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] name = "zstd" version = "0.13.0" diff --git a/Cargo.toml b/Cargo.toml index 991db99..e5925d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,8 @@ edition = "2021" askama = { version = "0.12.1", features = ["with-axum"] } askama_axum = "0.4.0" axum = "0.7.2" +markdown = "1.0.0-alpha.21" +notify = "6.1.1" tokio = { version = "1.34.0", features = ["full"] } tower = "0.4.13" tower-http = { version = "0.5.0", features = ["full"] } diff --git a/src/main.rs b/src/main.rs index 3019532..2429b65 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,9 @@ use std::io::prelude::*; -use std::fs::File; +use std::sync::{Arc, RwLock}; +use std::{collections::HashMap, fs::File}; use askama::Template; +use axum::extract::{Path, State}; use axum::{ http::StatusCode, response::{Html, IntoResponse, Response}, @@ -13,6 +15,36 @@ use tower_http::services::ServeDir; use tower_http::trace::TraceLayer; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; +#[derive(Clone)] +pub struct Meta { + title: String, + author: String, + description: String, + img_path: String, + canonical_url: String, +} + +#[derive(Clone)] +pub struct Post { + meta: Meta, + cover_img_path: String, + body: String, +} + +/*#[derive(Template)] +#[template(path = "includes/head.html", escape = "none")] +struct HeadTemplate { + styles: String, + meta: Meta, +}*/ + +#[derive(Template)] +#[template(path = "base.html", escape = "none")] +struct BaseTemplate { + styles: String, + meta: Meta, +} + #[derive(Template)] #[template(path = "index.html", escape = "none")] struct IndexTemplate { @@ -25,6 +57,29 @@ struct HomelabTemplate { styles: String, } +#[derive(Template)] +#[template(path = "blog_list.html", escape = "none")] +struct BlogListTemplate { + _parent: BaseTemplate, + styles: String, + meta: Meta, + posts: Vec<(String, Meta)>, +} + +#[derive(Template)] +#[template(path = "blog_post.html", escape = "none")] +struct BlogPostTemplate { + _parent: BaseTemplate, + styles: String, + meta: Meta, + post: Post, +} + +#[derive(Clone)] +struct AppState { + posts: Arc>>, +} + struct HtmlTemplate(T); impl IntoResponse for HtmlTemplate @@ -43,24 +98,81 @@ where } } -async fn homelab() -> impl IntoResponse { +async fn blog(State(state): State) -> Result { let mut styles_file = File::open("static/css/styles.css").expect("Failed to open stylesheet."); let mut styles = String::new(); - styles_file.read_to_string(&mut styles).expect("Failed to read stylesheet."); - let template = HomelabTemplate { styles }; - HtmlTemplate(template) + styles_file + .read_to_string(&mut styles) + .expect("Failed to read stylesheet."); + let mut posts: Vec<(String, Meta)> = vec![]; + for (slug, post) in state.posts.read().unwrap().clone().iter() { + posts.push((slug.clone(), post.meta.clone())); + } + let meta = Meta { + title: "CBAX dot DEV Blog".into(), + author: "Chad Baxter".into(), + description: "An interesting place of techobabble.".into(), + img_path: "".into(), + canonical_url: "blog".into(), + }; + let template = BlogListTemplate { + _parent: BaseTemplate { + styles: styles.clone(), + meta: meta.clone(), + }, + styles, + meta, + posts, + }; + return Ok(HtmlTemplate(template)); } -async fn index() -> impl IntoResponse { +async fn blog_post( + State(state): State, + Path(post_slug): Path, +) -> Result { let mut styles_file = File::open("static/css/styles.css").expect("Failed to open stylesheet."); let mut styles = String::new(); - styles_file.read_to_string(&mut styles).expect("Failed to read stylesheet."); + styles_file + .read_to_string(&mut styles) + .expect("Failed to read stylesheet."); + if let Some(post) = state.posts.read().unwrap().clone().get(&post_slug) { + let meta = post.meta.clone(); + let template = BlogPostTemplate { + _parent: BaseTemplate { + styles: styles.clone(), + meta: meta.clone(), + }, + styles, + meta, + post: post.clone(), + }; + return Ok(HtmlTemplate(template)); + } + return Err(StatusCode::NOT_FOUND); +} + +async fn homelab() -> Result { + let mut styles_file = File::open("static/css/styles.css").expect("Failed to open stylesheet."); + let mut styles = String::new(); + styles_file + .read_to_string(&mut styles) + .expect("Failed to read stylesheet."); + let template = HomelabTemplate { styles }; + return Ok(HtmlTemplate(template)); +} + +async fn index() -> Result { + let mut styles_file = File::open("static/css/styles.css").expect("Failed to open stylesheet."); + let mut styles = String::new(); + styles_file + .read_to_string(&mut styles) + .expect("Failed to read stylesheet."); let template = IndexTemplate { styles }; - HtmlTemplate(template) + return Ok(HtmlTemplate(template)); } fn serve_dir() -> Router { - // serve the file in the "assets" directory under `/assets` Router::new().nest_service("/res", ServeDir::new("static")) } @@ -73,18 +185,34 @@ async fn main() { ) .with(tracing_subscriber::fmt::layer()) .init(); - - // build our application with some routes + let state = AppState { + posts: Arc::new(RwLock::new(HashMap::new())), + }; + state.posts.write().unwrap().insert( + "test_slug".into(), + Post { + meta: Meta { + title: "Test Post".into(), + author: "Chad Baxter".into(), + description: "This is a test post".into(), + img_path: "/res/cbax.gif".into(), + canonical_url: "//cbax.dev/blog/test_slug".into(), + }, + cover_img_path: "/res/covers/test.png".into(), + body: "this is a test post!".into(), + }, + ); let app = Router::new() .route("/", get(index)) .route("/homelab", get(homelab)) + .route("/blog", get(blog)) + .route("/blog/:post_slug", get(blog_post)) + .with_state(state) .fallback_service(serve_dir()) - .layer(ServiceBuilder::new().layer(TraceLayer::new_for_http())); + .layer(ServiceBuilder::new().layer(TraceLayer::new_for_http())); // run it - let listener = tokio::net::TcpListener::bind("0.0.0.0:7654") - .await - .unwrap(); + let listener = tokio::net::TcpListener::bind("0.0.0.0:7654").await.unwrap(); println!("listening on {}", listener.local_addr().unwrap()); tracing::debug!("listening on {}", listener.local_addr().unwrap()); axum::serve(listener, app).await.unwrap(); diff --git a/static/css/nord.css b/static/css/nord.css index e492c4f..95c72ee 100644 --- a/static/css/nord.css +++ b/static/css/nord.css @@ -29,24 +29,20 @@ Styleguide Nord Used for texts, backgrounds, carets and structuring characters like curly- and square brackets. - Markup: -
- Styleguide Nord - Polar Night */ --nord0: #2e3440; + --nord0-rgb: 46, 52, 64; /* Lighter shade color of the base component color. Used as a lighter background color for UI elements like status bars. - Markup: -
- Styleguide Nord - Polar Night */ --nord1: #3b4252; + --nord1-rgb: 59, 66, 82; /* Lighter shade color of the base component color. @@ -54,12 +50,10 @@ Styleguide Nord Used as line highlighting in the editor. In the UI scope it may be used as selection- and highlight color. - Markup: -
- Styleguide Nord - Polar Night */ --nord2: #434c5e; + --nord2-rgb: 67, 76, 94; /* Lighter shade color of the base component color. @@ -67,12 +61,10 @@ Styleguide Nord Used for comments, invisibles, indent- and wrap guide marker. In the UI scope used as pseudoclass color for disabled elements. - Markup: -
- Styleguide Nord - Polar Night */ --nord3: #4c566a; + --nord3-rgb: 76, 86, 106; /* Base component color of "Snow Storm". @@ -80,12 +72,10 @@ Styleguide Nord Main color for text, variables, constants and attributes. In the UI scope used as semi-light background depending on the theme shading design. - Markup: -
- Styleguide Nord - Snow Storm */ --nord4: #d8dee9; + --nord4-rgb: 216, 222, 233; /* Lighter shade color of the base component color. @@ -93,12 +83,10 @@ Styleguide Nord Used as a lighter background color for UI elements like status bars. Used as semi-light background depending on the theme shading design. - Markup: -
- Styleguide Nord - Snow Storm */ --nord5: #e5e9f0; + --nord5-rgb: 229, 233, 240; /* Lighter shade color of the base component color. @@ -106,24 +94,20 @@ Styleguide Nord Used for punctuations, carets and structuring characters like curly- and square brackets. In the UI scope used as background, selection- and highlight color depending on the theme shading design. - Markup: -
- Styleguide Nord - Snow Storm */ --nord6: #eceff4; + --nord6-rgb: 236, 239, 244; /* Bluish core color. Used for classes, types and documentation tags. - Markup: -
- Styleguide Nord - Frost */ --nord7: #8fbcbb; + --nord7-rgb: 143, 188, 187; /* Bluish core accent color. @@ -135,12 +119,10 @@ Styleguide Nord - Markup quotes - Markup link URLs - Markup: -
- Styleguide Nord - Frost */ --nord8: #88c0d0; + --nord8-rgb: 136, 192, 208; /* Bluish core color. @@ -148,48 +130,40 @@ Styleguide Nord Used for language-specific syntactic/reserved support characters and keywords, operators, tags, units and punctuations like (semi)colons,commas and braces. - Markup: -
- Styleguide Nord - Frost */ --nord9: #81a1c1; + --nord9-rgb: 129, 161, 193; /* Bluish core color. Used for markup doctypes, import/include/require statements, pre-processor statements and at-rules (`@`). - Markup: -
- Styleguide Nord - Frost */ --nord10: #5e81ac; + --nord10-rgb: 94, 129, 172; /* Colorful component color. Used for errors, git/diff deletion and linter marker. - Markup: -
- Styleguide Nord - Aurora */ --nord11: #bf616a; + --nord11-rgb: 191, 97, 106; /* Colorful component color. Used for annotations. - Markup: -
- Styleguide Nord - Aurora */ --nord12: #d08770; + --nord12-rgb: 208, 135, 112; /* Colorful component color. @@ -197,12 +171,10 @@ Styleguide Nord Used for escape characters, regular expressions and markup entities. In the UI scope used for warnings and git/diff renamings. - Markup: -
- Styleguide Nord - Aurora */ --nord13: #ebcb8b; + --nord13-rgb: 235, 203, 139; /* Colorful component color. @@ -210,22 +182,18 @@ Styleguide Nord Main color for strings and attribute values. In the UI scope used for git/diff additions and success visualizations. - Markup: -
- Styleguide Nord - Aurora */ --nord14: #a3be8c; + --nord14-rgb: 163, 190, 140; /* Colorful component color. Used for numbers. - Markup: -
- Styleguide Nord - Aurora */ --nord15: #b48ead; + --nord15-rgb: 180, 142, 173; }