first commit

This commit is contained in:
Bud Parr 2017-04-10 21:27:13 -04:00
commit 98bc281a57
No known key found for this signature in database
GPG key ID: ACA375160539D2B3
97 changed files with 8958 additions and 0 deletions

30
.gitignore vendored Normal file
View file

@ -0,0 +1,30 @@
# OS
.DS_Store
Thumbs.db
# IDEs
.buildpath
.project
.settings/
.build/
.idea/
public/
nbproject/
# Vagrant
.vagrant/
# FE Setup
.bin/node_modules/
/node_modules/
src/node_modules/
/npm-debug.log.*
/npm-debug.log
/npm-debug.log*
/dist/
/src/client.config.json
/styleguide/
/docs/
/junit.xml
partials/structure/stylesheet.html

6
404.html Executable file
View file

@ -0,0 +1,6 @@
{{ define "main" }}
<!-- TODO: Juice up the 404 page -->
404 page hee
{{ .Content }}
{{ end }}

20
LICENSE.md Executable file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2016 Bud Parr
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

7
archetypes/default.md Executable file
View file

@ -0,0 +1,7 @@
+++
title = ""
date = ""
tags = []
featured_image = ""
description = ""
+++

6
layouts/404.html Executable file
View file

@ -0,0 +1,6 @@
{{ define "main" }}
<main class="cf pa5 pa4-l f4 tc center measure-wide lh-copy gray">
<h1>Page not found</h1>
{{ .Content }}
</main>
{{ end }}

40
layouts/_default/baseof.html Executable file
View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="{{ with $.Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
{{/* NOTE: the Site's title, and if there is a page title, that is set too */}}
<title>{{ block "title" . }}{{ .Site.Title }} {{ with .Title }} | {{ . }}{{ end }}{{ end }}</title>
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
{{ .Hugo.Generator }}
{{/* NOTE: For Production make sure you add `HUGO_ENV="production"` before your build command */}}
{{ if eq (getenv "HUGO_ENV") "production" }}
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
{{ else }}
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
{{ end }}
<link href='/dist/main.css' rel='stylesheet' type="text/css" />
{{/* NOTE: These Hugo Internal Templates can be found starting at https://github.com/spf13/hugo/blob/master/tpl/tplimpl/template_embedded.go#L158 */}}
{{- template "_internal/opengraph.html" . -}}
{{- template "_internal/google_news.html" . -}}
{{- template "_internal/schema.html" . -}}
{{- template "_internal/twitter_cards.html" . -}}
{{ if eq (getenv "HUGO_ENV") "production" }}
{{ template "_internal/google_analytics_async.html" . }}
{{ end }}
</head>
<body class="sans-serif bg-near-white">
{{ block "header" . }}{{ partial "site-header.html" .}}{{ end }}
<main class="pb7" role="main">
{{ block "main" . }}{{ end }}
</main>
{{ block "footer" . }}{{ partial "site-footer.html" . }}{{ end }}
{{ block "scripts" . }}{{ partial "site-scripts.html" . }}{{ end }}
</body>
</html>

12
layouts/_default/list.html Executable file
View file

@ -0,0 +1,12 @@
{{ define "main" }}
<article class="cf pa3 pa4-m pa4-l nested-copy-line-height nested-img">
<h1>
{{ .Title }}
</h1>
<div class="{{ .Site.Params.copyClass }}">
{{ .Content }}
</div>
</article>
<!-- w-100 w-40-ns -->
{{ end }}

32
layouts/_default/single.html Executable file
View file

@ -0,0 +1,32 @@
{{ define "header" }}{{ partial "page-header.html" . }}{{ end }}
{{ define "main" }}
{{ $currentPageUrl := .URL }}
{{ $currentSection := where .Site.Pages "Section" .Section }}
<div class="flex flex-wrap">
<aside class="w-20 pa4 bg-light-silver">
<ul>
{{ range $currentSection }}
<li>
<a href="{{ .URL }}" class="link">
{{ .Title }}
</a>
</li>
{{ end }}
</ul>
</aside>
<article class="center cf pv5 measure-wide-l">
<h4 class="f6">
{{ humanize .Section | upper }}
</h4>
<h1>
{{ .Title }}
</h1>
<div class="nested-copy-line-height nested-links nested-img mid-gray measure-wide-l">
{{ .Content | markdownify }}
</div>
</article>
</div>
{{ end }}

View file

@ -0,0 +1,43 @@
{{ define "header" }}{{ partial "page-header.html" . }}{{ end }}
{{ define "main" }}
{{ $currentPageUrl := .URL }}
<article class="center cf pv5 measure-wide-l">
<h4 class="f6">
{{ humanize .Section | upper }}
</h4>
<h1>
{{ .Title }}
</h1>
<div class="nested-copy-line-height nested-links nested-img mid-gray measure-wide-l">
{{ .Content | markdownify }}
</div>
{{ if .Params.tags }}
<div class="mt5 f6 gray nested-lh-copy bg-light-gray ph3 pv2 measure-wide-l">
{{ $name := index .Params.tags 0 }}
{{ $name := $name | urlize }}
{{ $tags := index .Site.Taxonomies.tags $name }}
<ul class="list dib nested-links ml0 pl0">
<li class="dib mb2 mr2">Related:</li>
{{ range $tags.Pages }}
{{ if ne .URL $currentPageUrl }}
<li class="mb2 mr3">
<a href="{{ .URL }}" class="link">
{{ .LinkTitle }}
</a>
</li>
{{ end }}
{{end}}
</ul>
</div>
{{end}}
<div class="gray f6 mv6">
Last Update: {{ .Lastmod.Format "January 2, 2006" }}
</div>
</article>
{{ end }}

View file

@ -0,0 +1,24 @@
<div class="relative flex-auto w-100 w-40-ns mr4 mb4 bg-white nested-copy-line-height">
<div class="bg-white mb3 ph4 pv3 gray">
{{ if .Date }}
<date class="f6">
{{ .Date.Format "January 2, 2006" }}
</date>
{{ end }}
<h1 class="f3 near-black">
<a href="{{ .URL }}" class="link dim">
{{ .Title }}
</a>
</h1>
<div class="nested-links f5 nested-copy-line-height">
<p>
{{ .Summary }}
</p>
</div>
</div>
</div>

12
layouts/index.html Executable file
View file

@ -0,0 +1,12 @@
{{ define "main" }}
{{ $section := where .Data.Pages "Section" "article" }}
<main class="cf ph3 ph5-l pv3 pv4-l f4 tc center measure-wide lh-copy gray">
{{ .Content }}
</main>
<section class="flex-ns flex-wrap justify-between w-100 mt5 v-top">
{{ range sort $section "Date" "desc" }}
{{ .Render "summary" }}
{{ end }}
</section>
{{ end }}

View file

@ -0,0 +1,21 @@
{{ if .Params.featured_image }}
<header class="cover bg-center"{{ with .Params.featured_image }} style="background-image: url('{{ . }}');"{{ end }}>
<div class="pb3-m pb6-l bg-black-60">
{{ partial "site-navigation.html" .}}
<div class="tc-l pv6 ph3">
<h1 class="f2 f1-l fw2 white-90 mb0 lh-title">{{ .Title | default .Site.Title }}</h1>
{{ if .Params.description }}
<h2 class="fw1 f3 white-80 measure-wide-l center lh-copy mt3 mb4">
{{ .Params.description }}
</h2>
{{ end }}
</div>
</div>
</header>
{{ else }}
<header>
<div class="bg-near-blackTK bg-near-black">
{{ partial "site-navigation.html" . }}
</div>
</header>
{{ end }}

View file

@ -0,0 +1,13 @@
<div class="relative flex-auto w-100 w-40-ns mr4 mb4 bg-white nested-copy-line-height">
<div class="bg-white mb3 ph4 pv3 gray">
{{ if .Date }}
<date class="f6">
{{ .Date.Format "January 2, 2006" }}
</date>
{{ end }}
</div>
</div>

View file

@ -0,0 +1,5 @@
<footer class="cf fixed relative-l bg-near-black bottom-0 w-100 pa3" role="contentinfo">
<a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href="{{ .Site.BaseURL }}" >
{{ .Site.Title }}
</a>
</footer>

View file

@ -0,0 +1,29 @@
{{ if .Params.featured_image }}
<header class="cover bg-center"{{ with .Params.featured_image }} style="background-image: url('{{ . }}');"{{ end }}>
<div class="bg-black-60">
{{ partial "site-navigation.html" .}}
<div class="tc-l pv6 ph3">
<h1 class="f2 f1-l fw2 white-90 mb0 lh-title">{{ .Title | default .Site.Title }}</h1>
{{ if .Params.description }}
<h2 class="fw1 f3 white-80 mt3">
{{ .Params.description }}
</h2>
{{ end }}
</div>
</div>
</header>
{{ else }}
<header>
<div class="pb3-m pb6-l bg-near-black">
{{ partial "site-navigation.html" . }}
<div class="tc-l pv3 ph3">
<h1 class="f2 f1-l fw2 light-silver mb0 lh-title">{{ .Title | default .Site.Title }}</h1>
{{ if .Params.description }}
<h2 class="fw1 f3 white-80 measure-wide-l center lh-copy mt3 mb4">
{{ .Params.description }}
</h2>
{{ end }}
</div>
</div>
</header>
{{ end }}

View file

@ -0,0 +1,16 @@
<nav class="w-100 flex-ns justify-between items-center pv3" role="navigation">
<a href="/" class="f3 fw8 hover-white no-underline white-90 dib pv2 ph3">
{{ .Site.Title }}
</a>
<div>
<ul>
{{ range .Site.Menus.main }}
<li class="list f5 f4-ns fw4 dib">
<a class="hover-white no-underline white-70 pv2 ph3" href="{{ .URL }}" >
{{ .Name }}
</a>
</li>
{{ end }}
</ul>
</div>
</nav>

View file

@ -0,0 +1 @@
<script src="/dist/app.bundle.js" async></script>

View file

@ -0,0 +1 @@
<svg width="32px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M15.117 0H.883C.395 0 0 .395 0 .883v14.234c0 .488.395.883.883.883h7.663V9.804H6.46V7.39h2.086V5.607c0-2.066 1.262-3.19 3.106-3.19.883 0 1.642.064 1.863.094v2.16h-1.28c-1 0-1.195.48-1.195 1.18v1.54h2.39l-.31 2.42h-2.08V16h4.077c.488 0 .883-.395.883-.883V.883C16 .395 15.605 0 15.117 0" fill-rule="nonzero" fill="#8d99ae"/></svg>

After

Width:  |  Height:  |  Size: 501 B

View file

@ -0,0 +1 @@
<svg width="32px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C5.827 0 5.555.01 4.702.048 3.85.088 3.27.222 2.76.42c-.526.204-.973.478-1.417.923-.445.444-.72.89-.923 1.417-.198.51-.333 1.09-.372 1.942C.008 5.555 0 5.827 0 8s.01 2.445.048 3.298c.04.852.174 1.433.372 1.942.204.526.478.973.923 1.417.444.445.89.72 1.417.923.51.198 1.09.333 1.942.372.853.04 1.125.048 3.298.048s2.445-.01 3.298-.048c.852-.04 1.433-.174 1.942-.372.526-.204.973-.478 1.417-.923.445-.444.72-.89.923-1.417.198-.51.333-1.09.372-1.942.04-.853.048-1.125.048-3.298s-.01-2.445-.048-3.298c-.04-.852-.174-1.433-.372-1.942-.204-.526-.478-.973-.923-1.417-.444-.445-.89-.72-1.417-.923-.51-.198-1.09-.333-1.942-.372C10.445.008 10.173 0 8 0zm0 1.44c2.136 0 2.39.01 3.233.048.78.036 1.203.166 1.485.276.374.145.64.318.92.598.28.28.453.546.598.92.11.282.24.705.276 1.485.038.844.047 1.097.047 3.233s-.01 2.39-.05 3.233c-.04.78-.17 1.203-.28 1.485-.15.374-.32.64-.6.92-.28.28-.55.453-.92.598-.28.11-.71.24-1.49.276-.85.038-1.1.047-3.24.047s-2.39-.01-3.24-.05c-.78-.04-1.21-.17-1.49-.28-.38-.15-.64-.32-.92-.6-.28-.28-.46-.55-.6-.92-.11-.28-.24-.71-.28-1.49-.03-.84-.04-1.1-.04-3.23s.01-2.39.04-3.24c.04-.78.17-1.21.28-1.49.14-.38.32-.64.6-.92.28-.28.54-.46.92-.6.28-.11.7-.24 1.48-.28.85-.03 1.1-.04 3.24-.04zm0 2.452c-2.27 0-4.108 1.84-4.108 4.108 0 2.27 1.84 4.108 4.108 4.108 2.27 0 4.108-1.84 4.108-4.108 0-2.27-1.84-4.108-4.108-4.108zm0 6.775c-1.473 0-2.667-1.194-2.667-2.667 0-1.473 1.194-2.667 2.667-2.667 1.473 0 2.667 1.194 2.667 2.667 0 1.473-1.194 2.667-2.667 2.667zm5.23-6.937c0 .53-.43.96-.96.96s-.96-.43-.96-.96.43-.96.96-.96.96.43.96.96z" fill="#8d99ae"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1 @@
<svg width="32px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero" fill="#8d99ae"/></svg>

After

Width:  |  Height:  |  Size: 772 B

8
layouts/robots.txt Normal file
View file

@ -0,0 +1,8 @@
User-agent: *
# robotstxt.org - if ENV production variable is false robots will be disallowed.
{{ if eq (getenv "HUGO_ENV") "production" }}
Disallow: admin/
Disallow:
{{ else }}
Disallow: /
{{ end }}

View file

@ -0,0 +1,16 @@
{{ define "main" }}
{{ $section := where .Data.Pages "Section" .Section }}
<article class="cf pa3 pa4-m pa4-l nested-copy-line-height nested-img">
<h1>
{{ .Title }}
</h1>
<div class="{{ .Site.Params.copyClass }}">
{{ .Content }}
</div>
<section class="flex-ns flex-wrap justify-between w-100 mt5 v-top">
{{ range sort $section "Date" "desc" }}
{{ .Render "summary" }}
{{ end }}
</section>
</article>
{{ end }}

20
package.json Executable file
View file

@ -0,0 +1,20 @@
{
"name": "gohugo-default-theme",
"version": "1.0.0",
"description": "Base Theme to start Hugo Sites",
"main": "index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/theNewDynamic/thenewdynamic.com.git"
},
"keywords": [
"hugo",
"gohugo"
],
"author": "budparr",
"license": "MIT",
"bugs": {
"url": "https://github.com/theNewDynamic/thenewdynamic.com/issues"
},
"homepage": "https://github.com/theNewDynamic/thenewdynamic.com#readme"
}

28
readme.md Normal file
View file

@ -0,0 +1,28 @@
### [wip] A Base theme for [Hugo](http://gohugo.io/), a framework for building websites.
A base theme for Hugo sites. Though it looks like a theme, the intent is to provide a solid starting place for Hugo sites and include best practices for performance, A11y, and rapid development.
It's subject to change quite a bit at this point.
Features
- Automated Robots.txt (changes values based on environment)
includes examples of
- internal templates for meta data and google analytics
- pagination (internal template)
- with
- HUGO_ENV
- first
- after
- sort
- site LanguageCode
- where
- Content Views
- partials
- template layouts (type "article" uses a special list template, single template, and a content view)
- tags
accessible

10
sitemap.xml Executable file
View file

@ -0,0 +1,10 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{{ range .Data.Pages }}
<url>
<loc>{{ .Permalink }}</loc>
<lastmod>{{ safeHTML ( .Date.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}
</url>
{{ end }}
</urlset>

5
src/css/_styles.css Normal file
View file

@ -0,0 +1,5 @@
/*reset */
body {
margin: 0;
}

94
src/css/_tachyons.css Normal file
View file

@ -0,0 +1,94 @@
/*! TACHYONS v4.7.0 | http://tachyons.io */
/*
*
* ________ ______
* ___ __/_____ _________ /______ ______________________
* __ / _ __ `/ ___/_ __ \_ / / / __ \_ __ \_ ___/
* _ / / /_/ // /__ _ / / / /_/ // /_/ / / / /(__ )
* /_/ \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
* /____/
*
* TABLE OF CONTENTS
*
* 1. External Library Includes
* - Normalize.css | http://normalize.css.github.io
* 2. Tachyons Modules
* 3. Variables
* - Media Queries
* - Colors
* 4. Debugging
* - Debug all
* - Debug children
*
*/
/* External Library Includes */
@import 'tachyons/_normalize';
/* Modules */
@import 'tachyons/_box-sizing';
@import 'tachyons/_aspect-ratios';
@import 'tachyons/_images';
@import 'tachyons/_background-size';
@import 'tachyons/_background-position';
@import 'tachyons/_outlines';
@import 'tachyons/_borders';
@import 'tachyons/_border-colors';
@import 'tachyons/_border-radius';
@import 'tachyons/_border-style';
@import 'tachyons/_border-widths';
@import 'tachyons/_box-shadow';
@import 'tachyons/_code';
@import 'tachyons/_coordinates';
@import 'tachyons/_clears';
@import 'tachyons/_display';
@import 'tachyons/_flexbox';
@import 'tachyons/_floats';
@import 'tachyons/_font-family';
@import 'tachyons/_font-style';
@import 'tachyons/_font-weight';
@import 'tachyons/_forms';
@import 'tachyons/_heights';
@import 'tachyons/_letter-spacing';
@import 'tachyons/_line-height';
@import 'tachyons/_links';
@import 'tachyons/_lists';
@import 'tachyons/_max-widths';
@import 'tachyons/_widths';
@import 'tachyons/_overflow';
@import 'tachyons/_position';
@import 'tachyons/_opacity';
@import 'tachyons/_rotations';
@import 'tachyons/_skins';
@import 'tachyons/_skins-pseudo';
@import 'tachyons/_spacing';
@import 'tachyons/_negative-margins';
@import 'tachyons/_tables';
@import 'tachyons/_text-decoration';
@import 'tachyons/_text-align';
@import 'tachyons/_text-transform';
@import 'tachyons/_type-scale';
@import 'tachyons/_typography';
@import 'tachyons/_utilities';
@import 'tachyons/_visibility';
@import 'tachyons/_white-space';
@import 'tachyons/_vertical-align';
@import 'tachyons/_hovers';
@import 'tachyons/_z-index';
@import 'tachyons/_nested';
@import 'tachyons/_styles';
/* Variables */
/* Importing here will allow you to override any variables in the modules */
@import 'tachyons/_colors';
@import 'tachyons/_media-queries';
/* Debugging */
/*@import 'tachyons/_debug-children';
@import 'tachyons/_debug-grid';*/
/* Uncomment out the line below to help debug layout issues */
/* @import 'tachyons/_debug'; */

2
src/css/main.css Normal file
View file

@ -0,0 +1,2 @@
@import '_tachyons';
@import '_styles';

16
src/css/postcss.config.js Normal file
View file

@ -0,0 +1,16 @@
module.exports = {
output: './../static/css/mainyo.min.css',
plugins: {
'postcss-import': {},
'postcss-cssnext': {
browsers: ['last 2 versions', '> 5%'],
},
'cssnano': {
discardComments: {
removeAll: true
},
minifyFontValues: false,
autoprefixer: false
}
}
};

View file

@ -0,0 +1,135 @@
/*
ASPECT RATIOS
*/
/* This is for fluid media that is embedded from third party sites like youtube, vimeo etc.
* Wrap the outer element in aspect-ratio and then extend it with the desired ratio i.e
* Make sure there are no height and width attributes on the embedded media.
* Adapted from: https://github.com/suitcss/components-flex-embed
*
* Example:
*
* <div class="aspect-ratio aspect-ratio--16x9">
* <iframe class="aspect-ratio--object"></iframe>
* </div>
*
* */
.aspect-ratio {
height: 0;
position: relative;
}
.aspect-ratio--16x9 { padding-bottom: 56.25%; }
.aspect-ratio--9x16 { padding-bottom: 177.77%; }
.aspect-ratio--4x3 { padding-bottom: 75%; }
.aspect-ratio--3x4 { padding-bottom: 133.33%; }
.aspect-ratio--6x4 { padding-bottom: 66.6%; }
.aspect-ratio--4x6 { padding-bottom: 150%; }
.aspect-ratio--8x5 { padding-bottom: 62.5%; }
.aspect-ratio--5x8 { padding-bottom: 160%; }
.aspect-ratio--7x5 { padding-bottom: 71.42%; }
.aspect-ratio--5x7 { padding-bottom: 140%; }
.aspect-ratio--1x1 { padding-bottom: 100%; }
.aspect-ratio--object {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
}
@media (--breakpoint-not-small){
.aspect-ratio-ns {
height: 0;
position: relative;
}
.aspect-ratio--16x9-ns { padding-bottom: 56.25%; }
.aspect-ratio--9x16-ns { padding-bottom: 177.77%; }
.aspect-ratio--4x3-ns { padding-bottom: 75%; }
.aspect-ratio--3x4-ns { padding-bottom: 133.33%; }
.aspect-ratio--6x4-ns { padding-bottom: 66.6%; }
.aspect-ratio--4x6-ns { padding-bottom: 150%; }
.aspect-ratio--8x5-ns { padding-bottom: 62.5%; }
.aspect-ratio--5x8-ns { padding-bottom: 160%; }
.aspect-ratio--7x5-ns { padding-bottom: 71.42%; }
.aspect-ratio--5x7-ns { padding-bottom: 140%; }
.aspect-ratio--1x1-ns { padding-bottom: 100%; }
.aspect-ratio--object-ns {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
}
}
@media (--breakpoint-medium){
.aspect-ratio-m {
height: 0;
position: relative;
}
.aspect-ratio--16x9-m { padding-bottom: 56.25%; }
.aspect-ratio--9x16-m { padding-bottom: 177.77%; }
.aspect-ratio--4x3-m { padding-bottom: 75%; }
.aspect-ratio--3x4-m { padding-bottom: 133.33%; }
.aspect-ratio--6x4-m { padding-bottom: 66.6%; }
.aspect-ratio--4x6-m { padding-bottom: 150%; }
.aspect-ratio--8x5-m { padding-bottom: 62.5%; }
.aspect-ratio--5x8-m { padding-bottom: 160%; }
.aspect-ratio--7x5-m { padding-bottom: 71.42%; }
.aspect-ratio--5x7-m { padding-bottom: 140%; }
.aspect-ratio--1x1-m { padding-bottom: 100%; }
.aspect-ratio--object-m {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
}
}
@media (--breakpoint-large){
.aspect-ratio-l {
height: 0;
position: relative;
}
.aspect-ratio--16x9-l { padding-bottom: 56.25%; }
.aspect-ratio--9x16-l { padding-bottom: 177.77%; }
.aspect-ratio--4x3-l { padding-bottom: 75%; }
.aspect-ratio--3x4-l { padding-bottom: 133.33%; }
.aspect-ratio--6x4-l { padding-bottom: 66.6%; }
.aspect-ratio--4x6-l { padding-bottom: 150%; }
.aspect-ratio--8x5-l { padding-bottom: 62.5%; }
.aspect-ratio--5x8-l { padding-bottom: 160%; }
.aspect-ratio--7x5-l { padding-bottom: 71.42%; }
.aspect-ratio--5x7-l { padding-bottom: 140%; }
.aspect-ratio--1x1-l { padding-bottom: 100%; }
.aspect-ratio--object-l {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
}
}

View file

@ -0,0 +1,126 @@
/*
BACKGROUND POSITION
Base:
bg = background
Modifiers:
-center = center center
-top = top center
-right = center right
-bottom = bottom center
-left = center left
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.bg-center {
background-repeat: no-repeat;
background-position: center center;
}
.bg-top {
background-repeat: no-repeat;
background-position: top center;
}
.bg-right {
background-repeat: no-repeat;
background-position: center right;
}
.bg-bottom {
background-repeat: no-repeat;
background-position: bottom center;
}
.bg-left {
background-repeat: no-repeat;
background-position: center left;
}
@media (--breakpoint-not-small) {
.bg-center-ns {
background-repeat: no-repeat;
background-position: center center;
}
.bg-top-ns {
background-repeat: no-repeat;
background-position: top center;
}
.bg-right-ns {
background-repeat: no-repeat;
background-position: center right;
}
.bg-bottom-ns {
background-repeat: no-repeat;
background-position: bottom center;
}
.bg-left-ns {
background-repeat: no-repeat;
background-position: center left;
}
}
@media (--breakpoint-medium) {
.bg-center-m {
background-repeat: no-repeat;
background-position: center center;
}
.bg-top-m {
background-repeat: no-repeat;
background-position: top center;
}
.bg-right-m {
background-repeat: no-repeat;
background-position: center right;
}
.bg-bottom-m {
background-repeat: no-repeat;
background-position: bottom center;
}
.bg-left-m {
background-repeat: no-repeat;
background-position: center left;
}
}
@media (--breakpoint-large) {
.bg-center-l {
background-repeat: no-repeat;
background-position: center center;
}
.bg-top-l {
background-repeat: no-repeat;
background-position: top center;
}
.bg-right-l {
background-repeat: no-repeat;
background-position: center right;
}
.bg-bottom-l {
background-repeat: no-repeat;
background-position: bottom center;
}
.bg-left-l {
background-repeat: no-repeat;
background-position: center left;
}
}

View file

@ -0,0 +1,34 @@
/*
BACKGROUND SIZE
Docs: http://tachyons.io/docs/themes/background-size/
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
/*
Often used in combination with background image set as an inline style
on an html element.
*/
.cover { background-size: cover!important; }
.contain { background-size: contain!important; }
@media (--breakpoint-not-small) {
.cover-ns { background-size: cover!important; }
.contain-ns { background-size: contain!important; }
}
@media (--breakpoint-medium) {
.cover-m { background-size: cover!important; }
.contain-m { background-size: contain!important; }
}
@media (--breakpoint-large) {
.cover-l { background-size: cover!important; }
.contain-l { background-size: contain!important; }
}

View file

@ -0,0 +1,86 @@
/*
BORDER COLORS
Docs: http://tachyons.io/docs/themes/borders/
Border colors can be used to extend the base
border classes ba,bt,bb,br,bl found in the _borders.css file.
The base border class by default will set the color of the border
to that of the current text color. These classes are for the cases
where you desire for the text and border colors to be different.
Base:
b = border
Modifiers:
--color-name = each color variable name is also a border color name
*/
.b--black { border-color: var(--black); }
.b--near-black { border-color: var(--near-black); }
.b--dark-gray { border-color: var(--dark-gray); }
.b--mid-gray { border-color: var(--mid-gray); }
.b--gray { border-color: var(--gray); }
.b--silver { border-color: var(--silver); }
.b--light-silver { border-color: var(--light-silver); }
.b--moon-gray { border-color: var(--moon-gray); }
.b--light-gray { border-color: var(--light-gray); }
.b--near-white { border-color: var(--near-white); }
.b--white { border-color: var(--white); }
.b--white-90 { border-color: var(--white-90); }
.b--white-80 { border-color: var(--white-80); }
.b--white-70 { border-color: var(--white-70); }
.b--white-60 { border-color: var(--white-60); }
.b--white-50 { border-color: var(--white-50); }
.b--white-40 { border-color: var(--white-40); }
.b--white-30 { border-color: var(--white-30); }
.b--white-20 { border-color: var(--white-20); }
.b--white-10 { border-color: var(--white-10); }
.b--white-05 { border-color: var(--white-05); }
.b--white-025 { border-color: var(--white-025); }
.b--white-0125 { border-color: var(--white-0125); }
.b--black-90 { border-color: var(--black-90); }
.b--black-80 { border-color: var(--black-80); }
.b--black-70 { border-color: var(--black-70); }
.b--black-60 { border-color: var(--black-60); }
.b--black-50 { border-color: var(--black-50); }
.b--black-40 { border-color: var(--black-40); }
.b--black-30 { border-color: var(--black-30); }
.b--black-20 { border-color: var(--black-20); }
.b--black-10 { border-color: var(--black-10); }
.b--black-05 { border-color: var(--black-05); }
.b--black-025 { border-color: var(--black-025); }
.b--black-0125 { border-color: var(--black-0125); }
.b--dark-red { border-color: var(--dark-red); }
.b--red { border-color: var(--red); }
.b--light-red { border-color: var(--light-red); }
.b--orange { border-color: var(--orange); }
.b--gold { border-color: var(--gold); }
.b--yellow { border-color: var(--yellow); }
.b--light-yellow { border-color: var(--light-yellow); }
.b--purple { border-color: var(--purple); }
.b--light-purple { border-color: var(--light-purple); }
.b--dark-pink { border-color: var(--dark-pink); }
.b--hot-pink { border-color: var(--hot-pink); }
.b--pink { border-color: var(--pink); }
.b--light-pink { border-color: var(--light-pink); }
.b--dark-green { border-color: var(--dark-green); }
.b--green { border-color: var(--green); }
.b--light-green { border-color: var(--light-green); }
.b--navy { border-color: var(--navy); }
.b--dark-blue { border-color: var(--dark-blue); }
.b--blue { border-color: var(--blue); }
.b--light-blue { border-color: var(--light-blue); }
.b--lightest-blue { border-color: var(--lightest-blue); }
.b--washed-blue { border-color: var(--washed-blue); }
.b--washed-green { border-color: var(--washed-green); }
.b--washed-yellow { border-color: var(--washed-yellow); }
.b--washed-red { border-color: var(--washed-red); }
.b--transparent { border-color: var(--transparent); }
.b--inherit { border-color: inherit; }

View file

@ -0,0 +1,127 @@
/*
BORDER RADIUS
Docs: http://tachyons.io/docs/themes/border-radius/
Base:
br = border-radius
Modifiers:
0 = 0/none
1 = 1st step in scale
2 = 2nd step in scale
3 = 3rd step in scale
4 = 4th step in scale
Literal values:
-100 = 100%
-pill = 9999px
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.br0 { border-radius: 0; }
.br1 { border-radius: .125rem; }
.br2 { border-radius: .25rem; }
.br3 { border-radius: .5rem; }
.br4 { border-radius: 1rem; }
.br-100 { border-radius: 100%; }
.br-pill { border-radius: 9999px; }
.br--bottom {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.br--top {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.br--right {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.br--left {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
@media (--breakpoint-not-small) {
.br0-ns { border-radius: 0; }
.br1-ns { border-radius: .125rem; }
.br2-ns { border-radius: .25rem; }
.br3-ns { border-radius: .5rem; }
.br4-ns { border-radius: 1rem; }
.br-100-ns { border-radius: 100%; }
.br-pill-ns { border-radius: 9999px; }
.br--bottom-ns {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.br--top-ns {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.br--right-ns {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.br--left-ns {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
@media (--breakpoint-medium) {
.br0-m { border-radius: 0; }
.br1-m { border-radius: .125rem; }
.br2-m { border-radius: .25rem; }
.br3-m { border-radius: .5rem; }
.br4-m { border-radius: 1rem; }
.br-100-m { border-radius: 100%; }
.br-pill-m { border-radius: 9999px; }
.br--bottom-m {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.br--top-m {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.br--right-m {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.br--left-m {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
@media (--breakpoint-large) {
.br0-l { border-radius: 0; }
.br1-l { border-radius: .125rem; }
.br2-l { border-radius: .25rem; }
.br3-l { border-radius: .5rem; }
.br4-l { border-radius: 1rem; }
.br-100-l { border-radius: 100%; }
.br-pill-l { border-radius: 9999px; }
.br--bottom-l {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.br--top-l {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.br--right-l {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.br--left-l {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}

View file

@ -0,0 +1,48 @@
/*
BORDER STYLES
Docs: http://tachyons.io/docs/themes/borders/
Depends on base border module in _borders.css
Base:
b = border-style
Modifiers:
--none = none
--dotted = dotted
--dashed = dashed
--solid = solid
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.b--dotted { border-style: dotted; }
.b--dashed { border-style: dashed; }
.b--solid { border-style: solid; }
.b--none { border-style: none; }
@media (--breakpoint-not-small) {
.b--dotted-ns { border-style: dotted; }
.b--dashed-ns { border-style: dashed; }
.b--solid-ns { border-style: solid; }
.b--none-ns { border-style: none; }
}
@media (--breakpoint-medium) {
.b--dotted-m { border-style: dotted; }
.b--dashed-m { border-style: dashed; }
.b--solid-m { border-style: solid; }
.b--none-m { border-style: none; }
}
@media (--breakpoint-large) {
.b--dotted-l { border-style: dotted; }
.b--dashed-l { border-style: dashed; }
.b--solid-l { border-style: solid; }
.b--none-l { border-style: none; }
}

View file

@ -0,0 +1,74 @@
/*
BORDER WIDTHS
Docs: http://tachyons.io/docs/themes/borders/
Base:
bw = border-width
Modifiers:
0 = 0 width border
1 = 1st step in border-width scale
2 = 2nd step in border-width scale
3 = 3rd step in border-width scale
4 = 4th step in border-width scale
5 = 5th step in border-width scale
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.bw0 { border-width: 0; }
.bw1 { border-width: .125rem; }
.bw2 { border-width: .25rem; }
.bw3 { border-width: .5rem; }
.bw4 { border-width: 1rem; }
.bw5 { border-width: 2rem; }
/* Resets */
.bt-0 { border-top-width: 0; }
.br-0 { border-right-width: 0; }
.bb-0 { border-bottom-width: 0; }
.bl-0 { border-left-width: 0; }
@media (--breakpoint-not-small) {
.bw0-ns { border-width: 0; }
.bw1-ns { border-width: .125rem; }
.bw2-ns { border-width: .25rem; }
.bw3-ns { border-width: .5rem; }
.bw4-ns { border-width: 1rem; }
.bw5-ns { border-width: 2rem; }
.bt-0-ns { border-top-width: 0; }
.br-0-ns { border-right-width: 0; }
.bb-0-ns { border-bottom-width: 0; }
.bl-0-ns { border-left-width: 0; }
}
@media (--breakpoint-medium) {
.bw0-m { border-width: 0; }
.bw1-m { border-width: .125rem; }
.bw2-m { border-width: .25rem; }
.bw3-m { border-width: .5rem; }
.bw4-m { border-width: 1rem; }
.bw5-m { border-width: 2rem; }
.bt-0-m { border-top-width: 0; }
.br-0-m { border-right-width: 0; }
.bb-0-m { border-bottom-width: 0; }
.bl-0-m { border-left-width: 0; }
}
@media (--breakpoint-large) {
.bw0-l { border-width: 0; }
.bw1-l { border-width: .125rem; }
.bw2-l { border-width: .25rem; }
.bw3-l { border-width: .5rem; }
.bw4-l { border-width: 1rem; }
.bw5-l { border-width: 2rem; }
.bt-0-l { border-top-width: 0; }
.br-0-l { border-right-width: 0; }
.bb-0-l { border-bottom-width: 0; }
.bl-0-l { border-left-width: 0; }
}

View file

@ -0,0 +1,58 @@
/*
BORDERS
Docs: http://tachyons.io/docs/themes/borders/
Base:
b = border
Modifiers:
a = all
t = top
r = right
b = bottom
l = left
n = none
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.ba { border-style: solid; border-width: 1px; }
.bt { border-top-style: solid; border-top-width: 1px; }
.br { border-right-style: solid; border-right-width: 1px; }
.bb { border-bottom-style: solid; border-bottom-width: 1px; }
.bl { border-left-style: solid; border-left-width: 1px; }
.bn { border-style: none; border-width: 0; }
@media (--breakpoint-not-small) {
.ba-ns { border-style: solid; border-width: 1px; }
.bt-ns { border-top-style: solid; border-top-width: 1px; }
.br-ns { border-right-style: solid; border-right-width: 1px; }
.bb-ns { border-bottom-style: solid; border-bottom-width: 1px; }
.bl-ns { border-left-style: solid; border-left-width: 1px; }
.bn-ns { border-style: none; border-width: 0; }
}
@media (--breakpoint-medium) {
.ba-m { border-style: solid; border-width: 1px; }
.bt-m { border-top-style: solid; border-top-width: 1px; }
.br-m { border-right-style: solid; border-right-width: 1px; }
.bb-m { border-bottom-style: solid; border-bottom-width: 1px; }
.bl-m { border-left-style: solid; border-left-width: 1px; }
.bn-m { border-style: none; border-width: 0; }
}
@media (--breakpoint-large) {
.ba-l { border-style: solid; border-width: 1px; }
.bt-l { border-top-style: solid; border-top-width: 1px; }
.br-l { border-right-style: solid; border-right-width: 1px; }
.bb-l { border-bottom-style: solid; border-bottom-width: 1px; }
.bl-l { border-left-style: solid; border-left-width: 1px; }
.bn-l { border-style: none; border-width: 0; }
}

View file

@ -0,0 +1,41 @@
/*
BOX-SHADOW
Docs: http://tachyons.io/docs/themes/box-shadow/
Media Query Extensions:
-ns = not-small
-m = medium
-l = large
*/
.shadow-1 { box-shadow: 0px 0px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-2 { box-shadow: 0px 0px 8px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-3 { box-shadow: 2px 2px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-4 { box-shadow: 2px 2px 8px 0px rgba( 0, 0, 0, 0.2 ); }
.shadow-5 { box-shadow: 4px 4px 8px 0px rgba( 0, 0, 0, 0.2 ); }
@media (--breakpoint-not-small) {
.shadow-1-ns { box-shadow: 0px 0px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-2-ns { box-shadow: 0px 0px 8px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-3-ns { box-shadow: 2px 2px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-4-ns { box-shadow: 2px 2px 8px 0px rgba( 0, 0, 0, 0.2 ); }
.shadow-5-ns { box-shadow: 4px 4px 8px 0px rgba( 0, 0, 0, 0.2 ); }
}
@media (--breakpoint-medium) {
.shadow-1-m { box-shadow: 0px 0px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-2-m { box-shadow: 0px 0px 8px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-3-m { box-shadow: 2px 2px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-4-m { box-shadow: 2px 2px 8px 0px rgba( 0, 0, 0, 0.2 ); }
.shadow-5-m { box-shadow: 4px 4px 8px 0px rgba( 0, 0, 0, 0.2 ); }
}
@media (--breakpoint-large) {
.shadow-1-l { box-shadow: 0px 0px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-2-l { box-shadow: 0px 0px 8px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-3-l { box-shadow: 2px 2px 4px 2px rgba( 0, 0, 0, 0.2 ); }
.shadow-4-l { box-shadow: 2px 2px 8px 0px rgba( 0, 0, 0, 0.2 ); }
.shadow-5-l { box-shadow: 4px 4px 8px 0px rgba( 0, 0, 0, 0.2 ); }
}

View file

@ -0,0 +1,43 @@
/*
BOX SIZING
*/
html,
body,
div,
article,
section,
main,
footer,
header,
form,
fieldset,
legend,
pre,
code,
a,
h1,h2,h3,h4,h5,h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
textarea,
table,
td,
th,
tr,
input[type="email"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="text"],
input[type="url"],
.border-box {
box-sizing: border-box;
}

View file

@ -0,0 +1,40 @@
/*
CLEARFIX
http://tachyons.io/docs/layout/clearfix/
*/
/* Nicolas Gallaghers Clearfix solution
Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */
.cf:before,
.cf:after { content: " "; display: table; }
.cf:after { clear: both; }
.cf { *zoom: 1; }