git.iko.soy/rowtype-yoga/psfp
on master help sign in
More
commit2683ce6dc3ec100a020098775edced979cf6f598 authorMark Eibes <mark.eibes@gmail.com> dateSat 21 Nov 2020, 23:15 (6 years ago) parentac71358
4 files changed+264−62
blog/package-lock.json+224 blog/package.json+1 blog/src/components/PSLayout.purs+37−60 blog/static/fonts/fonts.css+2−2
blog/package-lock.json+224
@@ -9,6 +9,7 @@
99 "version": "1.0.0",
1010 "license": "MIT",
1111 "dependencies": {
12+ "@emotion/core": "^10.0.28",
1213 "@material-ui/styles": "^4.9.0",
1314 "@mdx-js/mdx": "^1.1.5",
1415 "@mdx-js/react": "^1.1.5",
@@ -1371,6 +1372,43 @@
13711372 "to-fast-properties": "^2.0.0"
13721373 }
13731374 },
1375+ "node_modules/@emotion/cache": {
1376+ "version": "10.0.29",
1377+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
1378+ "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==",
1379+ "dependencies": {
1380+ "@emotion/sheet": "0.9.4",
1381+ "@emotion/stylis": "0.8.5",
1382+ "@emotion/utils": "0.11.3",
1383+ "@emotion/weak-memoize": "0.2.5"
1384+ }
1385+ },
1386+ "node_modules/@emotion/core": {
1387+ "version": "10.1.1",
1388+ "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.1.1.tgz",
1389+ "integrity": "sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==",
1390+ "dependencies": {
1391+ "@babel/runtime": "^7.5.5",
1392+ "@emotion/cache": "^10.0.27",
1393+ "@emotion/css": "^10.0.27",
1394+ "@emotion/serialize": "^0.11.15",
1395+ "@emotion/sheet": "0.9.4",
1396+ "@emotion/utils": "0.11.3"
1397+ },
1398+ "peerDependencies": {
1399+ "react": ">=16.3.0"
1400+ }
1401+ },
1402+ "node_modules/@emotion/css": {
1403+ "version": "10.0.27",
1404+ "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz",
1405+ "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==",
1406+ "dependencies": {
1407+ "@emotion/serialize": "^0.11.15",
1408+ "@emotion/utils": "0.11.3",
1409+ "babel-plugin-emotion": "^10.0.27"
1410+ }
1411+ },
13741412 "node_modules/@emotion/hash": {
13751413 "version": "0.8.0",
13761414 "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
@@ -1389,6 +1427,48 @@
13891427 "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz",
13901428 "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg=="
13911429 },
1430+ "node_modules/@emotion/serialize": {
1431+ "version": "0.11.16",
1432+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
1433+ "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
1434+ "dependencies": {
1435+ "@emotion/hash": "0.8.0",
1436+ "@emotion/memoize": "0.7.4",
1437+ "@emotion/unitless": "0.7.5",
1438+ "@emotion/utils": "0.11.3",
1439+ "csstype": "^2.5.7"
1440+ }
1441+ },
1442+ "node_modules/@emotion/serialize/node_modules/@emotion/memoize": {
1443+ "version": "0.7.4",
1444+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
1445+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
1446+ },
1447+ "node_modules/@emotion/sheet": {
1448+ "version": "0.9.4",
1449+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz",
1450+ "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA=="
1451+ },
1452+ "node_modules/@emotion/stylis": {
1453+ "version": "0.8.5",
1454+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
1455+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
1456+ },
1457+ "node_modules/@emotion/unitless": {
1458+ "version": "0.7.5",
1459+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
1460+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
1461+ },
1462+ "node_modules/@emotion/utils": {
1463+ "version": "0.11.3",
1464+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
1465+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
1466+ },
1467+ "node_modules/@emotion/weak-memoize": {
1468+ "version": "0.2.5",
1469+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
1470+ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
1471+ },
13921472 "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": {
13931473 "version": "3.0.2",
13941474 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
@@ -4563,6 +4643,28 @@
45634643 "object.assign": "^4.1.0"
45644644 }
45654645 },
4646+ "node_modules/babel-plugin-emotion": {
4647+ "version": "10.0.33",
4648+ "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz",
4649+ "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==",
4650+ "dependencies": {
4651+ "@babel/helper-module-imports": "^7.0.0",
4652+ "@emotion/hash": "0.8.0",
4653+ "@emotion/memoize": "0.7.4",
4654+ "@emotion/serialize": "^0.11.16",
4655+ "babel-plugin-macros": "^2.0.0",
4656+ "babel-plugin-syntax-jsx": "^6.18.0",
4657+ "convert-source-map": "^1.5.0",
4658+ "escape-string-regexp": "^1.0.5",
4659+ "find-root": "^1.1.0",
4660+ "source-map": "^0.5.7"
4661+ }
4662+ },
4663+ "node_modules/babel-plugin-emotion/node_modules/@emotion/memoize": {
4664+ "version": "0.7.4",
4665+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
4666+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
4667+ },
45664668 "node_modules/babel-plugin-extract-import-names": {
45674669 "version": "1.6.21",
45684670 "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.21.tgz",
@@ -4608,6 +4710,11 @@
46084710 "gatsby": "^2.0.0"
46094711 }
46104712 },
4713+ "node_modules/babel-plugin-syntax-jsx": {
4714+ "version": "6.18.0",
4715+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
4716+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
4717+ },
46114718 "node_modules/babel-plugin-syntax-object-rest-spread": {
46124719 "version": "6.13.0",
46134720 "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
@@ -10038,6 +10145,11 @@
1003810145 "semver": "bin/semver.js"
1003910146 }
1004010147 },
10148+ "node_modules/find-root": {
10149+ "version": "1.1.0",
10150+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
10151+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
10152+ },
1004110153 "node_modules/find-up": {
1004210154 "version": "2.1.0",
1004310155 "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -28876,6 +28988,40 @@
2887628988 "to-fast-properties": "^2.0.0"
2887728989 }
2887828990 },
28991+ "@emotion/cache": {
28992+ "version": "10.0.29",
28993+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
28994+ "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==",
28995+ "requires": {
28996+ "@emotion/sheet": "0.9.4",
28997+ "@emotion/stylis": "0.8.5",
28998+ "@emotion/utils": "0.11.3",
28999+ "@emotion/weak-memoize": "0.2.5"
29000+ }
29001+ },
29002+ "@emotion/core": {
29003+ "version": "10.1.1",
29004+ "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.1.1.tgz",
29005+ "integrity": "sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==",
29006+ "requires": {
29007+ "@babel/runtime": "^7.5.5",
29008+ "@emotion/cache": "^10.0.27",
29009+ "@emotion/css": "^10.0.27",
29010+ "@emotion/serialize": "^0.11.15",
29011+ "@emotion/sheet": "0.9.4",
29012+ "@emotion/utils": "0.11.3"
29013+ }
29014+ },
29015+ "@emotion/css": {
29016+ "version": "10.0.27",
29017+ "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz",
29018+ "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==",
29019+ "requires": {
29020+ "@emotion/serialize": "^0.11.15",
29021+ "@emotion/utils": "0.11.3",
29022+ "babel-plugin-emotion": "^10.0.27"
29023+ }
29024+ },
2887929025 "@emotion/hash": {
2888029026 "version": "0.8.0",
2888129027 "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
@@ -28894,6 +29040,50 @@
2889429040 "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz",
2889529041 "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg=="
2889629042 },
29043+ "@emotion/serialize": {
29044+ "version": "0.11.16",
29045+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
29046+ "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
29047+ "requires": {
29048+ "@emotion/hash": "0.8.0",
29049+ "@emotion/memoize": "0.7.4",
29050+ "@emotion/unitless": "0.7.5",
29051+ "@emotion/utils": "0.11.3",
29052+ "csstype": "^2.5.7"
29053+ },
29054+ "dependencies": {
29055+ "@emotion/memoize": {
29056+ "version": "0.7.4",
29057+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
29058+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
29059+ }
29060+ }
29061+ },
29062+ "@emotion/sheet": {
29063+ "version": "0.9.4",
29064+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz",
29065+ "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA=="
29066+ },
29067+ "@emotion/stylis": {
29068+ "version": "0.8.5",
29069+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
29070+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
29071+ },
29072+ "@emotion/unitless": {
29073+ "version": "0.7.5",
29074+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
29075+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
29076+ },
29077+ "@emotion/utils": {
29078+ "version": "0.11.3",
29079+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
29080+ "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
29081+ },
29082+ "@emotion/weak-memoize": {
29083+ "version": "0.2.5",
29084+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
29085+ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
29086+ },
2889729087 "@endemolshinegroup/cosmiconfig-typescript-loader": {
2889829088 "version": "3.0.2",
2889929089 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
@@ -31452,6 +31642,30 @@
3145231642 "object.assign": "^4.1.0"
3145331643 }
3145431644 },
31645+ "babel-plugin-emotion": {
31646+ "version": "10.0.33",
31647+ "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz",
31648+ "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==",
31649+ "requires": {
31650+ "@babel/helper-module-imports": "^7.0.0",
31651+ "@emotion/hash": "0.8.0",
31652+ "@emotion/memoize": "0.7.4",
31653+ "@emotion/serialize": "^0.11.16",
31654+ "babel-plugin-macros": "^2.0.0",
31655+ "babel-plugin-syntax-jsx": "^6.18.0",
31656+ "convert-source-map": "^1.5.0",
31657+ "escape-string-regexp": "^1.0.5",
31658+ "find-root": "^1.1.0",
31659+ "source-map": "^0.5.7"
31660+ },
31661+ "dependencies": {
31662+ "@emotion/memoize": {
31663+ "version": "0.7.4",
31664+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
31665+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
31666+ }
31667+ }
31668+ },
3145531669 "babel-plugin-extract-import-names": {
3145631670 "version": "1.6.21",
3145731671 "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.21.tgz",
@@ -31488,6 +31702,11 @@
3148831702 "integrity": "sha512-JJiC1JdMubakyCAppYnFqdXqX1sNRIYomoRQ1tH2xzXHrsmhk3lRUSozsEGWxsL7r9D7zacuhi6fF4vukIyo0w==",
3148931703 "requires": {}
3149031704 },
31705+ "babel-plugin-syntax-jsx": {
31706+ "version": "6.18.0",
31707+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
31708+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
31709+ },
3149131710 "babel-plugin-syntax-object-rest-spread": {
3149231711 "version": "6.13.0",
3149331712 "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
@@ -35878,6 +36097,11 @@
3587836097 }
3587936098 }
3588036099 },
36100+ "find-root": {
36101+ "version": "1.1.0",
36102+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
36103+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
36104+ },
3588136105 "find-up": {
3588236106 "version": "2.1.0",
3588336107 "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
blog/package.json+1
@@ -4,6 +4,7 @@
44 "version": "1.0.0",
55 "author": "Mark Eibes",
66 "dependencies": {
7+ "@emotion/core": "^10.0.28",
78 "@material-ui/styles": "^4.9.0",
89 "@mdx-js/mdx": "^1.1.5",
910 "@mdx-js/react": "^1.1.5",
blog/src/components/PSLayout.purs+37−60
@@ -1,6 +1,7 @@
11module PSLayout where
22
33import Prelude
4+import Components.Container as Container
45import Data.Array (foldMap, intercalate)
56import Data.Array as Array
67import Data.Array.NonEmpty as NEA
@@ -21,17 +22,17 @@ import JSS (jssClasses)
2122import Justifill (justifill)
2223import Milkis.Impl (FetchImpl)
2324import React.Basic (JSX, ReactComponent, fragment)
24−import React.Basic.DOM (css, unsafeCreateDOMComponent)
25+import React.Basic.DOM (Props_h1, Props_h2, Props_h3, Props_p, css, unsafeCreateDOMComponent)
2526import React.Basic.DOM as R
2627import React.Basic.Helpers (jsx)
27−import React.Basic.Hooks (ReactChildren, element, memo, mkReducer, reactChildrenToArray, reactComponent, reactComponentWithChildren, useReducer, useState)
28+import React.Basic.Hooks (ReactChildren, element, memo, mkReducer, reactChildrenFromArray, reactChildrenToArray, reactComponent, reactComponentWithChildren, useReducer, useState)
2829import React.Basic.Hooks as React
2930import Shared.Models.Body (CompileResult)
3031import Unsafe.Coerce (unsafeCoerce)
32+import Yoga (el)
3133import Yoga.Box.Component as Box
3234import Yoga.ClickAway.Component as ClickAway
3335import Yoga.CloseIcon.Component as CloseIcon
34−import Yoga.Cluster.Component as Cluster
3536import Yoga.CompileEditor.Component (mkCompileEditor)
3637import Yoga.Compiler.Api (apiCompiler)
3738import Yoga.Compiler.Types (Compiler)
@@ -50,8 +51,6 @@ import Yoga.Theme.Default as Default
5051import Yoga.Theme.Provider (mkThemeProvider)
5152import Yoga.Theme.Styles (makeStylesJSS)
5253import Yoga.Theme.Types (CSSTheme)
53−import Yoga.Typography.Header (HeadingLevel(..), mkH)
54−import Yoga.Typography.Paragraph (mkP)
5554
5655type SiteQueryResult =
5756 { siteMetadata ∷
@@ -86,42 +85,41 @@ mkLayout ∷
8685 )
8786mkLayout fetchImpl = do
8887 themeProvider <- mkThemeProvider
89− modal <- memo Modal.makeComponent
90− imposter <- memo Imposter.makeComponent
91− cover <- memo Cover.makeComponent
92− cluster <- memo Cluster.makeComponent
93− clickAway <- memo ClickAway.makeComponent
88+ modal <- Modal.makeComponent
89+ imposter <- Imposter.makeComponent
90+ cover <- Cover.makeComponent
91+ clickAway <- ClickAway.makeComponent
9492 reducer <-
9593 mkReducer case _, _ of
9694 _, ShowModal props -> Just props
9795 _, HideModal -> Nothing
9896 mdxProviderComponent <- memo $ mkMdxProviderComponent (apiCompiler fetchImpl)
9997 reactComponentWithChildren "MDXLayout" \{ children, siteInfo } -> React.do
100− (maybeModalProps ∷ Maybe Modal.Props) /\ dispatch <-
101− useReducer Nothing reducer
98+ (maybeModalProps ∷ Maybe Modal.Props) /\ dispatch <- useReducer Nothing reducer
10299 pure
103− $ element themeProvider
104− { theme: fromTheme darkTheme
105− , children:
106− [ R.div
107− { style: css { maxWidth: "none" }
108− , children:
109− [ maybeModalProps
110− # foldMap \modalProps ->
111− fragment
112− [ element clickAway { allowEscape: Just true, onClick: dispatch HideModal, style: Nothing }
113− , element modal (justifill modalProps)
114− ]
115− , element mdxProviderComponent
116− { children
117− , siteInfo
118− , showModal: dispatch <<< ShowModal
119− , hideModal: dispatch HideModal
120− }
121− ]
122− }
123− ]
124− }
100+ $ el themeProvider
101+ { theme: fromTheme darkTheme }
102+ [ el R.div'
103+ { style: css { maxWidth: "none" } }
104+ [ maybeModalProps
105+ # foldMap \modalProps ->
106+ fragment
107+ [ element clickAway { allowEscape: Just true, onClick: dispatch HideModal, style: Nothing }
108+ , element modal (justifill modalProps)
109+ ]
110+ , element Container.component
111+ { children:
112+ reactChildrenFromArray
113+ [ element mdxProviderComponent
114+ { children
115+ , siteInfo
116+ , showModal: dispatch <<< ShowModal
117+ , hideModal: dispatch HideModal
118+ }
119+ ]
120+ }
121+ ]
122+ ]
125123
126124isQuiz ∷ JSX -> Boolean
127125isQuiz a =
@@ -145,23 +143,8 @@ mkMdxProviderComponent compiler = do
145143 header <- memo mkHeader
146144 yogaInlineCode <- InlineCode.makeComponent
147145 quiz <- memo $ mkQuiz compiler
148− h <- memo mkH
149− p <- memo mkP
150146 closeIcon <- CloseIcon.makeComponent
151− useStyles <-
152− makeStylesJSS
153− $ jssClasses \(theme ∷ CSSTheme) ->
154− { code:
155− { fontFamily: theme.codeFontFamily # NEA.head
156− , backgroundColor: theme.interfaceColour
157− , fontSize: "10pt"
158− , border: "1px solid #383c39"
159− , padding: "3px"
160− , borderRadius: "3px"
161− }
162− }
163147 reactComponentWithChildren "MDXProviderComponent" \({ children, siteInfo, showModal, hideModal } ∷ MdxProviderProps) -> React.do
164− classes <- useStyles {}
165148 visibleUntil /\ updateVisible <- useState 1
166149 let
167150 onFailure title kids =
@@ -194,23 +177,17 @@ mkMdxProviderComponent compiler = do
194177 mdxComponents /\ _ <-
195178 useState
196179 { h1:
197− \props ->
198− element h ({ level: H2, text: props.children, className: Nothing })
180+ \(props ∷ { | Props_h1 }) -> R.h1 props
199181 , h2:
200− \props ->
201− element h { level: H3, text: props.children, className: Nothing }
182+ \(props ∷ { | Props_h2 }) -> R.h2 props
202183 , h3:
203− \props ->
204− element h { level: H4, text: props.children, className: Nothing }
184+ \(props ∷ { | Props_h3 }) -> R.h3 props
205185 , hr: (const $ R.hr {})
206186 , p:
207− \props ->
208− R.div
209− { children: [ element p { text: props.children } ]
210− }
187+ \(props ∷ { | Props_p }) -> R.p props
211188 , inlineCode:
212189 \props -> do
213− R.span { className: classes.code, children: props.children }
190+ R.span { children: props.children }
214191 , pre:
215192 mkFn2 \(props ∷ PreProps) other -> do
216193 let
blog/static/fonts/fonts.css+2−2
@@ -1,5 +1,5 @@
1−@import url('https://rsms.me/inter/inter.css');
1+/* @import url('https://rsms.me/inter/inter.css');
22html { font-family: 'Inter', sans-serif; }
33@supports (font-variation-settings: normal) {
44 html { font-family: 'Inter var', sans-serif; }
5−}
5+} */