From ac341cedb155f747bdf9ea8ba999dd4940c64e9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Isabella=20Sko=C5=99epov=C3=A1?= <isabella@skorepova.info>
Date: Fri, 6 Jan 2023 15:20:52 +0100
Subject: [PATCH] disable some (hopefully unused) css

---
 .eslintrc.cjs                       |  5 ++-
 package.json                        |  3 +-
 sitegin/index.js                    | 13 +++---
 theme-source/components/chip.tsx    | 24 ++++++++++++
 theme-source/partials/base-body.tsx |  3 +-
 theme-source/partials/list.tsx      | 25 ++++++------
 theme-source/sass/materialize.scss  | 38 +++++++++---------
 theme-source/templates/article.tsx  |  7 +---
 theme-source/templates/tag.tsx      | 12 ------
 yarn.lock                           | 61 ++++++++++++++++++-----------
 10 files changed, 108 insertions(+), 83 deletions(-)
 create mode 100644 theme-source/components/chip.tsx

diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index ae6bc235..467fbb23 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,13 +1,14 @@
 module.exports = {
   root: true,
-  plugins: ['prettier'],
+  plugins: ['prettier', '@emotion'],
   extends: ['airbnb-base', 'prettier'],
   env: {
     node: true,
     es6: true,
   },
-  parser: 'babel-eslint',
+  parser: '@babel/eslint-parser',
   rules: {
+    '@emotion/jsx-import': 'error',
     'prettier/prettier': [
       'error',
       {
diff --git a/package.json b/package.json
index d3942efd..9bf4f381 100644
--- a/package.json
+++ b/package.json
@@ -35,13 +35,14 @@
   "devDependencies": {
     "@babel/cli": "^7.20.7",
     "@babel/core": "^7.20.7",
+    "@babel/eslint-parser": "^7.19.1",
     "@babel/preset-env": "^7.20.2",
     "@babel/preset-react": "^7.18.6",
     "@babel/preset-typescript": "^7.18.6",
+    "@emotion/eslint-plugin": "^11.10.0",
     "@types/node": "^18.11.18",
     "@types/react": "^18.0.26",
     "@types/react-dom": "^18.0.10",
-    "babel-eslint": "^10.1.0",
     "babel-plugin-auto-import": "^1.1.0",
     "eslint": "^8.31.0",
     "eslint-config-airbnb-base": "^15.0.0",
diff --git a/sitegin/index.js b/sitegin/index.js
index 11f1d0e1..9168b382 100755
--- a/sitegin/index.js
+++ b/sitegin/index.js
@@ -6,10 +6,11 @@ import fs from 'fs'
 import { promisify } from 'util'
 import fsextra from 'node-fs-extra'
 import chokidar from 'chokidar'
+import { fileURLToPath } from 'node:url'
+import { createRequire } from 'module'
+
 import config from './config.js'
 import pipeline from './sitegin.js'
-import { createRequire } from 'module'
-import { fileURLToPath } from 'node:url'
 
 const __dirname = path.dirname(fileURLToPath(import.meta.url))
 
@@ -120,9 +121,7 @@ function copyStaticFiles(builddir) {
   fsextra.copy(
     path.join(__dirname, '..', 'static'),
     builddir,
-    (file) => {
-      return !(file.match('\\.git') || file.match('static/articles'))
-    },
+    (file) => !(file.match('\\.git') || file.match('static/articles')),
     () => {
       console.log('copy static done')
     },
@@ -130,9 +129,7 @@ function copyStaticFiles(builddir) {
   fsextra.copy(
     path.join(__dirname, '..', 'content', 'articles'),
     `${builddir}/clanek`,
-    (file) => {
-      return !file.endsWith('.md')
-    },
+    (file) => !file.endsWith('.md'),
     () => {
       console.log('copy content/articles done')
     },
diff --git a/theme-source/components/chip.tsx b/theme-source/components/chip.tsx
new file mode 100644
index 00000000..5a0c9be6
--- /dev/null
+++ b/theme-source/components/chip.tsx
@@ -0,0 +1,24 @@
+/** @jsx jsx */
+import { css, jsx } from '@emotion/react'
+
+export function Chip(tag: { url: string; text: string }) {
+  return (
+    <a href={`/${tag.url}/1/`}>
+      <div
+        css={css`
+          display: inline-block;
+          height: 32px;
+          font-size: 13px;
+          font-weight: 500;
+          color: rgba(0, 0, 0, 0.6);
+          line-height: 32px;
+          padding: 0 12px;
+          border-radius: 16px;
+          background-color: #e4e4e4;
+        `}
+      >
+        {tag.text}
+      </div>
+    </a>
+  )
+}
diff --git a/theme-source/partials/base-body.tsx b/theme-source/partials/base-body.tsx
index 7b12a000..f9d7fae9 100644
--- a/theme-source/partials/base-body.tsx
+++ b/theme-source/partials/base-body.tsx
@@ -1,5 +1,6 @@
+/** @jsx jsx */
 import React, { PropsWithChildren } from 'react'
-import { css } from '@emotion/react'
+import { css, jsx } from '@emotion/react'
 import { SymbolSearch, SymbolMenu, SymbolFacebook } from './svgs.js'
 
 function hideOnAndUp(px: number) {
diff --git a/theme-source/partials/list.tsx b/theme-source/partials/list.tsx
index f40743cd..13b3a85b 100644
--- a/theme-source/partials/list.tsx
+++ b/theme-source/partials/list.tsx
@@ -1,10 +1,10 @@
 /* @jsx jsx */
 import React from 'react'
-import moment from 'moment'
 import { jsx, css } from '@emotion/react'
 import { Paginator } from './paginator.js'
 import { SymbolBackward, SymbolForward } from './svgs.js'
 import { dateFilter, truncate, striptags } from '../utils.js'
+import { Chip } from '../components/chip.js'
 
 function relURL(filename, dir_) {
   let dir = dir_
@@ -28,15 +28,12 @@ export function List({ subtags, tag, content, metadata, file, config }) {
         <div className="row">
           <div className="col">
             <a className="breadcrumb">{tag.text}</a>
-            {subtags &&
-              subtags.map((subtag) => (
-                <React.Fragment key={subtag.url}>
-                  {' '}
-                  <a href={`/${subtag.url}`} className="chip">
-                    {subtag.text}
-                  </a>
-                </React.Fragment>
-              ))}
+            {subtags?.map((subtag) => (
+              <React.Fragment key={subtag.url}>
+                {' '}
+                <Chip {...subtag} />
+              </React.Fragment>
+            )) ?? null}
           </div>
         </div>
         <div
@@ -174,12 +171,14 @@ function Card({ file, image, title, text, caption }) {
     >
       <a href={`/${file}`}>
         <div
-          css={{
-            height: 120,
-            backgroundColor: '#0288d1',
+          style={{
             backgroundImage: image
               ? `url('${relURL(image, file)}')`
               : undefined,
+          }}
+          css={{
+            height: 120,
+            backgroundColor: '#0288d1',
             backgroundSize: 'cover',
             backgroundRepeat: 'no-repeat',
             backgroundPosition: '50% 50%',
diff --git a/theme-source/sass/materialize.scss b/theme-source/sass/materialize.scss
index 3cd190a6..76b6e27f 100644
--- a/theme-source/sass/materialize.scss
+++ b/theme-source/sass/materialize.scss
@@ -17,23 +17,23 @@
 @import "components/navbar";
 //@import "components/roboto";
 @import "components/typography";
-@import "components/cards";
-@import "components/toast";
-@import "components/tabs";
-@import "components/tooltip";
-@import "components/buttons";
-@import "components/dropdown";
-@import "components/waves";
-@import "components/modal";
-@import "components/collapsible";
-@import "components/chips";
-@import "components/materialbox";
-@import "components/form";
-@import "components/table_of_contents";
+//@import "components/cards";
+//@import "components/toast";
+//@import "components/tabs";
+//@import "components/tooltip";
+//@import "components/buttons";
+//@import "components/dropdown";
+//@import "components/waves";
+//@import "components/modal";
+//@import "components/collapsible";
+//@import "components/chips";
+//@import "components/materialbox";
+//@import "components/form";
+//@import "components/table_of_contents";
 @import "components/sideNav";
-@import "components/preloader";
-@import "components/slider";
-@import "components/carousel";
-@import "components/date_picker/default.scss";
-@import "components/date_picker/default.date.scss";
-@import "components/date_picker/default.time.scss";
+//@import "components/preloader";
+//@import "components/slider";
+//@import "components/carousel";
+//@import "components/date_picker/default.scss";
+//@import "components/date_picker/default.date.scss";
+//@import "components/date_picker/default.time.scss";
diff --git a/theme-source/templates/article.tsx b/theme-source/templates/article.tsx
index f5f970fc..63f9af81 100644
--- a/theme-source/templates/article.tsx
+++ b/theme-source/templates/article.tsx
@@ -1,10 +1,9 @@
-// @ts-check
-
 import React from 'react'
 import url from 'url'
 import { BaseBody } from '../partials/base-body.js'
 import { dateFilter, truncate, striptags } from '../utils.js'
 import { renderToString } from '../render-to-string.js'
+import { Chip } from '../components/chip.js'
 
 export default {
   ext: 'html',
@@ -125,9 +124,7 @@ function Article({ metadata, content, config, originalFile }) {
             {metadata.tags.map((tag) =>
               tag.url === 'tag/vse' ? null : (
                 <React.Fragment key={tag.url}>
-                  <a href={`/${tag.url}/1/`}>
-                    <div className="chip">{tag.text}</div>
-                  </a>{' '}
+                  <Chip {...tag} />{' '}
                 </React.Fragment>
               ),
             )}
diff --git a/theme-source/templates/tag.tsx b/theme-source/templates/tag.tsx
index 50611682..d180a3ad 100644
--- a/theme-source/templates/tag.tsx
+++ b/theme-source/templates/tag.tsx
@@ -483,18 +483,6 @@ function TagGlobalStyles() {
           background-color: #fff;
         }
 
-        .chip {
-          display: inline-block;
-          height: 32px;
-          font-size: 13px;
-          font-weight: 500;
-          color: rgba(0, 0, 0, 0.6);
-          line-height: 32px;
-          padding: 0 12px;
-          border-radius: 16px;
-          background-color: #e4e4e4;
-        }
-
         .hiddendiv {
           display: none;
           white-space: pre-wrap;
diff --git a/yarn.lock b/yarn.lock
index 208bb37b..ee8c84ef 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -88,6 +88,15 @@
     json5 "^2.2.1"
     semver "^6.3.0"
 
+"@babel/eslint-parser@^7.19.1":
+  version "7.19.1"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4"
+  integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==
+  dependencies:
+    "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
+    eslint-visitor-keys "^2.1.0"
+    semver "^6.3.0"
+
 "@babel/generator@^7.11.0":
   version "7.11.0"
   resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
@@ -444,7 +453,7 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.7.0":
+"@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1":
   version "7.11.3"
   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
   integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==
@@ -1172,7 +1181,7 @@
     "@babel/parser" "^7.20.7"
     "@babel/types" "^7.20.7"
 
-"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0", "@babel/traverse@^7.7.0":
+"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0":
   version "7.11.0"
   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
   integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
@@ -1203,7 +1212,7 @@
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
+"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.4.4":
   version "7.11.0"
   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
   integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
@@ -1250,6 +1259,11 @@
     "@emotion/weak-memoize" "^0.3.0"
     stylis "4.1.3"
 
+"@emotion/eslint-plugin@^11.10.0":
+  version "11.10.0"
+  resolved "https://registry.yarnpkg.com/@emotion/eslint-plugin/-/eslint-plugin-11.10.0.tgz#e0d8544c8a568bb2dac605b87346baaa3b846e80"
+  integrity sha512-nWpuoQQrzI9aM9fgn+Pbb0pOau4BhheXyVqHcOYKFq46uSuSR2ivZaDwwCJKI6ScA8Pm7OcoOpwdRH2iisf9cg==
+
 "@emotion/hash@^0.9.0":
   version "0.9.0"
   resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7"
@@ -1694,6 +1708,13 @@
   resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b"
   integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==
 
+"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
+  version "5.1.1-v1"
+  resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129"
+  integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==
+  dependencies:
+    eslint-scope "5.1.1"
+
 "@nodelib/fs.scandir@2.1.5":
   version "2.1.5"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -2106,18 +2127,6 @@ axios@0.21.4:
   dependencies:
     follow-redirects "^1.14.0"
 
-babel-eslint@^10.1.0:
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
-  integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==
-  dependencies:
-    "@babel/code-frame" "^7.0.0"
-    "@babel/parser" "^7.7.0"
-    "@babel/traverse" "^7.7.0"
-    "@babel/types" "^7.7.0"
-    eslint-visitor-keys "^1.0.0"
-    resolve "^1.12.0"
-
 babel-plugin-auto-import@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-auto-import/-/babel-plugin-auto-import-1.1.0.tgz#996a78ded5fed475657bed17f2a223bafdd87822"
@@ -3021,6 +3030,14 @@ eslint-plugin-prettier@^4.2.1:
   dependencies:
     prettier-linter-helpers "^1.0.0"
 
+eslint-scope@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^4.1.1"
+
 eslint-scope@^7.1.1:
   version "7.1.1"
   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
@@ -3036,12 +3053,7 @@ eslint-utils@^3.0.0:
   dependencies:
     eslint-visitor-keys "^2.0.0"
 
-eslint-visitor-keys@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
-  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-
-eslint-visitor-keys@^2.0.0:
+eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
@@ -3134,6 +3146,11 @@ estraverse@^1.9.1:
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
   integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=
 
+estraverse@^4.1.1:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
 estraverse@^5.1.0:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
@@ -5447,7 +5464,7 @@ resolve@1.1.x:
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
   integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
 
-resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2:
+resolve@^1.10.0, resolve@^1.3.2:
   version "1.17.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
   integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
-- 
GitLab