diff --git a/spearhead-blocks/.gitignore b/spearhead-blocks/.gitignore new file mode 100644 index 000000000..ba2946f0f --- /dev/null +++ b/spearhead-blocks/.gitignore @@ -0,0 +1,8 @@ +# macOS Files +.DS_Store + +# Codekit +*.codekit3 + +# Main Sass File +style.scss \ No newline at end of file diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/font-face.css b/spearhead-blocks/assets/fonts/ibm-plex-mono/font-face.css new file mode 100644 index 000000000..34f250cfc --- /dev/null +++ b/spearhead-blocks/assets/fonts/ibm-plex-mono/font-face.css @@ -0,0 +1,699 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Thin-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Thin-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Thin-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Thin-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-Thin-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-ExtraLight-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ExtraLight-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-ExtraLight-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-ExtraLight-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-ExtraLight-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Light-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Light-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Light-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Light-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-Light-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Regular-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Regular-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Regular-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Regular-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-Regular-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Medium-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Medium-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Medium-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Medium-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-Medium-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-SemiBold-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-SemiBold-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-SemiBold-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-SemiBold-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-SemiBold-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Bold-italic.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Bold-italic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Bold-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Bold-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-Bold-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Thin.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Thin.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Thin.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Thin.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(./ibm-plex-mono-Thin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-ExtraLight.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ExtraLight.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-ExtraLight.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-ExtraLight.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url(./ibm-plex-mono-ExtraLight.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Light.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Light.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Light.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Light.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url(./ibm-plex-mono-Light.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Regular.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Regular.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Regular.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Regular.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(./ibm-plex-mono-Regular.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Medium.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Medium.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Medium.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Medium.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(./ibm-plex-mono-Medium.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-SemiBold.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-SemiBold.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-SemiBold.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-SemiBold.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(./ibm-plex-mono-SemiBold.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* cyrillic-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-ext-Bold.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} + +/* cyrillic */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-cyrillic-Bold.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} + +/* vietnamese */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-vietnamese-Bold.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-latin-ext-Bold.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(./ibm-plex-mono-Bold.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} \ No newline at end of file diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold-italic.woff2 new file mode 100644 index 000000000..aa958687d Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold.woff2 new file mode 100644 index 000000000..675a3012a Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Bold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight-italic.woff2 new file mode 100644 index 000000000..20f66493f Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight.woff2 new file mode 100644 index 000000000..36ea606c7 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-ExtraLight.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light-italic.woff2 new file mode 100644 index 000000000..a0b907c2d Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light.woff2 new file mode 100644 index 000000000..429fb52d8 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Light.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium-italic.woff2 new file mode 100644 index 000000000..b2a5de6a0 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium.woff2 new file mode 100644 index 000000000..252437977 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Medium.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular-italic.woff2 new file mode 100644 index 000000000..22ccbf577 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular.woff2 new file mode 100644 index 000000000..1ca3be9f1 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Regular.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold-italic.woff2 new file mode 100644 index 000000000..e4b4a51fc Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold.woff2 new file mode 100644 index 000000000..0ef2c7589 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-SemiBold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin-italic.woff2 new file mode 100644 index 000000000..adefbbf95 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin.woff2 new file mode 100644 index 000000000..8b329762a Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-Thin.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold-italic.woff2 new file mode 100644 index 000000000..40da2d4de Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold.woff2 new file mode 100644 index 000000000..3474af220 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Bold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight-italic.woff2 new file mode 100644 index 000000000..1e4bc4c86 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight.woff2 new file mode 100644 index 000000000..ba31ee104 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ExtraLight.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light-italic.woff2 new file mode 100644 index 000000000..0e54585f2 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light.woff2 new file mode 100644 index 000000000..42c976394 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Light.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium-italic.woff2 new file mode 100644 index 000000000..fd4fafd3c Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium.woff2 new file mode 100644 index 000000000..133d70c10 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Medium.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular-italic.woff2 new file mode 100644 index 000000000..5cb6cbd00 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular.woff2 new file mode 100644 index 000000000..2460be27e Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Regular.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold-italic.woff2 new file mode 100644 index 000000000..4d96c4f17 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold.woff2 new file mode 100644 index 000000000..1a5eb480e Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-SemiBold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin-italic.woff2 new file mode 100644 index 000000000..15af3edbd Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin.woff2 new file mode 100644 index 000000000..d96714b22 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-Thin.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold-italic.woff2 new file mode 100644 index 000000000..99db20ac7 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold.woff2 new file mode 100644 index 000000000..bae3675cb Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Bold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight-italic.woff2 new file mode 100644 index 000000000..41668b902 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight.woff2 new file mode 100644 index 000000000..867a5d8ba Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-ExtraLight.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light-italic.woff2 new file mode 100644 index 000000000..f1b7f6b6f Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light.woff2 new file mode 100644 index 000000000..4dae20e74 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Light.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium-italic.woff2 new file mode 100644 index 000000000..68b611df2 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium.woff2 new file mode 100644 index 000000000..a3b9b2ffa Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Medium.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular-italic.woff2 new file mode 100644 index 000000000..034ca6568 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular.woff2 new file mode 100644 index 000000000..f38049a96 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Regular.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold-italic.woff2 new file mode 100644 index 000000000..bce160c14 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold.woff2 new file mode 100644 index 000000000..2f71fba8b Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-SemiBold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin-italic.woff2 new file mode 100644 index 000000000..ce14a7086 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin.woff2 new file mode 100644 index 000000000..f84d07a33 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-ext-Thin.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold-italic.woff2 new file mode 100644 index 000000000..3cd050aef Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold.woff2 new file mode 100644 index 000000000..35959af13 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Bold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight-italic.woff2 new file mode 100644 index 000000000..7d20a40f3 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight.woff2 new file mode 100644 index 000000000..ecd3ba652 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-ExtraLight.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light-italic.woff2 new file mode 100644 index 000000000..82a85a71a Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light.woff2 new file mode 100644 index 000000000..2c1979921 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Light.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium-italic.woff2 new file mode 100644 index 000000000..0c742eb3a Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium.woff2 new file mode 100644 index 000000000..713244bf8 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Medium.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular-italic.woff2 new file mode 100644 index 000000000..3c7e607fa Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular.woff2 new file mode 100644 index 000000000..11590b5b0 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Regular.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold-italic.woff2 new file mode 100644 index 000000000..b06708cc8 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold.woff2 new file mode 100644 index 000000000..ca0fe2809 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-SemiBold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin-italic.woff2 new file mode 100644 index 000000000..c63d32940 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin.woff2 new file mode 100644 index 000000000..d659d6018 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-Thin.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold-italic.woff2 new file mode 100644 index 000000000..e29d0ce57 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold.woff2 new file mode 100644 index 000000000..1a0f6c018 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Bold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight-italic.woff2 new file mode 100644 index 000000000..ca2ace072 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight.woff2 new file mode 100644 index 000000000..7428d7904 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-ExtraLight.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light-italic.woff2 new file mode 100644 index 000000000..efa12123e Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light.woff2 new file mode 100644 index 000000000..a02d96657 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Light.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium-italic.woff2 new file mode 100644 index 000000000..cb8b1467b Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium.woff2 new file mode 100644 index 000000000..f7d5125d3 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Medium.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular-italic.woff2 new file mode 100644 index 000000000..a5e734696 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular.woff2 new file mode 100644 index 000000000..4239c6bf1 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Regular.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold-italic.woff2 new file mode 100644 index 000000000..50f171186 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold.woff2 new file mode 100644 index 000000000..3d1b0dfae Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-SemiBold.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin-italic.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin-italic.woff2 new file mode 100644 index 000000000..03cd14bc3 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin.woff2 b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin.woff2 new file mode 100644 index 000000000..5faa0dfa0 Binary files /dev/null and b/spearhead-blocks/assets/fonts/ibm-plex-mono/ibm-plex-mono-vietnamese-Thin.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/font-face.css b/spearhead-blocks/assets/fonts/libre-franklin/font-face.css new file mode 100644 index 000000000..501c3cf75 --- /dev/null +++ b/spearhead-blocks/assets/fonts/libre-franklin/font-face.css @@ -0,0 +1,59 @@ +/* vietnamese */ +@font-face { + font-family: 'Libre Franklin'; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-vietnamese-100-900-italic.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'Libre Franklin'; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-latin-ext-100-900-italic.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Libre Franklin'; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-100-900-italic.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* vietnamese */ +@font-face { + font-family: 'Libre Franklin'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-vietnamese-100-900.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} + +/* latin-ext */ +@font-face { + font-family: 'Libre Franklin'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-latin-ext-100-900.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Libre Franklin'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url(./libre-franklin-100-900.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} \ No newline at end of file diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900-italic.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900-italic.woff2 new file mode 100644 index 000000000..b710d67c5 Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900.woff2 new file mode 100644 index 000000000..ad7f3b701 Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-100-900.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900-italic.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900-italic.woff2 new file mode 100644 index 000000000..1d54ef7e9 Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900.woff2 new file mode 100644 index 000000000..944c91dcb Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-latin-ext-100-900.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900-italic.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900-italic.woff2 new file mode 100644 index 000000000..d8ef8ad3e Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900-italic.woff2 differ diff --git a/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900.woff2 b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900.woff2 new file mode 100644 index 000000000..092c10590 Binary files /dev/null and b/spearhead-blocks/assets/fonts/libre-franklin/libre-franklin-vietnamese-100-900.woff2 differ diff --git a/spearhead-blocks/functions.php b/spearhead-blocks/functions.php new file mode 100644 index 000000000..b4a55645e --- /dev/null +++ b/spearhead-blocks/functions.php @@ -0,0 +1,86 @@ +get( 'Version' ) + ); + + // Enqueue theme stylesheet. + wp_enqueue_style( 'spearhead_blocks-style' ); + + } + +endif; + +add_action( 'wp_enqueue_scripts', 'spearhead_blocks_styles' ); + +require get_template_directory() . '/inc/fonts/custom-fonts.php'; + +function spearhead_blocks_the_excerpt( $excerpt ) { + + $audio_block = ''; + if ( has_block( 'audio' ) ) { + $post = get_post(); + $blocks = parse_blocks( $post->post_content ); + foreach ( $blocks as $block ) { + if ( 'core/audio' === $block['blockName'] ) { + $audio_block .= '
' . wp_kses_post( $block['innerHTML'] ) . '
'; + break; + } + } + } + + // For cases where the post excerpt is empty + // (but the post might have content) + if ( 0 === strlen( $excerpt ) ) { + return $excerpt . $audio_block; + } + + return $excerpt . $audio_block; +} + +// Filter the excerpt +add_filter( 'get_the_excerpt', 'spearhead_blocks_the_excerpt' ); diff --git a/spearhead-blocks/inc/fonts/custom-font-migration.php b/spearhead-blocks/inc/fonts/custom-font-migration.php new file mode 100644 index 000000000..c7ed502ef --- /dev/null +++ b/spearhead-blocks/inc/fonts/custom-font-migration.php @@ -0,0 +1,137 @@ +get_raw_data(); + + $new_settings = array(); + $new_styles = array(); + + if ( array_key_exists( 'settings', $theme_user_data ) ) { + $new_settings = $theme_user_data['settings']; + } + if ( array_key_exists( 'styles', $theme_user_data ) ) { + $new_styles = $theme_user_data['styles']; + } + + if ( $body_font_slug ) { + $new_styles = array_merge( + $new_styles, + array( + 'typography' => array( + 'fontFamily' => "var:preset|font-family|$body_font_slug", + ), + ) + ); + } + + if ( $heading_font_slug ) { + $new_styles = array_merge( + $new_styles, + array( + 'blocks' => array( + 'core/post-title' => array( + 'typography' => array( + 'fontFamily' => "var:preset|font-family|$heading_font_slug", + ), + ), + 'core/heading' => array( + 'typography' => array( + 'fontFamily' => "var:preset|font-family|$heading_font_slug", + ), + ), + ), + ) + ); + } + + if ( $heading_font_slug || $body_font_slug ) { + unset( $new_settings['typography']['fontFamilies'] ); + } + + update_global_styles( $new_settings, $new_styles ); +} + +/** + * Updates the global styles CPT. + * + * @param array $new_settings New global styles to update. + * @param array $new_styles New global styles settings to update. + * @param int $user_custom_post_type_id ID of global styles CPT. + * @param object $global_styles_controller Controller that handles REST requests for global styles. + * + * @return void + */ +function update_global_styles( $new_settings, $new_styles ) { + // Get the user's global styles CPT id + $user_custom_post_type_id = WP_Theme_JSON_Resolver::get_user_global_styles_post_id(); + $global_styles_controller = new WP_REST_Global_Styles_Controller(); + + $update_request = new WP_REST_Request( 'PUT', '/wp/v2/global-styles/' ); + $update_request->set_param( 'id', $user_custom_post_type_id ); + $update_request->set_param( 'settings', $new_settings ); + $update_request->set_param( 'styles', $new_styles ); + + $global_styles_controller->update_item( $update_request ); + + // Ideally the call to update_item would delete all of the appropriate transients and caches + delete_transient( 'global_styles' ); + delete_transient( 'global_styles_' . get_stylesheet() ); + delete_transient( 'gutenberg_global_styles' ); + delete_transient( 'gutenberg_global_styles_' . get_stylesheet() ); + + if ( class_exists( 'WP_Theme_JSON_Resolver_Gutenberg' ) ) { + WP_Theme_JSON_Resolver_Gutenberg::clean_cached_data(); + } +} + +/** + * Retrieves the global styles cpt. + * + * @param int $user_custom_post_type_id ID of global styles CPT. + * @param object $global_styles_controller Controller that handles REST requests for global styles. + * + * @return array + */ +function fetch_global_styles( $user_custom_post_type_id, $global_styles_controller ) { + $get_request = new WP_REST_Request( 'GET', '/wp/v2/global-styles/' ); + $get_request->set_param( 'id', $user_custom_post_type_id ); + $global_styles = $global_styles_controller->get_item( $get_request ); + + return $global_styles; +} diff --git a/spearhead-blocks/inc/fonts/custom-fonts.php b/spearhead-blocks/inc/fonts/custom-fonts.php new file mode 100644 index 000000000..6c0496b70 --- /dev/null +++ b/spearhead-blocks/inc/fonts/custom-fonts.php @@ -0,0 +1,213 @@ +.+)\)$/', $font_family, $matches ); + + if ( isset( $matches['slug'] ) ) { + return $matches['slug']; + } + + // Full string: var:preset|font-family|slug + // We do not care about the origin of the font, only its slug. + preg_match( '/font-family\|(?P.+)$/', $font_family, $matches ); + + if ( isset( $matches['slug'] ) ) { + return $matches['slug']; + } + + return $font_family; +} + +/** + * Build a list of all font slugs provided by spearhead-blocks from theme.json + * + * @return array Collection of all font slugs defined in the theme.json file + */ +function collect_fonts_from_spearhead_blocks() { + $fonts = array(); + $parent_theme_json_data = json_decode( file_get_contents( get_template_directory() . '/theme.json' ), true ); + $font_families = $parent_theme_json_data['settings']['typography']['fontFamilies']; + + foreach ( $font_families as $font ) { + // Only pick it up if we're claiming it as ours to manage + if ( array_key_exists( 'provider', $font ) && 'spearhead-blocks-fonts' === $font['provider'] ) { + $fonts[] = $font; + } + } + + return $fonts; +} + +/** + * Enqeue all of the fonts used in global styles settings. + * + * @return void + */ +function enqueue_global_styles_fonts() { + + global $spearhead_blocks_enqueued_font_slugs; + + $font_slugs = array(); + $font_css = ''; + + if ( is_admin() ) { + $font_families = collect_fonts_from_spearhead_blocks(); + foreach ( $font_families as $font_family ) { + $font_slugs[] = $font_family['slug']; + } + } else { + $font_slugs = collect_fonts_from_global_styles(); + } + + $spearhead_blocks_enqueued_font_slugs = $font_slugs; + + foreach ( $font_slugs as $font_slug ) { + $font_css .= get_style_css( $font_slug ); + } + + // Bail out if there are no styles to enqueue. + if ( '' === $font_css ) { + return; + } + + // Enqueue the stylesheet. + wp_register_style( 'spearhead-blocks_font_faces', '' ); + wp_enqueue_style( 'spearhead-blocks_font_faces' ); + + // Add the styles to the stylesheet. + wp_add_inline_style( 'spearhead-blocks_font_faces', $font_css ); +} + +/** + * Enqueue all of the fonts provided by spearhead-blocks for FSE use + */ +function enqueue_fse_font_styles( $fonts ) { + $fonts = collect_fonts_from_spearhead_blocks(); + $font_css = ''; + + foreach ( $fonts as $font ) { + $font_css .= get_style_css( $font['slug'] ); + } + + wp_enqueue_style( 'wp-block-library' ); + wp_add_inline_style( 'wp-block-library', $font_css ); +} + +/** + * Add fonts that have been assigned via CSS + */ +function enqueue_block_fonts( $content, $parsed_block ) { + global $spearhead_blocks_enqueued_font_slugs; + if ( ! is_admin() && isset( $parsed_block['attrs']['fontFamily'] ) ) { + $font_slug = $parsed_block['attrs']['fontFamily']; + if ( ! in_array( $font_slug, $spearhead_blocks_enqueued_font_slugs, true ) ) { + $font_css = get_style_css( $font_slug ); + if ( $font_css ) { + $spearhead_blocks_enqueued_font_slugs[] = $font_slug; + wp_add_inline_style( 'spearhead-blocks_font_faces', $font_css ); + } + } + } + return $content; +} + +/** + * Jetpack may attempt to register fonts for the Google Font Provider. + * If that happens on a child theme then ONLY Jetpack fonts are registered. + * This 'filter' filters out all of the fonts Jetpack should register + * so that we depend exclusively on those provided by spearhead-blocks. + */ +function spearhead_blocks_filter_jetpack_google_fonts_list( $list_to_filter ) { + return array(); +} diff --git a/spearhead-blocks/index.php b/spearhead-blocks/index.php new file mode 100644 index 000000000..b5b023f16 --- /dev/null +++ b/spearhead-blocks/index.php @@ -0,0 +1,2 @@ + +
+
+
+ + +

Proudly Powered by WordPress

+
+
+
+ \ No newline at end of file diff --git a/spearhead-blocks/parts/header.html b/spearhead-blocks/parts/header.html new file mode 100644 index 000000000..5946b7d29 --- /dev/null +++ b/spearhead-blocks/parts/header.html @@ -0,0 +1,19 @@ + +
+
+
+ + +
+ +
+
+ + +
+
+ + + + + \ No newline at end of file diff --git a/spearhead-blocks/parts/post-meta.html b/spearhead-blocks/parts/post-meta.html new file mode 100644 index 000000000..7f578f2fa --- /dev/null +++ b/spearhead-blocks/parts/post-meta.html @@ -0,0 +1,12 @@ + +
+ +
+ + + + +
+ +
+ \ No newline at end of file diff --git a/spearhead-blocks/patterns/404.php b/spearhead-blocks/patterns/404.php new file mode 100644 index 000000000..a61752fb0 --- /dev/null +++ b/spearhead-blocks/patterns/404.php @@ -0,0 +1,16 @@ + + + +

+ + + +

+ diff --git a/spearhead-blocks/patterns/comments.php b/spearhead-blocks/patterns/comments.php new file mode 100644 index 000000000..1b3d44159 --- /dev/null +++ b/spearhead-blocks/patterns/comments.php @@ -0,0 +1,61 @@ + + +
+ + + + +
+ +
+ + + +
+ +
+ + + +
+ + + +
+ + + +
+ +
+ +
+ + + + + +
+ +
+ + + + + + + + + + + + +
+ \ No newline at end of file diff --git a/spearhead-blocks/readme.txt b/spearhead-blocks/readme.txt new file mode 100644 index 000000000..720a54558 --- /dev/null +++ b/spearhead-blocks/readme.txt @@ -0,0 +1,31 @@ +=== Spearhead Blocks === +Contributors: Automattic +Requires at least: 5.8 +Tested up to: 5.9 +Requires PHP: 5.7 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +== Description == + +Spearhead Blocks is the block based version of the original Spearhead theme. + +== Changelog == + += 0.0.1 = +* Initial release + +== Copyright == + +Spearhead Blocks WordPress Theme, (C) 2022 Automattic +Spearhead Blocks is distributed under the terms of the GNU GPL. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. diff --git a/spearhead-blocks/screenshot.png b/spearhead-blocks/screenshot.png new file mode 100644 index 000000000..da6dba220 Binary files /dev/null and b/spearhead-blocks/screenshot.png differ diff --git a/spearhead-blocks/style.css b/spearhead-blocks/style.css new file mode 100644 index 000000000..40526a84b --- /dev/null +++ b/spearhead-blocks/style.css @@ -0,0 +1,122 @@ +/* +Theme Name: Spearhead Blocks +Theme URI: https://github.com/automattic/themes/tree/trunk/spearhead-blocks +Author: Automattic +Author URI: https://automattic.com +Description: Spearhead Blocks is the block based version of the original Spearhead theme. +Requires at least: 5.8 +Tested up to: 5.9 +Requires PHP: 5.7 +Version: 0.0.1 +License: GNU General Public License v2 or later +License URI: https://raw.githubusercontent.com/Automattic/themes/trunk/LICENSE +Template: +Text Domain: spearhead-blocks +Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, rtl-language-support, theme-options, threaded-comments, translation-ready, wide-blocks +*/ +/* + * Dark Mode, front-end and editor + */ +@media (prefers-color-scheme: dark) { + body.editor-styles-wrapper, +body { + --wp--preset--color--primary: var(--wp--preset--color--primary-dark); + --wp--preset--color--secondary: var(--wp--preset--color--secondary-dark); + --wp--preset--color--foreground: var(--wp--preset--color--foreground-dark); + --wp--preset--color--background: var(--wp--preset--color--background-dark); + } +} +/* + * Excerpt audio block spacing and width match w the original Spearhead + */ +.excerpt-audio-block .wp-block-audio { + margin-left: 0; + margin-right: 0; + margin-top: 2rem; +} + +.excerpt-audio-block .wp-block-audio audio { + width: 100%; +} + +/* + * Font smoothing + */ +body { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; +} + +/* + * Button hover styles. + * Necessary until the following issue is resolved in Gutenberg: + * https://github.com/WordPress/gutenberg/issues/27075 + */ +.wp-block-search__button:hover, +.wp-block-file .wp-block-file__button:hover, +.wp-block-button__link:hover { + background-color: var(--wp--preset--color--secondary); +} + +/* + * Alignment styles, borrowed from Twenty Twenty-Two. + * These rules are temporary, and should not be relied on or + * modified too heavily by themes or plugins that build on + * Twenty Twenty-Two. These are meant to be a precursor to + * a global solution provided by the Block Editor. + * + * Relevant issues: + * https://github.com/WordPress/gutenberg/issues/35607 + * https://github.com/WordPress/gutenberg/issues/35884 + */ +.wp-site-blocks, +body > .is-root-container, +.edit-post-visual-editor__post-title-wrapper, +.wp-block-group.alignfull, +.wp-block-group.has-background, +.wp-block-columns.alignfull.has-background, +.wp-block-cover.alignfull, +.is-root-container .wp-block[data-align=full] > .wp-block-group, +.is-root-container .wp-block[data-align=full] > .wp-block-columns.has-background, +.is-root-container .wp-block[data-align=full] > .wp-block-cover { + padding-left: var(--wp--custom--gap--horizontal); + padding-right: var(--wp--custom--gap--horizontal); +} + +.wp-site-blocks .alignfull, +.wp-site-blocks > .wp-block-group.has-background, +.wp-site-blocks > .wp-block-cover, +.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background, +.wp-site-blocks > .wp-block-template-part > .wp-block-cover, +body > .is-root-container > .wp-block-cover, +body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background, +body > .is-root-container > .wp-block-template-part > .wp-block-cover, +.is-root-container .wp-block[data-align=full] { + margin-left: calc(-1 * var(--wp--custom--gap--horizontal)) !important; + margin-right: calc(-1 * var(--wp--custom--gap--horizontal)) !important; + max-width: unset; + width: unset; +} + +/* Blocks inside columns don't have negative margins. */ +.wp-site-blocks .wp-block-columns .wp-block-column .alignfull, +.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align=full], +.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull, +.is-root-container .wp-block[data-align=full] > *:not(.wp-block-group) .wp-block[data-align=full] { + margin-left: auto !important; + margin-right: auto !important; + width: inherit; +} + +/* + * Responsive menu container padding. + * This ensures the responsive container inherits the same + * spacing defined above. This behavior may be built into + * the Block Editor in the future. + */ +.wp-block-navigation__responsive-container.is-menu-open { + padding-top: var(--wp--custom--gap--horizontal); + padding-bottom: var(--wp--custom--gap--vertical); + padding-right: var(--wp--custom--gap--horizontal); + padding-left: var(--wp--custom--gap--horizontal); +} diff --git a/spearhead-blocks/templates/404.html b/spearhead-blocks/templates/404.html new file mode 100644 index 000000000..3ac1721de --- /dev/null +++ b/spearhead-blocks/templates/404.html @@ -0,0 +1,12 @@ + + + +
+ + + + +
+ + + diff --git a/spearhead-blocks/templates/archive.html b/spearhead-blocks/templates/archive.html new file mode 100644 index 000000000..63c929114 --- /dev/null +++ b/spearhead-blocks/templates/archive.html @@ -0,0 +1,37 @@ + + + +
+ + + +
+ + + + + + + + + + + +
+ + + + +
+ + + + + +
+
+ + + \ No newline at end of file diff --git a/spearhead-blocks/templates/blank.html b/spearhead-blocks/templates/blank.html new file mode 100644 index 000000000..a900db09e --- /dev/null +++ b/spearhead-blocks/templates/blank.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/spearhead-blocks/templates/footer-only.html b/spearhead-blocks/templates/footer-only.html new file mode 100644 index 000000000..4ad430de4 --- /dev/null +++ b/spearhead-blocks/templates/footer-only.html @@ -0,0 +1,3 @@ + + + diff --git a/spearhead-blocks/templates/header-footer-only.html b/spearhead-blocks/templates/header-footer-only.html new file mode 100644 index 000000000..638368aa5 --- /dev/null +++ b/spearhead-blocks/templates/header-footer-only.html @@ -0,0 +1,10 @@ + + + +
+ + +
+ + + diff --git a/spearhead-blocks/templates/index.html b/spearhead-blocks/templates/index.html new file mode 100644 index 000000000..38629c8af --- /dev/null +++ b/spearhead-blocks/templates/index.html @@ -0,0 +1,29 @@ + + + +
+ +
+ + + + + + + +
+ + + + +
+ + + + + +
+
+ + + \ No newline at end of file diff --git a/spearhead-blocks/templates/page.html b/spearhead-blocks/templates/page.html new file mode 100644 index 000000000..0ffacf9ab --- /dev/null +++ b/spearhead-blocks/templates/page.html @@ -0,0 +1,61 @@ + + + +
+ + + +
+ +
+ + + +
+ + + + +
+ + + +
+
+ + + +
+
+ + +
+ + +
+ +
+
+
+ + + + +
+
+ + + + + + + + + + + +
+
+ + + \ No newline at end of file diff --git a/spearhead-blocks/templates/search.html b/spearhead-blocks/templates/search.html new file mode 100644 index 000000000..970f4d0ce --- /dev/null +++ b/spearhead-blocks/templates/search.html @@ -0,0 +1,47 @@ + + + +
+ + + + + +
+ + + +
+ + +
+ + + + + + + + + + + +
+ + + + +
+ + + + + + + +
+ +
+ + + \ No newline at end of file diff --git a/spearhead-blocks/templates/single.html b/spearhead-blocks/templates/single.html new file mode 100644 index 000000000..ace801ce2 --- /dev/null +++ b/spearhead-blocks/templates/single.html @@ -0,0 +1,73 @@ + + + +
+ +
+ + + +
+ + + + +
+

Published by

+ + + + +
+
+ + + +
+ + + + +
+ + + +
+
+ + + +
+
+ + +
+ + +
+ +
+
+
+ + + + +
+
+ + + + + + + + + + + +
+
+ + + \ No newline at end of file diff --git a/spearhead-blocks/theme.json b/spearhead-blocks/theme.json new file mode 100644 index 000000000..3c5a9b73e --- /dev/null +++ b/spearhead-blocks/theme.json @@ -0,0 +1,453 @@ +{ + "customTemplates": [ + { + "name": "blank", + "postTypes": [ + "page", + "post" + ], + "title": "Blank" + }, + { + "name": "header-footer-only", + "postTypes": [ + "page", + "post" + ], + "title": "Header and Footer Only" + }, + { + "name": "footer-only", + "postTypes": [ + "page", + "post" + ], + "title": "Footer Only" + } + ], + "settings": { + "appearanceTools": true, + "color": { + "palette": [ + { + "color": "#db0042", + "name": "Primary", + "slug": "primary" + }, + { + "color": "#555555", + "name": "Secondary", + "slug": "secondary" + }, + { + "color": "#000000", + "name": "Foreground", + "slug": "foreground" + }, + { + "color": "#ffffff", + "name": "Background", + "slug": "background" + }, + { + "color": "#FF6A81", + "name": "Primary (Dark)", + "slug": "primary-dark" + }, + { + "color": "#B2B2B2", + "name": "Secondary (Dark)", + "slug": "secondary-dark" + }, + { + "color": "#ffffff", + "name": "Foreground (Dark)", + "slug": "foreground-dark" + }, + { + "color": "#1E1F21", + "name": "Background (Dark)", + "slug": "background-dark" + } + ] + }, + "custom": { + "gap": { + "horizontal": "min(30px, 5vw)", + "vertical": "min(30px, 5vw)" + } + }, + "layout": { + "contentSize": "782px", + "wideSize": "1247px" + }, + "spacing": { + "units": [ + "%", + "px", + "em", + "rem", + "vh", + "vw" + ] + }, + "typography": { + "fontFamilies": [ + { + "fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif", + "name": "System Font", + "slug": "system-font" + }, + { + "fontFamily": "'Libre Franklin', sans-serif", + "slug": "libre-franklin", + "name": "Libre Franklin", + "provider": "spearhead-blocks-fonts" + }, + { + "fontFamily": "'IBM Plex Mono', sans-serif", + "slug": "ibm-plex-mono", + "name": "IBM Plex Mono", + "provider": "spearhead-blocks-fonts" + } + ], + "fontSizes": [ + { + "name": "Small", + "size": "1rem", + "slug": "small" + }, + { + "name": "Medium", + "size": "1.5rem", + "slug": "medium" + }, + { + "name": "Large", + "size": "1.75rem", + "slug": "large" + }, + { + "name": "Extra Large", + "size": "2rem", + "slug": "x-large" + } + ] + } + }, + "styles": { + "blocks": { + "core/button": { + "border": { + "radius": "4px" + }, + "spacing": { + "padding": { + "bottom": "8px", + "left": "32px", + "right": "32px", + "top": "8px" + } + }, + "typography": { + "fontSize": "16px" + }, + "color": { + "background": "var:preset|color|primary" + } + }, + "core/code": { + "border": { + "color": "#CCCCCC", + "radius": "0px", + "style": "solid", + "width": "2px" + }, + "spacing": { + "padding": { + "bottom": "var(--wp--custom--gap--vertical)", + "left": "var(--wp--custom--gap--horizontal)", + "right": "var(--wp--custom--gap--horizontal)", + "top": "var(--wp--custom--gap--vertical)" + } + }, + "typography": { + "fontFamily": "monospace" + } + }, + "core/comment-author-name": { + "typography": { + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "core/comment-content": { + "typography": { + "fontSize": "1.125rem", + "lineHeight": "1.6" + } + }, + "core/comment-date": { + "typography": { + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "core/comment-edit-link": { + "typography": { + "fontSize": "var(--wp--preset--font-size--small)" + } + }, + "core/comment-reply-link": { + "color": { + "text": "var(--wp--preset--color--primary)" + }, + "typography": { + "fontSize": "var(--wp--preset--font-size--small)", + "textDecoration": "underline" + } + }, + "core/comments-title": { + "typography": { + "fontSize": "var(--wp--preset--font-size--large)" + } + }, + "core/gallery": { + "spacing": { + "margin": { + "bottom": "var(--wp--custom--gap--vertical)" + } + } + }, + "core/list": { + "spacing": { + "padding": { + "left": "calc( 2 * var(--wp--custom--gap--horizontal) )" + } + } + }, + "core/navigation": { + "typography": { + "fontSize": "1.075rem", + "fontWeight": "400" + }, + "spacing": { + "blockGap": "12px" + }, + "elements": { + "link": { + ":hover": { + "color": { + "text": "var:preset|color|primary" + } + }, + "color": { + "text": "var:preset|color|foreground" + } + } + } + }, + "core/post-date": { + "color": { + "text": "var(--wp--preset--color--secondary)" + }, + "typography": { + "fontSize": "var(--wp--preset--font-size--default)", + "fontWeight": "normal" + } + }, + "core/post-title": { + "elements": { + "link": { + ":hover": { + "color": { + "text": "var(--wp--preset--color--primary)" + } + }, + "color": { + "text": "var:preset|color|foreground" + } + } + }, + "spacing": { + "margin": { + "bottom": "0" + } + }, + "typography": { + "fontSize": "var:preset|font-size|medium", + "fontStyle": "normal", + "fontWeight": "500", + "lineHeight": "1.125" + } + }, + "core/post-excerpt": { + "color": { + "text": "var(--wp--preset--color--secondary)" + } + }, + "core/pullquote": { + "border": { + "style": "solid", + "width": "1px 0" + }, + "spacing": { + "padding": { + "bottom": "var(--wp--custom--gap--horizontal)", + "left": "var(--wp--custom--gap--horizontal)", + "right": "var(--wp--custom--gap--horizontal)", + "top": "var(--wp--custom--gap--horizontal)" + } + }, + "typography": { + "fontSize": "var(--wp--preset--font-size--large)", + "fontStyle": "italic" + } + }, + "core/quote": { + "border": { + "color": "var(--wp--preset--color--primary)", + "style": "solid", + "width": "0 0 0 1px" + }, + "spacing": { + "padding": { + "left": "var(--wp--custom--gap--horizontal)" + } + }, + "typography": { + "fontSize": "1.125rem", + "fontStyle": "normal" + } + }, + "core/search": { + "typography": { + "fontSize": "var(--wp--preset--font-size--medium)", + "lineHeight": "1.6" + } + }, + "core/separator": { + "border": { + "color": "currentColor", + "style": "solid", + "width": "0 0 1px 0" + }, + "color": { + "text": "var(--wp--preset--color--foreground)" + } + }, + "core/site-tagline": { + "typography": { + "fontSize": "var:preset|font-size|small", + "fontWeight": "500" + } + }, + "core/site-title": { + "elements": { + "link": { + ":hover": { + "color": { + "text": "var(--wp--preset--color--secondary)" + }, + "typography": { + "textDecoration": "none" + } + }, + "color": { + "text": "var:preset|color|primary" + }, + "typography": { + "textDecoration": "none" + } + } + }, + "typography": { + "fontFamily": "var:preset|font-family|ibm-plex-mono", + "fontSize": "1.375rem", + "fontWeight": "700", + "textDecoration": "none" + } + } + }, + "color": { + "background": "var(--wp--preset--color--background)", + "text": "var(--wp--preset--color--foreground)" + }, + "elements": { + "h1": { + "typography": { + "fontSize": "3rem", + "lineHeight": 1.2 + } + }, + "h2": { + "typography": { + "fontSize": "1.38rem", + "lineHeight": "1.4" + } + }, + "h3": { + "typography": { + "fontSize": "1.125rem", + "lineHeight": "1.4" + } + }, + "h4": { + "typography": { + "fontSize": "1rem" + } + }, + "h5": { + "typography": { + "fontSize": "0.875rem" + } + }, + "h6": { + "typography": { + "fontSize": "0.75rem" + } + }, + "heading": { + "typography": { + "fontStyle": "normal", + "fontWeight": "700", + "lineHeight": "1.2" + } + }, + "link": { + ":hover": { + "color": { + "text": "var:preset|color|foreground" + }, + "typography": { + "textDecoration": "underline" + } + }, + "color": { + "text": "var:preset|color|primary" + }, + "typography": { + "textDecoration": "none" + } + } + }, + "spacing": { + "blockGap": "0.5em" + }, + "typography": { + "fontFamily": "var:preset|font-family|libre-franklin", + "fontSize": "1.125rem", + "fontWeight": "500", + "lineHeight": 1.8 + } + }, + "templateParts": [ + { + "area": "header", + "name": "header" + }, + { + "area": "footer", + "name": "footer" + } + ], + "version": 2 +} \ No newline at end of file