1
Fork 0

Compare commits

..

No commits in common. "main" and "1.0.0" have entirely different histories.
main ... 1.0.0

13 changed files with 2030 additions and 109 deletions

27
.gitignore vendored
View File

@ -1,3 +1,14 @@
# Generated by Cargo
# will have compiled files and executables
/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# Logs # Logs
logs logs
*.log *.log
@ -103,17 +114,5 @@ dist
# TernJS port file # TernJS port file
.tern-port .tern-port
# Generated by Cargo # Build directory.
# will have compiled files and executables build/
/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
pnpm-lock.yaml
# These are backup files generated by rustfmt
**/*.rs.bk
# Build directory
public/

View File

@ -1,22 +1,19 @@
[package] [package]
name = "userstyles" name = "userstyles"
description = "https://bauke.xyz/userstyles" description = "https://bauke.xyz/userstyles"
repository = "https://git.bauke.xyz/Bauke/userstyles"
license = "AGPL-3.0-or-later"
version = "1.0.0" version = "1.0.0"
edition = "2021" edition = "2018"
build = "source/build.rs" repository = "https://git.holllo.cc/Bauke/userstyles"
license = "AGPL-3.0-or-later"
build="source/build.rs"
[lib] [lib]
path = "source/lib.rs" path = "source/lib.rs"
[dependencies] [dependencies]
serde_json = "1.0.85" serde = { version = "1.0.130", features = ["derive"] }
thiserror = "1.0.37" serde_json = "1.0.67"
thiserror = "1.0.26"
[dependencies.serde]
features = ["derive"]
version = "1.0.145"
[build-dependencies] [build-dependencies]
rsass = "0.23.4" rsass = "0.22.2"

View File

@ -1,39 +0,0 @@
[tasks.fmt]
command = "cargo"
args = ["fmt", "${@}"]
[tasks.check]
command = "cargo"
args = ["check", "${@}"]
[tasks.clippy]
command = "cargo"
args = ["clippy", "${@}"]
[tasks.test]
command = "cargo"
args = ["test", "${@}"]
[tasks.doc]
command = "cargo"
args = ["doc", "${@}"]
[tasks.build]
command = "cargo"
args = ["build", "${@}"]
[tasks.complete-check]
dependencies = ["fmt", "check", "clippy", "test", "doc", "build"]
[tasks.code-coverage]
workspace = false
install_crate = "cargo-tarpaulin"
command = "cargo"
args = [
"tarpaulin",
"--exclude-files=target/*",
"--out=html",
"--output-dir=coverage",
"--skip-clean",
"--target-dir=target/tarpaulin"
]

View File

@ -1,7 +0,0 @@
# Userstyles 🎨
> **Bauke's collection of userstyles.**
## License
Distributed under the [AGPL-3.0-or-later](https://spdx.org/licenses/AGPL-3.0-or-later.html) license, see [LICENSE](https://git.bauke.xyz/Bauke/userstyles/src/branch/main/LICENSE) for more information.

View File

@ -1,22 +1,27 @@
{ {
"private": true, "name": "userstyles",
"version": "0.0.0",
"license": "AGPL-3.0-or-later",
"scripts": { "scripts": {
"test": "cargo make complete-check && stylelint 'source/**/*.scss'" "test": "stylelint 'source/**/*.scss'"
}, },
"devDependencies": { "devDependencies": {
"stylelint": "^14.12.1", "stylelint": "^13.13.1",
"stylelint-config-standard-scss": "^5.0.0" "stylelint-config-xo-scss": "^0.14.0",
"stylelint-config-xo-space": "^0.15.1"
}, },
"stylelint": { "stylelint": {
"extends": [ "extends": [
"stylelint-config-standard-scss" "stylelint-config-xo-scss",
"stylelint-config-xo-space"
],
"ignoreFiles": [
"build/**/*.css"
], ],
"rules": { "rules": {
"at-rule-no-unknown": null, "at-rule-no-unknown": null,
"block-no-empty": null, "block-no-empty": null,
"no-descending-specificity": null, "no-descending-specificity": null
"no-invalid-position-at-import-rule": null,
"string-quotes": "single"
} }
} }
} }

View File

@ -1,20 +1,17 @@
//! # Userstyles 🎨
//!
//! > **Bauke's collection of userstyles.**
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
#![warn(missing_docs, clippy::missing_docs_in_private_items)] #![warn(missing_docs, clippy::missing_docs_in_private_items)]
//! # https://bauke.xyz/userstyles
use serde::Deserialize; use serde::Deserialize;
/// All potential errors that could occur. /// All potential errors that could occur.
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
pub enum Error { pub enum Error {
/// [`std::io`] errors. /// [`std::io::Error`]
#[error(transparent)] #[error(transparent)]
Io(#[from] std::io::Error), Io(#[from] std::io::Error),
/// [`serde_json::Error`]
/// [`serde_json`] errors.
#[error(transparent)] #[error(transparent)]
Json(#[from] serde_json::Error), Json(#[from] serde_json::Error),
} }
@ -28,7 +25,6 @@ pub const ALL_USERSTYLES: &[Userstyles] =
pub enum Userstyles { pub enum Userstyles {
/// Tildes Baukula /// Tildes Baukula
TildesBaukula, TildesBaukula,
/// Tildes Compact /// Tildes Compact
TildesCompact, TildesCompact,
} }
@ -38,10 +34,8 @@ pub enum Userstyles {
pub struct Userstyle { pub struct Userstyle {
/// Compiled CSS. /// Compiled CSS.
pub css: String, pub css: String,
/// An optional image. /// An optional image.
pub image: Option<Vec<u8>>, pub image: Option<Vec<u8>>,
/// Metadata of the userstyle. /// Metadata of the userstyle.
pub metadata: UserstyleMetadata, pub metadata: UserstyleMetadata,
} }
@ -51,30 +45,22 @@ pub struct Userstyle {
pub struct UserstyleMetadata { pub struct UserstyleMetadata {
/// The name. /// The name.
pub name: String, pub name: String,
/// The namespace. /// The namespace.
pub namespace: String, pub namespace: String,
/// The version. /// The version.
pub version: String, pub version: String,
/// The author. /// The author.
pub author: String, pub author: String,
/// The description. /// The description.
pub description: String, pub description: String,
/// The homepage URL. /// The homepage URL.
#[serde(rename = "homepageURL")] #[serde(rename = "homepageURL")]
pub homepage_url: String, pub homepage_url: String,
/// The update URL. /// The update URL.
#[serde(rename = "updateURL")] #[serde(rename = "updateURL")]
pub update_url: String, pub update_url: String,
/// The license. /// The license.
pub license: String, pub license: String,
/// The domain for `@-moz-document domain`. /// The domain for `@-moz-document domain`.
pub domain: String, pub domain: String,
} }

View File

@ -1,6 +1,5 @@
.btn { .btn {
@include color-hover($cyan, $background); @include color-hover($cyan, $background);
transition: none; transition: none;
&:hover, &:hover,
@ -10,9 +9,8 @@
} }
&.btn-link { &.btn-link {
@include color-hover($cyan, $background);
border: 1px solid $cyan; border: 1px solid $cyan;
@include color-hover($cyan, $background);
&:hover { &:hover {
border-color: $pink; border-color: $pink;

View File

@ -54,3 +54,4 @@
background-color: $selection; background-color: $selection;
} }
} }

View File

@ -34,9 +34,8 @@ a.site-header-logo:hover {
a.logged-in-user-alert, a.logged-in-user-alert,
a.logged-in-user-alert:visited { a.logged-in-user-alert:visited {
@include background-hover($orange, $yellow);
color: $background; color: $background;
@include background-hover($orange, $yellow);
padding: 0.1rem 0.3rem; padding: 0.1rem 0.3rem;
} }
@ -57,7 +56,7 @@ a.logged-in-user-alert:visited {
} }
// Target all label-topic-tags expect spoiler and nsfw ones // Target all label-topic-tags expect spoiler and nsfw ones
.label.label-topic-tag:not([class*='label-topic-tag-spoiler'], [class*='label-topic-tag-nsfw']) { .label.label-topic-tag:not([class*='label-topic-tag-spoiler']):not([class*='label-topic-tag-nsfw']) {
color: $comment; color: $comment;
a { a {

View File

@ -21,17 +21,15 @@
a { a {
@include color-hover($foreground, $cyan); @include color-hover($foreground, $cyan);
margin: 0; margin: 0;
padding: 4px 8px; padding: 4px 8px;
} }
} }
} }
.form-select:not([multiple], [size]) { .form-select:not([multiple]):not([size]) {
border: 1px solid $comment; border: 1px solid $comment;
background-color: $background; background-color: $background;
// Changes the "from last X period" icon to be the same color as the foreground, it's hardcoded though // Changes the "from last X period" icon to be the same color as the foreground, it's hardcoded though
background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%204%205"%3E%3Cpath%20fill="%23f8f8f2"%20d="M2%200L0%202h4zm0%205L0%203h4z"/%3E%3C/svg%3E'); background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%204%205"%3E%3Cpath%20fill="%23f8f8f2"%20d="M2%200L0%202h4zm0%205L0%203h4z"/%3E%3C/svg%3E');
} }

View File

@ -1,7 +1,7 @@
{ {
"name": "Tildes Baukula", "name": "Tildes Baukula",
"namespace": "https://bauke.xyz/userstyles", "namespace": "https://bauke.xyz/userstyles",
"version": "2.1.2", "version": "2.1.1",
"author": "Bauke <me@bauke.xyz>", "author": "Bauke <me@bauke.xyz>",
"description": "Adaptations to the official Tildes Dracula theme to make it look like my old custom Tildes Dracula theme.", "description": "Adaptations to the official Tildes Dracula theme to make it look like my old custom Tildes Dracula theme.",
"homepageURL": "https://bauke.xyz/userstyles", "homepageURL": "https://bauke.xyz/userstyles",

View File

@ -2,6 +2,7 @@
@import 'mixins'; @import 'mixins';
body { body {
background-color: $background;
@import 'blog'; @import 'blog';
@import 'buttons'; @import 'buttons';
@import 'comments'; @import 'comments';
@ -14,6 +15,4 @@ body {
@import 'tabs'; @import 'tabs';
@import 'topic-listing'; @import 'topic-listing';
@import 'topics'; @import 'topics';
background-color: $background;
} }

1985
yarn.lock Normal file

File diff suppressed because it is too large Load Diff