├── img ├── header.jpg ├── placeholder.png └── src │ └── header.jpg ├── screenshot.png ├── src ├── sass │ ├── underscores │ │ ├── forms │ │ │ ├── _forms.scss │ │ │ ├── _fields.scss │ │ │ └── _buttons.scss │ │ ├── elements │ │ │ ├── _tables.scss │ │ │ ├── _lists.scss │ │ │ └── _elements.scss │ │ ├── typography │ │ │ ├── _headings.scss │ │ │ ├── _typography.scss │ │ │ └── _copy.scss │ │ ├── variables-site │ │ │ ├── _structure.scss │ │ │ ├── _variables-site.scss │ │ │ ├── _typography.scss │ │ │ └── _colors.scss │ │ ├── site │ │ │ ├── primary │ │ │ │ ├── _comments.scss │ │ │ │ └── _posts-and-pages.scss │ │ │ ├── secondary │ │ │ │ └── _widgets.scss │ │ │ └── _site.scss │ │ ├── modules │ │ │ ├── _alignments.scss │ │ │ ├── _infinite-scroll.scss │ │ │ ├── _clearings.scss │ │ │ └── _accessibility.scss │ │ ├── media │ │ │ ├── _captions.scss │ │ │ ├── _media.scss │ │ │ └── _galleries.scss │ │ ├── navigation │ │ │ ├── _links.scss │ │ │ ├── _navigation.scss │ │ │ └── _menus.scss │ │ ├── layout │ │ │ ├── _content-sidebar.scss │ │ │ └── _sidebar-content.scss │ │ └── mixins │ │ │ └── _mixins-master.scss │ ├── bootstrap4 │ │ ├── utilities │ │ │ ├── _clearfix.scss │ │ │ ├── _screenreaders.scss │ │ │ ├── _visibility.scss │ │ │ ├── _sizing.scss │ │ │ ├── _float.scss │ │ │ ├── _align.scss │ │ │ ├── _background.scss │ │ │ ├── _position.scss │ │ │ ├── _embed.scss │ │ │ ├── _borders.scss │ │ │ ├── _display.scss │ │ │ ├── _text.scss │ │ │ ├── _spacing.scss │ │ │ └── _flex.scss │ │ ├── _media.scss │ │ ├── mixins │ │ │ ├── _box-shadow.scss │ │ │ ├── _clearfix.scss │ │ │ ├── _size.scss │ │ │ ├── _visibility.scss │ │ │ ├── _text-hide.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ ├── _transition.scss │ │ │ ├── _float.scss │ │ │ ├── _nav-divider.scss │ │ │ ├── _badge.scss │ │ │ ├── _alert.scss │ │ │ ├── _text-emphasis.scss │ │ │ ├── _navbar-align.scss │ │ │ ├── _background-variant.scss │ │ │ ├── _pagination.scss │ │ │ ├── _list-group.scss │ │ │ ├── _reset-text.scss │ │ │ ├── _table-row.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _caret.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _hover.scss │ │ │ ├── _image.scss │ │ │ ├── _grid.scss │ │ │ ├── _grid-framework.scss │ │ │ └── _gradients.scss │ │ ├── _jumbotron.scss │ │ ├── _utilities.scss │ │ ├── bootstrap-reboot.scss │ │ ├── _transitions.scss │ │ ├── _root.scss │ │ ├── bootstrap-grid.scss │ │ ├── _close.scss │ │ ├── _progress.scss │ │ ├── bootstrap.scss │ │ ├── _badge.scss │ │ ├── _mixins.scss │ │ ├── _grid.scss │ │ ├── _alert.scss │ │ ├── _images.scss │ │ ├── _breadcrumb.scss │ │ ├── _code.scss │ │ ├── _pagination.scss │ │ ├── _nav.scss │ │ ├── _type.scss │ │ ├── _print.scss │ │ └── _functions.scss │ └── fontawesome │ │ ├── _fixed-width.scss │ │ ├── _screen-reader.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _core.scss │ │ ├── font-awesome.scss │ │ ├── _stacked.scss │ │ ├── _bordered-pulled.scss │ │ ├── _rotated-flipped.scss │ │ ├── _path.scss │ │ ├── _animated.scss │ │ └── _mixins.scss └── js │ ├── skip-link-focus-fix.js │ └── customizer.js ├── languages ├── de_DE.mo ├── el_GR.mo ├── es_ES.mo ├── fr_FR.mo ├── it_IT.mo ├── ko_KR.mo ├── nb_NO.mo ├── nl_NL.mo ├── nn_NO.mo ├── pt_BR.mo ├── pt_PT.mo ├── ru_RU.mo ├── sv_SE.mo └── zh_CN.mo ├── sass ├── assets │ ├── underscores.scss │ ├── font-awesome.scss │ └── bootstrap4.scss ├── theme.scss └── theme │ ├── _theme_variables.scss │ └── _contact-form7.scss ├── fonts ├── FontAwesome.otf ├── fontawesome-webfont.eot ├── fontawesome-webfont.ttf ├── fontawesome-webfont.woff ├── fontawesome-webfont.woff2 ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff └── glyphicons-halflings-regular.woff2 ├── loop-templates ├── content-blank.php ├── content-empty.php ├── content-aside.php ├── content-status.php ├── content-page.php ├── content-search.php ├── content-single.php ├── widgets-posts │ ├── posts-style3.php │ ├── posts-style1.php │ └── posts-style2.php ├── content-gallery.php ├── content-none.php ├── content.php └── content-group.php ├── inc ├── style-wpcom.css ├── custom-tags.php ├── wpcom.php ├── theme-settings.php ├── enqueue.php ├── jetpack.php ├── security.php ├── custom-header.php ├── editor.php └── widgets.php ├── .gitignore ├── README.md ├── sidebar.php ├── composer.json ├── js └── main.js ├── page-templates ├── empty.php ├── blank.php ├── right-sidebarpage.php ├── fullwidthpage.php ├── left-sidebarpage.php └── both-sidebarspage.php ├── sidebar-left.php ├── sidebar-right.php ├── searchform.php ├── bower.json ├── woocommerce ├── global │ ├── wrapper-end.php │ ├── wrapper-start.php │ ├── quantity-input.php │ └── form-login.php ├── single-product │ ├── review-rating.php │ ├── short-description.php │ ├── add-to-cart │ │ ├── variation-add-to-cart-button.php │ │ └── simple.php │ ├── rating.php │ └── product-thumbnails.php ├── cart │ ├── proceed-to-checkout-button.php │ └── cart-empty.php ├── myaccount │ ├── navigation.php │ ├── downloads.php │ ├── form-lost-password.php │ ├── form-reset-password.php │ └── form-edit-address.php ├── product-searchform.php ├── loop │ ├── add-to-cart.php │ └── orderby.php └── checkout │ ├── form-coupon.php │ ├── form-checkout.php │ └── payment.php ├── global-templates └── left-sidebar-check.php ├── codesniffer.ruleset.xml ├── single.php ├── package.json ├── style.css ├── footer.php ├── page.php ├── woocommerce.php ├── functions.php ├── search.php ├── archive.php └── index.php /img/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/img/header.jpg -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/screenshot.png -------------------------------------------------------------------------------- /src/sass/underscores/forms/_forms.scss: -------------------------------------------------------------------------------- 1 | @import "buttons"; 2 | 3 | @import "fields"; -------------------------------------------------------------------------------- /img/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/img/placeholder.png -------------------------------------------------------------------------------- /img/src/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/img/src/header.jpg -------------------------------------------------------------------------------- /languages/de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/de_DE.mo -------------------------------------------------------------------------------- /languages/el_GR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/el_GR.mo -------------------------------------------------------------------------------- /languages/es_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/es_ES.mo -------------------------------------------------------------------------------- /languages/fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/fr_FR.mo -------------------------------------------------------------------------------- /languages/it_IT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/it_IT.mo -------------------------------------------------------------------------------- /languages/ko_KR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/ko_KR.mo -------------------------------------------------------------------------------- /languages/nb_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/nb_NO.mo -------------------------------------------------------------------------------- /languages/nl_NL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/nl_NL.mo -------------------------------------------------------------------------------- /languages/nn_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/nn_NO.mo -------------------------------------------------------------------------------- /languages/pt_BR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/pt_BR.mo -------------------------------------------------------------------------------- /languages/pt_PT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/pt_PT.mo -------------------------------------------------------------------------------- /languages/ru_RU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/ru_RU.mo -------------------------------------------------------------------------------- /languages/sv_SE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/sv_SE.mo -------------------------------------------------------------------------------- /languages/zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/languages/zh_CN.mo -------------------------------------------------------------------------------- /sass/assets/underscores.scss: -------------------------------------------------------------------------------- 1 | @import "../../src/sass/underscores/media/galleries"; 2 | -------------------------------------------------------------------------------- /fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /src/sass/underscores/elements/_tables.scss: -------------------------------------------------------------------------------- 1 | table { 2 | margin: 0 0 1.5em; 3 | width: 100%; 4 | } -------------------------------------------------------------------------------- /src/sass/underscores/typography/_headings.scss: -------------------------------------------------------------------------------- 1 | h1, h2, h3, h4, h5, h6 { 2 | clear: both; 3 | } -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/sass/underscores/variables-site/_structure.scss: -------------------------------------------------------------------------------- 1 | $size__site-main: 100%; 2 | $size__site-sidebar: 25%; -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/sass/underscores/variables-site/_variables-site.scss: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "typography"; 3 | @import "structure"; -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sieon/writing/HEAD/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/sass/bootstrap4/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | box-shadow: $shadow; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /loop-templates/content-blank.php: -------------------------------------------------------------------------------- 1 | ul, 14 | li > ol { 15 | margin-bottom: 0; 16 | margin-left: 1.5em; 17 | } 18 | 19 | dt { 20 | font-weight: bold; 21 | } 22 | 23 | dd { 24 | margin: 0 1.5em 1.5em; 25 | } -------------------------------------------------------------------------------- /sidebar.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /src/sass/underscores/navigation/_navigation.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | ## Links 3 | --------------------------------------------------------------*/ 4 | @import "links"; 5 | 6 | /*-------------------------------------------------------------- 7 | ## Menus 8 | --------------------------------------------------------------*/ 9 | @import "menus"; -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_sizing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Width and height 4 | 5 | @each $prop, $abbrev in (width: w, height: h) { 6 | @each $size, $length in $sizes { 7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; } 8 | } 9 | } 10 | 11 | .mw-100 { max-width: 100% !important; } 12 | .mh-100 { max-height: 100% !important; } 13 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "holger1411/understrap", 3 | "description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4", 4 | "type": "library", 5 | "license": "GPL-2.0", 6 | "minimum-stability": "stable", 7 | "require": {}, 8 | "keywords": ["wordpress","theme","bootstrap"], 9 | "homepage": "https://github.com/holger1411/understrap" 10 | } 11 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | @each $breakpoint in map-keys($grid-breakpoints) { 2 | @include media-breakpoint-up($breakpoint) { 3 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 4 | 5 | .float#{$infix}-left { @include float-left; } 6 | .float#{$infix}-right { @include float-right; } 7 | .float#{$infix}-none { @include float-none; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/sass/underscores/layout/_content-sidebar.scss: -------------------------------------------------------------------------------- 1 | .content-area { 2 | float: left; 3 | margin: 0 (-$size__site-sidebar) 0 0; 4 | width: $size__site-main; 5 | } 6 | 7 | .site-main { 8 | margin: 0 $size__site-sidebar 0 0; 9 | } 10 | 11 | .site-content .widget-area { 12 | float: right; 13 | overflow: hidden; 14 | width: $size__site-sidebar; 15 | } 16 | 17 | .site-footer { 18 | clear: both; 19 | width: $size__site-main; 20 | } -------------------------------------------------------------------------------- /src/sass/underscores/layout/_sidebar-content.scss: -------------------------------------------------------------------------------- 1 | .content-area { 2 | float: right; 3 | margin: 0 0 0 (-$size__site-sidebar); 4 | width: $size__site-main; 5 | } 6 | 7 | .site-main { 8 | margin: 0 0 0 $size__site-sidebar; 9 | } 10 | 11 | .site-content .widget-area { 12 | float: left; 13 | overflow: hidden; 14 | width: $size__site-sidebar; 15 | } 16 | 17 | .site-footer { 18 | clear: both; 19 | width: $size__site-main; 20 | } -------------------------------------------------------------------------------- /js/main.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | $(window).scroll(function() { 3 | var scrollHeight = $(document).scrollTop(); 4 | if (scrollHeight > 60) { 5 | $('.change-nav').removeClass('navbar-dark bg-transparent'); 6 | $('.change-nav').addClass('navbar-light bg-light'); 7 | } else { 8 | $('.change-nav').removeClass('navbar-light bg-light'); 9 | $('.change-nav').addClass('navbar-dark bg-transparent'); 10 | } 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /src/sass/fontawesome/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_navbar-align.scss: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` 5 | // to calculate the appropriate top margin. 6 | 7 | // @mixin navbar-vertical-align($element-height) { 8 | // margin-top: (($navbar-height - $element-height) / 2); 9 | // margin-bottom: (($navbar-height - $element-height) / 2); 10 | // } 11 | -------------------------------------------------------------------------------- /src/sass/underscores/site/primary/_posts-and-pages.scss: -------------------------------------------------------------------------------- 1 | .sticky { 2 | display: block; 3 | } 4 | 5 | .hentry { 6 | margin: 0 0 1.5em; 7 | } 8 | 9 | .byline, 10 | .updated:not(.published){ 11 | display: none; 12 | } 13 | 14 | .single .byline, 15 | .group-blog .byline { 16 | display: inline; 17 | } 18 | 19 | .page-content, 20 | .entry-content, 21 | .entry-summary { 22 | margin: 1.5em 0 0; 23 | } 24 | 25 | .page-links { 26 | clear: both; 27 | margin: 0 0 1.5em; 28 | } -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | background-color: $jumbotron-bg; 5 | @include border-radius($border-radius-lg); 6 | 7 | @include media-breakpoint-up(sm) { 8 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 9 | } 10 | } 11 | 12 | .jumbotron-fluid { 13 | padding-right: 0; 14 | padding-left: 0; 15 | @include border-radius(0); 16 | } 17 | -------------------------------------------------------------------------------- /src/sass/fontawesome/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utilities/align"; 2 | @import "utilities/background"; 3 | @import "utilities/borders"; 4 | @import "utilities/clearfix"; 5 | @import "utilities/display"; 6 | @import "utilities/embed"; 7 | @import "utilities/flex"; 8 | @import "utilities/float"; 9 | @import "utilities/position"; 10 | @import "utilities/screenreaders"; 11 | @import "utilities/sizing"; 12 | @import "utilities/spacing"; 13 | @import "utilities/text"; 14 | @import "utilities/visibility"; 15 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com) 3 | * Copyright 2011-2017 The Bootstrap Authors 4 | * Copyright 2011-2017 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "reboot"; 13 | -------------------------------------------------------------------------------- /src/sass/underscores/site/_site.scss: -------------------------------------------------------------------------------- 1 | // @import "../layout/content-sidebar"; 2 | // @import "../layout/sidebar-content"; 3 | /*-------------------------------------------------------------- 4 | ## Posts and pages 5 | --------------------------------------------------------------*/ 6 | @import "primary/posts-and-pages"; 7 | 8 | /*-------------------------------------------------------------- 9 | ## Comments 10 | --------------------------------------------------------------*/ 11 | @import "primary/comments"; -------------------------------------------------------------------------------- /page-templates/empty.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
id="post-"> 11 | 12 |
13 | 14 | 17 | 18 |
19 | 20 | 21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 |
29 | -------------------------------------------------------------------------------- /loop-templates/content-status.php: -------------------------------------------------------------------------------- 1 | 10 | 11 |
id="post-"> 12 | 13 |
14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 |
22 | 23 |
24 | 25 | 26 | 27 |
28 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_transitions.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | .fade { 4 | opacity: 0; 5 | @include transition($transition-fade); 6 | 7 | &.show { 8 | opacity: 1; 9 | } 10 | } 11 | 12 | .collapse { 13 | display: none; 14 | &.show { 15 | display: block; 16 | } 17 | } 18 | 19 | tr { 20 | &.collapse.show { 21 | display: table-row; 22 | } 23 | } 24 | 25 | tbody { 26 | &.collapse.show { 27 | display: table-row-group; 28 | } 29 | } 30 | 31 | .collapsing { 32 | position: relative; 33 | height: 0; 34 | overflow: hidden; 35 | @include transition($transition-collapse); 36 | } 37 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_root.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | // Custom variable values only support SassScript inside `#{}`. 3 | @each $color, $value in $colors { 4 | --#{$color}: #{$value}; 5 | } 6 | 7 | @each $color, $value in $theme-colors { 8 | --#{$color}: #{$value}; 9 | } 10 | 11 | @each $bp, $value in $grid-breakpoints { 12 | --breakpoint-#{$bp}: #{$value}; 13 | } 14 | 15 | // Use `inspect` for lists so that quoted items keep the quotes. 16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)}; 18 | --font-family-monospace: #{inspect($font-family-monospace)}; 19 | } 20 | -------------------------------------------------------------------------------- /sidebar-left.php: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /src/sass/underscores/modules/_accessibility.scss: -------------------------------------------------------------------------------- 1 | /* Text meant only for screen readers. */ 2 | .screen-reader-text { 3 | clip: rect(1px, 1px, 1px, 1px); 4 | position: absolute !important; 5 | height: 1px; 6 | width: 1px; 7 | overflow: hidden; 8 | 9 | &:focus { 10 | background-color: $color__background-screen; 11 | border-radius: 3px; 12 | box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); 13 | clip: auto !important; 14 | color: $color__text-screen; 15 | display: block; 16 | @include font-size(0.875); 17 | font-weight: bold; 18 | height: auto; 19 | left: 5px; 20 | line-height: normal; 21 | padding: 15px 23px 14px; 22 | text-decoration: none; 23 | top: 5px; 24 | width: auto; 25 | z-index: 100000; /* Above WP toolbar. */ 26 | } 27 | } 28 | 29 | /* Do not show the outline on the skip link target. */ 30 | #content[tabindex="-1"]:focus { 31 | outline: 0; 32 | } 33 | -------------------------------------------------------------------------------- /sass/theme.scss: -------------------------------------------------------------------------------- 1 | @import "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here 2 | @import "assets/bootstrap4";// <--------- Loads Bootstrap3 or Bootstrap4. Change from /bootstrap3 to /bootstrap4 Watch out! just for testing in the moment! 3 | @import "understrap/understrap";// <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP 4 | 5 | //Optional files - If you dont use the corresponding scripts/fonts comment em out 6 | @import "assets/font-awesome"; // <------- Font Awesome Icon font 7 | @import "assets/underscores"; // <------- Underscores media styles 8 | 9 | // Any additional imported files // 10 | @import "theme/theme"; // <--------- That's where you can add your own design. Thats your part! 11 | @import "theme/contact-form7"; // Contact Form 7 - Bootstrap 4 support 12 | -------------------------------------------------------------------------------- /src/sass/fontawesome/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_border-radius.scss: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | @mixin border-radius($radius: $border-radius) { 4 | @if $enable-rounded { 5 | border-radius: $radius; 6 | } 7 | } 8 | 9 | @mixin border-top-radius($radius) { 10 | @if $enable-rounded { 11 | border-top-left-radius: $radius; 12 | border-top-right-radius: $radius; 13 | } 14 | } 15 | 16 | @mixin border-right-radius($radius) { 17 | @if $enable-rounded { 18 | border-top-right-radius: $radius; 19 | border-bottom-right-radius: $radius; 20 | } 21 | } 22 | 23 | @mixin border-bottom-radius($radius) { 24 | @if $enable-rounded { 25 | border-bottom-right-radius: $radius; 26 | border-bottom-left-radius: $radius; 27 | } 28 | } 29 | 30 | @mixin border-left-radius($radius) { 31 | @if $enable-rounded { 32 | border-top-left-radius: $radius; 33 | border-bottom-left-radius: $radius; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/sass/underscores/elements/_elements.scss: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | } 4 | 5 | *, 6 | *:before, 7 | *:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ 8 | box-sizing: inherit; 9 | } 10 | 11 | body { 12 | background: $color__background-body; /* Fallback for when there is no custom background color defined. */ 13 | } 14 | 15 | blockquote, q { 16 | quotes: "" ""; 17 | 18 | &:before, 19 | &:after { 20 | content: ""; 21 | } 22 | } 23 | 24 | hr { 25 | background-color: $color__background-hr; 26 | border: 0; 27 | height: 1px; 28 | margin-bottom: 1.5em; 29 | } 30 | 31 | @import "lists"; 32 | 33 | img { 34 | height: auto; /* Make sure images are scaled correctly. */ 35 | max-width: 100%; /* Adhere to container width. */ 36 | } 37 | 38 | @import "tables"; -------------------------------------------------------------------------------- /loop-templates/content-search.php: -------------------------------------------------------------------------------- 1 | 9 |
id="post-"> 10 | 11 |
12 | 13 | ', esc_url( get_permalink() ) ), 14 | '' ); ?> 15 | 16 | 17 | 18 | 23 | 24 | 25 | 26 |
27 | 28 |
29 | 30 | 31 | 32 |
33 | 34 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | @mixin caret-down { 2 | border-top: $caret-width solid; 3 | border-right: $caret-width solid transparent; 4 | border-bottom: 0; 5 | border-left: $caret-width solid transparent; 6 | } 7 | 8 | @mixin caret-up { 9 | border-top: 0; 10 | border-right: $caret-width solid transparent; 11 | border-bottom: $caret-width solid; 12 | border-left: $caret-width solid transparent; 13 | } 14 | 15 | @mixin caret($direction: down) { 16 | @if $enable-caret { 17 | &::after { 18 | display: inline-block; 19 | width: 0; 20 | height: 0; 21 | margin-left: $caret-width * .85; 22 | vertical-align: $caret-width * .85; 23 | content: ""; 24 | @if $direction == down { 25 | @include caret-down; 26 | } @else if $direction == up { 27 | @include caret-up; 28 | } 29 | } 30 | 31 | &:empty::after { 32 | margin-left: 0; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /loop-templates/content-single.php: -------------------------------------------------------------------------------- 1 | 9 |
id="post-"> 10 | 11 |
12 | 13 | ', '' ); ?> 14 | 15 | 20 | 21 |
22 | 23 |
24 | 25 | 26 | 27 | '', 31 | ) ); 32 | ?> 33 | 34 |
35 | 36 | 41 | 42 |
43 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Only display content to screen readers 2 | // 3 | // See: http://a11yproject.com/posts/how-to-hide-content/ 4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 5 | 6 | @mixin sr-only { 7 | position: absolute; 8 | width: 1px; 9 | height: 1px; 10 | padding: 0; 11 | overflow: hidden; 12 | clip: rect(0,0,0,0); 13 | white-space: nowrap; 14 | clip-path: inset(50%); 15 | border: 0; 16 | } 17 | 18 | // Use in conjunction with .sr-only to only display content when it's focused. 19 | // 20 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 21 | // 22 | // Credit: HTML5 Boilerplate 23 | 24 | @mixin sr-only-focusable { 25 | &:active, 26 | &:focus { 27 | position: static; 28 | width: auto; 29 | height: auto; 30 | overflow: visible; 31 | clip: auto; 32 | white-space: normal; 33 | clip-path: none; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/sass/underscores/forms/_buttons.scss: -------------------------------------------------------------------------------- 1 | button, 2 | input[type="button"], 3 | input[type="reset"], 4 | input[type="submit"] { 5 | border: 1px solid; 6 | border-color: $color__border-button; 7 | border-radius: 3px; 8 | background: $color__background-button; 9 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05); 10 | color: rgba(0, 0, 0, .8); 11 | @include font-size(0.75); 12 | line-height: 1; 13 | padding: .6em 1em .4em; 14 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); 15 | 16 | &:hover { 17 | border-color: $color__border-button-hover; 18 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02); 19 | } 20 | 21 | &:active, 22 | &:focus { 23 | border-color: $color__border-button-focus; 24 | box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15); 25 | } 26 | } -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_embed.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .embed-responsive { 4 | position: relative; 5 | display: block; 6 | width: 100%; 7 | padding: 0; 8 | overflow: hidden; 9 | 10 | &::before { 11 | display: block; 12 | content: ""; 13 | } 14 | 15 | .embed-responsive-item, 16 | iframe, 17 | embed, 18 | object, 19 | video { 20 | position: absolute; 21 | top: 0; 22 | bottom: 0; 23 | left: 0; 24 | width: 100%; 25 | height: 100%; 26 | border: 0; 27 | } 28 | } 29 | 30 | .embed-responsive-21by9 { 31 | &::before { 32 | padding-top: percentage(9 / 21); 33 | } 34 | } 35 | 36 | .embed-responsive-16by9 { 37 | &::before { 38 | padding-top: percentage(9 / 16); 39 | } 40 | } 41 | 42 | .embed-responsive-4by3 { 43 | &::before { 44 | padding-top: percentage(3 / 4); 45 | } 46 | } 47 | 48 | .embed-responsive-1by1 { 49 | &::before { 50 | padding-top: percentage(1 / 1); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/sass/underscores/media/_galleries.scss: -------------------------------------------------------------------------------- 1 | .gallery { 2 | margin-bottom: 1.5rem; 3 | display: flex; 4 | flex-wrap: wrap; 5 | margin-right: -10px; 6 | margin-left: -10px; 7 | } 8 | 9 | .gallery-item { 10 | display: inline-block; 11 | text-align: center; 12 | vertical-align: top; 13 | width: 100%; 14 | position: relative; 15 | min-height: 1px; 16 | padding-right: 10px; 17 | padding-left: 10px; 18 | 19 | .gallery-columns-2 & { 20 | max-width: 50%; 21 | } 22 | 23 | .gallery-columns-3 & { 24 | max-width: 33.33%; 25 | } 26 | 27 | .gallery-columns-4 & { 28 | max-width: 25%; 29 | } 30 | 31 | .gallery-columns-5 & { 32 | max-width: 20%; 33 | } 34 | 35 | .gallery-columns-6 & { 36 | max-width: 16.66%; 37 | } 38 | 39 | .gallery-columns-7 & { 40 | max-width: 14.28%; 41 | } 42 | 43 | .gallery-columns-8 & { 44 | max-width: 12.5%; 45 | } 46 | 47 | .gallery-columns-9 & { 48 | max-width: 11.11%; 49 | } 50 | } 51 | 52 | .gallery-caption { 53 | display: block; 54 | } 55 | -------------------------------------------------------------------------------- /src/js/skip-link-focus-fix.js: -------------------------------------------------------------------------------- 1 | /** 2 | * File skip-link-focus-fix.js. 3 | * 4 | * Helps with accessibility for keyboard only users. 5 | * 6 | * Learn more: https://git.io/vWdr2 7 | */ 8 | ( function() { 9 | var isWebkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1, 10 | isOpera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1, 11 | isIe = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1; 12 | 13 | if ( ( isWebkit || isOpera || isIe ) && document.getElementById && window.addEventListener ) { 14 | window.addEventListener( 'hashchange', function() { 15 | var id = location.hash.substring( 1 ), 16 | element; 17 | 18 | if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) { 19 | return; 20 | } 21 | 22 | element = document.getElementById( id ); 23 | 24 | if ( element ) { 25 | if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) { 26 | element.tabIndex = -1; 27 | } 28 | 29 | element.focus(); 30 | } 31 | }, false ); 32 | } 33 | })(); 34 | -------------------------------------------------------------------------------- /sass/theme/_theme_variables.scss: -------------------------------------------------------------------------------- 1 | // Use this file to overwrite the basic Bootstrap variables and add your own variables 2 | // To overwrite a Bootstrap variable you don´t have to touch the Bootstrap folder. 3 | // Just copy a variable from /sass/bootstrap/_variables.scss, paste it here and edit the value. 4 | 5 | // html { 6 | // font-size: 14px; 7 | // } 8 | 9 | // stylelint-disable 10 | $white: #fff !default; 11 | $gray-100: #f8f9fa !default; 12 | $gray-200: #e9ecef !default; 13 | $gray-300: #dee2e6 !default; 14 | $gray-400: #ced4da !default; 15 | $gray-500: #adb5bd !default; 16 | $gray-600: #868e96 !default; 17 | $gray-700: #495057 !default; 18 | $gray-800: #343a40 !default; 19 | $gray-900: #212529 !default; 20 | $black: #000 !default; 21 | 22 | $list-group-border-color: rgba($black,.075) !default; 23 | $card-border-color: rgba($black,.075) !default; //.125 24 | 25 | // $line-height-base: 1.8 !default; 26 | // $line-height-lg: 1.8 !default; 27 | // $line-height-sm: 1.5 !default; 28 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) 3 | * Copyright 2011-2017 The Bootstrap Authors 4 | * Copyright 2011-2017 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @import "functions"; 9 | @import "variables"; 10 | @import "mixins"; 11 | @import "root"; 12 | @import "print"; 13 | @import "reboot"; 14 | @import "type"; 15 | @import "images"; 16 | @import "code"; 17 | @import "grid"; 18 | @import "tables"; 19 | @import "forms"; 20 | @import "buttons"; 21 | @import "transitions"; 22 | @import "dropdown"; 23 | @import "button-group"; 24 | @import "input-group"; 25 | @import "custom-forms"; 26 | @import "nav"; 27 | @import "navbar"; 28 | @import "card"; 29 | @import "breadcrumb"; 30 | @import "pagination"; 31 | @import "badge"; 32 | @import "jumbotron"; 33 | @import "alert"; 34 | @import "progress"; 35 | @import "media"; 36 | @import "list-group"; 37 | @import "close"; 38 | @import "modal"; 39 | @import "tooltip"; 40 | @import "popover"; 41 | @import "carousel"; 42 | @import "utilities"; 43 | -------------------------------------------------------------------------------- /page-templates/blank.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | > 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /inc/wpcom.php: -------------------------------------------------------------------------------- 1 | '', 22 | 'border' => '', 23 | 'text' => '', 24 | 'link' => '', 25 | 'url' => '', 26 | ); 27 | } 28 | 29 | /* Add WP.com print styles */ 30 | add_theme_support( 'print-styles' ); 31 | } 32 | add_action( 'after_setup_theme', 'understrap_wpcom_setup' ); 33 | 34 | /* 35 | * WordPress.com-specific styles 36 | */ 37 | function understrap_wpcom_styles() { 38 | wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' ); 39 | } 40 | add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' ); 41 | -------------------------------------------------------------------------------- /loop-templates/widgets-posts/posts-style3.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
id="post-"> 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 |
21 | ', esc_url( get_permalink() ) ), 22 | '' ); ?> 23 |
24 | 25 |
26 | 27 | 28 | 29 |
30 | 31 | ', esc_url( get_permalink() ) ), 32 | '' ); ?> 33 | 34 |
35 | 36 | 37 | 38 |
39 | -------------------------------------------------------------------------------- /woocommerce/single-product/review-rating.php: -------------------------------------------------------------------------------- 1 | comment_ID, 'rating', true ) ); 25 | 26 | if ( $rating && 'yes' === get_option( 'woocommerce_enable_review_rating' ) ) { 27 | echo wc_get_rating_html( $rating ); 28 | } 29 | -------------------------------------------------------------------------------- /woocommerce/single-product/short-description.php: -------------------------------------------------------------------------------- 1 | post_excerpt ) { 26 | return; 27 | } 28 | 29 | ?> 30 |
31 | post_excerpt ) ?> 32 |
33 | -------------------------------------------------------------------------------- /inc/theme-settings.php: -------------------------------------------------------------------------------- 1 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /global-templates/left-sidebar-check.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | '; 24 | } else { 25 | $html .= 'col-md-12 content-area" id="primary">'; 26 | } 27 | echo $html; // WPCS: XSS OK. 28 | } elseif ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) { 29 | $html = '
'; 32 | } else { 33 | $html .= 'col-md-12 content-area" id="primary">'; 34 | } 35 | echo $html; // WPCS: XSS OK. 36 | } else { 37 | echo '
'; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/js/customizer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * File customizer.js. 3 | * 4 | * Theme Customizer enhancements for a better user experience. 5 | * 6 | * Contains handlers to make Theme Customizer preview reload changes asynchronously. 7 | */ 8 | 9 | ( function( $ ) { 10 | 11 | // Site title and description. 12 | wp.customize( 'blogname', function( value ) { 13 | value.bind( function( to ) { 14 | $( '.site-title a' ).text( to ); 15 | } ); 16 | } ); 17 | wp.customize( 'blogdescription', function( value ) { 18 | value.bind( function( to ) { 19 | $( '.site-description' ).text( to ); 20 | } ); 21 | } ); 22 | 23 | // Header text color. 24 | wp.customize( 'header_textcolor', function( value ) { 25 | value.bind( function( to ) { 26 | if ( 'blank' === to ) { 27 | $( '.site-title a, .site-description' ).css( { 28 | 'clip': 'rect(1px, 1px, 1px, 1px)', 29 | 'position': 'absolute' 30 | } ); 31 | } else { 32 | $( '.site-title a, .site-description' ).css( { 33 | 'clip': 'auto', 34 | 'position': 'relative' 35 | } ); 36 | $( '.site-title a, .site-description' ).css( { 37 | 'color': to 38 | } ); 39 | } 40 | } ); 41 | } ); 42 | } )( jQuery ); 43 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_badge.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Requires one of the contextual, color modifier classes for `color` and 4 | // `background-color`. 5 | 6 | .badge { 7 | display: inline-block; 8 | padding: $badge-padding-y $badge-padding-x; 9 | font-size: $badge-font-size; 10 | font-weight: $badge-font-weight; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | @include border-radius($badge-border-radius); 16 | 17 | // Empty badges collapse automatically 18 | &:empty { 19 | display: none; 20 | } 21 | } 22 | 23 | // Quick fix for badges in buttons 24 | .btn .badge { 25 | position: relative; 26 | top: -1px; 27 | } 28 | 29 | // Pill badges 30 | // 31 | // Make them extra rounded with a modifier to replace v3's badges. 32 | 33 | .badge-pill { 34 | padding-right: $badge-pill-padding-x; 35 | padding-left: $badge-pill-padding-x; 36 | @include border-radius($badge-pill-border-radius); 37 | } 38 | 39 | // Colors 40 | // 41 | // Contextual variations (linked badges get darker on :hover). 42 | 43 | @each $color, $value in $theme-colors { 44 | .badge-#{$color} { 45 | @include badge-variant($value); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Utilities 6 | @import "mixins/breakpoints"; 7 | @import "mixins/hover"; 8 | @import "mixins/image"; 9 | @import "mixins/badge"; 10 | @import "mixins/resize"; 11 | @import "mixins/screen-reader"; 12 | @import "mixins/size"; 13 | @import "mixins/reset-text"; 14 | @import "mixins/text-emphasis"; 15 | @import "mixins/text-hide"; 16 | @import "mixins/text-truncate"; 17 | @import "mixins/visibility"; 18 | 19 | // // Components 20 | @import "mixins/alert"; 21 | @import "mixins/buttons"; 22 | @import "mixins/caret"; 23 | @import "mixins/pagination"; 24 | @import "mixins/lists"; 25 | @import "mixins/list-group"; 26 | @import "mixins/nav-divider"; 27 | @import "mixins/forms"; 28 | @import "mixins/table-row"; 29 | 30 | // // Skins 31 | @import "mixins/background-variant"; 32 | @import "mixins/border-radius"; 33 | @import "mixins/box-shadow"; 34 | @import "mixins/gradients"; 35 | @import "mixins/transition"; 36 | 37 | // // Layout 38 | @import "mixins/clearfix"; 39 | // @import "mixins/navbar-align"; 40 | @import "mixins/grid-framework"; 41 | @import "mixins/grid"; 42 | @import "mixins/float"; 43 | -------------------------------------------------------------------------------- /inc/enqueue.php: -------------------------------------------------------------------------------- 1 | get( 'Version' ), false ); 16 | wp_register_script('jquery-slim', (get_template_directory_uri() . '/js/jquery.slim.min.js'), true, '3.2.1'); 17 | wp_enqueue_script( 'jquery-slim' ); 18 | wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), true); 19 | wp_enqueue_script( 'main-scripts', get_template_directory_uri() . '/js/main.js', array(), true); 20 | wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $the_theme->get( 'Version' ), true ); 21 | if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { 22 | wp_enqueue_script( 'comment-reply' ); 23 | } 24 | } 25 | } // endif function_exists( 'understrap_scripts' ). 26 | 27 | add_action( 'wp_enqueue_scripts', 'understrap_scripts' ); 28 | -------------------------------------------------------------------------------- /loop-templates/widgets-posts/posts-style1.php: -------------------------------------------------------------------------------- 1 | 38 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_grid.scss: -------------------------------------------------------------------------------- 1 | // Container widths 2 | // 3 | // Set the container width, and override it for fixed navbars in media queries. 4 | 5 | @if $enable-grid-classes { 6 | .container { 7 | @include make-container(); 8 | @include make-container-max-widths(); 9 | } 10 | } 11 | 12 | // Fluid container 13 | // 14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for 15 | // fluid, full width layouts. 16 | 17 | @if $enable-grid-classes { 18 | .container-fluid { 19 | @include make-container(); 20 | } 21 | } 22 | 23 | // Row 24 | // 25 | // Rows contain and clear the floats of your columns. 26 | 27 | @if $enable-grid-classes { 28 | .row { 29 | @include make-row(); 30 | } 31 | 32 | // Remove the negative margin from default .row, then the horizontal padding 33 | // from all immediate children columns (to prevent runaway style inheritance). 34 | .no-gutters { 35 | margin-right: 0; 36 | margin-left: 0; 37 | 38 | > .col, 39 | > [class*="col-"] { 40 | padding-right: 0; 41 | padding-left: 0; 42 | } 43 | } 44 | } 45 | 46 | // Columns 47 | // 48 | // Common styles for small and large grid columns 49 | 50 | @if $enable-grid-classes { 51 | @include make-grid-columns(); 52 | } 53 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | position: relative; 7 | padding: $alert-padding-y $alert-padding-x; 8 | margin-bottom: $alert-margin-bottom; 9 | border: $alert-border-width solid transparent; 10 | @include border-radius($alert-border-radius); 11 | } 12 | 13 | // Headings for larger alerts 14 | .alert-heading { 15 | // Specified to prevent conflicts of changing $headings-color 16 | color: inherit; 17 | } 18 | 19 | // Provide class for links that match alerts 20 | .alert-link { 21 | font-weight: $alert-link-font-weight; 22 | } 23 | 24 | 25 | // Dismissible alerts 26 | // 27 | // Expand the right padding and account for the close button's positioning. 28 | 29 | .alert-dismissible { 30 | // Adjust close link position 31 | .close { 32 | position: absolute; 33 | top: 0; 34 | right: 0; 35 | padding: $alert-padding-y $alert-padding-x; 36 | color: inherit; 37 | } 38 | } 39 | 40 | 41 | // Alternate styles 42 | // 43 | // Generate contextual modifier classes for colorizing the alert. 44 | 45 | @each $color, $value in $theme-colors { 46 | .alert-#{$color} { 47 | @include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6)); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /codesniffer.ruleset.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | A custom set of code standard rules to check for WordPress themes. 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 0 27 | 28 | 29 | -------------------------------------------------------------------------------- /woocommerce/cart/cart-empty.php: -------------------------------------------------------------------------------- 1 | 0 ) : ?> 31 |

32 | 33 | 34 | 35 |

36 | 37 | -------------------------------------------------------------------------------- /woocommerce/global/wrapper-start.php: -------------------------------------------------------------------------------- 1 |
'; 29 | } else { 30 | echo '
'; 31 | } 32 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_hover.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable indentation 2 | @mixin hover { 3 | // TODO: re-enable along with mq4-hover-shim 4 | // @if $enable-hover-media-query { 5 | // // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover 6 | // // Currently shimmed by https://github.com/twbs/mq4-hover-shim 7 | // @media (hover: hover) { 8 | // &:hover { @content } 9 | // } 10 | // } 11 | // @else { 12 | &:hover { @content; } 13 | // } 14 | } 15 | 16 | 17 | @mixin hover-focus { 18 | @if $enable-hover-media-query { 19 | &:focus { 20 | @content; 21 | } 22 | @include hover { @content; } 23 | } @else { 24 | &:focus, 25 | &:hover { 26 | @content; 27 | } 28 | } 29 | } 30 | 31 | @mixin plain-hover-focus { 32 | @if $enable-hover-media-query { 33 | &, 34 | &:focus { 35 | @content; 36 | } 37 | @include hover { @content; } 38 | } @else { 39 | &, 40 | &:focus, 41 | &:hover { 42 | @content; 43 | } 44 | } 45 | } 46 | 47 | @mixin hover-focus-active { 48 | @if $enable-hover-media-query { 49 | &:focus, 50 | &:active { 51 | @content; 52 | } 53 | @include hover { @content; } 54 | } @else { 55 | &:focus, 56 | &:active, 57 | &:hover { 58 | @content; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /loop-templates/content-gallery.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 55 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | 18 | 19 | // Retina image 20 | // 21 | // Short retina mixin for setting background-image and -size. 22 | 23 | // stylelint-disable indentation, media-query-list-comma-newline-after 24 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { 25 | background-image: url($file-1x); 26 | 27 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, 28 | // but doesn't convert dppx=>dpi. 29 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. 30 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution 31 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx 32 | only screen and (min-resolution: 2dppx) { // Standardized 33 | background-image: url($file-2x); 34 | background-size: $width-1x $height-1x; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /woocommerce/myaccount/navigation.php: -------------------------------------------------------------------------------- 1 | 25 | 26 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /loop-templates/content-none.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 | 19 | 20 |
21 | 22 | 24 | 25 |

Get started here.', 'understrap' ), array( 26 | 'a' => array( 27 | 'href' => array(), 28 | ), 29 | ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?>

30 | 31 | 32 | 33 |

34 | 37 | 38 |

39 | 42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_images.scss: -------------------------------------------------------------------------------- 1 | // Responsive images (ensure images don't scale beyond their parents) 2 | // 3 | // This is purposefully opt-in via an explicit class rather than being the default for all ``s. 4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2, 5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) 6 | // which weren't expecting the images within themselves to be involuntarily resized. 7 | // See also https://github.com/twbs/bootstrap/issues/18178 8 | .img-fluid { 9 | @include img-fluid; 10 | } 11 | 12 | 13 | // Image thumbnails 14 | .img-thumbnail { 15 | padding: $thumbnail-padding; 16 | background-color: $thumbnail-bg; 17 | border: $thumbnail-border-width solid $thumbnail-border-color; 18 | @include border-radius($thumbnail-border-radius); 19 | @include transition($thumbnail-transition); 20 | @include box-shadow($thumbnail-box-shadow); 21 | 22 | // Keep them at most 100% wide 23 | @include img-fluid; 24 | } 25 | 26 | // 27 | // Figures 28 | // 29 | 30 | .figure { 31 | // Ensures the caption's text aligns with the image. 32 | display: inline-block; 33 | } 34 | 35 | .figure-img { 36 | margin-bottom: ($spacer / 2); 37 | line-height: 1; 38 | } 39 | 40 | .figure-caption { 41 | font-size: $figure-caption-font-size; 42 | color: $figure-caption-color; 43 | } 44 | -------------------------------------------------------------------------------- /page-templates/right-sidebarpage.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
15 | 16 |
17 | 18 |
19 | 20 |
23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 36 | 37 | 38 | 39 |
40 | 41 |
42 | 43 | 44 | 45 |
46 | 47 |
48 | 49 |
50 | 51 | 52 | -------------------------------------------------------------------------------- /inc/jetpack.php: -------------------------------------------------------------------------------- 1 | 'main', 20 | 'render' => 'components_infinite_scroll_render', 21 | 'footer' => 'page', 22 | ) ); 23 | 24 | // Add theme support for Responsive Videos. 25 | add_theme_support( 'jetpack-responsive-videos' ); 26 | 27 | // Add theme support for Social Menus 28 | add_theme_support( 'jetpack-social-menu' ); 29 | 30 | } 31 | add_action( 'after_setup_theme', 'components_jetpack_setup' ); 32 | 33 | /** 34 | * Custom render function for Infinite Scroll. 35 | */ 36 | function components_infinite_scroll_render() { 37 | while ( have_posts() ) { 38 | the_post(); 39 | if ( is_search() ) : 40 | get_template_part( 'loop-templates/content', 'search' ); 41 | else : 42 | get_template_part( 'loop-templates/content', get_post_format() ); 43 | endif; 44 | } 45 | } 46 | 47 | function components_social_menu() { 48 | if ( ! function_exists( 'jetpack_social_menu' ) ) { 49 | return; 50 | } else { 51 | jetpack_social_menu(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 5 | margin-bottom: $breadcrumb-margin-bottom; 6 | list-style: none; 7 | background-color: $breadcrumb-bg; 8 | @include border-radius($border-radius); 9 | } 10 | 11 | .breadcrumb-item { 12 | // The separator between breadcrumbs (by default, a forward-slash: "/") 13 | + .breadcrumb-item::before { 14 | display: inline-block; // Suppress underlining of the separator in modern browsers 15 | padding-right: $breadcrumb-item-padding; 16 | padding-left: $breadcrumb-item-padding; 17 | color: $breadcrumb-divider-color; 18 | content: "#{$breadcrumb-divider}"; 19 | } 20 | 21 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built 22 | // without `
    `s. The `::before` pseudo-element generates an element 23 | // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. 24 | // 25 | // To trick IE into suppressing the underline, we give the pseudo-element an 26 | // underline and then immediately remove it. 27 | + .breadcrumb-item:hover::before { 28 | text-decoration: underline; 29 | } 30 | // stylelint-disable-next-line no-duplicate-selectors 31 | + .breadcrumb-item:hover::before { 32 | text-decoration: none; 33 | } 34 | 35 | &.active { 36 | color: $breadcrumb-active-color; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /inc/security.php: -------------------------------------------------------------------------------- 1 | ERROR: Stop guessing!'; 41 | } 42 | } // endif function_exists( 'show_less_login_info' ). 43 | 44 | add_filter( 'login_errors', 'show_less_login_info' ); 45 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_borders.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Border 5 | // 6 | 7 | .border { border: $border-width solid $border-color !important; } 8 | .border-0 { border: 0 !important; } 9 | .border-top-0 { border-top: 0 !important; } 10 | .border-right-0 { border-right: 0 !important; } 11 | .border-bottom-0 { border-bottom: 0 !important; } 12 | .border-left-0 { border-left: 0 !important; } 13 | 14 | @each $color, $value in $theme-colors { 15 | .border-#{$color} { 16 | border-color: $value !important; 17 | } 18 | } 19 | 20 | .border-white { 21 | border-color: $white !important; 22 | } 23 | 24 | // 25 | // Border-radius 26 | // 27 | 28 | .rounded { 29 | border-radius: $border-radius !important; 30 | } 31 | .rounded-top { 32 | border-top-left-radius: $border-radius !important; 33 | border-top-right-radius: $border-radius !important; 34 | } 35 | .rounded-right { 36 | border-top-right-radius: $border-radius !important; 37 | border-bottom-right-radius: $border-radius !important; 38 | } 39 | .rounded-bottom { 40 | border-bottom-right-radius: $border-radius !important; 41 | border-bottom-left-radius: $border-radius !important; 42 | } 43 | .rounded-left { 44 | border-top-left-radius: $border-radius !important; 45 | border-bottom-left-radius: $border-radius !important; 46 | } 47 | 48 | .rounded-circle { 49 | border-radius: 50% !important; 50 | } 51 | 52 | .rounded-0 { 53 | border-radius: 0 !important; 54 | } 55 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_display.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Utilities for common `display` values 5 | // 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | .d#{$infix}-none { display: none !important; } 12 | .d#{$infix}-inline { display: inline !important; } 13 | .d#{$infix}-inline-block { display: inline-block !important; } 14 | .d#{$infix}-block { display: block !important; } 15 | .d#{$infix}-table { display: table !important; } 16 | .d#{$infix}-table-row { display: table-row !important; } 17 | .d#{$infix}-table-cell { display: table-cell !important; } 18 | .d#{$infix}-flex { display: flex !important; } 19 | .d#{$infix}-inline-flex { display: inline-flex !important; } 20 | } 21 | } 22 | 23 | 24 | // 25 | // Utilities for toggling `display` in print 26 | // 27 | 28 | .d-print-block { 29 | display: none !important; 30 | 31 | @media print { 32 | display: block !important; 33 | } 34 | } 35 | 36 | .d-print-inline { 37 | display: none !important; 38 | 39 | @media print { 40 | display: inline !important; 41 | } 42 | } 43 | 44 | .d-print-inline-block { 45 | display: none !important; 46 | 47 | @media print { 48 | display: inline-block !important; 49 | } 50 | } 51 | 52 | .d-print-none { 53 | @media print { 54 | display: none !important; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /woocommerce/single-product/add-to-cart/variation-add-to-cart-button.php: -------------------------------------------------------------------------------- 1 | 16 |
    17 | apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ), 25 | 'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ), 26 | 'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : $product->get_min_purchase_quantity(), 27 | ) ); 28 | 29 | /** 30 | * @since 3.0.0. 31 | */ 32 | do_action( 'woocommerce_after_add_to_cart_quantity' ); 33 | ?> 34 | 35 | 36 | 37 | 38 |
    39 | -------------------------------------------------------------------------------- /single.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
    14 | 15 |
    16 | 17 |
    18 | 19 | 20 | 21 | 22 |
    23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 |
    42 | 43 |
    44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
    53 | 54 |
    55 | 56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /woocommerce/product-searchform.php: -------------------------------------------------------------------------------- 1 | 24 | 34 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "understrap", 3 | "version": "0.6.6", 4 | "description": "WordPress Theme framework", 5 | "main": "index.js", 6 | "scripts": { 7 | "postinstall": "gulp copy-assets" 8 | }, 9 | "engines": { 10 | "npm": ">=2.1.8" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/holger1411/understrap.git" 15 | }, 16 | "keywords": [ 17 | "wordpress", 18 | "theme", 19 | "framework", 20 | "bootstrap", 21 | "underscores" 22 | ], 23 | "author": "Holger Koenemann", 24 | "license": "GPL-2.0", 25 | "bugs": { 26 | "url": "https://github.com/holger1411/understrap/issues" 27 | }, 28 | "homepage": "https://understrap.com", 29 | "dependencies": { 30 | "bootstrap": "4.0.0-beta.2", 31 | "browser-sync": "^2.18.13", 32 | "del": "^3.0.0", 33 | "font-awesome": "^4.7.0", 34 | "gulp": "^3.9.1", 35 | "gulp-clean-css": "^3.9.0", 36 | "gulp-clone": "^1.0.0", 37 | "gulp-concat": "^2.6.1", 38 | "gulp-cssnano": "^2.1.2", 39 | "gulp-ignore": "^2.0.2", 40 | "gulp-imagemin": "^3.4.0", 41 | "gulp-merge": "^0.1.1", 42 | "gulp-plumber": "^1.1.0", 43 | "gulp-rename": "^1.2.2", 44 | "gulp-rimraf": "^0.2.1", 45 | "gulp-sass": "^3.1.0", 46 | "gulp-sequence": "^0.4.6", 47 | "gulp-sourcemaps": "2.6.1", 48 | "gulp-uglify": "^3.0.0", 49 | "gulp-watch": "^4.3.11", 50 | "jquery": "3.2.1", 51 | "merge2": "^1.2.0", 52 | "popper.js": "^1.12.6", 53 | "run-sequence": "^2.2.0", 54 | "undescores-for-npm": "^1.0.0" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /page-templates/fullwidthpage.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 |
17 |
18 |

19 |
20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 44 | 45 | 46 | 47 |
48 | 49 |
50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 | 58 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_text.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Text 5 | // 6 | 7 | // Alignment 8 | 9 | .text-justify { text-align: justify !important; } 10 | .text-nowrap { white-space: nowrap !important; } 11 | .text-truncate { @include text-truncate; } 12 | 13 | // Responsive alignment 14 | 15 | @each $breakpoint in map-keys($grid-breakpoints) { 16 | @include media-breakpoint-up($breakpoint) { 17 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 18 | 19 | .text#{$infix}-left { text-align: left !important; } 20 | .text#{$infix}-right { text-align: right !important; } 21 | .text#{$infix}-center { text-align: center !important; } 22 | } 23 | } 24 | 25 | // Transformation 26 | 27 | .text-lowercase { text-transform: lowercase !important; } 28 | .text-uppercase { text-transform: uppercase !important; } 29 | .text-capitalize { text-transform: capitalize !important; } 30 | 31 | // Weight and italics 32 | 33 | .font-weight-light { font-weight: $font-weight-light !important; } 34 | .font-weight-normal { font-weight: $font-weight-normal !important; } 35 | .font-weight-bold { font-weight: $font-weight-bold !important; } 36 | .font-italic { font-style: italic !important; } 37 | 38 | // Contextual colors 39 | 40 | .text-white { color: #fff !important; } 41 | 42 | @each $color, $value in $theme-colors { 43 | @include text-emphasis-variant(".text-#{$color}", $value); 44 | } 45 | 46 | .text-muted { color: $text-muted !important; } 47 | 48 | // Misc 49 | 50 | .text-hide { 51 | @include text-hide(); 52 | } 53 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_code.scss: -------------------------------------------------------------------------------- 1 | // Inline and block code styles 2 | code, 3 | kbd, 4 | pre, 5 | samp { 6 | font-family: $font-family-monospace; 7 | } 8 | 9 | // Inline code 10 | code { 11 | padding: $code-padding-y $code-padding-x; 12 | font-size: $code-font-size; 13 | color: $code-color; 14 | background-color: $code-bg; 15 | @include border-radius($border-radius); 16 | 17 | // Streamline the style when inside anchors to avoid broken underline and more 18 | a > & { 19 | padding: 0; 20 | color: inherit; 21 | background-color: inherit; 22 | } 23 | } 24 | 25 | // User input typically entered via keyboard 26 | kbd { 27 | padding: $code-padding-y $code-padding-x; 28 | font-size: $code-font-size; 29 | color: $kbd-color; 30 | background-color: $kbd-bg; 31 | @include border-radius($border-radius-sm); 32 | @include box-shadow($kbd-box-shadow); 33 | 34 | kbd { 35 | padding: 0; 36 | font-size: 100%; 37 | font-weight: $nested-kbd-font-weight; 38 | @include box-shadow(none); 39 | } 40 | } 41 | 42 | // Blocks of code 43 | pre { 44 | display: block; 45 | margin-top: 0; 46 | margin-bottom: 1rem; 47 | font-size: $code-font-size; 48 | color: $pre-color; 49 | 50 | // Account for some code outputs that place code tags in pre tags 51 | code { 52 | padding: 0; 53 | font-size: inherit; 54 | color: inherit; 55 | background-color: transparent; 56 | border-radius: 0; 57 | } 58 | } 59 | 60 | // Enable scrollable blocks of code 61 | .pre-scrollable { 62 | max-height: $pre-scrollable-max-height; 63 | overflow-y: scroll; 64 | } 65 | -------------------------------------------------------------------------------- /woocommerce/single-product/rating.php: -------------------------------------------------------------------------------- 1 | get_rating_count(); 30 | $review_count = $product->get_review_count(); 31 | $average = $product->get_average_rating(); 32 | 33 | if ( $rating_count > 0 ) : ?> 34 | 35 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /woocommerce/loop/add-to-cart.php: -------------------------------------------------------------------------------- 1 | %s
', 25 | esc_url( $product->add_to_cart_url() ), 26 | esc_attr( $product->get_id() ), 27 | esc_attr( $product->get_sku() ), 28 | esc_attr( isset( $quantity ) ? $quantity : 1 ), 29 | $product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '', 30 | esc_attr( $product->get_type() ), 31 | $product->get_type() == 'simple' ? 'ajax_add_to_cart' : '', 32 | esc_html( $product->add_to_cart_text() ) 33 | ), 34 | $product ); 35 | -------------------------------------------------------------------------------- /inc/custom-header.php: -------------------------------------------------------------------------------- 1 | get_parent_theme_file_uri( '/img/header.jpg' ), 29 | 'width' => 2000, 30 | 'height' => 1200, 31 | 'flex-height' => true, 32 | ) ) ); 33 | 34 | register_default_headers( array( 35 | 'default-image' => array( 36 | 'url' => '%s/img/header.jpg', 37 | 'thumbnail_url' => '%s/img/header.jpg', 38 | 'description' => __( 'Default Header Image', 'understrap' ), 39 | ), 40 | ) ); 41 | } 42 | add_action( 'after_setup_theme', 'understrap_custom_header_setup' ); 43 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_spacing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Margin and Padding 4 | 5 | @each $breakpoint in map-keys($grid-breakpoints) { 6 | @include media-breakpoint-up($breakpoint) { 7 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 8 | 9 | @each $prop, $abbrev in (margin: m, padding: p) { 10 | @each $size, $length in $spacers { 11 | 12 | .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } 13 | .#{$abbrev}t#{$infix}-#{$size}, 14 | .#{$abbrev}y#{$infix}-#{$size} { 15 | #{$prop}-top: $length !important; 16 | } 17 | .#{$abbrev}r#{$infix}-#{$size}, 18 | .#{$abbrev}x#{$infix}-#{$size} { 19 | #{$prop}-right: $length !important; 20 | } 21 | .#{$abbrev}b#{$infix}-#{$size}, 22 | .#{$abbrev}y#{$infix}-#{$size} { 23 | #{$prop}-bottom: $length !important; 24 | } 25 | .#{$abbrev}l#{$infix}-#{$size}, 26 | .#{$abbrev}x#{$infix}-#{$size} { 27 | #{$prop}-left: $length !important; 28 | } 29 | } 30 | } 31 | 32 | // Some special margin utils 33 | .m#{$infix}-auto { margin: auto !important; } 34 | .mt#{$infix}-auto, 35 | .my#{$infix}-auto { 36 | margin-top: auto !important; 37 | } 38 | .mr#{$infix}-auto, 39 | .mx#{$infix}-auto { 40 | margin-right: auto !important; 41 | } 42 | .mb#{$infix}-auto, 43 | .my#{$infix}-auto { 44 | margin-bottom: auto !important; 45 | } 46 | .ml#{$infix}-auto, 47 | .mx#{$infix}-auto { 48 | margin-left: auto !important; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /page-templates/left-sidebarpage.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 |
17 |
18 |

19 |
20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 | 29 | 30 |
33 | 34 |
35 | 36 | 37 | 38 | 44 | 45 | 46 | 47 |
48 | 49 |
50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 | 58 | -------------------------------------------------------------------------------- /woocommerce/loop/orderby.php: -------------------------------------------------------------------------------- 1 | 24 |
25 | 30 | $val ) { 33 | if ( 'orderby' === $key || 'submit' === $key ) { 34 | continue; 35 | } 36 | if ( is_array( $val ) ) { 37 | foreach( $val as $innerVal ) { 38 | echo ''; 39 | } 40 | } else { 41 | echo ''; 42 | } 43 | } 44 | ?> 45 |
46 | -------------------------------------------------------------------------------- /woocommerce/checkout/form-coupon.php: -------------------------------------------------------------------------------- 1 | cart->applied_coupons ) ) { 28 | $info_message = apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' ' . __( 'Click here to enter your code', 'woocommerce' ) . '' ); 29 | wc_print_notice( $info_message, 'notice' ); 30 | } 31 | ?> 32 | 33 | 45 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: flex; 3 | @include list-unstyled(); 4 | @include border-radius(); 5 | } 6 | 7 | .page-item { 8 | &:first-child { 9 | .page-link { 10 | margin-left: 0; 11 | @include border-left-radius($border-radius); 12 | } 13 | } 14 | &:last-child { 15 | .page-link { 16 | @include border-right-radius($border-radius); 17 | } 18 | } 19 | 20 | &.active .page-link { 21 | z-index: 2; 22 | color: $pagination-active-color; 23 | background-color: $pagination-active-bg; 24 | border-color: $pagination-active-border-color; 25 | } 26 | 27 | &.disabled .page-link { 28 | color: $pagination-disabled-color; 29 | pointer-events: none; 30 | background-color: $pagination-disabled-bg; 31 | border-color: $pagination-disabled-border-color; 32 | } 33 | } 34 | 35 | .page-link { 36 | position: relative; 37 | display: block; 38 | padding: $pagination-padding-y $pagination-padding-x; 39 | margin-left: -$pagination-border-width; 40 | line-height: $pagination-line-height; 41 | color: $pagination-color; 42 | background-color: $pagination-bg; 43 | border: $pagination-border-width solid $pagination-border-color; 44 | 45 | @include hover-focus { 46 | color: $pagination-hover-color; 47 | text-decoration: none; 48 | background-color: $pagination-hover-bg; 49 | border-color: $pagination-hover-border-color; 50 | } 51 | } 52 | 53 | 54 | // 55 | // Sizing 56 | // 57 | 58 | .pagination-lg { 59 | @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); 60 | } 61 | 62 | .pagination-sm { 63 | @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); 64 | } 65 | -------------------------------------------------------------------------------- /sass/theme/_contact-form7.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Use existing Bootstrap 4 classes and 3 | * variables to extend - override CF7 style 4 | * 5 | * Useful CF7 classes: 6 | * .wpcf7 the wrapper element 7 | * .wpcf7-form 8 | * .wpcf7-form-control 9 | * .wpcf7-text 10 | * .wpcf7-email 11 | * .wpcf7-textarea 12 | * .wpcf7-submit 13 | */ 14 | 15 | // keep a max width in case it is just the form and nothing else 16 | // we do not want a form spanning whole page 17 | .wpcf7 { 18 | max-width: 600px; 19 | margin: 0 auto !important; 20 | 21 | // all inputs except radios and checkboxes inherit from form-control 22 | input[type=text], 23 | input[type=search], 24 | input[type=url], 25 | input[type=tel], 26 | input[type=number], 27 | input[type=range], 28 | input[type=date], 29 | input[type=month], 30 | input[type=week], 31 | input[type=time], 32 | input[type=datetime], 33 | input[type=datetime-local], 34 | input[type=color], 35 | input[type=email], 36 | input[type=file], 37 | input[type=submit], 38 | select, 39 | textarea { 40 | @extend .form-control; 41 | } 42 | 43 | // submit button, inherit .btn and .btn-outline-primary classes. 44 | input[type=submit] { 45 | @extend .btn; 46 | @extend .btn-outline-primary; 47 | } 48 | 49 | .wpcf7-form { 50 | 51 | // set paragraphs to behave like divs with class .form-group 52 | p { 53 | @extend .form-group; 54 | } 55 | 56 | // let labels be 100% 57 | label { 58 | width: 100%; 59 | } 60 | } 61 | 62 | // not valid tip for each control 63 | .wpcf7-not-valid-tip { 64 | color: theme-color("danger"); 65 | } 66 | 67 | // validation errors ourput bottom of form 68 | .wpcf7-validation-errors { 69 | @extend .form-control; 70 | color: theme-color("danger"); 71 | border: 1px solid $gray-200; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /woocommerce/myaccount/downloads.php: -------------------------------------------------------------------------------- 1 | customer->get_downloadable_products(); 26 | $has_downloads = (bool) $downloads; 27 | 28 | do_action( 'woocommerce_before_account_downloads', $has_downloads ); ?> 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 | 41 | 42 | 43 | 44 |
45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_grid.scss: -------------------------------------------------------------------------------- 1 | /// Grid system 2 | // 3 | // Generate semantic grid columns with these mixins. 4 | 5 | @mixin make-container() { 6 | width: 100%; 7 | padding-right: ($grid-gutter-width / 2); 8 | padding-left: ($grid-gutter-width / 2); 9 | margin-right: auto; 10 | margin-left: auto; 11 | } 12 | 13 | 14 | // For each breakpoint, define the maximum width of the container in a media query 15 | @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { 16 | @each $breakpoint, $container-max-width in $max-widths { 17 | @include media-breakpoint-up($breakpoint, $breakpoints) { 18 | max-width: $container-max-width; 19 | } 20 | } 21 | } 22 | 23 | @mixin make-row() { 24 | display: flex; 25 | flex-wrap: wrap; 26 | margin-right: ($grid-gutter-width / -2); 27 | margin-left: ($grid-gutter-width / -2); 28 | } 29 | 30 | @mixin make-col-ready() { 31 | position: relative; 32 | // Prevent columns from becoming too narrow when at smaller grid tiers by 33 | // always setting `width: 100%;`. This works because we use `flex` values 34 | // later on to override this initial width. 35 | width: 100%; 36 | min-height: 1px; // Prevent collapsing 37 | padding-right: ($grid-gutter-width / 2); 38 | padding-left: ($grid-gutter-width / 2); 39 | } 40 | 41 | @mixin make-col($size, $columns: $grid-columns) { 42 | flex: 0 0 percentage($size / $columns); 43 | // Add a `max-width` to ensure content within each column does not blow out 44 | // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari 45 | // do not appear to require this. 46 | max-width: percentage($size / $columns); 47 | } 48 | 49 | @mixin make-col-offset($size, $columns: $grid-columns) { 50 | $num: $size / $columns; 51 | margin-left: if($num == 0, 0, percentage($num)); 52 | } 53 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: writing 3 | Theme URI: http://qingzhuti.com/theme/wirting 4 | Author: mxy 5 | Author URI: http://qingzhuti.com/ 6 | GitHub Theme URI: sieon/writing 7 | Description: 这是一个简洁的WordPress博客主题,为专注写作而设计。 8 | That downloads everything and moves it in place so that you can recompile your CSS and JS files; 9 | A developer version (with Gulp/node and Sass sources) is available on gitHub: https://github.com/holger1411/understrap 10 | A child theme is available on Github, too: https://github.com/holger1411/understrap-child; 11 | Version: 0.8.1 12 | License: GNU General Public License v2 or later 13 | License URI: http://www.gnu.org/licenses/gpl-2.0.html 14 | Text Domain: understrap 15 | Tags: one-column, custom-menu, featured-images, theme-options, translation-ready 16 | 17 | This theme, like WordPress, is licensed under the GPL. 18 | UnderStrap is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc. 19 | 20 | Resource Licenses: 21 | Font Awesome: http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 22 | Bootstrap: http://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (Code licensed under MIT, documentation under CC BY 3.0.) 23 | Owl Carousel 2: http://www.owlcarousel.owlgraphic.com/ | https://github.com/smashingboxes/OwlCarousel2/blob/develop/LICENSE (Code licensed under MIT) 24 | and of course 25 | jQuery: https://jquery.org | (Code licensed under MIT) 26 | WP Bootstrap Navwalker by Edward McIntyre: https://github.com/twittem/wp-bootstrap-navwalker | GNU GPL 27 | */ 28 | 29 | /* 30 | This file is just used to identify the theme in WordPress. 31 | The compiled CSS output can be found in /css/theme.css 32 | The SASS sources for it can be found in /sass/ 33 | The dependencies can be found in /src/ after running "gulp copy-assets" terminal command 34 | 35 | ...and now go out and play! 36 | */ 37 | -------------------------------------------------------------------------------- /woocommerce/global/quantity-input.php: -------------------------------------------------------------------------------- 1 | 25 | 28 | 31 |
32 | 33 | 34 |
35 | 'Lead Paragraph', 32 | 'selector' => 'p', 33 | 'classes' => 'lead', 34 | 'wrapper' => true 35 | ), 36 | array( 37 | 'title' => 'Small', 38 | 'inline' => 'small' 39 | ), 40 | array( 41 | 'title' => 'Blockquote', 42 | 'block' => 'blockquote', 43 | 'classes' => 'blockquote', 44 | 'wrapper' => true 45 | ), 46 | array( 47 | 'title' => 'Blockquote Footer', 48 | 'block' => 'footer', 49 | 'classes' => 'blockquote-footer', 50 | 'wrapper' => true 51 | ), 52 | array( 53 | 'title' => 'Cite', 54 | 'inline' => 'cite' 55 | ) 56 | ); 57 | 58 | if ( isset( $settings['style_formats'] ) ) { 59 | $orig_style_formats = json_decode($settings['style_formats'],true); 60 | $style_formats = array_merge($orig_style_formats,$style_formats); 61 | } 62 | 63 | $settings['style_formats'] = json_encode( $style_formats ); 64 | return $settings; 65 | } 66 | -------------------------------------------------------------------------------- /src/sass/underscores/navigation/_menus.scss: -------------------------------------------------------------------------------- 1 | .main-navigation { 2 | clear: both; 3 | display: block; 4 | float: left; 5 | width: 100%; 6 | 7 | ul { 8 | display: none; 9 | list-style: none; 10 | margin: 0; 11 | padding-left: 0; 12 | 13 | ul { 14 | box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); 15 | float: left; 16 | position: absolute; 17 | top: 1.5em; 18 | left: -999em; 19 | z-index: 99999; 20 | 21 | ul { 22 | left: -999em; 23 | top: 0; 24 | } 25 | 26 | li { 27 | &:hover > ul, 28 | &.focus > ul { 29 | left: 100%; 30 | } 31 | } 32 | 33 | a { 34 | width: 200px; 35 | } 36 | 37 | :hover > a, 38 | .focus > a { 39 | } 40 | 41 | a:hover, 42 | a.focus { 43 | } 44 | } 45 | 46 | li:hover > ul, 47 | li.focus > ul { 48 | left: auto; 49 | } 50 | } 51 | 52 | li { 53 | float: left; 54 | position: relative; 55 | 56 | &:hover > a, 57 | &.focus > a { 58 | } 59 | } 60 | 61 | a { 62 | display: block; 63 | text-decoration: none; 64 | } 65 | 66 | .current_page_item > a, 67 | .current-menu-item > a, 68 | .current_page_ancestor > a, 69 | .current-menu-ancestor > a { 70 | } 71 | } 72 | 73 | /* Small menu. */ 74 | .menu-toggle, 75 | .main-navigation.toggled ul { 76 | display: block; 77 | } 78 | 79 | @media screen and (min-width: 37.5em) { 80 | .menu-toggle { 81 | display: none; 82 | } 83 | .main-navigation ul { 84 | display: block; 85 | } 86 | } 87 | 88 | .comment-navigation, 89 | .posts-navigation, 90 | .post-navigation { 91 | 92 | .site-main & { 93 | margin: 0 0 1.5em; 94 | overflow: hidden; 95 | } 96 | 97 | .nav-previous { 98 | float: left; 99 | width: 50%; 100 | } 101 | 102 | .nav-next { 103 | float: right; 104 | text-align: right; 105 | width: 50%; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 48 | 49 |
50 | 51 | 52 | 53 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /src/sass/fontawesome/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /page-templates/both-sidebarspage.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 |
17 |
18 |

19 |
20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 | 29 | 30 |
37 | 38 |
39 | 40 | 41 | 42 | 48 | 49 | 50 | 51 |
52 | 53 |
54 | 55 | 56 | 57 |
58 | 59 |
60 | 61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /sass/assets/bootstrap4.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.0.0-beta (https://getbootstrap.com) 3 | * Copyright 2011-2017 The Bootstrap Authors 4 | * Copyright 2011-2017 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @import "../../src/sass/bootstrap4/functions"; 9 | @import "../../src/sass/bootstrap4/variables"; 10 | @import "../../src/sass/bootstrap4/mixins"; 11 | @import "../../src/sass/bootstrap4/print"; 12 | @import "../../src/sass/bootstrap4/reboot"; 13 | @import "../../src/sass/bootstrap4/type"; 14 | @import "../../src/sass/bootstrap4/images"; 15 | @import "../../src/sass/bootstrap4/code"; 16 | @import "../../src/sass/bootstrap4/grid"; 17 | @import "../../src/sass/bootstrap4/tables"; 18 | @import "../../src/sass/bootstrap4/forms"; 19 | @import "../../src/sass/bootstrap4/buttons"; 20 | @import "../../src/sass/bootstrap4/transitions"; 21 | @import "../../src/sass/bootstrap4/dropdown"; 22 | @import "../../src/sass/bootstrap4/button-group"; 23 | @import "../../src/sass/bootstrap4/input-group"; 24 | @import "../../src/sass/bootstrap4/custom-forms"; 25 | @import "../../src/sass/bootstrap4/nav"; 26 | @import "../../src/sass/bootstrap4/navbar"; 27 | @import "../../src/sass/bootstrap4/card"; 28 | @import "../../src/sass/bootstrap4/breadcrumb"; 29 | @import "../../src/sass/bootstrap4/pagination"; 30 | @import "../../src/sass/bootstrap4/badge"; 31 | @import "../../src/sass/bootstrap4/jumbotron"; 32 | @import "../../src/sass/bootstrap4/alert"; 33 | @import "../../src/sass/bootstrap4/progress"; 34 | @import "../../src/sass/bootstrap4/media"; 35 | //@import "../../src/sass/bootstrap4/list-group"; 36 | @import "../../src/sass/bootstrap4/close"; 37 | @import "../../src/sass/bootstrap4/modal"; 38 | @import "../../src/sass/bootstrap4/tooltip"; 39 | @import "../../src/sass/bootstrap4/popover"; 40 | @import "../../src/sass/bootstrap4/carousel"; 41 | @import "../../src/sass/bootstrap4/utilities"; 42 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | 19 | 20 |
21 |
22 |

23 |
24 |
25 | 26 |
27 | 28 |
29 | 30 |
31 | 32 | 33 | 34 | 35 |
36 | 37 | 38 | 39 | 45 | 46 | 47 | 48 |
49 | 50 |
51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
60 | 61 |
62 | 63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /woocommerce/myaccount/form-lost-password.php: -------------------------------------------------------------------------------- 1 | 24 | 25 |
26 | 27 |

28 | 29 |

30 | 31 | 32 |

33 | 34 |
35 | 36 | 37 | 38 |

39 | 40 | 41 |

42 | 43 | 44 | 45 |
46 | -------------------------------------------------------------------------------- /woocommerce.php: -------------------------------------------------------------------------------- 1 | 19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 | 27 | 28 | 29 |
30 | 31 | 52 | 53 |
54 | 55 |
56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 | 71 | -------------------------------------------------------------------------------- /functions.php: -------------------------------------------------------------------------------- 1 | get_gallery_image_ids(); 26 | 27 | if ( $attachment_ids && has_post_thumbnail() ) { 28 | foreach ( $attachment_ids as $attachment_id ) { 29 | $full_size_image = wp_get_attachment_image_src( $attachment_id, 'full' ); 30 | $thumbnail = wp_get_attachment_image_src( $attachment_id, 'shop_thumbnail' ); 31 | $attributes = array( 32 | 'title' => get_post_field( 'post_title', $attachment_id ), 33 | 'data-caption' => get_post_field( 'post_excerpt', $attachment_id ), 34 | 'data-src' => $full_size_image[0], 35 | 'data-large_image' => $full_size_image[0], 36 | 'data-large_image_width' => $full_size_image[1], 37 | 'data-large_image_height' => $full_size_image[2], 38 | ); 39 | 40 | $html = ''; 43 | 44 | echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $attachment_id ); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
15 | 16 |
17 | 18 |
19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 35 | 36 | 37 | 38 | 39 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |
57 | 58 | 59 | 60 | 61 |
62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
71 | 72 |
73 | 74 |
75 | 76 | 77 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_grid-framework.scss: -------------------------------------------------------------------------------- 1 | // Framework grid generation 2 | // 3 | // Used only by Bootstrap to generate the correct number of grid classes given 4 | // any value of `$grid-columns`. 5 | 6 | @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { 7 | // Common properties for all breakpoints 8 | %grid-column { 9 | position: relative; 10 | width: 100%; 11 | min-height: 1px; // Prevent columns from collapsing when empty 12 | padding-right: ($gutter / 2); 13 | padding-left: ($gutter / 2); 14 | } 15 | 16 | @each $breakpoint in map-keys($breakpoints) { 17 | $infix: breakpoint-infix($breakpoint, $breakpoints); 18 | 19 | // Allow columns to stretch full width below their breakpoints 20 | @for $i from 1 through $columns { 21 | .col#{$infix}-#{$i} { 22 | @extend %grid-column; 23 | } 24 | } 25 | .col#{$infix}, 26 | .col#{$infix}-auto { 27 | @extend %grid-column; 28 | } 29 | 30 | @include media-breakpoint-up($breakpoint, $breakpoints) { 31 | // Provide basic `.col-{bp}` classes for equal-width flexbox columns 32 | .col#{$infix} { 33 | flex-basis: 0; 34 | flex-grow: 1; 35 | max-width: 100%; 36 | } 37 | .col#{$infix}-auto { 38 | flex: 0 0 auto; 39 | width: auto; 40 | max-width: none; // Reset earlier grid tiers 41 | } 42 | 43 | @for $i from 1 through $columns { 44 | .col#{$infix}-#{$i} { 45 | @include make-col($i, $columns); 46 | } 47 | } 48 | 49 | .order#{$infix}-first { 50 | order: -1; 51 | } 52 | 53 | @for $i from 1 through $columns { 54 | .order#{$infix}-#{$i} { 55 | order: $i; 56 | } 57 | } 58 | 59 | // `$columns - 1` because offsetting by the width of an entire row isn't possible 60 | @for $i from 0 through ($columns - 1) { 61 | @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 62 | .offset#{$infix}-#{$i} { 63 | @include make-col-offset($i, $columns); 64 | } 65 | } 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/mixins/_gradients.scss: -------------------------------------------------------------------------------- 1 | // Gradients 2 | 3 | @mixin gradient-bg($color) { 4 | @if $enable-gradients { 5 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; 6 | } @else { 7 | background-color: $color; 8 | } 9 | } 10 | 11 | // Horizontal gradient, from left to right 12 | // 13 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 14 | @mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { 15 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); 16 | background-repeat: repeat-x; 17 | } 18 | 19 | // Vertical gradient, from top to bottom 20 | // 21 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 22 | @mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { 23 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); 24 | background-repeat: repeat-x; 25 | } 26 | 27 | @mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) { 28 | background-image: linear-gradient($deg, $start-color, $end-color); 29 | background-repeat: repeat-x; 30 | } 31 | @mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { 32 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); 33 | background-repeat: no-repeat; 34 | } 35 | @mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { 36 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); 37 | background-repeat: no-repeat; 38 | } 39 | @mixin gradient-radial($inner-color: #555, $outer-color: #333) { 40 | background-image: radial-gradient(circle, $inner-color, $outer-color); 41 | background-repeat: no-repeat; 42 | } 43 | @mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) { 44 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); 45 | } 46 | -------------------------------------------------------------------------------- /archive.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 17 | 18 |
19 |
20 | ', '' ); 22 | the_archive_description( '
', '
' ); 23 | ?> 24 |
25 |
26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |
62 | 63 | 64 | 65 | 66 |
67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
76 | 77 |
78 | 79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /loop-templates/widgets-posts/posts-style2.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
id="post-"> 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | ''] ); ?> 19 | 20 | 21 |
22 | 23 |
24 | 25 |
26 | 27 | ', esc_url( get_permalink() ) ), 28 | '' ); ?> 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 |
39 | 40 |
41 | 42 | 43 | 44 | '', 48 | ) ); 49 | ?> 50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 | 58 | 59 |
60 | 61 | ', esc_url( get_permalink() ) ), 62 | '' ); ?> 63 | 64 | 65 | 66 | 69 | 70 | 71 | 72 |
73 | 74 |
75 | 76 | 77 | 78 | '', 82 | ) ); 83 | ?> 84 | 85 |
86 | 87 | 88 | 89 |
90 | -------------------------------------------------------------------------------- /loop-templates/content.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 |
id="post-"> 13 | 14 | 15 |
16 | 17 | 26 | 27 |
28 | 29 |
30 | 31 | ', esc_url( get_permalink() ) ), 32 | '' ); ?> 33 | 34 |
35 | 36 |
37 | 38 | 39 | 40 | '', 44 | ) ); 45 | ?> 46 | 47 |
48 | 49 | 50 | 51 | 54 | 55 | 56 | 57 |
58 | 59 |
60 | 61 | 62 | 63 |
64 | 65 | ', esc_url( get_permalink() ) ), 66 | '' ); ?> 67 | 68 |
69 | 70 |
71 | 72 | 73 | 74 | '', 78 | ) ); 79 | ?> 80 | 81 |
82 | 83 | 84 | 85 |
86 | 87 |
88 | 89 | 90 | 91 | 92 | 93 |
94 | -------------------------------------------------------------------------------- /woocommerce/myaccount/form-reset-password.php: -------------------------------------------------------------------------------- 1 | 24 | 25 |
26 | 27 |

28 | 29 |

30 | 31 | 32 |

33 |

34 | 35 | 36 |

37 | 38 | 39 | 40 | 41 |
42 | 43 | 44 | 45 |

46 | 47 | 48 |

49 | 50 | 51 | 52 |
53 | -------------------------------------------------------------------------------- /woocommerce/checkout/form-checkout.php: -------------------------------------------------------------------------------- 1 | enable_signup && ! $checkout->enable_guest_checkout && ! is_user_logged_in() ) { 29 | echo apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ); 30 | return; 31 | } 32 | 33 | ?> 34 | 35 |
36 | 37 | checkout_fields ) > 0 ) : ?> 38 | 39 | 40 | 41 |
42 |
43 | 44 |
45 | 46 |
47 | 48 |
49 |
50 | 51 | 52 | 53 | 54 | 55 |

56 | 57 | 58 | 59 |
60 | 61 |
62 | 63 | 64 | 65 |
66 | 67 | 68 | -------------------------------------------------------------------------------- /woocommerce/single-product/add-to-cart/simple.php: -------------------------------------------------------------------------------- 1 | is_purchasable() ) { 25 | return; 26 | } 27 | 28 | echo wc_get_stock_html( $product ); 29 | 30 | if ( $product->is_in_stock() ) : ?> 31 | 32 | 33 | 34 |
35 | apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ), 48 | 'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ), 49 | 'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : $product->get_min_purchase_quantity(), 50 | ) ); 51 | 52 | /** 53 | * @since 3.0.0. 54 | */ 55 | do_action( 'woocommerce_after_add_to_cart_quantity' ); 56 | ?> 57 | 58 | 59 | 60 | 66 |
67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /woocommerce/global/form-login.php: -------------------------------------------------------------------------------- 1 | 28 |
> 29 | 30 | 31 | 32 | 33 | 34 |

35 | 36 | 37 |

38 |

39 | 40 | 41 |

42 |
43 | 44 | 45 | 46 |

47 | 48 | 49 | 50 | 53 |

54 |

55 | 56 |

57 | 58 |
59 | 60 | 61 | 62 |
63 | -------------------------------------------------------------------------------- /woocommerce/myaccount/form-edit-address.php: -------------------------------------------------------------------------------- 1 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 |

34 | 35 |
36 | 37 | 38 |
39 | $field ) { 41 | if ( isset( $field['country_field'], $address[ $field['country_field'] ] ) ) { 42 | $field['country'] = wc_get_post_data_by_key( $field['country_field'], $address[ $field['country_field'] ]['value'] ); 43 | } 44 | woocommerce_form_field( $key, $field, wc_get_post_data_by_key( $key, $field['value'] ) ); 45 | } 46 | ?> 47 |
48 | 49 | 50 | 51 |

52 | 53 | 54 | 55 |

56 |
57 | 58 |
59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 19 | 20 |
21 |
22 | ', '' ); 24 | the_archive_description( '
', '
' ); 25 | ?> 26 |
27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 | 35 | 36 | 37 | 38 |
39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
65 | 66 | 67 | 68 | 69 |
70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 | 80 |
81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/utilities/_flex.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Flex variation 4 | // 5 | // Custom styles for additional flex alignment options. 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | .flex#{$infix}-row { flex-direction: row !important; } 12 | .flex#{$infix}-column { flex-direction: column !important; } 13 | .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; } 14 | .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; } 15 | 16 | .flex#{$infix}-wrap { flex-wrap: wrap !important; } 17 | .flex#{$infix}-nowrap { flex-wrap: nowrap !important; } 18 | .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; } 19 | 20 | .justify-content#{$infix}-start { justify-content: flex-start !important; } 21 | .justify-content#{$infix}-end { justify-content: flex-end !important; } 22 | .justify-content#{$infix}-center { justify-content: center !important; } 23 | .justify-content#{$infix}-between { justify-content: space-between !important; } 24 | .justify-content#{$infix}-around { justify-content: space-around !important; } 25 | 26 | .align-items#{$infix}-start { align-items: flex-start !important; } 27 | .align-items#{$infix}-end { align-items: flex-end !important; } 28 | .align-items#{$infix}-center { align-items: center !important; } 29 | .align-items#{$infix}-baseline { align-items: baseline !important; } 30 | .align-items#{$infix}-stretch { align-items: stretch !important; } 31 | 32 | .align-content#{$infix}-start { align-content: flex-start !important; } 33 | .align-content#{$infix}-end { align-content: flex-end !important; } 34 | .align-content#{$infix}-center { align-content: center !important; } 35 | .align-content#{$infix}-between { align-content: space-between !important; } 36 | .align-content#{$infix}-around { align-content: space-around !important; } 37 | .align-content#{$infix}-stretch { align-content: stretch !important; } 38 | 39 | .align-self#{$infix}-auto { align-self: auto !important; } 40 | .align-self#{$infix}-start { align-self: flex-start !important; } 41 | .align-self#{$infix}-end { align-self: flex-end !important; } 42 | .align-self#{$infix}-center { align-self: center !important; } 43 | .align-self#{$infix}-baseline { align-self: baseline !important; } 44 | .align-self#{$infix}-stretch { align-self: stretch !important; } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /loop-templates/content-group.php: -------------------------------------------------------------------------------- 1 | 9 | 10 |
id="post-"> 11 | 12 | 13 |
14 | 15 | 24 | 25 |
26 | 27 |
28 | 29 | ', esc_url( get_permalink() ) ), 30 | '' ); ?> 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 |
41 | 42 |
43 | 44 | 45 | 46 | '', 50 | ) ); 51 | ?> 52 | 53 |
54 | 55 | 60 | 61 |
62 | 63 |
64 | 65 | 66 | 67 |
68 | 69 | 70 | 71 |
72 | 73 | ', esc_url( get_permalink() ) ), 74 | '' ); ?> 75 | 76 | 77 | 78 | 81 | 82 | 83 | 84 |
85 | 86 |
87 | 88 | 89 | 90 | '', 94 | ) ); 95 | ?> 96 | 97 |
98 | 99 |
100 | 101 | 102 | 103 |
104 | -------------------------------------------------------------------------------- /src/sass/bootstrap4/_nav.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Kickstart any navigation component with a set of style resets. Works with 4 | // `