Finished migration to custom build
1
.gitignore
vendored
@ -30,7 +30,6 @@ venv
|
|||||||
# Build files
|
# Build files
|
||||||
build
|
build
|
||||||
MANIFEST
|
MANIFEST
|
||||||
manifest.json
|
|
||||||
site
|
site
|
||||||
|
|
||||||
# Distribution files
|
# Distribution files
|
||||||
|
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 224a32 32 0 1032.007 32 32.064 32.064 0 00-32.008-32zm214.171-96c-10.877-19.5-40.51-50.75-116.275-41.875C300.392 34.875 267.634 0 223.999 0s-76.39 34.875-97.896 86.125C50.337 77.375 20.706 108.5 9.829 128-6.55 157.375-5.175 201.125 34.958 256-5.175 310.875-6.55 354.625 9.829 384c29.13 52.375 101.647 43.625 116.274 41.875C147.608 477.125 180.364 512 223.999 512s76.393-34.875 97.897-86.125c14.629 1.75 87.144 10.5 116.275-41.875 16.379-29.375 15.004-73.125-25.13-128 40.134-54.875 41.509-98.625 25.13-128zM63.34 352c-4-7.25-.125-24.75 15.004-48.25a368.519 368.519 0 0021.88 19.125c1.626 13.75 4 27.125 6.75 40.125-24.628.875-39.882-4.375-43.634-11zm36.885-162.875a368.506 368.506 0 00-21.881 19.125c-15.13-23.5-19.004-41-15.004-48.25 3.377-6.125 16.379-11.5 37.885-11.5 1.75 0 3.875.375 5.75.375a443.175 443.175 0 00-6.75 40.25zM223.999 64c9.502 0 22.256 13.5 33.883 37.25a435.24 435.24 0 00-33.883 12.875 434.638 434.638 0 00-33.883-12.875C201.746 77.5 214.497 64 224 64zm0 384c-9.502 0-22.254-13.5-33.883-37.25 11.254-3.75 22.506-8 33.883-12.875a435.23 435.23 0 0033.883 12.875C246.255 434.5 233.5 448 223.999 448zm0-112a80 80 0 1180-80 80 80 0 01-80 80zm160.66 16c-3.625 6.625-19.004 11.875-43.634 11 2.752-13 5.127-26.375 6.752-40.125a367.856 367.856 0 0021.878-19.125c15.13 23.5 19.004 41 15.004 48.25zm-15.004-143.75a367.869 367.869 0 00-21.879-19.125 442.488 442.488 0 00-6.752-40.25c1.875 0 4.002-.375 5.752-.375 21.504 0 34.508 5.375 37.883 11.5 4 7.25.125 24.75-15.004 48.25z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 224a32 32 0 1 0 32.007 32 32.064 32.064 0 0 0-32.008-32zm214.171-96c-10.877-19.5-40.51-50.75-116.275-41.875C300.392 34.875 267.634 0 223.999 0s-76.39 34.875-97.896 86.125C50.337 77.375 20.706 108.5 9.829 128-6.55 157.375-5.175 201.125 34.958 256-5.175 310.875-6.55 354.625 9.829 384c29.13 52.375 101.647 43.625 116.274 41.875C147.608 477.125 180.364 512 223.999 512s76.393-34.875 97.897-86.125c14.629 1.75 87.144 10.5 116.275-41.875 16.379-29.375 15.004-73.125-25.13-128 40.134-54.875 41.509-98.625 25.13-128zM63.34 352c-4-7.25-.125-24.75 15.004-48.25a368.519 368.519 0 0 0 21.88 19.125c1.626 13.75 4 27.125 6.75 40.125-24.628.875-39.882-4.375-43.634-11zm36.885-162.875a368.506 368.506 0 0 0-21.881 19.125c-15.13-23.5-19.004-41-15.004-48.25 3.377-6.125 16.379-11.5 37.885-11.5 1.75 0 3.875.375 5.75.375a443.175 443.175 0 0 0-6.75 40.25zM223.999 64c9.502 0 22.256 13.5 33.883 37.25-11.252 3.75-22.504 8-33.883 12.875a434.638 434.638 0 0 0-33.883-12.875C201.746 77.5 214.497 64 224 64zm0 384c-9.502 0-22.254-13.5-33.883-37.25 11.254-3.75 22.506-8 33.883-12.875a435.23 435.23 0 0 0 33.883 12.875C246.255 434.5 233.5 448 223.999 448zm0-112a80 80 0 1 1 80-80 80 80 0 0 1-80 80zm160.66 16c-3.625 6.625-19.004 11.875-43.634 11 2.752-13 5.127-26.375 6.752-40.125a367.856 367.856 0 0 0 21.878-19.125c15.13 23.5 19.004 41 15.004 48.25zm-15.004-143.75a367.869 367.869 0 0 0-21.879-19.125 442.488 442.488 0 0 0-6.752-40.25c1.875 0 4.002-.375 5.752-.375 21.504 0 34.508 5.375 37.883 11.5 4 7.25.125 24.75-15.004 48.25z"/></svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
@ -1 +1,6 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89"><path d="M3.136 17.387v42.932l42.932 21.467L3.136 17.387z"/><path d="M21.91 8l42.933 64.398-18.775 9.388L3.136 17.387 21.91 8z" fill-opacity=".5"/><path d="M67.535 17.387L40.273 35.543l21.878 32.818 5.384 2.691V17.387z"/><path d="M67.535 17.387v53.666l18.774-9.388V8l-18.774 9.387z" fill-opacity=".25"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
|
||||||
|
<path d="M3.136,17.387l0,42.932l42.932,21.467l-42.932,-64.399Z" />
|
||||||
|
<path d="M21.91,8l42.933,64.398l-18.775,9.388l-42.932,-64.399l18.774,-9.387Z" style="fill-opacity: 0.5" />
|
||||||
|
<path d="M67.535,17.387l-27.262,18.156l21.878,32.818l5.384,2.691l0,-53.665Z" />
|
||||||
|
<path d="M67.535,17.387l0,53.666l18.774,-9.388l0,-53.665l-18.774,9.387Z" style="fill-opacity: 0.25" />
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 433 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 13.5a.5.5 0 00-.5.5.5.5 0 00.5.5.5.5 0 00.5-.5.5.5 0 00-.5-.5M6 17a1 1 0 00-1 1 1 1 0 001 1 1 1 0 001-1 1 1 0 00-1-1m4 3.5a.5.5 0 00-.5.5.5.5 0 00.5.5.5.5 0 00.5-.5.5.5 0 00-.5-.5m-7-11a.5.5 0 00-.5.5.5.5 0 00.5.5.5.5 0 00.5-.5.5.5 0 00-.5-.5M6 13a1 1 0 00-1 1 1 1 0 001 1 1 1 0 001-1 1 1 0 00-1-1m15 .5a.5.5 0 00-.5.5.5.5 0 00.5.5.5.5 0 00.5-.5.5.5 0 00-.5-.5M10 17a1 1 0 00-1 1 1 1 0 001 1 1 1 0 001-1 1 1 0 00-1-1M2.5 5.27l3.78 3.78L6 9a1 1 0 00-1 1 1 1 0 001 1 1 1 0 001-1c0-.1-.03-.19-.06-.28l2.81 2.81c-.71.11-1.25.73-1.25 1.47a1.5 1.5 0 001.5 1.5c.74 0 1.36-.54 1.47-1.25l2.81 2.81A.875.875 0 0014 17a1 1 0 00-1 1 1 1 0 001 1 1 1 0 001-1c0-.1-.03-.19-.06-.28l3.78 3.78L20 20.23 3.77 4 2.5 5.27M14 20.5a.5.5 0 00-.5.5.5.5 0 00.5.5.5.5 0 00.5-.5.5.5 0 00-.5-.5M18 7a1 1 0 001-1 1 1 0 00-1-1 1 1 0 00-1 1 1 1 0 001 1m0 4a1 1 0 001-1 1 1 0 00-1-1 1 1 0 00-1 1 1 1 0 001 1m0 4a1 1 0 001-1 1 1 0 00-1-1 1 1 0 00-1 1 1 1 0 001 1m-8-8a1 1 0 001-1 1 1 0 00-1-1 1 1 0 00-1 1 1 1 0 001 1m11 3.5a.5.5 0 00.5-.5.5.5 0 00-.5-.5.5.5 0 00-.5.5.5.5 0 00.5.5m-11-7a.5.5 0 00.5-.5.5.5 0 00-.5-.5.5.5 0 00-.5.5.5.5 0 00.5.5m4 0a.5.5 0 00.5-.5.5.5 0 00-.5-.5.5.5 0 00-.5.5.5.5 0 00.5.5m-.2 8h.2a1.5 1.5 0 001.5-1.5A1.5 1.5 0 0014 8.5a1.5 1.5 0 00-1.5 1.5v.2c.11.67.63 1.19 1.3 1.3M14 7a1 1 0 001-1 1 1 0 00-1-1 1 1 0 00-1 1 1 1 0 001 1z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 13.5a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5M6 17a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m4 3.5a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5m-7-11a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5M6 13a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m15 .5a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5M10 17a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1M2.5 5.27l3.78 3.78L6 9a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1c0-.1-.03-.19-.06-.28l2.81 2.81c-.71.11-1.25.73-1.25 1.47a1.5 1.5 0 0 0 1.5 1.5c.74 0 1.36-.54 1.47-1.25l2.81 2.81c-.09-.03-.18-.06-.28-.06a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1c0-.1-.03-.19-.06-.28l3.78 3.78L20 20.23 3.77 4 2.5 5.27M14 20.5a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5M18 7a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1m0 4a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1m0 4a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1m-8-8a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1m11 3.5a.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5m-11-7a.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5m4 0a.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5m-.2 8h.2a1.5 1.5 0 0 0 1.5-1.5A1.5 1.5 0 0 0 14 8.5a1.5 1.5 0 0 0-1.5 1.5v.2c.11.67.63 1.19 1.3 1.3M14 7a1 1 0 0 0 1-1 1 1 0 0 0-1-1 1 1 0 0 0-1 1 1 1 0 0 0 1 1z"/></svg>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V5a2 2 0 00-2-2m-3.4 14L12 13.4 8.4 17 7 15.6l3.6-3.6L7 8.4 8.4 7l3.6 3.6L15.6 7 17 8.4 13.4 12l3.6 3.6-1.4 1.4z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5a2 2 0 0 0-2 2V19a2 2 0 0 0 2 2H19a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-3.4 14L12 13.4 8.4 17 7 15.6l3.6-3.6L7 8.4 8.4 7l3.6 3.6L15.6 7 17 8.4 13.4 12l3.6 3.6-1.4 1.4z"/></svg>
|
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 246 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.21 12l-1.33.89v-1.78l1.33.89m3.26-2.18V7.34l-4.16 2.78 1.85 1.24 2.31-1.54m5.23.3l-4.17-2.78v2.48l2.31 1.54 1.86-1.24m-9.39 3.76l4.16 2.78v-2.48l-2.31-1.54-1.85 1.24m5.22.3v2.48l4.17-2.78-1.86-1.24-2.31 1.54M12 10.74L10.12 12 12 13.26 13.88 12 12 10.74M22 12c0 5.5-4.5 10-10 10S2 17.5 2 12 6.5 2 12 2s10 4.5 10 10m-3.82-1.88v-.07l-.01-.05-.01-.05c-.01-.01-.01-.02-.02-.04l-.01-.02-.02-.04-.01-.02-.02-.03-.02-.03-.03-.03-.03-.02V9.7l-.04-.02-.01-.01-5.65-3.76a.528.528 0 00-.59 0L6.05 9.67v.01L6 9.7v.02l-.03.02-.03.03-.01.03-.03.03-.01.02-.02.04-.01.02-.02.04V10h-.01l-.01.05v3.9l.01.05h.01v.05c.01.01.01.02.02.04l.01.02.02.04.01.02.02.03.02.03.03.03.03.02v.02l.04.02.01.01 5.66 3.77c.08.06.19.08.29.08.1 0 .21-.03.3-.08l5.65-3.77.01-.01.04-.02v-.02l.03-.02.03-.03.02-.03.02-.03.01-.02.02-.04.01-.02.02-.04V14h.01l.01-.05v-3.83m-1.06 2.77v-1.78l-1.33.89 1.33.89z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.21 12l-1.33.89v-1.78l1.33.89m3.26-2.18V7.34l-4.16 2.78 1.85 1.24 2.31-1.54m5.23.3l-4.17-2.78v2.48l2.31 1.54 1.86-1.24m-9.39 3.76l4.16 2.78v-2.48l-2.31-1.54-1.85 1.24m5.22.3v2.48l4.17-2.78-1.86-1.24-2.31 1.54M12 10.74L10.12 12 12 13.26 13.88 12 12 10.74M22 12c0 5.5-4.5 10-10 10S2 17.5 2 12 6.5 2 12 2s10 4.5 10 10m-3.82-1.88v-.07l-.01-.05-.01-.05c-.01-.01-.01-.02-.02-.04l-.01-.02-.02-.04-.01-.02-.02-.03-.02-.03-.03-.03-.03-.02V9.7l-.04-.02-.01-.01-5.65-3.76a.528.528 0 0 0-.59 0L6.05 9.67v.01L6 9.7v.02l-.03.02-.03.03-.01.03-.03.03-.01.02-.02.04-.01.02-.02.04V10h-.01l-.01.05V13.95l.01.05h.01v.05c.01.01.01.02.02.04l.01.02.02.04.01.02.02.03.02.03.03.03.03.02v.02l.04.02.01.01 5.66 3.77c.08.06.19.08.29.08.1 0 .21-.03.3-.08l5.65-3.77.01-.01.04-.02v-.02l.03-.02.03-.03.02-.03.02-.03.01-.02.02-.04.01-.02.02-.04V14h.01l.01-.05V10.12m-1.06 2.77v-1.78l-1.33.89 1.33.89z"/></svg>
|
Before Width: | Height: | Size: 944 B After Width: | Height: | Size: 947 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3a9 9 0 000 18c2 0 3.92-.66 5.5-1.86l-1.44-1.44A6.995 6.995 0 015 12c0-3.87 3.13-7 7-7s7 3.13 7 7h-3l4 4 4-4h-3a9 9 0 00-9-9M7.71 13.16c-.09.07-.12.19-.07.29l.9 1.55c.06.12.18.12.28.12l1.13-.45c.24.16.49.3.75.42l.18 1.19c.02.11.12.19.22.19h1.8c.1.03.21-.06.23-.17l.18-1.18c.27-.12.53-.27.76-.45l1.12.45c.11.04.23-.01.28-.12l.9-1.5c.05-.12.02-.24-.06-.31l-1-.74c.03-.3.03-.6 0-.9l1-.76c.09-.07.11-.18.06-.29l-.9-1.55a.226.226 0 00-.28-.1l-1.12.45c-.24-.17-.5-.3-.77-.42l-.17-1.19a.244.244 0 00-.23-.19h-1.76c-.1 0-.19.07-.21.17l-.17 1.18c-.26.12-.53.27-.76.45l-1.15-.42a.234.234 0 00-.29.12l-.91 1.5c-.05.12-.02.24.06.31l1 .74c-.02.15-.02.3 0 .45-.01.15-.01.3 0 .45l-1 .74m4.29.31c-.84 0-1.5-.68-1.5-1.5 0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3a9 9 0 0 0 0 18c2 0 3.92-.66 5.5-1.86l-1.44-1.44A6.995 6.995 0 0 1 5 12c0-3.87 3.13-7 7-7s7 3.13 7 7h-3l4 4 4-4h-3a9 9 0 0 0-9-9M7.71 13.16c-.09.07-.12.19-.07.29l.9 1.55c.06.12.18.12.28.12l1.13-.45c.24.16.49.3.75.42l.18 1.19c.02.11.12.19.22.19h1.8c.1.03.21-.06.23-.17l.18-1.18c.27-.12.53-.27.76-.45l1.12.45c.11.04.23-.01.28-.12l.9-1.5c.05-.12.02-.24-.06-.31l-1-.74c.03-.3.03-.6 0-.9l1-.76c.09-.07.11-.18.06-.29l-.9-1.55c-.06-.1-.17-.14-.28-.1l-1.12.45c-.24-.17-.5-.3-.77-.42l-.17-1.19a.244.244 0 0 0-.23-.19h-1.76c-.1 0-.19.07-.21.17l-.17 1.18c-.26.12-.53.27-.76.45l-1.15-.42a.234.234 0 0 0-.29.12l-.91 1.5c-.05.12-.02.24.06.31l1 .74c-.02.15-.02.3 0 .45-.01.15-.01.3 0 .45l-1 .74m4.29.31c-.84 0-1.5-.68-1.5-1.5 0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5"/></svg>
|
Before Width: | Height: | Size: 836 B After Width: | Height: | Size: 845 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.79 23c-.42-.17-.72-.55-.79-1-.05-.26 0-.44.4-1.16 1.5-2.7 2.27-5.75 2.23-8.84.04-3-.69-5.93-2.13-8.56-.21-.44-.4-.86-.56-1.31.06-.38.25-.73.56-.94.45-.24 1-.19 1.41.09.28.36.52.72.72 1.14A21.4 21.4 0 0120.8 9c.23 1.81.26 3.65.09 5.47-.31 2.34-1 4.6-2.06 6.71-.64 1.28-1 1.82-1.38 1.82h-.66m-4.36-2.21c-.57-.16-.93-.74-.81-1.32 0-.12.31-.67.59-1.23 1.18-2.27 1.69-4.83 1.46-7.38-.14-1.83-.67-3.61-1.54-5.22-.63-1.26-.67-1.46-.3-2 .44-.49 1.17-.56 1.71-.14.72 1.06 1.29 2.22 1.71 3.44 1.28 3.79 1.08 7.92-.56 11.56-.84 1.89-1.43 2.5-2.26 2.24v.05m-4.5-2.23a1.31 1.31 0 01-.73-.86c0-.2 0-.46.45-1.26a8.986 8.986 0 000-8.68C7 6.5 7 6.24 7.53 5.76c.19-.22.47-.33.77-.29.64 0 1 .31 1.54 1.44A10.51 10.51 0 0111.12 12c.04 1.81-.4 3.61-1.27 5.2-.54 1.05-.81 1.3-1.35 1.39-.19.02-.39 0-.57-.09v.06m-4.21-2.13c-.33-.16-.59-.43-.72-.78-.1-.35 0-.65.4-1.29.5-.68.74-1.52.69-2.36.07-.85-.16-1.69-.65-2.39A6.11 6.11 0 013 8.82c-.11-.63.31-1.23 1-1.35.54-.1.92.13 1.42.89a6.619 6.619 0 010 7.27c-.51.77-1.09 1-1.69.8h-.01z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.79 23c-.42-.17-.72-.55-.79-1-.05-.26 0-.44.4-1.16 1.5-2.7 2.27-5.75 2.23-8.84.04-3-.69-5.93-2.13-8.56-.21-.44-.4-.86-.56-1.31.06-.38.25-.73.56-.94.45-.24 1-.19 1.41.09.28.36.52.72.72 1.14A21.4 21.4 0 0 1 20.8 9c.23 1.81.26 3.65.09 5.47-.31 2.34-1 4.6-2.06 6.71-.64 1.28-1 1.82-1.38 1.82H16.79m-4.36-2.21c-.57-.16-.93-.74-.81-1.32 0-.12.31-.67.59-1.23 1.18-2.27 1.69-4.83 1.46-7.38-.14-1.83-.67-3.61-1.54-5.22-.63-1.26-.67-1.46-.3-2 .44-.49 1.17-.56 1.71-.14.72 1.06 1.29 2.22 1.71 3.44 1.28 3.79 1.08 7.92-.56 11.56-.84 1.89-1.43 2.5-2.26 2.24v.05m-4.5-2.23a1.31 1.31 0 0 1-.73-.86c0-.2 0-.46.45-1.26a8.986 8.986 0 0 0 0-8.68C7 6.5 7 6.24 7.53 5.76c.19-.22.47-.33.77-.29.64 0 1 .31 1.54 1.44A10.51 10.51 0 0 1 11.12 12c.04 1.81-.4 3.61-1.27 5.2-.54 1.05-.81 1.3-1.35 1.39-.19.02-.39 0-.57-.09v.06m-4.21-2.13c-.33-.16-.59-.43-.72-.78-.1-.35 0-.65.4-1.29.5-.68.74-1.52.69-2.36.07-.85-.16-1.69-.65-2.39A6.11 6.11 0 0 1 3 8.82c-.11-.63.31-1.23 1-1.35.54-.1.92.13 1.42.89a6.619 6.619 0 0 1 0 7.27c-.51.77-1.09 1-1.69.8h-.01z"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 8.5c0 2.7 2.75 5.37 7 9.24V7.2C10.42 5.91 9 5 7.5 5 5.5 5 4 6.5 4 8.5m9-1.3v13.24l-1 .91-1.45-1.32C5.4 15.36 2 12.27 2 8.5 2 5.41 4.42 3 7.5 3 10 3 13 5 13 7.2z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 8.5c0 2.7 2.75 5.37 7 9.24V7.2C10.42 5.91 9 5 7.5 5 5.5 5 4 6.5 4 8.5m9-1.3V20.44l-1 .91-1.45-1.32C5.4 15.36 2 12.27 2 8.5 2 5.41 4.42 3 7.5 3 10 3 13 5 13 7.2z"/></svg>
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 241 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 7.2v13.24l-1 .91-1.45-1.32C5.4 15.36 2 12.27 2 8.5 2 5.41 4.42 3 7.5 3 10 3 13 5 13 7.2z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 7.2V20.44l-1 .91-1.45-1.32C5.4 15.36 2 12.27 2 8.5 2 5.41 4.42 3 7.5 3 10 3 13 5 13 7.2z"/></svg>
|
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 170 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 12h1.5v4.25l2.86 1.69-.75 1.22L15 17v-5m1-3c.69 0 1.37.1 2 .29V4.7l-3 1.16v3.21c.33-.07.66-.07 1-.07m7 7a7 7 0 01-7 7c-3 0-5.6-1.92-6.58-4.6L8 17.9l-5.34 2.07-.16.03a.5.5 0 01-.5-.5V4.38c0-.23.15-.41.36-.48L8 2l6 2.1 5.34-2.07.16-.03a.5.5 0 01.5.5v7.75c1.81 1.25 3 3.37 3 5.75M9 16c0-2.79 1.63-5.2 4-6.33v-3.8l-4-1.4V16m7-5a5 5 0 00-5 5 5 5 0 005 5 5 5 0 005-5 5 5 0 00-5-5M4 5.46v11.85l3-1.16V4.45L4 5.46z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 12h1.5v4.25l2.86 1.69-.75 1.22L15 17v-5m1-3c.69 0 1.37.1 2 .29V4.7l-3 1.16v3.21c.33-.07.66-.07 1-.07m7 7a7 7 0 0 1-7 7c-3 0-5.6-1.92-6.58-4.6L8 17.9l-5.34 2.07-.16.03a.5.5 0 0 1-.5-.5V4.38c0-.23.15-.41.36-.48L8 2l6 2.1 5.34-2.07.16-.03a.5.5 0 0 1 .5.5v7.75c1.81 1.25 3 3.37 3 5.75M9 16c0-2.79 1.63-5.2 4-6.33v-3.8l-4-1.4v11.66V16m7-5a5 5 0 0 0-5 5 5 5 0 0 0 5 5 5 5 0 0 0 5-5 5 5 0 0 0-5-5M4 5.46v11.85l3-1.16V4.45L4 5.46z"/></svg>
|
Before Width: | Height: | Size: 488 B After Width: | Height: | Size: 504 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2 10 10 0 002 12m3.24 6.76A9.493 9.493 0 012.44 12c0-2.55.99-4.95 2.8-6.76A9.493 9.493 0 0112 2.44c2.55 0 4.95.99 6.76 2.8a9.493 9.493 0 012.8 6.76c0 2.55-.99 4.95-2.8 6.76a9.493 9.493 0 01-6.76 2.8c-2.55 0-4.95-.99-6.76-2.8M6.35 9.5c-2.01 2.29-1.62 4.18-1.62 4.18s.55-1.3 1.88-2.68c.64-.63 1.11-.85 1.43-.85.36 0 .53.26.53.5v4.64c0 .46-.3.56-.57.55a1.5 1.5 0 01-.45-.08C8.92 17.73 12.19 18 12.19 18l1.44-1.5h.04L15 17.63c2.39-1.42 3.55-4.05 3.55-4.05-1.05 1.12-1.76 1.39-2.16 1.38-.36 0-.51-.21-.51-.21-.01-.1-.06-5.85.01-5.85.42-.77 1.74-2.34 1.74-2.34-2.47.49-3.82 2.1-3.82 2.1-.4-.31-1.22-.26-1.22-.26.38.21.76.81.76 1.32v4.93s-.85.73-1.47.73c-.38 0-.61-.21-.74-.38-.09-.12-.14-.21-.14-.21v-6.1c-.07.06-.18.11-.29.11-.14-.01-.28-.07-.37-.27-.08-.15-.12-.38-.12-.7 0-1.13 1.28-1.87 1.28-1.87-1.63.43-3.14 1.26-5.15 3.54"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2 10 10 0 0 0 2 12m3.24 6.76A9.493 9.493 0 0 1 2.44 12c0-2.55.99-4.95 2.8-6.76A9.493 9.493 0 0 1 12 2.44c2.55 0 4.95.99 6.76 2.8a9.493 9.493 0 0 1 2.8 6.76c0 2.55-.99 4.95-2.8 6.76a9.493 9.493 0 0 1-6.76 2.8c-2.55 0-4.95-.99-6.76-2.8M6.35 9.5c-2.01 2.29-1.62 4.18-1.62 4.18s.55-1.3 1.88-2.68c.64-.63 1.11-.85 1.43-.85.36 0 .53.26.53.5v4.64c0 .46-.3.56-.57.55-.23 0-.45-.08-.45-.08C8.92 17.73 12.19 18 12.19 18l1.44-1.5h.04L15 17.63c2.39-1.42 3.55-4.05 3.55-4.05-1.05 1.12-1.76 1.39-2.16 1.38-.36 0-.51-.21-.51-.21-.01-.1-.06-5.85.01-5.85.42-.77 1.74-2.34 1.74-2.34-2.47.49-3.82 2.1-3.82 2.1-.4-.31-1.22-.26-1.22-.26.38.21.76.81.76 1.32v4.93s-.85.73-1.47.73c-.38 0-.61-.21-.74-.38-.09-.12-.14-.21-.14-.21v-6.1c-.07.06-.18.11-.29.11-.14-.01-.28-.07-.37-.27-.08-.15-.12-.38-.12-.7 0-1.13 1.28-1.87 1.28-1.87-1.63.43-3.14 1.26-5.15 3.54"/></svg>
|
Before Width: | Height: | Size: 951 B After Width: | Height: | Size: 967 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3.77l-.75.84S9.97 6.06 8.68 7.94C7.39 9.82 6 12.07 6 14.23a6 6 0 006 6 6 6 0 006-6c0-2.16-1.39-4.41-2.68-6.29a38.7 38.7 0 00-2.57-3.33L12 3.77m0 3.13c.44.52.84.95 1.68 2.17 1.21 1.76 2.32 4 2.32 5.16 0 2.22-1.78 4-4 4-2.22 0-4-1.78-4-4 0-1.16 1.11-3.4 2.32-5.16.84-1.22 1.24-1.65 1.68-2.17z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 3.77l-.75.84S9.97 6.06 8.68 7.94C7.39 9.82 6 12.07 6 14.23a6 6 0 0 0 6 6 6 6 0 0 0 6-6c0-2.16-1.39-4.41-2.68-6.29-1.29-1.88-2.57-3.33-2.57-3.33L12 3.77m0 3.13c.44.52.84.95 1.68 2.17 1.21 1.76 2.32 4 2.32 5.16 0 2.22-1.78 4-4 4-2.22 0-4-1.78-4-4 0-1.16 1.11-3.4 2.32-5.16.84-1.22 1.24-1.65 1.68-2.17z"/></svg>
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 381 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.62 8H5v7h2V8h4v2h2V8h4v7h2V8h1.61c.55 0 1-.44 1-1a.86.86 0 00-.05-.32L19 2H5L2.72 6.55A.998.998 0 003.62 8m2.62-4h11.52l1 2H5.24l1-2M2 16v2h2v4h16v-4h2v-2H2m16 4H6v-2h12v2m-4.07-9c.28 0 .5.22.5.5v.06l-.38 3c-.05.25-.24.44-.49.44h-3.12c-.25 0-.44-.19-.49-.44l-.38-3A.51.51 0 0110 11h3.93z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.62 8H5v7h2V8h4v2h2V8h4v7h2V8h1.61c.55 0 1-.44 1-1a.86.86 0 0 0-.05-.32L19 2H5L2.72 6.55A.998.998 0 0 0 3.62 8m2.62-4h11.52l1 2H5.24l1-2M2 16v2h2v4h16v-4h2v-2H2m16 4H6v-2h12v2m-4.07-9c.28 0 .5.22.5.5v.06l-.38 3c-.05.25-.24.44-.49.44h-3.12c-.25 0-.44-.19-.49-.44l-.38-3A.51.51 0 0 1 10 11H13.93z"/></svg>
|
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 374 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.97 18.95l-2.56-6.03c-1.02 1.99-2.14 4.08-3.1 6.03-.01.01-.47 0-.47 0C7.37 15.5 5.85 12.1 4.37 8.68 4.03 7.84 2.83 6.5 2 6.5v-.45h5.06v.45c-.6 0-1.62.4-1.36 1.05.72 1.54 3.24 7.51 3.93 9.03.47-.94 1.8-3.42 2.37-4.47-.45-.88-1.87-4.18-2.29-5-.32-.54-1.13-.61-1.75-.61 0-.15.01-.25 0-.44l4.46.01v.4c-.61.03-1.18.24-.92.82.6 1.24.95 2.13 1.5 3.28.17-.34 1.07-2.19 1.5-3.16.26-.65-.13-.91-1.21-.91.01-.12.01-.33.01-.43 1.39-.01 3.48-.01 3.85-.02v.42c-.71.03-1.44.41-1.82.99L13.5 11.3c.18.51 1.96 4.46 2.15 4.9l3.85-8.83c-.3-.72-1.16-.87-1.5-.87v-.45l4 .03v.42c-.88 0-1.43.5-1.75 1.25-.8 1.79-3.25 7.49-4.85 11.2h-.43z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.97 18.95l-2.56-6.03c-1.02 1.99-2.14 4.08-3.1 6.03-.01.01-.47 0-.47 0C7.37 15.5 5.85 12.1 4.37 8.68 4.03 7.84 2.83 6.5 2 6.5v-.45h5.06v.45c-.6 0-1.62.4-1.36 1.05.72 1.54 3.24 7.51 3.93 9.03.47-.94 1.8-3.42 2.37-4.47-.45-.88-1.87-4.18-2.29-5-.32-.54-1.13-.61-1.75-.61 0-.15.01-.25 0-.44l4.46.01v.4c-.61.03-1.18.24-.92.82.6 1.24.95 2.13 1.5 3.28.17-.34 1.07-2.19 1.5-3.16.26-.65-.13-.91-1.21-.91.01-.12.01-.33.01-.43 1.39-.01 3.48-.01 3.85-.02v.42c-.71.03-1.44.41-1.82.99L13.5 11.3c.18.51 1.96 4.46 2.15 4.9l3.85-8.83c-.3-.72-1.16-.87-1.5-.87v-.45l4 .03V6.5c-.88 0-1.43.5-1.75 1.25-.8 1.79-3.25 7.49-4.85 11.2h-.43z"/></svg>
|
Before Width: | Height: | Size: 694 B After Width: | Height: | Size: 694 B |
@ -28,4 +28,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
***************************************************************************** */
|
***************************************************************************** */
|
||||||
//# sourceMappingURL=bundle.js.map
|
//# sourceMappingURL=bundle.ee96dedf.min.js
|
||||||
|
|
7
material/assets/javascripts/bundle.ee96dedf.min.js.map
Normal file
2
material/assets/stylesheets/main.a361390f.min.css
vendored
Normal file
1
material/assets/stylesheets/main.a361390f.min.css.map
Normal file
2
material/assets/stylesheets/palette.7fa14f5b.min.css
vendored
Normal file
1
material/assets/stylesheets/palette.7fa14f5b.min.css.map
Normal file
@ -1,370 +0,0 @@
|
|||||||
[data-md-color-accent=red] {
|
|
||||||
--md-accent-fg-color: hsla(348, 100%, 55%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(348, 100%, 55%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=pink] {
|
|
||||||
--md-accent-fg-color: hsla(339, 100%, 48%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(339, 100%, 48%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=purple] {
|
|
||||||
--md-accent-fg-color: hsla(291, 96%, 62%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(291, 96%, 62%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=deep-purple] {
|
|
||||||
--md-accent-fg-color: hsla(256, 100%, 65%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(256, 100%, 65%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=indigo] {
|
|
||||||
--md-accent-fg-color: hsla(231, 99%, 66%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(231, 99%, 66%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=blue] {
|
|
||||||
--md-accent-fg-color: hsla(218, 100%, 63%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(218, 100%, 63%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=light-blue] {
|
|
||||||
--md-accent-fg-color: hsla(203, 100%, 46%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(203, 100%, 46%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=cyan] {
|
|
||||||
--md-accent-fg-color: hsla(188, 100%, 42%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(188, 100%, 42%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=teal] {
|
|
||||||
--md-accent-fg-color: hsla(172, 100%, 37%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(172, 100%, 37%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=green] {
|
|
||||||
--md-accent-fg-color: hsla(145, 100%, 39%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(145, 100%, 39%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=light-green] {
|
|
||||||
--md-accent-fg-color: hsla(97, 81%, 48%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(97, 81%, 48%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=lime] {
|
|
||||||
--md-accent-fg-color: hsla(75, 100%, 46%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(75, 100%, 46%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=yellow] {
|
|
||||||
--md-accent-fg-color: hsla(50, 100%, 50%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(50, 100%, 50%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=amber] {
|
|
||||||
--md-accent-fg-color: hsla(40, 100%, 50%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(40, 100%, 50%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=orange] {
|
|
||||||
--md-accent-fg-color: hsla(34, 100%, 50%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(34, 100%, 50%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-accent=deep-orange] {
|
|
||||||
--md-accent-fg-color: hsla(14, 100%, 63%, 1);
|
|
||||||
--md-accent-fg-color--transparent: hsla(14, 100%, 63%, 0.1);
|
|
||||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=red] {
|
|
||||||
--md-primary-fg-color: hsla(1, 83%, 63%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(0, 69%, 67%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(1, 77%, 55%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=pink] {
|
|
||||||
--md-primary-fg-color: hsla(340, 82%, 52%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(340, 82%, 59%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(336, 78%, 43%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=purple] {
|
|
||||||
--md-primary-fg-color: hsla(291, 47%, 51%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(291, 47%, 60%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(287, 65%, 40%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=deep-purple] {
|
|
||||||
--md-primary-fg-color: hsla(262, 47%, 55%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(262, 47%, 63%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(262, 52%, 47%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=indigo] {
|
|
||||||
--md-primary-fg-color: hsla(231, 48%, 48%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(231, 44%, 56%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(232, 54%, 41%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=blue] {
|
|
||||||
--md-primary-fg-color: hsla(207, 90%, 54%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(207, 90%, 61%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(210, 79%, 46%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=light-blue] {
|
|
||||||
--md-primary-fg-color: hsla(199, 98%, 48%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(199, 92%, 56%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(201, 98%, 41%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=cyan] {
|
|
||||||
--md-primary-fg-color: hsla(187, 100%, 42%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(187, 71%, 50%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(186, 100%, 33%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=teal] {
|
|
||||||
--md-primary-fg-color: hsla(174, 100%, 29%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(174, 63%, 40%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(173, 100%, 24%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=green] {
|
|
||||||
--md-primary-fg-color: hsla(122, 39%, 49%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(123, 38%, 57%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(123, 43%, 39%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=light-green] {
|
|
||||||
--md-primary-fg-color: hsla(88, 50%, 53%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(88, 50%, 60%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(92, 48%, 42%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=lime] {
|
|
||||||
--md-primary-fg-color: hsla(66, 70%, 54%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(66, 70%, 61%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(62, 61%, 44%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=yellow] {
|
|
||||||
--md-primary-fg-color: hsla(54, 100%, 62%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(54, 100%, 67%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(43, 96%, 58%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=amber] {
|
|
||||||
--md-primary-fg-color: hsla(45, 100%, 51%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(45, 100%, 58%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(38, 100%, 50%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=orange] {
|
|
||||||
--md-primary-fg-color: hsla(36, 100%, 57%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(36, 100%, 57%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(33, 100%, 49%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=deep-orange] {
|
|
||||||
--md-primary-fg-color: hsla(14, 100%, 63%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(14, 100%, 70%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(14, 91%, 54%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=brown] {
|
|
||||||
--md-primary-fg-color: hsla(16, 25%, 38%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(16, 18%, 47%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(14, 26%, 29%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=grey] {
|
|
||||||
--md-primary-fg-color: hsla(0, 0%, 46%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(0, 0%, 62%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(0, 0%, 38%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=blue-grey] {
|
|
||||||
--md-primary-fg-color: hsla(199, 18%, 40%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(200, 18%, 46%, 1);
|
|
||||||
--md-primary-fg-color--dark: hsla(199, 18%, 33%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=white] {
|
|
||||||
--md-primary-fg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
--md-primary-fg-color--dark: hsla(0, 0%, 0%, 0.07);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
--md-typeset-a-color: hsla(231, 48%, 48%, 1);
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 60em) {
|
|
||||||
[data-md-color-primary=white] .md-search__input {
|
|
||||||
background-color: rgba(0, 0, 0, 0.07);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input + .md-search__icon {
|
|
||||||
color: rgba(0, 0, 0, 0.87);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input::-webkit-input-placeholder {
|
|
||||||
color: rgba(0, 0, 0, 0.54);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input::-moz-placeholder {
|
|
||||||
color: rgba(0, 0, 0, 0.54);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input::-ms-input-placeholder {
|
|
||||||
color: rgba(0, 0, 0, 0.54);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input::placeholder {
|
|
||||||
color: rgba(0, 0, 0, 0.54);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=white] .md-search__input:hover {
|
|
||||||
background-color: rgba(0, 0, 0, 0.32);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 76.25em) {
|
|
||||||
[data-md-color-primary=white] .md-tabs {
|
|
||||||
border-bottom: 0.05rem solid rgba(0, 0, 0, 0.07);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-md-color-primary=black] {
|
|
||||||
--md-primary-fg-color: hsla(0, 0%, 0%, 1);
|
|
||||||
--md-primary-fg-color--light: hsla(0, 0%, 0%, 0.54);
|
|
||||||
--md-primary-fg-color--dark: hsla(0, 0%, 0%, 1);
|
|
||||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
|
||||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
|
||||||
--md-typeset-a-color: hsla(231, 48%, 48%, 1);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=black] .md-header {
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 59.9375em) {
|
|
||||||
[data-md-color-primary=black] .md-nav__source {
|
|
||||||
background-color: rgba(0, 0, 0, 0.87);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 60em) {
|
|
||||||
[data-md-color-primary=black] .md-search__input {
|
|
||||||
background-color: rgba(255, 255, 255, 0.12);
|
|
||||||
}
|
|
||||||
[data-md-color-primary=black] .md-search__input:hover {
|
|
||||||
background-color: rgba(255, 255, 255, 0.3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 76.1875em) {
|
|
||||||
html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer] {
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 76.25em) {
|
|
||||||
[data-md-color-primary=black] .md-tabs {
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen {
|
|
||||||
[data-md-color-scheme=slate] {
|
|
||||||
--md-hue: 232;
|
|
||||||
--md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1);
|
|
||||||
--md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62);
|
|
||||||
--md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32);
|
|
||||||
--md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12);
|
|
||||||
--md-default-bg-color: hsla(var(--md-hue), 15%, 21%, 1);
|
|
||||||
--md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54);
|
|
||||||
--md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26);
|
|
||||||
--md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07);
|
|
||||||
--md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1);
|
|
||||||
--md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1);
|
|
||||||
--md-code-hl-color: hsla(218, 100%, 63%, 0.15);
|
|
||||||
--md-code-hl-number-color: hsla(6, 74%, 63%, 1);
|
|
||||||
--md-code-hl-special-color: hsla(340, 83%, 66%, 1);
|
|
||||||
--md-code-hl-function-color: hsla(291, 57%, 65%, 1);
|
|
||||||
--md-code-hl-constant-color: hsla(250, 62%, 70%, 1);
|
|
||||||
--md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);
|
|
||||||
--md-code-hl-string-color: hsla(150, 58%, 44%, 1);
|
|
||||||
--md-typeset-a-color: var(--md-primary-fg-color--light);
|
|
||||||
--md-typeset-mark-color: hsla(218, 100%, 63%, 0.3);
|
|
||||||
--md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12);
|
|
||||||
--md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2);
|
|
||||||
--md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);
|
|
||||||
--md-admonition-bg-color: hsla(var(--md-hue), 0%, 100%, 0.025);
|
|
||||||
--md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87);
|
|
||||||
--md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1);
|
|
||||||
}
|
|
||||||
[data-md-color-scheme=slate][data-md-color-primary=black], [data-md-color-scheme=slate][data-md-color-primary=white] {
|
|
||||||
--md-typeset-a-color: hsla(231, 44%, 56%, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*# sourceMappingURL=palette.css.map */
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"sources":["../../../src/assets/stylesheets/src/assets/stylesheets/palette/_accent.scss","../../../src/assets/stylesheets/palette.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_primary.scss","../../../src/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../src/assets/stylesheets/src/assets/stylesheets/palette/_scheme.scss"],"names":[],"mappings":"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","file":"palette.css"}
|
|
@ -39,10 +39,10 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block styles %}
|
{% block styles %}
|
||||||
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.css' | url }}">
|
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.a361390f.min.css' | url }}">
|
||||||
{% if config.theme.palette %}
|
{% if config.theme.palette %}
|
||||||
{% set palette = config.theme.palette %}
|
{% set palette = config.theme.palette %}
|
||||||
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.css' | url }}">
|
<link rel="stylesheet" href="{{ 'assets/stylesheets/palette.7fa14f5b.min.css' | url }}">
|
||||||
{% if palette.primary %}
|
{% if palette.primary %}
|
||||||
{% import "partials/palette.html" as map %}
|
{% import "partials/palette.html" as map %}
|
||||||
{% set primary = map.primary(
|
{% set primary = map.primary(
|
||||||
@ -61,7 +61,7 @@
|
|||||||
font.text | replace(' ', '+') + ':300,400,400i,700%7C' +
|
font.text | replace(' ', '+') + ':300,400,400i,700%7C' +
|
||||||
font.code | replace(' ', '+')
|
font.code | replace(' ', '+')
|
||||||
}}&display=fallback">
|
}}&display=fallback">
|
||||||
<style>:root{--md-text-font-family:"{{ font.text }}",;--md-code-font-family:"{{ font.code }}",}</style>
|
<style>:root{--md-text-font-family:"{{ font.text }}";--md-code-font-family:"{{ font.code }}"}</style>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% if config.extra.manifest %}
|
{% if config.extra.manifest %}
|
||||||
@ -191,7 +191,7 @@
|
|||||||
"base": base_url,
|
"base": base_url,
|
||||||
"features": features,
|
"features": features,
|
||||||
"translations": {},
|
"translations": {},
|
||||||
"search": "assets/javascripts/worker/search.js" | url,
|
"search": "assets/javascripts/workers/search.217ffd95.min.js" | url,
|
||||||
} -%}
|
} -%}
|
||||||
{%- set translations = app.translations -%}
|
{%- set translations = app.translations -%}
|
||||||
{%- for key in [
|
{%- for key in [
|
||||||
@ -216,7 +216,7 @@
|
|||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
<script src="{{ 'assets/javascripts/bundle.js' | url }}"></script>
|
<script src="{{ 'assets/javascripts/bundle.ee96dedf.min.js' | url }}"></script>
|
||||||
{% for path in config["extra_javascript"] %}
|
{% for path in config["extra_javascript"] %}
|
||||||
<script src="{{ path | url }}"></script>
|
<script src="{{ path | url }}"></script>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -15,4 +15,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
***************************************************************************** */
|
***************************************************************************** */
|
||||||
//# sourceMappingURL=bundle.js.map
|
//# sourceMappingURL=bundle.0a1bb8db.min.js
|
||||||
|
|
2
material/overrides/assets/stylesheets/main.8036384c.min.css
vendored
Normal file
@ -1,285 +0,0 @@
|
|||||||
@-webkit-keyframes tx-heart {
|
|
||||||
0%, 40%, 80%, 100% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
20%, 60% {
|
|
||||||
transform: scale(1.15);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes tx-heart {
|
|
||||||
0%, 40%, 80%, 100% {
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
20%, 60% {
|
|
||||||
transform: scale(1.15);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.md-typeset figure > p + figcaption {
|
|
||||||
margin-top: -1.2rem;
|
|
||||||
}
|
|
||||||
.md-typeset .twitter {
|
|
||||||
color: #00acee;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-video {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-video__inner {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
padding-bottom: 56.138%;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-video iframe {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-heart {
|
|
||||||
-webkit-animation: tx-heart 1000ms infinite;
|
|
||||||
animation: tx-heart 1000ms infinite;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders {
|
|
||||||
color: #e91e63;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-button {
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-count {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list {
|
|
||||||
margin: 2em 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list__item {
|
|
||||||
display: block;
|
|
||||||
float: left;
|
|
||||||
width: 3rem;
|
|
||||||
height: 3rem;
|
|
||||||
margin: 0.2rem;
|
|
||||||
overflow: hidden;
|
|
||||||
border-radius: 100%;
|
|
||||||
transform: scale(1);
|
|
||||||
transition: color 125ms, transform 125ms;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list__item img {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
-webkit-filter: grayscale(100%);
|
|
||||||
filter: grayscale(100%);
|
|
||||||
transition: -webkit-filter 125ms;
|
|
||||||
transition: filter 125ms;
|
|
||||||
transition: filter 125ms, -webkit-filter 125ms;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list__item:focus, .md-typeset .tx-insiders-list__item:hover {
|
|
||||||
transform: scale(1.1);
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list__item:focus img, .md-typeset .tx-insiders-list__item:hover img {
|
|
||||||
-webkit-filter: grayscale(0%);
|
|
||||||
filter: grayscale(0%);
|
|
||||||
}
|
|
||||||
.md-typeset .tx-insiders-list__item--private {
|
|
||||||
color: var(--md-default-fg-color--lighter);
|
|
||||||
font-weight: 700;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
line-height: 3rem;
|
|
||||||
text-align: center;
|
|
||||||
background: var(--md-default-fg-color--lightest);
|
|
||||||
}
|
|
||||||
.md-typeset .tx-switch button {
|
|
||||||
cursor: pointer;
|
|
||||||
transition: opacity 250ms;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-switch button:focus, .md-typeset .tx-switch button:hover {
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
.md-typeset .tx-switch button > code {
|
|
||||||
display: block;
|
|
||||||
color: var(--md-primary-bg-color);
|
|
||||||
background-color: var(--md-primary-fg-color);
|
|
||||||
}
|
|
||||||
.md-typeset .tx-columns ol,
|
|
||||||
.md-typeset .tx-columns ul {
|
|
||||||
-moz-columns: 2;
|
|
||||||
columns: 2;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 29.9375em) {
|
|
||||||
.md-typeset .tx-columns ol,
|
|
||||||
.md-typeset .tx-columns ul {
|
|
||||||
-moz-columns: initial;
|
|
||||||
columns: initial;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.md-typeset .tx-columns li {
|
|
||||||
-moz-column-break-inside: avoid;
|
|
||||||
break-inside: avoid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.md-announce a,
|
|
||||||
.md-announce a:focus,
|
|
||||||
.md-announce a:hover {
|
|
||||||
color: currentColor;
|
|
||||||
}
|
|
||||||
.md-announce strong {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.md-announce .twitter {
|
|
||||||
margin-left: 0.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tx-content__footer {
|
|
||||||
margin-top: 1rem;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.tx-content__footer a {
|
|
||||||
display: inline-block;
|
|
||||||
color: #e91e63;
|
|
||||||
transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 125ms;
|
|
||||||
}
|
|
||||||
.tx-content__footer a:focus, .tx-content__footer a:hover {
|
|
||||||
transform: scale(1.2);
|
|
||||||
}
|
|
||||||
.tx-content__footer hr {
|
|
||||||
display: inline-block;
|
|
||||||
width: 2rem;
|
|
||||||
margin: 1em;
|
|
||||||
vertical-align: middle;
|
|
||||||
background-color: currentColor;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tx-container {
|
|
||||||
padding-top: 1rem;
|
|
||||||
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(0, 0%, 100%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);
|
|
||||||
}
|
|
||||||
[data-md-color-scheme=slate] .tx-container {
|
|
||||||
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1123 258'><path d='M1124,2c0,0 0,256 0,256l-1125,0l0,-48c0,0 16,5 55,5c116,0 197,-92 325,-92c121,0 114,46 254,46c140,0 214,-167 572,-166Z' style='fill: hsla(232, 15%, 21%, 1)' /></svg>") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tx-hero {
|
|
||||||
margin: 0 0.8rem;
|
|
||||||
color: var(--md-primary-bg-color);
|
|
||||||
}
|
|
||||||
.tx-hero h1 {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
color: currentColor;
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 29.9375em) {
|
|
||||||
.tx-hero h1 {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.tx-hero__content {
|
|
||||||
padding-bottom: 6rem;
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 60em) {
|
|
||||||
.tx-hero {
|
|
||||||
display: flex;
|
|
||||||
align-items: stretch;
|
|
||||||
}
|
|
||||||
.tx-hero__content {
|
|
||||||
max-width: 19rem;
|
|
||||||
margin-top: 3.5rem;
|
|
||||||
padding-bottom: 14vw;
|
|
||||||
}
|
|
||||||
.tx-hero__image {
|
|
||||||
order: 1;
|
|
||||||
width: 38rem;
|
|
||||||
transform: translateX(4rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 76.25em) {
|
|
||||||
.tx-hero__image {
|
|
||||||
transform: translateX(8rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.tx-hero .md-button {
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
color: var(--md-primary-bg-color);
|
|
||||||
}
|
|
||||||
.tx-hero .md-button:focus, .tx-hero .md-button:hover {
|
|
||||||
color: var(--md-default-bg-color);
|
|
||||||
background-color: var(--md-accent-fg-color);
|
|
||||||
border-color: var(--md-accent-fg-color);
|
|
||||||
}
|
|
||||||
.tx-hero .md-button--primary {
|
|
||||||
color: #894da8;
|
|
||||||
background-color: var(--md-primary-bg-color);
|
|
||||||
border-color: var(--md-primary-bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.md-typeset .mdx-icon-search {
|
|
||||||
position: relative;
|
|
||||||
background-color: var(--md-default-bg-color);
|
|
||||||
border-radius: 0.1rem;
|
|
||||||
box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);
|
|
||||||
transition: box-shadow 125ms;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search:focus-within, .md-typeset .mdx-icon-search:hover {
|
|
||||||
box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search .md-input {
|
|
||||||
background: var(--md-default-bg-color);
|
|
||||||
box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);
|
|
||||||
}
|
|
||||||
[data-md-color-scheme=slate] .md-typeset .mdx-icon-search .md-input {
|
|
||||||
background: var(--md-code-bg-color);
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result {
|
|
||||||
max-height: 50vh;
|
|
||||||
overflow-y: auto;
|
|
||||||
-webkit-backface-visibility: hidden;
|
|
||||||
backface-visibility: hidden;
|
|
||||||
touch-action: pan-y;
|
|
||||||
scrollbar-width: thin;
|
|
||||||
scrollbar-color: var(--md-default-fg-color--lighter) transparent;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result::-webkit-scrollbar {
|
|
||||||
width: 0.2rem;
|
|
||||||
height: 0.2rem;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb {
|
|
||||||
background-color: var(--md-default-fg-color--lighter);
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result::-webkit-scrollbar-thumb:hover {
|
|
||||||
background-color: var(--md-accent-fg-color);
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__meta {
|
|
||||||
position: absolute;
|
|
||||||
top: 0.4rem;
|
|
||||||
right: 0.6rem;
|
|
||||||
color: var(--md-default-fg-color--lighter);
|
|
||||||
font-size: 0.64rem;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__list {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__item {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0.2rem 0.6rem;
|
|
||||||
border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__item:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__item > * {
|
|
||||||
margin-right: 0.6rem;
|
|
||||||
}
|
|
||||||
.md-typeset .mdx-icon-search-result__item img {
|
|
||||||
width: 0.9rem;
|
|
||||||
height: 0.9rem;
|
|
||||||
}
|
|
||||||
[data-md-color-scheme=slate] .md-typeset .mdx-icon-search-result__item img[src*=squidfunk] {
|
|
||||||
-webkit-filter: invert(1);
|
|
||||||
filter: invert(1);
|
|
||||||
}
|
|
||||||
/*# sourceMappingURL=main.css.map */
|
|
@ -1 +0,0 @@
|
|||||||
{"version":3,"sources":["../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_typeset.scss","../../../../src/overrides/assets/stylesheets/main.scss","../../../../src/overrides/assets/stylesheets/node_modules/material-design-color/material-color.scss","../../../../src/overrides/assets/stylesheets/src/assets/stylesheets/utilities/_break.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_announce.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_content.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/layout/_hero.scss","../../../../src/overrides/assets/stylesheets/src/overrides/assets/stylesheets/main/_shame.scss"],"names":[],"mappings":"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","file":"main.css"}
|
|
@ -22,7 +22,7 @@
|
|||||||
<meta name="twitter:title" content="{{ title }}">
|
<meta name="twitter:title" content="{{ title }}">
|
||||||
<meta name="twitter:description" content="{{ config.site_description }}">
|
<meta name="twitter:description" content="{{ config.site_description }}">
|
||||||
<meta name="twitter:image" content="{{ image }}">
|
<meta name="twitter:image" content="{{ image }}">
|
||||||
<link rel="stylesheet" href="{{ 'overrides/assets/stylesheets/main.css' | url }}">
|
<link rel="stylesheet" href="{{ 'overrides/assets/stylesheets/main.8036384c.min.css' | url }}">
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block announce %}
|
{% block announce %}
|
||||||
<a href="https://twitter.com/squidfunk">
|
<a href="https://twitter.com/squidfunk">
|
||||||
@ -53,5 +53,5 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
{{ super() }}
|
{{ super() }}
|
||||||
<script src="{{ 'overrides/assets/javascripts/bundle.js' | url }}"></script>
|
<script src="{{ 'overrides/assets/javascripts/bundle.0a1bb8db.min.js' | url }}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
152
package-lock.json
generated
@ -543,6 +543,14 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"source-map": "^0.6.1"
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/unist": {
|
"@types/unist": {
|
||||||
@ -1389,6 +1397,14 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"source-map": "~0.6.0"
|
"source-map": "~0.6.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cli-cursor": {
|
"cli-cursor": {
|
||||||
@ -1822,6 +1838,14 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"mdn-data": "2.0.14",
|
"mdn-data": "2.0.14",
|
||||||
"source-map": "^0.6.1"
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mdn-data": {
|
"mdn-data": {
|
||||||
@ -4635,14 +4659,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"object.getownpropertydescriptors": {
|
"object.getownpropertydescriptors": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz",
|
||||||
"integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
|
"integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"call-bind": "^1.0.0",
|
"call-bind": "^1.0.2",
|
||||||
"define-properties": "^1.1.3",
|
"define-properties": "^1.1.3",
|
||||||
"es-abstract": "^1.18.0-next.1"
|
"es-abstract": "^1.18.0-next.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-abstract": {
|
"es-abstract": {
|
||||||
@ -5004,6 +5028,14 @@
|
|||||||
"colorette": "^1.2.1",
|
"colorette": "^1.2.1",
|
||||||
"nanoid": "^3.1.20",
|
"nanoid": "^3.1.20",
|
||||||
"source-map": "^0.6.1"
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-calc": {
|
"postcss-calc": {
|
||||||
@ -5366,6 +5398,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -6325,6 +6365,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -6362,6 +6410,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -6394,6 +6450,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -6425,6 +6489,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -6468,6 +6540,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -7213,6 +7293,14 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"buffer-from": "^1.0.0",
|
"buffer-from": "^1.0.0",
|
||||||
"source-map": "^0.6.0"
|
"source-map": "^0.6.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source-map-url": {
|
"source-map-url": {
|
||||||
@ -7801,6 +7889,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -8201,6 +8295,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8376,6 +8478,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-value-parser": {
|
"postcss-value-parser": {
|
||||||
@ -8395,6 +8505,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8419,6 +8537,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8513,6 +8639,14 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"supports-color": "^6.1.0"
|
"supports-color": "^6.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
@ -8618,6 +8752,14 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"mdn-data": "2.0.14",
|
"mdn-data": "2.0.14",
|
||||||
"source-map": "^0.6.1"
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"css-what": {
|
"css-what": {
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
"lint": "run-p lint:*",
|
"lint": "run-p lint:*",
|
||||||
"lint:scss": "stylelint \"src/assets/**/*.scss\"",
|
"lint:scss": "stylelint \"src/assets/**/*.scss\"",
|
||||||
"lint:ts": "eslint --cache \"src/**/*.ts\"",
|
"lint:ts": "eslint --cache \"src/**/*.ts\"",
|
||||||
"start": "webpack --mode development --watch"
|
"start": "ts-node -T tools --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"clipboard": "^2.0.6",
|
"clipboard": "^2.0.6",
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { h } from "utilities"
|
import { h } from "~/utilities"
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* Functions
|
* Functions
|
||||||
|
@ -53,7 +53,8 @@ import {
|
|||||||
watchElementThreshold
|
watchElementThreshold
|
||||||
} from "~/browser"
|
} from "~/browser"
|
||||||
|
|
||||||
import { Icon, renderIconSearchResult } from "../../../templates"
|
import { Icon, renderIconSearchResult } from "_/templates"
|
||||||
|
|
||||||
import { Component } from "../../_"
|
import { Component } from "../../_"
|
||||||
import { IconSearchIndex } from "../_"
|
import { IconSearchIndex } from "../_"
|
||||||
import { IconSearchQuery } from "../query"
|
import { IconSearchQuery } from "../query"
|
||||||
|
@ -20,9 +20,10 @@
|
|||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import * as chokidar from "chokidar"
|
||||||
import * as fs from "fs/promises"
|
import * as fs from "fs/promises"
|
||||||
import { Observable, from } from "rxjs"
|
import { Observable, from, fromEvent, identity } from "rxjs"
|
||||||
import { mapTo, switchMap } from "rxjs/operators"
|
import { mapTo, mergeWith, switchMap } from "rxjs/operators"
|
||||||
import glob from "tiny-glob"
|
import glob from "tiny-glob"
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
@ -34,6 +35,14 @@ import glob from "tiny-glob"
|
|||||||
*/
|
*/
|
||||||
interface ResolveOptions {
|
interface ResolveOptions {
|
||||||
cwd: string /* Working directory */
|
cwd: string /* Working directory */
|
||||||
|
watch?: boolean /* Watch mode */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watch options
|
||||||
|
*/
|
||||||
|
interface WatchOptions {
|
||||||
|
cwd: string /* Working directory */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
@ -49,23 +58,6 @@ export const base = "material"
|
|||||||
* Functions
|
* Functions
|
||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
|
||||||
* Resolve a pattern
|
|
||||||
*
|
|
||||||
* @param pattern - Pattern
|
|
||||||
* @param options - Options
|
|
||||||
*
|
|
||||||
* @returns File observable
|
|
||||||
*/
|
|
||||||
export function resolve(
|
|
||||||
pattern: string, options?: ResolveOptions
|
|
||||||
): Observable<string> {
|
|
||||||
return from(glob(pattern, options))
|
|
||||||
.pipe(
|
|
||||||
switchMap(files => from(files))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recursively create the given directory
|
* Recursively create the given directory
|
||||||
*
|
*
|
||||||
@ -83,23 +75,35 @@ export function mkdir(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cachebust a file using a content hash
|
* Resolve a pattern
|
||||||
*
|
*
|
||||||
* @param file - File
|
* @param pattern - Pattern
|
||||||
* @param hash - Content hash
|
|
||||||
* @param options - Options
|
* @param options - Options
|
||||||
*
|
*
|
||||||
* @returns Cachebusting tuple observable
|
* @returns File observable
|
||||||
*/
|
*/
|
||||||
export function cachebust(
|
export function resolve(
|
||||||
file: string, hash: string, options: ResolveOptions
|
pattern: string, options?: ResolveOptions
|
||||||
): Observable<[string, string]> {
|
): Observable<string> {
|
||||||
const name = file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`)
|
return from(glob(pattern, options))
|
||||||
return from(fs.rename(
|
|
||||||
`${options.cwd}/${file}`,
|
|
||||||
`${options.cwd}/${name}`
|
|
||||||
))
|
|
||||||
.pipe(
|
.pipe(
|
||||||
mapTo([file, name])
|
switchMap(files => from(files)),
|
||||||
|
options?.watch
|
||||||
|
? mergeWith(watch(pattern, options))
|
||||||
|
: identity
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watch all files matching the given pattern
|
||||||
|
*
|
||||||
|
* @param pattern - Pattern
|
||||||
|
* @param options - Options
|
||||||
|
*
|
||||||
|
* @returns File observable
|
||||||
|
*/
|
||||||
|
export function watch(
|
||||||
|
pattern: string, options: WatchOptions
|
||||||
|
): Observable<string> {
|
||||||
|
return fromEvent(chokidar.watch(pattern, options), "change")
|
||||||
|
}
|
@ -25,7 +25,7 @@ import * as path from "path"
|
|||||||
import { Observable, from } from "rxjs"
|
import { Observable, from } from "rxjs"
|
||||||
import { mapTo, mergeMap, switchMap } from "rxjs/operators"
|
import { mapTo, mergeMap, switchMap } from "rxjs/operators"
|
||||||
|
|
||||||
import { mkdir, resolve } from "../resolve"
|
import { mkdir, resolve } from "../_"
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* Helper types
|
* Helper types
|
||||||
@ -47,9 +47,10 @@ type CopyTransformFn = (data: string, name: string) => Promise<string>
|
|||||||
* Copy options
|
* Copy options
|
||||||
*/
|
*/
|
||||||
interface CopyOptions {
|
interface CopyOptions {
|
||||||
src: string /* Source file */
|
from: string /* Source destination */
|
||||||
out: string /* Target file */
|
to: string /* Target destination */
|
||||||
transform?: CopyTransformFn /* Transform function */
|
transform?: CopyTransformFn /* Transform function */
|
||||||
|
watch?: boolean /* Watch mode */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
@ -64,19 +65,19 @@ interface CopyOptions {
|
|||||||
* @returns File observable
|
* @returns File observable
|
||||||
*/
|
*/
|
||||||
export function copy(
|
export function copy(
|
||||||
{ src, out, transform }: CopyOptions
|
{ transform, ...options }: CopyOptions
|
||||||
): Observable<string> {
|
): Observable<string> {
|
||||||
return mkdir(path.dirname(out))
|
return mkdir(path.dirname(options.to))
|
||||||
.pipe(
|
.pipe(
|
||||||
switchMap(() => typeof transform === "undefined"
|
switchMap(() => typeof transform === "undefined"
|
||||||
? from(fs.copyFile(src, out))
|
? from(fs.copyFile(options.from, options.to))
|
||||||
: from(fs.readFile(src, "utf8"))
|
: from(fs.readFile(options.from, "utf8"))
|
||||||
.pipe(
|
.pipe(
|
||||||
switchMap(data => transform(data, src)),
|
switchMap(data => transform(data, options.from)),
|
||||||
switchMap(data => fs.writeFile(out, data))
|
switchMap(data => fs.writeFile(options.to, data))
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
mapTo(out)
|
mapTo(options.to)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,12 +95,12 @@ export function copy(
|
|||||||
export function copyAll(
|
export function copyAll(
|
||||||
pattern: string, options: CopyOptions
|
pattern: string, options: CopyOptions
|
||||||
): Observable<string> {
|
): Observable<string> {
|
||||||
return resolve(pattern, { cwd: options.src })
|
return resolve(pattern, { ...options, cwd: options.from })
|
||||||
.pipe(
|
.pipe(
|
||||||
mergeMap(file => copy({
|
mergeMap(file => copy({
|
||||||
...options,
|
...options,
|
||||||
src: `${options.src}/${file}`,
|
from: `${options.from}/${file}`,
|
||||||
out: `${options.out}/${file.replace(/(\.{2}\/)+/, "")}`
|
to: `${options.to}/${file.replace(/(\.{2}\/)+/, "")}`
|
||||||
}), 16)
|
}), 16)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
242
tools/index.ts
@ -20,30 +20,41 @@
|
|||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { createHash } from "crypto"
|
|
||||||
import * as fs from "fs/promises"
|
import * as fs from "fs/promises"
|
||||||
import { minify as minhtml } from "html-minifier"
|
import { minify as minhtml } from "html-minifier"
|
||||||
import * as path from "path"
|
import * as path from "path"
|
||||||
import { EMPTY, concat, defer, from, merge, of } from "rxjs"
|
import { concat, defer, merge, of, zip } from "rxjs"
|
||||||
import {
|
import {
|
||||||
concatMap,
|
concatMap,
|
||||||
map,
|
map,
|
||||||
mergeMap,
|
reduce,
|
||||||
switchMap,
|
switchMap
|
||||||
toArray
|
|
||||||
} from "rxjs/operators"
|
} from "rxjs/operators"
|
||||||
import {
|
import {
|
||||||
extendDefaultPlugins,
|
extendDefaultPlugins,
|
||||||
optimize
|
optimize
|
||||||
} from "svgo"
|
} from "svgo"
|
||||||
|
|
||||||
import { copy, copyAll } from "./copy"
|
import { IconSearchIndex } from "_/components"
|
||||||
import { base, cachebust, resolve } from "./resolve"
|
|
||||||
|
import { base, resolve } from "./_"
|
||||||
|
import { copyAll } from "./copy"
|
||||||
import {
|
import {
|
||||||
transformScript,
|
transformScript,
|
||||||
transformStyle
|
transformStyle
|
||||||
} from "./transform"
|
} from "./transform"
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* Helper types
|
||||||
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Twemoji icon
|
||||||
|
*/
|
||||||
|
interface TwemojiIcon {
|
||||||
|
unicode: string /* Unicode code point */
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* Helper functions
|
* Helper functions
|
||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
@ -84,14 +95,14 @@ function minsvg(data: string): string {
|
|||||||
* Program
|
* Program
|
||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Copy all dependencies */
|
/* Copy all assets */
|
||||||
const dependencies$ = concat(
|
const assets$ = concat(
|
||||||
|
|
||||||
/* Copy Material Design icons */
|
/* Copy Material Design icons */
|
||||||
...["*.svg", "../LICENSE"]
|
...["*.svg", "../LICENSE"]
|
||||||
.map(pattern => copyAll(pattern, {
|
.map(pattern => copyAll(pattern, {
|
||||||
src: "node_modules/@mdi/svg/svg",
|
from: "node_modules/@mdi/svg/svg",
|
||||||
out: `${base}/.icons/material`,
|
to: `${base}/.icons/material`,
|
||||||
...process.argv.includes("--optimize") && {
|
...process.argv.includes("--optimize") && {
|
||||||
transform: async data => minsvg(data)
|
transform: async data => minsvg(data)
|
||||||
}
|
}
|
||||||
@ -100,8 +111,8 @@ const dependencies$ = concat(
|
|||||||
/* Copy GitHub octicons */
|
/* Copy GitHub octicons */
|
||||||
...["*.svg", "../../LICENSE"]
|
...["*.svg", "../../LICENSE"]
|
||||||
.map(pattern => copyAll(pattern, {
|
.map(pattern => copyAll(pattern, {
|
||||||
src: "node_modules/@primer/octicons/build/svg",
|
from: "node_modules/@primer/octicons/build/svg",
|
||||||
out: `${base}/.icons/octicons`,
|
to: `${base}/.icons/octicons`,
|
||||||
...process.argv.includes("--optimize") && {
|
...process.argv.includes("--optimize") && {
|
||||||
transform: async data => minsvg(data)
|
transform: async data => minsvg(data)
|
||||||
}
|
}
|
||||||
@ -110,28 +121,73 @@ const dependencies$ = concat(
|
|||||||
/* Copy FontAwesome icons */
|
/* Copy FontAwesome icons */
|
||||||
...["**/*.svg", "../LICENSE.txt"]
|
...["**/*.svg", "../LICENSE.txt"]
|
||||||
.map(pattern => copyAll(pattern, {
|
.map(pattern => copyAll(pattern, {
|
||||||
src: "node_modules/@fortawesome/fontawesome-free/svgs",
|
from: "node_modules/@fortawesome/fontawesome-free/svgs",
|
||||||
out: `${base}/.icons/fontawesome`,
|
to: `${base}/.icons/fontawesome`,
|
||||||
...process.argv.includes("--optimize") && {
|
...process.argv.includes("--optimize") && {
|
||||||
transform: async data => minsvg(data)
|
transform: async data => minsvg(data)
|
||||||
}
|
}
|
||||||
|
})),
|
||||||
|
|
||||||
|
/* Copy Lunr.js search stemmers and segmenter */
|
||||||
|
...["min/*.js", "tinyseg.js"]
|
||||||
|
.map(pattern => copyAll(pattern, {
|
||||||
|
from: "node_modules/lunr-languages",
|
||||||
|
to: `${base}/assets/javascripts/lunr`
|
||||||
|
})),
|
||||||
|
|
||||||
|
/* Copy images and configurations */
|
||||||
|
...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"]
|
||||||
|
.map(pattern => copyAll(pattern, {
|
||||||
|
from: "src",
|
||||||
|
to: base
|
||||||
}))
|
}))
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Copy all assets */
|
/* ------------------------------------------------------------------------- */
|
||||||
const assets$ = concat(
|
|
||||||
|
|
||||||
/* Copy icons, images and configurations */
|
/* Transform styles */
|
||||||
...[".icons/*.svg", "assets/images/*", "**/*.{py,yml}"]
|
const stylesheets$ = resolve("**/[!_]*.scss", { cwd: "src" })
|
||||||
.map(pattern => copyAll(pattern, {
|
.pipe(
|
||||||
src: "src",
|
concatMap(file => zip(
|
||||||
out: base
|
of(ext(file, ".css")),
|
||||||
})),
|
transformStyle({
|
||||||
|
from: `src/${file}`,
|
||||||
|
to: ext(`${base}/${file}`, ".css")
|
||||||
|
}))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
/* Copy and minify template files */
|
/* Transform scripts */
|
||||||
copyAll("**/*.html", {
|
const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" })
|
||||||
src: "src",
|
.pipe(
|
||||||
out: base,
|
concatMap(file => zip(
|
||||||
|
of(ext(file, ".js")),
|
||||||
|
transformScript({
|
||||||
|
from: `src/${file}`,
|
||||||
|
to: ext(`${base}/${file}`, ".js")
|
||||||
|
}))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Compute manifest */
|
||||||
|
const manifest$ = merge(
|
||||||
|
stylesheets$,
|
||||||
|
javascripts$
|
||||||
|
)
|
||||||
|
.pipe(
|
||||||
|
reduce((manifest, [key, value]) => manifest.set(
|
||||||
|
key,
|
||||||
|
value.replace(`${base}/`, "")
|
||||||
|
), new Map<string, string>())
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Transform templates */
|
||||||
|
const templates$ = manifest$
|
||||||
|
.pipe(
|
||||||
|
switchMap(manifest => copyAll("**/*.html", {
|
||||||
|
from: "src",
|
||||||
|
to: base,
|
||||||
|
watch: process.argv.includes("--watch"),
|
||||||
transform: async data => {
|
transform: async data => {
|
||||||
const metadata = require("../package.json")
|
const metadata = require("../package.json")
|
||||||
const banner =
|
const banner =
|
||||||
@ -139,6 +195,14 @@ const assets$ = concat(
|
|||||||
" This file was automatically generated - do not edit\n" +
|
" This file was automatically generated - do not edit\n" +
|
||||||
"-#}\n"
|
"-#}\n"
|
||||||
|
|
||||||
|
/* If necessary, apply manifest */
|
||||||
|
if (process.argv.includes("--optimize"))
|
||||||
|
for (const [key, value] of manifest)
|
||||||
|
data = data.replace(
|
||||||
|
new RegExp(`('|")${key}\\1`, "g"),
|
||||||
|
`$1${value}$1`
|
||||||
|
)
|
||||||
|
|
||||||
/* Normalize line feeds and minify HTML */
|
/* Normalize line feeds and minify HTML */
|
||||||
const html = data.replace(/\r\n/gm, "\n")
|
const html = data.replace(/\r\n/gm, "\n")
|
||||||
return banner + minhtml(html, {
|
return banner + minhtml(html, {
|
||||||
@ -158,95 +222,65 @@ const assets$ = concat(
|
|||||||
.replace("$md-name$", metadata.name)
|
.replace("$md-name$", metadata.name)
|
||||||
.replace("$md-version$", metadata.version)
|
.replace("$md-version$", metadata.version)
|
||||||
}
|
}
|
||||||
|
}))
|
||||||
|
)
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Compute icon mappings */
|
||||||
|
const icons$ = defer(() => resolve("**/*.svg", { cwd: "material/.icons" }))
|
||||||
|
.pipe(
|
||||||
|
reduce((index, file) => index.set(
|
||||||
|
file,
|
||||||
|
file.replace(/\.svg$/, "").replace(/\//g, "-")
|
||||||
|
), new Map<string, string>())
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Compute emoji mappings (based on Twemoji) */
|
||||||
|
const emojis$ = defer(() => resolve("venv/**/twemoji_db.py"))
|
||||||
|
.pipe(
|
||||||
|
switchMap(file => fs.readFile(file, "utf8")),
|
||||||
|
map(data => {
|
||||||
|
const [, payload] = data.match(/^emoji = ({.*})$.alias/ms)!
|
||||||
|
return Object.entries<TwemojiIcon>(JSON.parse(payload))
|
||||||
|
.reduce((index, [name, { unicode }]) => index.set(
|
||||||
|
name.replace(/(^:|:$)/g, ""),
|
||||||
|
`${unicode}.svg`
|
||||||
|
), new Map<string, string>())
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Transform stylesheets with SASS and PostCSS */
|
/* Build search index for icons and emojis */
|
||||||
const stylesheets$ = resolve("**/[!_]*.scss", { cwd: "src" })
|
const index$ = zip(icons$, emojis$)
|
||||||
.pipe(
|
.pipe(
|
||||||
concatMap(file => transformStyle({
|
map(([icons, emojis]) => {
|
||||||
src: `src/${file}`,
|
const cdn = "https://raw.githubusercontent.com"
|
||||||
out: ext(`${base}/${file}`, ".css")
|
return {
|
||||||
}))
|
icons: {
|
||||||
)
|
base: `${cdn}/squidfunk/mkdocs-material/master/material/.icons/`,
|
||||||
|
data: Object.fromEntries(icons)
|
||||||
/* Transform stylesheets with SASS and PostCSS */
|
},
|
||||||
const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" })
|
emojis: {
|
||||||
.pipe(
|
base: `${cdn}/twitter/twemoji/master/assets/svg/`,
|
||||||
concatMap(file => transformScript({
|
data: Object.fromEntries(emojis)
|
||||||
src: `src/${file}`,
|
}
|
||||||
out: ext(`${base}/${file}`, ".js")
|
} as IconSearchIndex
|
||||||
}))
|
}),
|
||||||
)
|
switchMap(data => fs.writeFile(
|
||||||
|
`${base}/overrides/assets/javascripts/icon_search_index.json`,
|
||||||
/* Add content hashes to assets and replace occurrences */
|
JSON.stringify(data)
|
||||||
const manifest$ = defer(() => process.argv.includes("--optimize")
|
|
||||||
? resolve("**/*.{css,js}", { cwd: base })
|
|
||||||
: EMPTY
|
|
||||||
)
|
|
||||||
.pipe(
|
|
||||||
concatMap(file => from(fs.readFile(`${base}/${file}`, "utf8"))
|
|
||||||
.pipe(
|
|
||||||
map(data => createHash("sha256").update(data).digest("hex")),
|
|
||||||
switchMap(hash => of(`${file}`, `${file}.map`)
|
|
||||||
.pipe(
|
|
||||||
concatMap(part => cachebust(part, hash, { cwd: base }))
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
toArray(),
|
|
||||||
map(tuples => new Map(tuples)),
|
|
||||||
mergeMap(manifest => concat(
|
|
||||||
|
|
||||||
// TODO: split this into two. manifest + cachebust!
|
|
||||||
...["base.html", "overrides/main.html"]
|
|
||||||
.map(file => copy({
|
|
||||||
src: `${base}/${file}`,
|
|
||||||
out: `${base}/${file}`,
|
|
||||||
transform: async data => [...manifest.entries()]
|
|
||||||
.reduce((content, [key, value]) => content
|
|
||||||
.replace(
|
|
||||||
new RegExp(`('|")${key}\\1`, "g"),
|
|
||||||
`$1${value}$1`
|
|
||||||
),
|
|
||||||
data
|
|
||||||
)
|
|
||||||
})),
|
|
||||||
|
|
||||||
// TODO: interate this into the actual compilation...
|
|
||||||
...[...manifest.keys()]
|
|
||||||
.filter(file => !file.endsWith(".map"))
|
|
||||||
.map(file => copy({
|
|
||||||
src: `${base}/${manifest.get(file)!}`,
|
|
||||||
out: `${base}/${manifest.get(file)!}`,
|
|
||||||
transform: async data => data.replace(
|
|
||||||
path.basename(file),
|
|
||||||
path.basename(manifest.get(file)!),
|
|
||||||
)
|
|
||||||
}))
|
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
|
|
||||||
/* Copy Lunr.js search stemmers and segmenter */
|
|
||||||
const stemmers$ = ["min/*.js", "tinyseg.js"]
|
|
||||||
.map(pattern => copyAll(pattern, {
|
|
||||||
src: "node_modules/lunr-languages",
|
|
||||||
out: `${base}/assets/javascripts/lunr`
|
|
||||||
}))
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* Put everything together */
|
/* Put everything together */
|
||||||
concat(
|
concat(
|
||||||
dependencies$,
|
|
||||||
merge(
|
|
||||||
assets$,
|
assets$,
|
||||||
stylesheets$,
|
merge(
|
||||||
javascripts$
|
templates$,
|
||||||
),
|
index$
|
||||||
manifest$,
|
)
|
||||||
stemmers$
|
|
||||||
)
|
)
|
||||||
.subscribe()
|
.subscribe()
|
||||||
// .subscribe(console.log)
|
// .subscribe(console.log)
|
||||||
|
@ -20,21 +20,27 @@
|
|||||||
* IN THE SOFTWARE.
|
* IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { build } from "esbuild"
|
import { createHash } from "crypto"
|
||||||
|
import { build as esbuild } from "esbuild"
|
||||||
import * as fs from "fs/promises"
|
import * as fs from "fs/promises"
|
||||||
import * as path from "path"
|
import * as path from "path"
|
||||||
import postcss from "postcss"
|
import postcss from "postcss"
|
||||||
import { Observable, concat, defer, merge } from "rxjs"
|
import {
|
||||||
|
Observable,
|
||||||
|
concat,
|
||||||
|
defer,
|
||||||
|
merge,
|
||||||
|
of
|
||||||
|
} from "rxjs"
|
||||||
import {
|
import {
|
||||||
endWith,
|
endWith,
|
||||||
ignoreElements,
|
ignoreElements,
|
||||||
mapTo,
|
|
||||||
switchMap
|
switchMap
|
||||||
} from "rxjs/operators"
|
} from "rxjs/operators"
|
||||||
import { render as sass } from "sass"
|
import { render as sass } from "sass"
|
||||||
import { promisify } from "util"
|
import { promisify } from "util"
|
||||||
|
|
||||||
import { base, mkdir } from "../resolve"
|
import { base, mkdir } from "../_"
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* Helper types
|
* Helper types
|
||||||
@ -44,8 +50,8 @@ import { base, mkdir } from "../resolve"
|
|||||||
* Transform options
|
* Transform options
|
||||||
*/
|
*/
|
||||||
interface TransformOptions {
|
interface TransformOptions {
|
||||||
src: string /* Source file */
|
from: string /* Source destination */
|
||||||
out: string /* Target file */
|
to: string /* Target destination */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
@ -53,10 +59,29 @@ interface TransformOptions {
|
|||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base directory for source maps
|
* Base directory for source map resolution
|
||||||
*/
|
*/
|
||||||
const root = new RegExp(`file://${path.resolve(".")}/`, "g")
|
const root = new RegExp(`file://${path.resolve(".")}/`, "g")
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* Helper functions
|
||||||
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compute a digest for cachebusting a file
|
||||||
|
*
|
||||||
|
* @param file - File
|
||||||
|
* @param data - File data
|
||||||
|
*
|
||||||
|
* @returns File with digest
|
||||||
|
*/
|
||||||
|
function digest(file: string, data: string): string {
|
||||||
|
const hash = createHash("sha256").update(data).digest("hex")
|
||||||
|
return process.argv.includes("--optimize")
|
||||||
|
? file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`)
|
||||||
|
: file
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* Functions
|
* Functions
|
||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
@ -69,10 +94,11 @@ const root = new RegExp(`file://${path.resolve(".")}/`, "g")
|
|||||||
* @returns File observable
|
* @returns File observable
|
||||||
*/
|
*/
|
||||||
export function transformStyle(
|
export function transformStyle(
|
||||||
{ src, out }: TransformOptions
|
options: TransformOptions
|
||||||
): Observable<string> {
|
): Observable<string> {
|
||||||
return defer(() => promisify(sass)({
|
return defer(() => promisify(sass)({
|
||||||
file: src,
|
file: options.from,
|
||||||
|
outFile: options.to,
|
||||||
includePaths: [
|
includePaths: [
|
||||||
"src/assets/stylesheets",
|
"src/assets/stylesheets",
|
||||||
"node_modules/modularscale-sass/stylesheets",
|
"node_modules/modularscale-sass/stylesheets",
|
||||||
@ -80,8 +106,7 @@ export function transformStyle(
|
|||||||
"node_modules/material-shadows"
|
"node_modules/material-shadows"
|
||||||
],
|
],
|
||||||
sourceMap: true,
|
sourceMap: true,
|
||||||
sourceMapRoot: ".",
|
sourceMapContents: true
|
||||||
outFile: out
|
|
||||||
}))
|
}))
|
||||||
.pipe(
|
.pipe(
|
||||||
switchMap(({ css, map }) => postcss([
|
switchMap(({ css, map }) => postcss([
|
||||||
@ -97,23 +122,30 @@ export function transformStyle(
|
|||||||
: []
|
: []
|
||||||
])
|
])
|
||||||
.process(css, {
|
.process(css, {
|
||||||
from: src,
|
from: options.from,
|
||||||
to: out,
|
|
||||||
map: {
|
map: {
|
||||||
prev: `${map}`.replace(root, ""),
|
prev: `${map}`,
|
||||||
inline: false
|
inline: false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
switchMap(({ css, map }) => concat(
|
switchMap(({ css, map }) => {
|
||||||
mkdir(path.dirname(out)),
|
const file = digest(options.to, css)
|
||||||
|
return concat(
|
||||||
|
mkdir(path.dirname(file)),
|
||||||
defer(() => merge(
|
defer(() => merge(
|
||||||
fs.writeFile(`${out}`, css),
|
fs.writeFile(`${file}.map`, `${map}`.replace(root, "")),
|
||||||
fs.writeFile(`${out}.map`, map.toString())
|
fs.writeFile(`${file}`, css.replace(
|
||||||
))
|
options.from,
|
||||||
|
path.basename(file)
|
||||||
)),
|
)),
|
||||||
|
))
|
||||||
|
)
|
||||||
|
.pipe(
|
||||||
ignoreElements(),
|
ignoreElements(),
|
||||||
endWith(out)
|
endWith(file)
|
||||||
|
)
|
||||||
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,16 +157,40 @@ export function transformStyle(
|
|||||||
* @returns File observable
|
* @returns File observable
|
||||||
*/
|
*/
|
||||||
export function transformScript(
|
export function transformScript(
|
||||||
{ src, out }: TransformOptions
|
options: TransformOptions
|
||||||
): Observable<string> {
|
): Observable<string> {
|
||||||
return defer(() => build({
|
return defer(() => esbuild({
|
||||||
entryPoints: [src],
|
entryPoints: [options.from],
|
||||||
outfile: out,
|
write: false,
|
||||||
bundle: true,
|
bundle: true,
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
minify: process.argv.includes("--optimize")
|
minify: process.argv.includes("--optimize")
|
||||||
}))
|
}))
|
||||||
.pipe(
|
.pipe(
|
||||||
mapTo(out)
|
switchMap(({ outputFiles: [file] }) => {
|
||||||
|
const contents = file.text.split("\n")
|
||||||
|
const [, data] = contents[contents.length - 2].split(",")
|
||||||
|
return of({
|
||||||
|
js: file.text,
|
||||||
|
map: Buffer.from(data, "base64")
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
switchMap(({ js, map }) => {
|
||||||
|
const file = digest(options.to, js)
|
||||||
|
return concat(
|
||||||
|
mkdir(path.dirname(file)),
|
||||||
|
defer(() => merge(
|
||||||
|
fs.writeFile(`${file}.map`, map),
|
||||||
|
fs.writeFile(`${file}`, js.replace(
|
||||||
|
/(sourceMappingURL=)(.*)/,
|
||||||
|
`$1${path.basename(file)}\n`
|
||||||
|
)),
|
||||||
|
))
|
||||||
|
)
|
||||||
|
.pipe(
|
||||||
|
ignoreElements(),
|
||||||
|
endWith(file)
|
||||||
|
)
|
||||||
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"alwaysStrict": true,
|
"alwaysStrict": true,
|
||||||
"baseUrl": "src/assets/javascripts",
|
"baseUrl": "src",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"jsx": "react",
|
"jsx": "react",
|
||||||
"jsxFactory": "h",
|
"jsxFactory": "h",
|
||||||
@ -20,7 +20,8 @@
|
|||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"paths": {
|
"paths": {
|
||||||
"~/*": ["./*"]
|
"~/*": ["./assets/javascripts/*"],
|
||||||
|
"_/*": ["./overrides/assets/javascripts/*"]
|
||||||
},
|
},
|
||||||
"removeComments": false,
|
"removeComments": false,
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
|
@ -1,466 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016-2021 Martin Donath <martin.donath@squidfunk.com>
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to
|
|
||||||
* deal in the Software without restriction, including without limitation the
|
|
||||||
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
||||||
* sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in
|
|
||||||
* all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
||||||
* IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import CopyPlugin from "copy-webpack-plugin"
|
|
||||||
import EventHooksPlugin from "event-hooks-webpack-plugin"
|
|
||||||
import * as fs from "fs"
|
|
||||||
import { minify as minhtml } from "html-minifier"
|
|
||||||
import IgnoreEmitPlugin from "ignore-emit-webpack-plugin"
|
|
||||||
import ImageminPlugin from "imagemin-webpack-plugin"
|
|
||||||
import MiniCssExtractPlugin = require("mini-css-extract-plugin")
|
|
||||||
import * as path from "path"
|
|
||||||
import { toPairs } from "ramda"
|
|
||||||
import glob from "tiny-glob"
|
|
||||||
import { minify as minjs } from "terser"
|
|
||||||
import { TsconfigPathsPlugin } from "tsconfig-paths-webpack-plugin"
|
|
||||||
import { Configuration } from "webpack"
|
|
||||||
import AssetsManifestPlugin from "webpack-assets-manifest"
|
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
|
||||||
* Helper functions
|
|
||||||
* ------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Webpack base configuration
|
|
||||||
*
|
|
||||||
* @param args - Command-line arguments
|
|
||||||
*
|
|
||||||
* @returns Webpack configuration
|
|
||||||
*/
|
|
||||||
function config(args: Configuration): Configuration {
|
|
||||||
const assets = {}
|
|
||||||
return {
|
|
||||||
mode: args.mode,
|
|
||||||
|
|
||||||
/* Loaders */
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
|
|
||||||
/* TypeScript */
|
|
||||||
{
|
|
||||||
test: /\.tsx?$/,
|
|
||||||
use: [
|
|
||||||
{
|
|
||||||
loader: "ts-loader",
|
|
||||||
options: {
|
|
||||||
experimentalWatchApi: true,
|
|
||||||
transpileOnly: true,
|
|
||||||
compilerOptions: {
|
|
||||||
importHelpers: true,
|
|
||||||
module: "esnext",
|
|
||||||
target: "es2015"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
exclude: /\/node_modules\//
|
|
||||||
},
|
|
||||||
|
|
||||||
/* SASS stylesheets */
|
|
||||||
{
|
|
||||||
test: /\.scss$/,
|
|
||||||
use: [
|
|
||||||
MiniCssExtractPlugin.loader,
|
|
||||||
{
|
|
||||||
loader: "css-loader",
|
|
||||||
options: {
|
|
||||||
url: false,
|
|
||||||
sourceMap: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
loader: "postcss-loader",
|
|
||||||
options: {
|
|
||||||
postcssOptions: {
|
|
||||||
plugins: [
|
|
||||||
["autoprefixer"],
|
|
||||||
["postcss-inline-svg", {
|
|
||||||
paths: [
|
|
||||||
path.resolve(__dirname, "node_modules")
|
|
||||||
],
|
|
||||||
encode: false
|
|
||||||
}],
|
|
||||||
["postcss-svgo", {
|
|
||||||
plugins: [
|
|
||||||
{ removeDimensions: true },
|
|
||||||
{ removeViewBox: false }
|
|
||||||
],
|
|
||||||
encode: false
|
|
||||||
}]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
sourceMap: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
loader: "sass-loader",
|
|
||||||
options: {
|
|
||||||
implementation: require("sass"),
|
|
||||||
sassOptions: {
|
|
||||||
includePaths: [
|
|
||||||
"src/assets/stylesheets",
|
|
||||||
"node_modules/modularscale-sass/stylesheets",
|
|
||||||
"node_modules/material-design-color",
|
|
||||||
"node_modules/material-shadows"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
sourceMap: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Search */
|
|
||||||
{
|
|
||||||
test: require.resolve("lunr"),
|
|
||||||
loader: "expose-loader",
|
|
||||||
options: {
|
|
||||||
exposes: ["lunr"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Module resolver */
|
|
||||||
resolve: {
|
|
||||||
mainFields: ["es2015", "module", "main"],
|
|
||||||
modules: [
|
|
||||||
__dirname,
|
|
||||||
path.resolve(__dirname, "node_modules")
|
|
||||||
],
|
|
||||||
extensions: [".scss", ".ts", ".tsx", ".js", ".json"],
|
|
||||||
plugins: [
|
|
||||||
new TsconfigPathsPlugin()
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Plugins */
|
|
||||||
plugins: [
|
|
||||||
new IgnoreEmitPlugin(/\/stylesheets\/.*?\.js/),
|
|
||||||
new AssetsManifestPlugin({
|
|
||||||
output: "assets/manifest.json",
|
|
||||||
assets
|
|
||||||
})
|
|
||||||
],
|
|
||||||
|
|
||||||
/* Source maps */
|
|
||||||
devtool: args.mode === "production" ? "source-map" : "eval",
|
|
||||||
|
|
||||||
/* Filter false positives and omit verbosity */
|
|
||||||
stats: {
|
|
||||||
entrypoints: false,
|
|
||||||
excludeAssets: [
|
|
||||||
/\.(icons)/,
|
|
||||||
/\/(images|lunr)\//,
|
|
||||||
/\.(html|py|yml)$/
|
|
||||||
],
|
|
||||||
warningsFilter: [
|
|
||||||
/export '.[^']+' was not found in/
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
|
||||||
* Configuration
|
|
||||||
* ------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Webpack configuration
|
|
||||||
*
|
|
||||||
* @param env - Webpack environment arguments
|
|
||||||
* @param args - Command-line arguments
|
|
||||||
*
|
|
||||||
* @returns Webpack configurations
|
|
||||||
*/
|
|
||||||
export default (_env: never, args: Configuration): Configuration[] => {
|
|
||||||
const hash = args.mode === "production" ? ".[chunkhash].min" : ""
|
|
||||||
const base = config(args)
|
|
||||||
return [
|
|
||||||
|
|
||||||
/* Application */
|
|
||||||
{
|
|
||||||
...base,
|
|
||||||
entry: {
|
|
||||||
"assets/javascripts/bundle": "src/assets/javascripts",
|
|
||||||
"assets/stylesheets/main": "src/assets/stylesheets/main.scss",
|
|
||||||
"assets/stylesheets/palette": "src/assets/stylesheets/palette.scss"
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: path.resolve(__dirname, "material"),
|
|
||||||
filename: `[name]${hash}.js`,
|
|
||||||
hashDigestLength: 8,
|
|
||||||
libraryTarget: "window"
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Plugins */
|
|
||||||
plugins: [
|
|
||||||
...base.plugins || [],
|
|
||||||
|
|
||||||
/* Stylesheets */
|
|
||||||
new MiniCssExtractPlugin({
|
|
||||||
filename: `[name]${hash}.css`
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Improve performance by skipping dependencies in watch mode */
|
|
||||||
...args.watch ? [] : [
|
|
||||||
|
|
||||||
/* FontAwesome icons */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{ to: ".icons/fontawesome", from: "**/*.svg" },
|
|
||||||
{ to: ".icons/fontawesome", from: "../LICENSE.txt" }
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "node_modules/@fortawesome/fontawesome-free/svgs",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Material Design icons */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{ to: ".icons/material", from: "*.svg" },
|
|
||||||
{ to: ".icons/material", from: "../LICENSE" }
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "node_modules/@mdi/svg/svg",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* GitHub octicons */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{ to: ".icons/octicons", from: "*.svg" },
|
|
||||||
{ to: ".icons/octicons", from: "../../LICENSE" }
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "node_modules/@primer/octicons/build/svg",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Search stemmers and segmenters */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{ to: "assets/javascripts/lunr", from: "min/*.js" },
|
|
||||||
{
|
|
||||||
to: "assets/javascripts/lunr/tinyseg.min.js",
|
|
||||||
from: "tinyseg.js",
|
|
||||||
transform: (content: Buffer) => minjs(`${content}`).code!
|
|
||||||
}
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "node_modules/lunr-languages",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Assets and configuration */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{ from: ".icons/*.svg" },
|
|
||||||
{ from: "assets/images/*" },
|
|
||||||
{ from: "**/*.{py,yml}" }
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "src",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
})
|
|
||||||
],
|
|
||||||
|
|
||||||
/* Template files */
|
|
||||||
new CopyPlugin({
|
|
||||||
patterns: [
|
|
||||||
{
|
|
||||||
from: "**/*.html",
|
|
||||||
transform: (content: Buffer) => {
|
|
||||||
const metadata = require("./package.json")
|
|
||||||
const banner =
|
|
||||||
"{#-\n" +
|
|
||||||
" This file was automatically generated - do not edit\n" +
|
|
||||||
"-#}\n"
|
|
||||||
|
|
||||||
/* Normalize line feeds and minify HTML */
|
|
||||||
const html = content.toString().replace(/\r\n/gm, "\n")
|
|
||||||
return banner + minhtml(html, {
|
|
||||||
collapseBooleanAttributes: true,
|
|
||||||
includeAutoGeneratedTags: false,
|
|
||||||
minifyCSS: true,
|
|
||||||
minifyJS: true,
|
|
||||||
removeComments: true,
|
|
||||||
removeScriptTypeAttributes: true,
|
|
||||||
removeStyleLinkTypeAttributes: true
|
|
||||||
})
|
|
||||||
|
|
||||||
/* Remove empty lines without collapsing everything */
|
|
||||||
.replace(/^\s*[\r\n]/gm, "")
|
|
||||||
|
|
||||||
/* Write theme version into template */
|
|
||||||
.replace("$md-name$", metadata.name)
|
|
||||||
.replace("$md-version$", metadata.version)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
].map(pattern => ({
|
|
||||||
context: "src",
|
|
||||||
...pattern
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Hooks */
|
|
||||||
new EventHooksPlugin({
|
|
||||||
afterEmit: async () => {
|
|
||||||
|
|
||||||
/* Replace asset URLs in templates */
|
|
||||||
if (args.mode === "production") {
|
|
||||||
const manifest = require("./material/assets/manifest.json")
|
|
||||||
for (const file of [
|
|
||||||
"material/base.html",
|
|
||||||
"material/overrides/main.html"
|
|
||||||
]) {
|
|
||||||
const template = toPairs<string>(manifest)
|
|
||||||
.reduce((content, [from, to]) => (
|
|
||||||
content.replace(new RegExp(
|
|
||||||
`('|")${from}\\1`, "g"),
|
|
||||||
`$1${to}$1`
|
|
||||||
)
|
|
||||||
), fs.readFileSync(file, "utf8"))
|
|
||||||
|
|
||||||
/* Save template with replaced assets */
|
|
||||||
fs.writeFileSync(file, template, "utf8")
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Icon indexes */
|
|
||||||
const icons: Record<string, string> = {}
|
|
||||||
const emojis: Record<string, string> = {}
|
|
||||||
|
|
||||||
/* Build search index for bundled icons */
|
|
||||||
for (const file of await glob("**/*.svg", {
|
|
||||||
cwd: "material/.icons"
|
|
||||||
})) {
|
|
||||||
const name = file.replace(/\.svg$/, "").replace(/\//g, "-")
|
|
||||||
icons[name] = file
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Build search index for emojis (based on Twemoji) */
|
|
||||||
const [database] = await glob("venv/**/twemoji_db.py")
|
|
||||||
if (typeof database !== "undefined") {
|
|
||||||
const contents = fs.readFileSync(database, "utf8")
|
|
||||||
const [, content] = contents.match(/^emoji = ({.*})$.alias/ms)!
|
|
||||||
for (const [name, data] of toPairs(JSON.parse(content))) {
|
|
||||||
emojis[name.replace(/(^:|:$)/g, "")] = `${data.unicode}.svg`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fs.writeFileSync(
|
|
||||||
"material/overrides/assets/javascripts/icon_search_index.json",
|
|
||||||
JSON.stringify({
|
|
||||||
icons: {
|
|
||||||
base: "https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/material/.icons/",
|
|
||||||
data: icons
|
|
||||||
},
|
|
||||||
emojis: {
|
|
||||||
base: "https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/",
|
|
||||||
data: emojis
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
|
|
||||||
/* Minify SVGs */
|
|
||||||
new ImageminPlugin({
|
|
||||||
svgo: {
|
|
||||||
plugins: [
|
|
||||||
{ removeDimensions: true },
|
|
||||||
{ removeViewBox: false }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
})
|
|
||||||
],
|
|
||||||
|
|
||||||
/* Optimizations */
|
|
||||||
optimization: {
|
|
||||||
splitChunks: {
|
|
||||||
cacheGroups: {
|
|
||||||
vendor: {
|
|
||||||
test: /\/node_modules\//,
|
|
||||||
name: "assets/javascripts/vendor",
|
|
||||||
chunks: "all"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Search worker */
|
|
||||||
{
|
|
||||||
...base,
|
|
||||||
entry: {
|
|
||||||
"assets/javascripts/worker/search":
|
|
||||||
"src/assets/javascripts/integrations/search/worker/main"
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: path.resolve(__dirname, "material"),
|
|
||||||
filename: `[name]${hash}.js`,
|
|
||||||
hashDigestLength: 8,
|
|
||||||
libraryTarget: "var"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Overrides */
|
|
||||||
{
|
|
||||||
...base,
|
|
||||||
entry: {
|
|
||||||
"overrides/assets/javascripts/bundle": "src/overrides/assets/javascripts",
|
|
||||||
"overrides/assets/stylesheets/main": "src/overrides/assets/stylesheets/main.scss"
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: path.resolve(__dirname, "material"),
|
|
||||||
filename: `[name]${hash}.js`,
|
|
||||||
hashDigestLength: 8,
|
|
||||||
libraryTarget: "window"
|
|
||||||
},
|
|
||||||
|
|
||||||
/* Plugins */
|
|
||||||
plugins: [
|
|
||||||
...base.plugins || [],
|
|
||||||
|
|
||||||
/* Stylesheets */
|
|
||||||
new MiniCssExtractPlugin({
|
|
||||||
filename: `[name]${hash}.css`
|
|
||||||
})
|
|
||||||
],
|
|
||||||
|
|
||||||
/* Optimizations */
|
|
||||||
optimization: {
|
|
||||||
// minimize: false,
|
|
||||||
// splitChunks: {
|
|
||||||
// cacheGroups: {
|
|
||||||
// vendor: {
|
|
||||||
// test: /\/node_modules\//,
|
|
||||||
// name: "overrides/assets/javascripts/vendor",
|
|
||||||
// chunks: "all"
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|