From 654739eae091fd09cf4a8ad32d47bae0425aed6d Mon Sep 17 00:00:00 2001 From: Awilum Date: Wed, 15 Jan 2020 16:37:41 +0300 Subject: [PATCH] feat(core): Default theme - Moving to Tailwind CSS #356 --- .../themes/default/assets/scss/base/main.scss | 56 -------- .../assets/scss/components/footer.scss | 17 --- .../default/assets/scss/components/nav.scss | 38 ------ site/themes/default/assets/scss/default.scss | 24 ---- .../assets/scss/generic/variables.scss | 40 ------ .../assets/scss/objects/container.scss | 7 - site/themes/default/assets/src/base.css | 3 + site/themes/default/assets/src/headings.css | 23 ++++ site/themes/default/assets/src/styles.css | 5 + site/themes/default/gulpfile.js | 124 +++++++----------- site/themes/default/package.json | 34 +++-- site/themes/default/tailwind.config.js | 5 + .../default/templates/partials/base.html | 62 +++++---- 13 files changed, 143 insertions(+), 295 deletions(-) delete mode 100755 site/themes/default/assets/scss/base/main.scss delete mode 100644 site/themes/default/assets/scss/components/footer.scss delete mode 100644 site/themes/default/assets/scss/components/nav.scss delete mode 100755 site/themes/default/assets/scss/default.scss delete mode 100755 site/themes/default/assets/scss/generic/variables.scss delete mode 100644 site/themes/default/assets/scss/objects/container.scss create mode 100644 site/themes/default/assets/src/base.css create mode 100644 site/themes/default/assets/src/headings.css create mode 100644 site/themes/default/assets/src/styles.css create mode 100644 site/themes/default/tailwind.config.js diff --git a/site/themes/default/assets/scss/base/main.scss b/site/themes/default/assets/scss/base/main.scss deleted file mode 100755 index 0cf5a36c..00000000 --- a/site/themes/default/assets/scss/base/main.scss +++ /dev/null @@ -1,56 +0,0 @@ -// -// Main -// - -body, -html { - font-family: $base-font-family; - font-size: $base-font-size; - - height: 100%; - - color: black; - background: white; -} - -body, -button, -input, -p, -select, -textarea { - font-family: $base-font-family; - font-weight: 300; - - color: black; -} - -img { - max-width: 100%; -} - -a { - text-decoration: underline; - color: black; - - &:hover { - text-decoration: underline; - color: black; - } -} - -body, -p { - line-height: $base-line-height; -} - -pre { - background: #f0f0f0; - padding: 20px; -} - -h1 { - font-size: 60px; - margin-top: 20px; - margin-bottom: 30px; -} diff --git a/site/themes/default/assets/scss/components/footer.scss b/site/themes/default/assets/scss/components/footer.scss deleted file mode 100644 index 6f59a72b..00000000 --- a/site/themes/default/assets/scss/components/footer.scss +++ /dev/null @@ -1,17 +0,0 @@ -// -// Footer -// - -.powered { - padding-top: 30px; - padding-bottom: 30px; - text-transform: uppercase; - text-align: center; - font-size: 12px; - opacity: .7; - - > a { - opacity: .7; - text-decoration: none; - } -} diff --git a/site/themes/default/assets/scss/components/nav.scss b/site/themes/default/assets/scss/components/nav.scss deleted file mode 100644 index f46eb014..00000000 --- a/site/themes/default/assets/scss/components/nav.scss +++ /dev/null @@ -1,38 +0,0 @@ -// -// Nav -// - -.navbar { - padding: 0; -} - -.navbar-brand { - letter-spacing: 3px; - text-transform: uppercase; - text-decoration: none; -} - -.navbar-light { - .navbar-nav { - .nav-link { - text-decoration: none; - color: rgba(0,0,0,.5); - padding: 15px 25px; - border-bottom: 2px solid transparent; - border-top: 2px solid transparent; - } - } -} - -.navbar-light .navbar-nav .nav-link:focus, -.navbar-light .navbar-nav .nav-link:hover { - border-bottom: 2px solid #ccc; -} - -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.active, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .show > .nav-link { - color: rgba(0,0,0,1); - border-bottom: 2px solid #000; -} diff --git a/site/themes/default/assets/scss/default.scss b/site/themes/default/assets/scss/default.scss deleted file mode 100755 index 6d18b39a..00000000 --- a/site/themes/default/assets/scss/default.scss +++ /dev/null @@ -1,24 +0,0 @@ -// -// Simple Theme main SCSS -// (c) Sergey Romanenko -// - -// Generic -// Low-specificity, far-reaching rulesets -@import "generic/variables"; - -// Base -// Unclassed HTML elements -@import "base/main"; - -// Objects -// Abstractions, Objects and design patterns -@import "objects/container"; - -// Components -// Discrete, complete chunks of UI -@import "components/nav"; -@import "components/footer"; - -// Thumps -// High-specificity, very explicit selectors. Overrides and helper classes diff --git a/site/themes/default/assets/scss/generic/variables.scss b/site/themes/default/assets/scss/generic/variables.scss deleted file mode 100755 index 5930be07..00000000 --- a/site/themes/default/assets/scss/generic/variables.scss +++ /dev/null @@ -1,40 +0,0 @@ -// -// Variables -// - -// -// Base -// -$base-font-family: 'Roboto', sans-serif; -$base-font-color: #606060; -$base-font-size: 16px; -$base-line-height: 24px; - -// -// Colors Grayscale -// -$black: #000000; -$gray-darkest: lighten($black, 13.5%); -// #222222 -$gray-darker: lighten($black, 26.5%); -// #444444 -$gray-dark: lighten($black, 46.7%); -// #777777 -$gray: lighten($black, 66.5%); -// #aaaaaa -$gray-light: lighten($black, 87%); -// #dedede -$gray-lighter: lighten($black, 93.75%); // #efefef -$gray-lightest: lighten($black, 97.25%); // #f8f8f8 -$white: #ffffff; - -// -// Scaffolding -// -$body-bg: #f2f4f5; - -// -// Spacing -// -$base-spacing-unit: $base-font-size; -$half-spacing-unit: $base-spacing-unit / 2; \ No newline at end of file diff --git a/site/themes/default/assets/scss/objects/container.scss b/site/themes/default/assets/scss/objects/container.scss deleted file mode 100644 index 47ee3a99..00000000 --- a/site/themes/default/assets/scss/objects/container.scss +++ /dev/null @@ -1,7 +0,0 @@ -// -// Container -// - -.content { - padding-top: 40px; -} diff --git a/site/themes/default/assets/src/base.css b/site/themes/default/assets/src/base.css new file mode 100644 index 00000000..f37b3396 --- /dev/null +++ b/site/themes/default/assets/src/base.css @@ -0,0 +1,3 @@ +body { + @apply bg-white text-black text-base; +} diff --git a/site/themes/default/assets/src/headings.css b/site/themes/default/assets/src/headings.css new file mode 100644 index 00000000..c07d44ed --- /dev/null +++ b/site/themes/default/assets/src/headings.css @@ -0,0 +1,23 @@ +h1, h2, h3, h4, h5 { + @apply mb-8 font-bold; +} + +h1 { + @apply text-4xl; +} + +h2 { + @apply text-3xl; +} + +h3 { + @apply text-2xl; +} + +h4 { + @apply text-xl; +} + +h5 { + @apply text-lg; +} diff --git a/site/themes/default/assets/src/styles.css b/site/themes/default/assets/src/styles.css new file mode 100644 index 00000000..4ef36683 --- /dev/null +++ b/site/themes/default/assets/src/styles.css @@ -0,0 +1,5 @@ +@import "tailwindcss/base"; +@import "base"; +@import "headings"; +@import "tailwindcss/components"; +@import "tailwindcss/utilities"; diff --git a/site/themes/default/gulpfile.js b/site/themes/default/gulpfile.js index 6ebdda97..f18be46a 100755 --- a/site/themes/default/gulpfile.js +++ b/site/themes/default/gulpfile.js @@ -1,79 +1,55 @@ -// -// Flextype Gulp.js -// (c) Sergey Romanenko -// +const gulp = require('gulp'); +const tailwindConfig = "tailwind.config.js"; +const mainCSS = "assets/src/styles.css"; -const { series, src, dest } = require('gulp'); -const del = require('del'); -const csso = require('gulp-csso'); -const concat = require('gulp-concat'); -const sourcemaps = require('gulp-sourcemaps'); -const autoprefixer = require('gulp-autoprefixer'); -const sass = require('gulp-sass'); - -function moveBootstrapCss() { - return src('node_modules/bootstrap/dist/css/bootstrap.min.css') - .pipe(concat('1.min.css')) - .pipe(dest('assets/dist/css/tmp')); +/** + * Custom PurgeCSS Extractor + * https://github.com/FullHuman/purgecss + */ +class TailwindExtractor { + static extract(content) { + return content.match(/[\w-/:]+(? - -
-
{% block content %}{% endblock %}
-
+ +
+
{% block content %}{% endblock %}
+
{% block footer %} {{ tr('site_powered_by_flextype')|raw }} {% endblock %} -
+
- {% set build_js = base_url() ~ '/site/themes/' ~ registry.settings.theme ~ '/assets/dist/js/build.min.js' %} - {% do assets.add('js', build_js, 'site', 1) %} - {% for assets_site in assets.get('js', 'site') %} - {% for assets_by_priorities in assets_site %} - - {% endfor %} - {% endfor %} - {% do emitter.emit('onThemeTail') %}