From dbd5a02617a19f501a6494e6f5179a73bee3f069 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Wed, 16 Mar 2022 23:56:19 -0700 Subject: [PATCH 1/7] specify npm prefix and stylelint configs and adjust ignores --- bw-dev | 18 ++++++++++-------- dev-tools/.stylelintignore | 1 + dev-tools/.stylelintrc.js | 2 +- dev-tools/Dockerfile | 7 ++++--- dev-tools/package.json | 1 + docker-compose.yml | 1 + 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/bw-dev b/bw-dev index b610758fe..6b1d52255 100755 --- a/bw-dev +++ b/bw-dev @@ -139,19 +139,21 @@ case "$CMD" in docker-compose run --rm dev-tools black celerywyrm bookwyrm ;; prettier) - docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js + docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- prettier \ + --write bookwyrm/static/js/*.js ;; stylelint) - docker-compose run --rm dev-tools npx stylelint \ - bookwyrm/static/css/bookwyrm.scss bookwyrm/static/css/bookwyrm/**/*.scss --fix \ - --config dev-tools/.stylelintrc.js + docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- stylelint \ + --fix --config=dev-tools/.stylelintrc.js --ignore-path=dev-tools/.stylelintignore \ + bookwyrm/static/css ;; formatters) docker-compose run --rm dev-tools black celerywyrm bookwyrm - docker-compose run --rm dev-tools npx prettier --write bookwyrm/static/js/*.js - docker-compose run --rm dev-tools npx stylelint \ - bookwyrm/static/css/bookwyrm.scss bookwyrm/static/css/bookwyrm/**/*.scss --fix \ - --config dev-tools/.stylelintrc.js + docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- prettier \ + --write bookwyrm/static/js/*.js + docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- stylelint \ + --fix --config=dev-tools/.stylelintrc.js --ignore-path=dev-tools/.stylelintignore \ + bookwyrm/static/css ;; compilescss) runweb python manage.py compilescss diff --git a/dev-tools/.stylelintignore b/dev-tools/.stylelintignore index b2cd33f89..441f5eb72 100644 --- a/dev-tools/.stylelintignore +++ b/dev-tools/.stylelintignore @@ -1 +1,2 @@ **/vendor/** +**/fonts/** diff --git a/dev-tools/.stylelintrc.js b/dev-tools/.stylelintrc.js index 7ab51b9b3..ba9c50e96 100644 --- a/dev-tools/.stylelintrc.js +++ b/dev-tools/.stylelintrc.js @@ -1,7 +1,7 @@ /* global module */ module.exports = { - "extends": "stylelint-config-standard", + "extends": "stylelint-config-standard-scss", "plugins": [ "stylelint-order" diff --git a/dev-tools/Dockerfile b/dev-tools/Dockerfile index c207a60d0..9e3ddc324 100644 --- a/dev-tools/Dockerfile +++ b/dev-tools/Dockerfile @@ -2,13 +2,14 @@ FROM python:3.9 ENV PYTHONUNBUFFERED 1 -RUN mkdir /app -WORKDIR /app +WORKDIR /app/dev-tools -COPY package.json requirements.txt .stylelintrc.js .stylelintignore /app/ +COPY package.json requirements.txt .stylelintrc.js .stylelintignore /app/dev-tools/ RUN pip install -r requirements.txt RUN apt-get update && apt-get install -y curl RUN curl -sL https://deb.nodesource.com/setup_17.x | bash - RUN apt-get install -y nodejs && apt-get clean RUN npm install . + +WORKDIR /app diff --git a/dev-tools/package.json b/dev-tools/package.json index 3fbc940cb..f7b996b77 100644 --- a/dev-tools/package.json +++ b/dev-tools/package.json @@ -11,6 +11,7 @@ "stylelint-config-recommended": "^7.0.0", "stylelint-config-standard": "^25.0.0", "stylelint-order": "^5.0.0", + "stylelint-config-standard-scss": "^3.0.0", "watch": "^0.13.0" }, "dependencies": { diff --git a/docker-compose.yml b/docker-compose.yml index e45cae0d1..f8e0e3ad7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -101,6 +101,7 @@ services: build: dev-tools env_file: .env volumes: + - /app/dev-tools/ - .:/app volumes: pgdata: From 6f27b5fd2e49836dcaafe34ef8ef50b5320320e0 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Wed, 16 Mar 2022 23:56:34 -0700 Subject: [PATCH 2/7] auto-fixes from running this --- bookwyrm/static/css/bookwyrm.scss | 1 - bookwyrm/static/css/bookwyrm/_all.scss | 6 ------ bookwyrm/static/css/themes/bookwyrm-dark.scss | 3 +-- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index 437795457..c44bf990c 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,4 +1,3 @@ @charset "utf-8"; - @import "vendor/bulma/bulma.sass"; @import "bookwyrm/all.scss"; diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 6002785f7..bdc34784b 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -16,9 +16,7 @@ @import "components/status"; @import "components/tabs"; @import "components/toggle"; - @import "overrides/bulma_overrides"; - @import "utilities/a11y"; @import "utilities/alignments"; @import "utilities/colors"; @@ -77,7 +75,6 @@ button::-moz-focus-inner { /** Utilities not covered by Bulma ******************************************************************************/ - .tag.is-small { height: auto; } @@ -128,8 +125,6 @@ button:focus-visible .button-invisible-overlay { opacity: 1; } - - /** Tooltips ******************************************************************************/ @@ -151,7 +146,6 @@ button:focus-visible .button-invisible-overlay { cursor: not-allowed; } - /* Notifications page ******************************************************************************/ diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 466d8026d..24c21bae2 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -69,7 +69,7 @@ $navbar-dropdown-item-hover-color: $white; } /* misc */ -$shadow: 0 0.5em 1em -0.125em rgba($black, 0.2), 0 0px 0 1px rgba($black, 0.02); +$shadow: 0 0.5em 1em -0.125em rgba($black, 0.2), 0 0 0 1px rgba($black, 0.02); $card-header-shadow: 0 0.125em 0.25em rgba($black, 0.1); $invisible-overlay-background-color: rgba($black, 0.66); $progress-value-background-color: $border-light; @@ -79,6 +79,5 @@ $progress-value-background-color: $border-light; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; - @import "../bookwyrm.scss"; @import "../vendor/icons.css"; From 54b8d2c3f372c74cc7626f274d543e0366923a80 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Thu, 17 Mar 2022 00:44:16 -0700 Subject: [PATCH 3/7] add import rule override for styles --- dev-tools/.stylelintrc.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dev-tools/.stylelintrc.js b/dev-tools/.stylelintrc.js index ba9c50e96..a3403e89c 100644 --- a/dev-tools/.stylelintrc.js +++ b/dev-tools/.stylelintrc.js @@ -18,5 +18,13 @@ module.exports = { "declaration-block-no-redundant-longhand-properties": null, "no-descending-specificity": null, "alpha-value-notation": null - } + }, + "overrides": [ + { + "files": [ "../**/themes/bookwyrm-*.scss" ], + "rules": { + "no-invalid-position-at-import-rule": null + } + } + ] }; From 225957ba8a6bdea48845d3f102725632cca99ad5 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Thu, 17 Mar 2022 00:44:34 -0700 Subject: [PATCH 4/7] remove non-css extensions --- bookwyrm/static/css/bookwyrm.scss | 4 ++-- bookwyrm/static/css/themes/bookwyrm-dark.scss | 4 ++-- bookwyrm/static/css/themes/bookwyrm-light.scss | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index c44bf990c..17d6d9119 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,3 +1,3 @@ @charset "utf-8"; -@import "vendor/bulma/bulma.sass"; -@import "bookwyrm/all.scss"; +@import "vendor/bulma/bulma"; +@import "bookwyrm/all"; diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 24c21bae2..35acbcb02 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/initial-variables.sass"; +@import "../vendor/bulma/sass/utilities/initial-variables"; /* Colors ******************************************************************************/ @@ -79,5 +79,5 @@ $progress-value-background-color: $border-light; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "../bookwyrm.scss"; +@import "../bookwyrm"; @import "../vendor/icons.css"; diff --git a/bookwyrm/static/css/themes/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss index c74d2ee20..291ae5f08 100644 --- a/bookwyrm/static/css/themes/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/derived-variables"; /* Colors ******************************************************************************/ @@ -55,5 +55,5 @@ $invisible-overlay-background-color: rgba($scheme-invert, 0.66); $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "../bookwyrm.scss"; +@import "../bookwyrm"; @import "../vendor/icons.css"; From 51bb4c6f5d733c3cb08f5565ead399be8b1d614b Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Thu, 17 Mar 2022 00:49:22 -0700 Subject: [PATCH 5/7] make bw-dev consistent --- bw-dev | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bw-dev b/bw-dev index 6b1d52255..4ce324301 100755 --- a/bw-dev +++ b/bw-dev @@ -139,20 +139,20 @@ case "$CMD" in docker-compose run --rm dev-tools black celerywyrm bookwyrm ;; prettier) - docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- prettier \ + docker-compose run --rm dev-tools npm exec --prefix dev-tools -- prettier \ --write bookwyrm/static/js/*.js ;; stylelint) - docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- stylelint \ - --fix --config=dev-tools/.stylelintrc.js --ignore-path=dev-tools/.stylelintignore \ + docker-compose run --rm dev-tools npm exec --prefix dev-tools -- stylelint \ + --fix --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \ bookwyrm/static/css ;; formatters) docker-compose run --rm dev-tools black celerywyrm bookwyrm - docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- prettier \ + docker-compose run --rm dev-tools npm exec --prefix dev-tools -- prettier \ --write bookwyrm/static/js/*.js - docker-compose run --rm dev-tools npm exec --prefix=dev-tools/ -- stylelint \ - --fix --config=dev-tools/.stylelintrc.js --ignore-path=dev-tools/.stylelintignore \ + docker-compose run --rm dev-tools npm exec --prefix dev-tools -- stylelint \ + --fix --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \ bookwyrm/static/css ;; compilescss) From b78d51410b0b4b911c14442f153923b8091f12b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adeodato=20Sim=C3=B3?= Date: Wed, 18 Oct 2023 18:52:39 -0300 Subject: [PATCH 6/7] bw-dev: drop use of `npm exec` by setting PATH in Docker image --- bw-dev | 22 ++++++++-------------- dev-tools/Dockerfile | 1 + 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/bw-dev b/bw-dev index 19ab1a355..57441f013 100755 --- a/bw-dev +++ b/bw-dev @@ -188,31 +188,25 @@ case "$CMD" in ;; prettier) prod_error - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- prettier \ - --write bookwyrm/static/js/*.js + $DOCKER_COMPOSE run --rm dev-tools prettier --write bookwyrm/static/js/*.js ;; eslint) prod_error - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix devtools -- eslint \ - bookwyrm/static --ext .js + $DOCKER_COMPOSE run --rm dev-tools eslint bookwyrm/static --ext .js ;; stylelint) prod_error - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- stylelint --fix \ - --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \ - bookwyrm/static/css + $DOCKER_COMPOSE run --rm dev-tools stylelint --fix bookwyrm/static/css \ + --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore ;; formatters) prod_error runweb pylint bookwyrm/ $DOCKER_COMPOSE run --rm dev-tools black celerywyrm bookwyrm - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- prettier \ - --write bookwyrm/static/js/*.js - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix devtools -- eslint \ - bookwyrm/static --ext .js - $DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- stylelint --fix \ - --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \ - bookwyrm/static/css + $DOCKER_COMPOSE run --rm dev-tools prettier --write bookwyrm/static/js/*.js + $DOCKER_COMPOSE run --rm dev-tools eslint bookwyrm/static --ext .js + $DOCKER_COMPOSE run --rm dev-tools stylelint --fix bookwyrm/static/css \ + --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore ;; mypy) prod_error diff --git a/dev-tools/Dockerfile b/dev-tools/Dockerfile index 338d96c66..f6a7bb793 100644 --- a/dev-tools/Dockerfile +++ b/dev-tools/Dockerfile @@ -1,6 +1,7 @@ FROM python:3.9 WORKDIR /app/dev-tools +ENV PATH="/app/dev-tools/node_modules/.bin:$PATH" ENV PYTHONUNBUFFERED=1 ENV NPM_CONFIG_UPDATE_NOTIFIER=false ENV PIP_ROOT_USER_ACTION=ignore PIP_DISABLE_PIP_VERSION_CHECK=1 From f88a0f82291f24e77aacf1b88a8d3635397029a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adeodato=20Sim=C3=B3?= Date: Wed, 18 Oct 2023 20:27:36 -0300 Subject: [PATCH 7/7] Run stylelint to fix remaining issues Including deletion of two duplicate stanzas introduced in 33c13608a8 ("Refixing light and dark themes"). --- bookwyrm/static/css/bookwyrm/_all.scss | 2 ++ .../css/bookwyrm/components/_book_cover.scss | 2 +- .../static/css/bookwyrm/components/_copy.scss | 32 +++++++++---------- .../static/css/bookwyrm/components/_tabs.scss | 4 +-- bookwyrm/static/css/themes/bookwyrm-dark.scss | 13 +++----- .../static/css/themes/bookwyrm-light.scss | 12 +++---- 6 files changed, 30 insertions(+), 35 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 5bb08b931..7e50fe3e1 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -38,10 +38,12 @@ body { width: 12px; height: 12px; } + ::-webkit-scrollbar-thumb { background: $scrollbar-thumb; border-radius: 0.5em; } + ::-webkit-scrollbar-track { background: $scrollbar-track; } diff --git a/bookwyrm/static/css/bookwyrm/components/_book_cover.scss b/bookwyrm/static/css/bookwyrm/components/_book_cover.scss index 48b564a0b..db9391cc1 100644 --- a/bookwyrm/static/css/bookwyrm/components/_book_cover.scss +++ b/bookwyrm/static/css/bookwyrm/components/_book_cover.scss @@ -43,7 +43,7 @@ max-height: 100%; /* Useful when stretching under-sized images. */ - image-rendering: optimizeQuality; + image-rendering: optimizequality; image-rendering: smooth; } diff --git a/bookwyrm/static/css/bookwyrm/components/_copy.scss b/bookwyrm/static/css/bookwyrm/components/_copy.scss index 7a47c1dba..2595401cc 100644 --- a/bookwyrm/static/css/bookwyrm/components/_copy.scss +++ b/bookwyrm/static/css/bookwyrm/components/_copy.scss @@ -30,20 +30,20 @@ } .copy-tooltip { - overflow: visible; - visibility: hidden; - width: 140px; - background-color: #555; - color: #fff; - text-align: center; - border-radius: 6px; - padding: 5px; - position: absolute; - z-index: 1; - margin-left: -30px; - margin-top: -45px; - opacity: 0; - transition: opacity 0.3s; + overflow: visible; + visibility: hidden; + width: 140px; + background-color: #555; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px; + position: absolute; + z-index: 1; + margin-left: -30px; + margin-top: -45px; + opacity: 0; + transition: opacity 0.3s; } .copy-tooltip::after { @@ -54,5 +54,5 @@ margin-left: -60px; border-width: 5px; border-style: solid; - border-color: #555 transparent transparent transparent; - } + border-color: #555 transparent transparent; +} diff --git a/bookwyrm/static/css/bookwyrm/components/_tabs.scss b/bookwyrm/static/css/bookwyrm/components/_tabs.scss index 2d68a383b..8e00f6a88 100644 --- a/bookwyrm/static/css/bookwyrm/components/_tabs.scss +++ b/bookwyrm/static/css/bookwyrm/components/_tabs.scss @@ -44,12 +44,12 @@ .bw-tabs a:hover { border-bottom-color: transparent; - color: $text + color: $text; } .bw-tabs a.is-active { border-bottom-color: transparent; - color: $link + color: $link; } .bw-tabs.is-left { diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index df756fd02..f5e08e9a0 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -16,7 +16,7 @@ $danger-light: #481922; $light: #393939; $red: #ffa1b4; $black: #000; -$white-ter: hsl(0, 0%, 90%); +$white-ter: hsl(0deg, 0%, 90%); /* book cover standins */ $no-cover-color: #002549; @@ -100,19 +100,16 @@ $family-secondary: $family-sans-serif; .tabs li:not(.is-active) a { color: #2e7eb9 !important; } - .tabs li:not(.is-active) a:hover { - border-bottom-color: #2e7eb9 !important; -} -.tabs li:not(.is-active) a { - color: #2e7eb9 !important; +.tabs li:not(.is-active) a:hover { + border-bottom-color: #2e7eb9 !important; } + .tabs li.is-active a { color: #e6e6e6 !important; - border-bottom-color: #e6e6e6 !important ; + border-bottom-color: #e6e6e6 !important; } - #qrcode svg { background-color: #a6a6a6; } diff --git a/bookwyrm/static/css/themes/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss index 4a3f16a27..37e990127 100644 --- a/bookwyrm/static/css/themes/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -57,7 +57,6 @@ $invisible-overlay-background-color: rgba($scheme-invert, 0.66); $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; - .has-text-muted { color: $grey-dark !important; } @@ -69,19 +68,16 @@ $family-secondary: $family-sans-serif; .tabs li:not(.is-active) a { color: #3273dc !important; } - .tabs li:not(.is-active) a:hover { - border-bottom-color: #3273dc !important; -} -.tabs li:not(.is-active) a { - color: #3273dc !important; +.tabs li:not(.is-active) a:hover { + border-bottom-color: #3273dc !important; } + .tabs li.is-active a { color: #4a4a4a !important; - border-bottom-color: #4a4a4a !important ; + border-bottom-color: #4a4a4a !important; } - @import "../bookwyrm"; @import "../vendor/icons.css"; @import "../vendor/shepherd";