initial commit; POC dev based off wp-73k theme

This commit is contained in:
Adam Piontek 2021-07-25 07:16:35 -04:00
commit 7325162871
50 changed files with 19419 additions and 0 deletions

View file

@ -0,0 +1,65 @@
// Colors
// -- now defined in bs-custom --
// $primary: #e48663;
// $secondary: #00b0b0;
// $success: #99c24d;
// $info: #b489c7;
// $warning: #f4d35e;
// gray scale based off 'pale silver' #bebfb0 which was text color in Lester's original design
// however, i think a lighter text is more readable, going 1 lighter for this design
$white: #fff;
$gray-010: #e3dfdd;
$gray-100: #d1cac7;
$gray-200: #beb5b0;
$gray-300: #aca09a;
$gray-400: #9a8b84;
$gray-500: #87776e;
$gray-600: #70635c;
$gray-700: #5a4f49;
$gray-750: #4f4540;
$gray-800: #433b37;
$gray-900: #2d2825;
$black: #000;
// spaceblue is based on coolors.co 'space cadet' #212c40 which was bg color in Lester's original design
// background will be spaceblue-800
$spaceblue-100: #aebcd5;
$spaceblue-200: #93a6c8;
$spaceblue-300: #788fba;
$spaceblue-400: #5d79ac;
$spaceblue-500: #4c6594;
$spaceblue-600: #3e5379;
$spaceblue-700: #31415e;
$spaceblue-800: #212c40;
$spaceblue-900: #151c28;
$light: $spaceblue-200;
$dark: $spaceblue-800;
// Create your own map
$custom-colors: (
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark,
"gray": $gray-600,
"gray-dark": $gray-800,
);
// Merge the maps
$theme-colors: map-merge($theme-colors, $custom-colors);
// misc
$navbar-dark-color: rgba($white, 0.75);
$navbar-dark-hover-color: rgba($white, 0.9);
$navbar-dark-active-color: $white;
$navbar-dark-disabled-color: rgba($white, 0.45);
$navbar-dark-toggler-border-color: rgba($white, 0.3);
$component-active-bg: $primary;

View file

@ -0,0 +1,45 @@
/* Bootstrap custom variable overrides */
// Typography
$font-size-base: 1.125rem;
// 'native font stack' for sans via https://getbootstrap.com/docs/5.0/content/reboot/#native-font-stack
$font-family-sans-serif:
// custom theme font
Overpass,
// Cross-platform generic font family (default user interface font)
system-ui,
// Safari for macOS and iOS (San Francisco)
-apple-system, BlinkMacSystemFont,
// Windows
"Segoe UI",
// Android
Roboto,
// Basic web fallback
"Helvetica Neue", Arial,
// Linux
"Noto Sans",
"Liberation Sans",
Oxygen-Sans, Ubuntu,
// Sans serif fallback
sans-serif,
// Emoji fonts
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
$font-family-base: $font-family-sans-serif;
// handbrush / special / emphasis / impact font stack
$font-family-handbrush: "Permanent Marker", Besom, Fjord, Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif;
// Features
$enable-shadows: true;
$enable-negative-margins: true;
// init colors for some vars
$primary: #51A39F;
// $secondary: #9883E5;
$secondary: #955E42;
$success: #37B800;
$info: #0075F2;
$warning: #F9E900;
$danger: #DD1C1A

50
assets/css/_bs-load.scss Normal file
View file

@ -0,0 +1,50 @@
/* Bootstrap custom variable overrides */
@import "bs-custom";
// Required || Configuration
@import "../../node_modules/bootstrap/scss/functions";
@import "../../node_modules/bootstrap/scss/variables";
/* Bootstrap custom variable overrides */
@import "bs-colors";
// Required || Configuration -- CONTINUED
@import "../../node_modules/bootstrap/scss/mixins";
@import "../../node_modules/bootstrap/scss/utilities";
// Optional || Layout & components
@import "../../node_modules/bootstrap/scss/root";
@import "../../node_modules/bootstrap/scss/reboot";
@import "../../node_modules/bootstrap/scss/type";
@import "../../node_modules/bootstrap/scss/images";
@import "../../node_modules/bootstrap/scss/containers";
@import "../../node_modules/bootstrap/scss/grid";
// @import "../../node_modules/bootstrap/scss/tables";
@import "../../node_modules/bootstrap/scss/forms";
@import "../../node_modules/bootstrap/scss/buttons";
@import "../../node_modules/bootstrap/scss/transitions";
// @import "../../node_modules/bootstrap/scss/dropdown";
// @import "../../node_modules/bootstrap/scss/button-group";
@import "../../node_modules/bootstrap/scss/nav";
@import "../../node_modules/bootstrap/scss/navbar";
// @import "../../node_modules/bootstrap/scss/card";
// @import "../../node_modules/bootstrap/scss/accordion";
// @import "../../node_modules/bootstrap/scss/breadcrumb";
// @import "../../node_modules/bootstrap/scss/pagination";
// @import "../../node_modules/bootstrap/scss/badge";
// @import "../../node_modules/bootstrap/scss/alert";
// @import "../../node_modules/bootstrap/scss/progress";
// @import "../../node_modules/bootstrap/scss/list-group";
// @import "../../node_modules/bootstrap/scss/close";
// @import "../../node_modules/bootstrap/scss/toasts";
// @import "../../node_modules/bootstrap/scss/modal";
// @import "../../node_modules/bootstrap/scss/tooltip";
// @import "../../node_modules/bootstrap/scss/popover";
// @import "../../node_modules/bootstrap/scss/carousel";
// @import "../../node_modules/bootstrap/scss/spinners";
// Helpers
@import "../../node_modules/bootstrap/scss/helpers";
// Utilities
@import "../../node_modules/bootstrap/scss/utilities/api";

21
assets/css/_fonts.scss Normal file
View file

@ -0,0 +1,21 @@
/* emphasis/special : Fontsource Permanent Marker */
@import "../../node_modules/@fontsource/permanent-marker/400.css"; /* Normal (Regular) | normal */
/* font-family-sans-serif : Fontsource Overpass */
@import "../../node_modules/@fontsource/overpass/100.css"; /* Thin (Hairline) | normal */
@import "../../node_modules/@fontsource/overpass/100-italic.css"; /* Thin (Hairline) | italic */
@import "../../node_modules/@fontsource/overpass/200.css"; /* Extra Light (Ultra Light) | normal */
@import "../../node_modules/@fontsource/overpass/200-italic.css"; /* Extra Light (Ultra Light) | italic */
@import "../../node_modules/@fontsource/overpass/300.css"; /* Light | normal */
@import "../../node_modules/@fontsource/overpass/300-italic.css"; /* Light | italic */
@import "../../node_modules/@fontsource/overpass/400.css"; /* Normal (Regular) | normal */
@import "../../node_modules/@fontsource/overpass/400-italic.css"; /* Normal (Regular) | italic */
@import "../../node_modules/@fontsource/overpass/600.css"; /* Semi Bold (Demi Bold) | normal */
@import "../../node_modules/@fontsource/overpass/600-italic.css"; /* Semi Bold (Demi Bold) | italic */
@import "../../node_modules/@fontsource/overpass/700.css"; /* Bold | normal */
@import "../../node_modules/@fontsource/overpass/700-italic.css"; /* Bold | italic */
@import "../../node_modules/@fontsource/overpass/800.css"; /* Extra Bold (Ultra Bold) | normal */
@import "../../node_modules/@fontsource/overpass/800-italic.css"; /* Extra Bold (Ultra Bold) | italic */
@import "../../node_modules/@fontsource/overpass/900.css"; /* Black (Heavy) | normal */
@import "../../node_modules/@fontsource/overpass/900-italic.css"; /* Black (Heavy) | italic */

View file

@ -0,0 +1,84 @@
// navbar-brand coloring
.navbar-dark {
a {
&.navbar-brand {
color: $gray-300;
&:hover {
color: $gray-300;
}
}
}
}
// navbar widget social icon coloring
// #block-7 > ul > li.wp-social-link.wp-block-social-link > a
.navbar-dark {
.widget_block {
ul {
&.wp-block-social-links {
&.is-style-logos-only {
li {
&.wp-social-link {
&.wp-block-social-link {
a {
&.wp-block-social-link-anchor {
color: $gray-300;
}
}
}
}
}
}
}
}
}
}
// navbar menu layout
.navbar-expand-lg {
.nav-item {
// margin-left: 2px;
a {
&.nav-link {
// padding: 0 0 0 6px;
// margin: 8px 0 8px 0;
// border-left: 6px transparent solid;
&.active {
// border-left: 6px $secondary solid;
// border-bottom: none;
}
&:hover, &:active {
// color: $primary !important;
// border-left: 6px $secondary solid;
// border-bottom: none;
}
}
}
}
}
@include media-breakpoint-up(lg) {
.navbar-expand-lg {
.nav-item {
// margin-left: 0;
a {
&.nav-link {
// padding: 0 0 2px 0;
// margin: 0 12px 0 12px;
// border-left: none;
// border-top: 6px transparent solid;
// border-bottom: 6px transparent solid;
&.active {
// border-left: none;
// border-bottom: 6px $secondary solid;
}
&:hover, &:active {
// color: $primary !important;
// border-left: none;
// border-bottom: 6px $secondary solid;
}
}
}
}
}
}

View file

@ -0,0 +1,56 @@
/* Hamburger settings overrides */
$hamburger-padding-x: 0.95rem !default;
$hamburger-padding-y: 0.625rem !default;
$hamburger-layer-width: 1.5rem !default;
$hamburger-layer-height: 2px !default;
$hamburger-layer-spacing: 6px !default;
// * skipping default color, using color from bootstrap instead, below
// $hamburger-layer-color: rgba(0, 0, 0, 0.55) !default;
$hamburger-layer-border-radius: 0.25rem !default;
$hamburger-hover-opacity: 0.7 !default;
// * skipping default color, using color from bootstrap instead, below
// $hamburger-active-layer-color: $hamburger-layer-color !default;
$hamburger-active-hover-opacity: $hamburger-hover-opacity !default;
/* import hamburgers sass */
@import "../../node_modules/hamburgers/_sass/hamburgers/hamburgers.scss";
/* correct colors to match bootstrap defaults */
.navbar-light {
.hamburger {
&.navbar-toggler {
border: 1px $navbar-light-toggler-border-color solid !important;
.hamburger-inner {
&,
&::before,
&::after {
background-color: $navbar-light-color;
}
}
&.is-active {
.hamburger-inner::after {
background-color: $navbar-light-color;
}
}
}
}
}
.navbar-dark {
.hamburger {
&.navbar-toggler {
border: 1px $navbar-dark-toggler-border-color solid !important;
.hamburger-inner {
&,
&::before,
&::after {
background-color: $navbar-dark-color;
}
}
&.is-active {
.hamburger-inner::after {
background-color: $navbar-dark-color;
}
}
}
}
}

View file

@ -0,0 +1,39 @@
/*
SVG ICON SYSTEM
per https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4
*/
.icon {
display: inline-flex;
align-self: center;
}
.icon svg,
.icon img {
height: 1em;
width: 1em;
fill: currentColor;
}
.icon.baseline svg,
.icon img {
top: 0.15em;
position: relative;
}
// for navbar-brand logo, could be used for other non-icon SVGs with an extra class to controll the size
.logo {
display: inline-flex;
align-self: center;
}
.logo svg,
.logo img {
height: 5.3rem;
fill: currentColor;
}
.logo.baseline svg,
.logo img {
top: 0.15em;
position: relative;
}

279
assets/css/app.scss Normal file
View file

@ -0,0 +1,279 @@
/* Fonts */
@import "fonts";
/* Load Bootstrap v5 and customizations */
@import "bs-load";
/*SVG ICON SYSTEM*/
@import "svg-icons";
/* Navbar toggler icon override */
@import "nav-burger";
/* Navbar custom styling */
@import "nav-bar-help";
/* main */
html,
body {
color: $gray-100;
background-color: $spaceblue-800;
height: 100%;
}
// a {
// color: rgba($white, 0.75);
// // border-bottom: $gray-600 2px solid;
// // text-decoration: none;
// text-decoration-color: $gray-600;
// &.navbar-brand,
// &.nav-link {
// border-bottom: none;
// }
// &:visited {
// color: $info;
// .post-title & {
// color: $gray-100;
// }
// }
// &:hover {
// color: $primary;
// // text-decoration: none;
// // border-bottom: $secondary 3px solid;
// text-decoration-color: $secondary;
// &.navbar-brand {
// border-bottom: none;
// }
// }
// }
.wp-block-separator {
border-top: none !important;
border-bottom: none !important;
}
/* more */
.border-gray-900 {
border-color: $gray-900 !important;
}
.text-gray-200 {
color: $gray-200;
}
.text-gray-300 {
color: $gray-300;
}
.text-gray-400 {
color: $gray-400;
}
.text-gray-500 {
color: $gray-500;
}
.border-10 {
border-width: 10px !important;
}
.border-20 {
border-width: 20px !important;
}
.font-handbrush {
font-family: $font-family-handbrush;
}
.fw-500 {
font-weight: 500;
}
.fw-600 {
font-weight: 600;
}
.fs-larger {
font-size: larger;
}
.fs-smaller {
font-size: smaller;
}
.tek-fixed-footer {
@extend .bg-dark;
@extend .bottom-0;
@extend .end-0;
@extend .position-fixed;
font-size: 14px !important;
border-top-left-radius: 0.3rem !important;
padding-top: 2px;
padding-bottom: 2px;
}
.tek-subtitle {
@extend .fs-5;
@extend .font-monospace;
@extend .text-gray-300;
@extend .mb-0;
// margin-top: -0.5rem;
}
.tek-border-bottom-gray-dashed {
@extend .border-bottom;
// @extend .border-gray;
border-bottom-color: $gray-500 !important;
border-bottom-style: dashed !important;
}
/* front page styles */
#tek-front-page img.wp-post-image {
@extend .img-fluid;
@extend .border;
// @extend .border-20;
@extend .border-gray-900;
@extend .rounded-2;
border-width: 18px !important;
width: 100%;
}
#tek-front-page h2, header h2 {
@extend .fs-2;
@extend .fw-600;
@extend .mb-0;
}
/* social icons */
#social-icons .link-light {
border-bottom: none;
color: $gray-100;
&:hover {
color: $primary;
}
}
/* blockquote handling */
blockquote {
&.wp-block-quote {
@extend .border-start;
@extend .border-gray;
@extend .border-5;
@extend .ms-0;
@extend .my-4;
@extend .ps-3;
@extend .py-2;
background-color: $gray-750;
&.tek-bq-lg {
p {
font-size: 1.375rem;
}
}
p {
@extend .blockquote;
font-size: 1em;
&:last-of-type {
@extend .my-0;
@extend .py-0;
}
}
cite {
@extend .blockquote-footer;
@extend .text-gray-300;
@extend .my-0;
@extend .py-0;
font-size: 0.85em;
font-style: normal;
}
:last-child {
@extend .py-1;
}
}
}
/* blog */
.post-title a {
color: $gray-100;
text-decoration: none;
border-bottom: none;
&:hover {
color: $primary;
// border-bottom: $secondary 3px solid;
text-decoration: underline;
text-decoration-color: $secondary;
}
}
.post-lede,
.post-body {
h2, h3, h4, h5, h6 {
color: $gray-200;
margin-top: 2rem;
}
}
.post li {
line-height: 1.75rem;
}
.more-link {
@extend .fs-6;
}
/* widget styling */
#footer-widgets {
background-color: $gray-750;
border-radius: .5em;
.widgettitle {
@extend .fs-4;
}
.wp-block-group {
@extend .px-3;
@extend .py-3;
max-width: 25rem;
}
ul {
padding-inline-start: 2rem;
}
.wp-block-loginout {
display: list-item;
margin-left: 2rem;
list-style-type: disc;
}
}
.wp-block-tag-cloud {
@extend .mb-0;
}
.search-form .form-control {
color: $gray-100 !important;
background-color: $gray-800 !important;
border-color: $gray-500;
}
.search-form .form-control:focus {
border-color: $input-focus-border-color;
}
.form-control::-ms-clear,
input.form-control::-ms-clear,
.form-control::-ms-reveal,
input.form-control::-ms-reveal { display: none; }
.form-control::-webkit-input-placeholder { /* WebKit, Blink, Edge */
color: $gray-500 !important;
}
.form-control:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: $gray-500 !important;
opacity: 1;
}
.form-control::-moz-placeholder { /* Mozilla Firefox 19+ */
color: $gray-500 !important;
opacity: 1;
}
.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: $gray-500 !important;
}
.form-control::-ms-input-placeholder { /* Microsoft Edge */
color: $gray-500 !important;
}
.form-control::placeholder { /* Most modern browsers support this now. */
color: $gray-500 !important;
}
.search-form {
.btn {
padding: .25rem .75rem;
&.btn-outline-light {
color: $gray-300;
border-color: $gray-500;
&:hover {
color: $primary;
background-color: inherit;
border-color: $secondary;
}
}
.icon {
font-size: 1.375rem;
margin-top: 1px;
}
}
}