From 6fa1f288b76c1637cb8cf87ea12e8bedf9668254 Mon Sep 17 00:00:00 2001 From: Michael Rose Date: Mon, 20 Mar 2017 15:35:13 -0400 Subject: [PATCH] Add demo site to repo --- docs/Gemfile | 14 + docs/_config.yml | 51 ++ docs/_data/cv.json | 128 +++++ docs/_data/theme.yml | 34 ++ docs/_includes/author | 31 ++ docs/_includes/contact-list.html | 27 + docs/_includes/cv/awards.html | 24 + docs/_includes/cv/basics.html | 69 +++ docs/_includes/cv/education.html | 36 ++ docs/_includes/cv/interests.html | 20 + docs/_includes/cv/intro.html | 18 + docs/_includes/cv/languages.html | 20 + docs/_includes/cv/publications.html | 30 + docs/_includes/cv/references.html | 24 + docs/_includes/cv/skills.html | 20 + docs/_includes/cv/volunteer.html | 46 ++ docs/_includes/cv/work.html | 46 ++ docs/_includes/disqus_comments.html | 17 + docs/_includes/entry.html | 29 + docs/_includes/footer.html | 9 + docs/_includes/google-analytics.html | 9 + docs/_includes/head-feed.html | 1 + docs/_includes/head-seo.html | 1 + docs/_includes/head.html | 35 ++ docs/_includes/icon-arrow-left.svg | 1 + docs/_includes/icon-arrow-right.svg | 1 + docs/_includes/icon-bitbucket.html | 4 + docs/_includes/icon-bitbucket.svg | 1 + docs/_includes/icon-calendar.svg | 1 + docs/_includes/icon-codepen.html | 4 + docs/_includes/icon-codepen.svg | 1 + docs/_includes/icon-download.svg | 1 + docs/_includes/icon-dribbble.html | 4 + docs/_includes/icon-dribbble.svg | 1 + docs/_includes/icon-email.svg | 1 + docs/_includes/icon-facebook.html | 4 + docs/_includes/icon-facebook.svg | 1 + docs/_includes/icon-flickr.html | 4 + docs/_includes/icon-flickr.svg | 1 + docs/_includes/icon-github.html | 4 + docs/_includes/icon-github.svg | 1 + docs/_includes/icon-gitlab.html | 4 + docs/_includes/icon-gitlab.svg | 1 + docs/_includes/icon-googleplus.html | 4 + docs/_includes/icon-googleplus.svg | 1 + docs/_includes/icon-instagram.html | 4 + docs/_includes/icon-instagram.svg | 1 + docs/_includes/icon-lastfm.html | 4 + docs/_includes/icon-lastfm.svg | 1 + docs/_includes/icon-linkedin.html | 4 + docs/_includes/icon-linkedin.svg | 1 + docs/_includes/icon-pdf.svg | 1 + docs/_includes/icon-pinterest.html | 4 + docs/_includes/icon-pinterest.svg | 1 + docs/_includes/icon-rss.svg | 1 + docs/_includes/icon-soundcloud.html | 4 + docs/_includes/icon-soundcloud.svg | 1 + docs/_includes/icon-stackoverflow.html | 4 + docs/_includes/icon-stackoverflow.svg | 1 + docs/_includes/icon-stopwatch.svg | 1 + docs/_includes/icon-tumblr.html | 4 + docs/_includes/icon-tumblr.svg | 1 + docs/_includes/icon-twitter.html | 4 + docs/_includes/icon-twitter.svg | 1 + docs/_includes/icon-xing.html | 4 + docs/_includes/icon-xing.svg | 1 + docs/_includes/icon-youtube.html | 4 + docs/_includes/icon-youtube.svg | 1 + docs/_includes/masthead.html | 27 + docs/_includes/navigation.html | 25 + docs/_includes/page-intro.html | 42 ++ docs/_includes/posts-all.html | 3 + docs/_includes/posts-paginated.html | 16 + docs/_includes/read-time.html | 13 + docs/_includes/scripts.html | 5 + docs/_includes/skip-links.html | 8 + docs/_layouts/about.html | 21 + docs/_layouts/cv.html | 28 + docs/_layouts/default.html | 38 ++ docs/_layouts/home.html | 30 + docs/_layouts/page.html | 17 + docs/_layouts/post.html | 20 + ...-05-15-edge-case-nested-and-mixed-lists.md | 58 ++ docs/_posts/2009-06-01-edge-case-many-tags.md | 49 ++ .../2009-07-02-edge-case-many-categories.md | 19 + .../2009-08-06-edge-case-no-body-content.md | 11 + .../2009-09-05-edge-case-no-yaml-title.md | 12 + ...le-should-not-overflow-the-content-area.md | 26 + .../2009-10-05-edge-case-very-long-title.md | 14 + docs/_posts/2010-01-07-post-modified.md | 14 + docs/_posts/2010-01-07-post-standard.md | 32 ++ docs/_posts/2010-02-05-post-quote.md | 12 + docs/_posts/2010-06-02-post-video-youtube.md | 12 + docs/_posts/2010-09-10-post-twitter-embeds.md | 16 + docs/_posts/2010-10-25-post-future-date.md | 13 + .../2012-03-14-layout-excerpt-defined.md | 16 + .../2012-03-14-layout-excerpt-generated.md | 22 + docs/_posts/2012-03-14-layout-hero-image.md | 26 + .../2012-05-22-markup-text-readability.md | 46 ++ .../2013-01-05-markup-title-with-markup.md | 18 + ...05-markup-title-with-special-characters.md | 437 +++++++++++++++ .../2013-01-09-markup-text-alignment.md | 111 ++++ .../2013-01-10-markup-image-alignment.md | 89 +++ ...-11-markup-html-elements-and-formatting.md | 177 ++++++ .../2013-08-16-markup-syntax-highlighting.md | 123 +++++ docs/_sass/basically-basic.scss | 37 ++ docs/_sass/basically-basic/_base.scss | 110 ++++ docs/_sass/basically-basic/_buttons.scss | 39 ++ .../_sass/basically-basic/_contact-lists.scss | 11 + docs/_sass/basically-basic/_entries.scss | 155 ++++++ docs/_sass/basically-basic/_footer.scss | 13 + docs/_sass/basically-basic/_global.scss | 36 ++ docs/_sass/basically-basic/_icons.scss | 43 ++ docs/_sass/basically-basic/_intro.scss | 65 +++ docs/_sass/basically-basic/_layout.scss | 178 ++++++ docs/_sass/basically-basic/_mixins.scss | 7 + docs/_sass/basically-basic/_navicons.scss | 144 +++++ docs/_sass/basically-basic/_navigation.scss | 51 ++ docs/_sass/basically-basic/_reset.scss | 522 ++++++++++++++++++ docs/_sass/basically-basic/_sidebar.scss | 177 ++++++ .../basically-basic/_syntax-highlighting.scss | 127 +++++ docs/_sass/basically-basic/_tables.scss | 42 ++ docs/_sass/basically-basic/_utilities.scss | 5 + docs/_sass/basically-basic/_variables.scss | 84 +++ .../basically-basic/mixins/_clearfix.scss | 11 + docs/_sass/basically-basic/mixins/_color.scss | 21 + docs/_sass/basically-basic/mixins/_float.scss | 15 + .../basically-basic/mixins/_fluid-type.scss | 33 ++ docs/_sass/basically-basic/mixins/_image.scss | 38 ++ docs/_sass/basically-basic/mixins/_lists.scss | 9 + .../mixins/_text-truncate.scss | 10 + .../basically-basic/themes/_default.scss | 5 + docs/_sass/basically-basic/themes/_night.scss | 12 + docs/_sass/basically-basic/themes/_plum.scss | 12 + docs/_sass/basically-basic/themes/_sea.scss | 12 + docs/_sass/basically-basic/themes/_soft.scss | 12 + docs/_sass/basically-basic/themes/_steel.scss | 12 + .../utilities/_accessibility.scss | 54 ++ .../basically-basic/utilities/_align.scss | 64 +++ .../basically-basic/utilities/_clearfix.scss | 7 + .../basically-basic/utilities/_float.scss | 7 + .../basically-basic/utilities/_text.scss | 28 + .../basically-basic/vendor/_breakpoint.scss | 114 ++++ docs/_sass/basically-basic/vendor/_su.scss | 4 + docs/_sass/basically-basic/vendor/_susy.scss | 4 + .../basically-basic/vendor/_susyone.scss | 4 + .../vendor/breakpoint/_context.scss | 95 ++++ .../vendor/breakpoint/_helpers.scss | 151 +++++ .../vendor/breakpoint/_legacy-settings.scss | 50 ++ .../vendor/breakpoint/_no-query.scss | 15 + .../vendor/breakpoint/_parsers.scss | 215 ++++++++ .../vendor/breakpoint/_respond-to.scss | 82 +++ .../vendor/breakpoint/_settings.scss | 71 +++ .../vendor/breakpoint/parsers/_double.scss | 33 ++ .../vendor/breakpoint/parsers/_query.scss | 82 +++ .../breakpoint/parsers/_resolution.scss | 31 ++ .../vendor/breakpoint/parsers/_single.scss | 26 + .../vendor/breakpoint/parsers/_triple.scss | 36 ++ .../parsers/double/_default-pair.scss | 21 + .../breakpoint/parsers/double/_default.scss | 22 + .../parsers/double/_double-string.scss | 22 + .../parsers/resolution/_resolution.scss | 60 ++ .../breakpoint/parsers/single/_default.scss | 13 + .../breakpoint/parsers/triple/_default.scss | 18 + .../basically-basic/vendor/susy/_su.scss | 7 + .../vendor/susy/language/_susy.scss | 24 + .../vendor/susy/language/_susyone.scss | 13 + .../susy/language/susy/_background.scss | 385 +++++++++++++ .../vendor/susy/language/susy/_bleed.scss | 200 +++++++ .../susy/language/susy/_box-sizing.scss | 47 ++ .../language/susy/_breakpoint-plugin.scss | 185 +++++++ .../vendor/susy/language/susy/_container.scss | 81 +++ .../vendor/susy/language/susy/_context.scss | 36 ++ .../vendor/susy/language/susy/_gallery.scss | 94 ++++ .../vendor/susy/language/susy/_grids.scss | 64 +++ .../vendor/susy/language/susy/_gutters.scss | 154 ++++++ .../vendor/susy/language/susy/_isolate.scss | 77 +++ .../vendor/susy/language/susy/_margins.scss | 94 ++++ .../vendor/susy/language/susy/_padding.scss | 74 +++ .../vendor/susy/language/susy/_rows.scss | 138 +++++ .../vendor/susy/language/susy/_settings.scss | 216 ++++++++ .../vendor/susy/language/susy/_span.scss | 163 ++++++ .../susy/language/susy/_validation.scss | 16 + .../susy/language/susyone/_background.scss | 18 + .../susy/language/susyone/_functions.scss | 377 +++++++++++++ .../vendor/susy/language/susyone/_grid.scss | 312 +++++++++++ .../susy/language/susyone/_isolation.scss | 51 ++ .../vendor/susy/language/susyone/_margin.scss | 93 ++++ .../vendor/susy/language/susyone/_media.scss | 105 ++++ .../susy/language/susyone/_padding.scss | 92 +++ .../susy/language/susyone/_settings.scss | 60 ++ .../vendor/susy/output/_float.scss | 9 + .../vendor/susy/output/_shared.scss | 15 + .../vendor/susy/output/_support.scss | 9 + .../vendor/susy/output/float/_container.scss | 16 + .../vendor/susy/output/float/_end.scss | 40 ++ .../vendor/susy/output/float/_isolate.scss | 22 + .../vendor/susy/output/float/_span.scss | 35 ++ .../susy/output/shared/_background.scss | 26 + .../vendor/susy/output/shared/_container.scss | 21 + .../vendor/susy/output/shared/_direction.scss | 42 ++ .../vendor/susy/output/shared/_inspect.scss | 25 + .../vendor/susy/output/shared/_margins.scss | 23 + .../vendor/susy/output/shared/_output.scss | 14 + .../vendor/susy/output/shared/_padding.scss | 23 + .../susy/output/support/_background.scss | 58 ++ .../susy/output/support/_box-sizing.scss | 19 + .../vendor/susy/output/support/_clearfix.scss | 18 + .../vendor/susy/output/support/_prefix.scss | 19 + .../vendor/susy/output/support/_rem.scss | 22 + .../vendor/susy/output/support/_support.scss | 85 +++ .../basically-basic/vendor/susy/su/_grid.scss | 103 ++++ .../vendor/susy/su/_settings.scss | 73 +++ .../vendor/susy/su/_utilities.scss | 111 ++++ .../vendor/susy/su/_validation.scss | 57 ++ docs/about.md | 15 + .../icons/basically-basic-logo-dark.svg | 7 + .../icons/basically-basic-logo-light.svg | 7 + docs/assets/images/100x100.png | Bin 0 -> 3546 bytes docs/assets/images/amine-ounnas-180287.jpg | Bin 0 -> 227200 bytes docs/assets/images/eder-oliveira-180877.jpg | Bin 0 -> 187166 bytes .../images/image-alignment-1200x4002.jpg | Bin 0 -> 35514 bytes .../assets/images/image-alignment-150x150.jpg | Bin 0 -> 2844 bytes .../assets/images/image-alignment-300x200.jpg | Bin 0 -> 6446 bytes .../assets/images/image-alignment-580x300.jpg | Bin 0 -> 9082 bytes docs/assets/javascripts/main.js | 57 ++ docs/assets/stylesheets/main.scss | 10 + docs/cv.md | 8 + docs/index.html | 22 + 229 files changed, 10047 insertions(+) create mode 100644 docs/Gemfile create mode 100644 docs/_config.yml create mode 100644 docs/_data/cv.json create mode 100644 docs/_data/theme.yml create mode 100644 docs/_includes/author create mode 100644 docs/_includes/contact-list.html create mode 100644 docs/_includes/cv/awards.html create mode 100644 docs/_includes/cv/basics.html create mode 100644 docs/_includes/cv/education.html create mode 100644 docs/_includes/cv/interests.html create mode 100644 docs/_includes/cv/intro.html create mode 100644 docs/_includes/cv/languages.html create mode 100644 docs/_includes/cv/publications.html create mode 100644 docs/_includes/cv/references.html create mode 100644 docs/_includes/cv/skills.html create mode 100644 docs/_includes/cv/volunteer.html create mode 100644 docs/_includes/cv/work.html create mode 100644 docs/_includes/disqus_comments.html create mode 100644 docs/_includes/entry.html create mode 100644 docs/_includes/footer.html create mode 100644 docs/_includes/google-analytics.html create mode 100644 docs/_includes/head-feed.html create mode 100644 docs/_includes/head-seo.html create mode 100644 docs/_includes/head.html create mode 100644 docs/_includes/icon-arrow-left.svg create mode 100644 docs/_includes/icon-arrow-right.svg create mode 100644 docs/_includes/icon-bitbucket.html create mode 100644 docs/_includes/icon-bitbucket.svg create mode 100644 docs/_includes/icon-calendar.svg create mode 100644 docs/_includes/icon-codepen.html create mode 100644 docs/_includes/icon-codepen.svg create mode 100644 docs/_includes/icon-download.svg create mode 100644 docs/_includes/icon-dribbble.html create mode 100644 docs/_includes/icon-dribbble.svg create mode 100644 docs/_includes/icon-email.svg create mode 100644 docs/_includes/icon-facebook.html create mode 100644 docs/_includes/icon-facebook.svg create mode 100644 docs/_includes/icon-flickr.html create mode 100644 docs/_includes/icon-flickr.svg create mode 100644 docs/_includes/icon-github.html create mode 100644 docs/_includes/icon-github.svg create mode 100644 docs/_includes/icon-gitlab.html create mode 100644 docs/_includes/icon-gitlab.svg create mode 100644 docs/_includes/icon-googleplus.html create mode 100644 docs/_includes/icon-googleplus.svg create mode 100644 docs/_includes/icon-instagram.html create mode 100644 docs/_includes/icon-instagram.svg create mode 100644 docs/_includes/icon-lastfm.html create mode 100644 docs/_includes/icon-lastfm.svg create mode 100644 docs/_includes/icon-linkedin.html create mode 100644 docs/_includes/icon-linkedin.svg create mode 100644 docs/_includes/icon-pdf.svg create mode 100644 docs/_includes/icon-pinterest.html create mode 100644 docs/_includes/icon-pinterest.svg create mode 100644 docs/_includes/icon-rss.svg create mode 100644 docs/_includes/icon-soundcloud.html create mode 100644 docs/_includes/icon-soundcloud.svg create mode 100644 docs/_includes/icon-stackoverflow.html create mode 100644 docs/_includes/icon-stackoverflow.svg create mode 100644 docs/_includes/icon-stopwatch.svg create mode 100644 docs/_includes/icon-tumblr.html create mode 100644 docs/_includes/icon-tumblr.svg create mode 100644 docs/_includes/icon-twitter.html create mode 100644 docs/_includes/icon-twitter.svg create mode 100644 docs/_includes/icon-xing.html create mode 100644 docs/_includes/icon-xing.svg create mode 100644 docs/_includes/icon-youtube.html create mode 100644 docs/_includes/icon-youtube.svg create mode 100644 docs/_includes/masthead.html create mode 100644 docs/_includes/navigation.html create mode 100644 docs/_includes/page-intro.html create mode 100644 docs/_includes/posts-all.html create mode 100644 docs/_includes/posts-paginated.html create mode 100644 docs/_includes/read-time.html create mode 100644 docs/_includes/scripts.html create mode 100644 docs/_includes/skip-links.html create mode 100644 docs/_layouts/about.html create mode 100644 docs/_layouts/cv.html create mode 100644 docs/_layouts/default.html create mode 100644 docs/_layouts/home.html create mode 100644 docs/_layouts/page.html create mode 100644 docs/_layouts/post.html create mode 100644 docs/_posts/2009-05-15-edge-case-nested-and-mixed-lists.md create mode 100644 docs/_posts/2009-06-01-edge-case-many-tags.md create mode 100644 docs/_posts/2009-07-02-edge-case-many-categories.md create mode 100644 docs/_posts/2009-08-06-edge-case-no-body-content.md create mode 100644 docs/_posts/2009-09-05-edge-case-no-yaml-title.md create mode 100644 docs/_posts/2009-10-05-edge-case-title-should-not-overflow-the-content-area.md create mode 100644 docs/_posts/2009-10-05-edge-case-very-long-title.md create mode 100644 docs/_posts/2010-01-07-post-modified.md create mode 100644 docs/_posts/2010-01-07-post-standard.md create mode 100644 docs/_posts/2010-02-05-post-quote.md create mode 100644 docs/_posts/2010-06-02-post-video-youtube.md create mode 100644 docs/_posts/2010-09-10-post-twitter-embeds.md create mode 100644 docs/_posts/2010-10-25-post-future-date.md create mode 100644 docs/_posts/2012-03-14-layout-excerpt-defined.md create mode 100644 docs/_posts/2012-03-14-layout-excerpt-generated.md create mode 100644 docs/_posts/2012-03-14-layout-hero-image.md create mode 100644 docs/_posts/2012-05-22-markup-text-readability.md create mode 100644 docs/_posts/2013-01-05-markup-title-with-markup.md create mode 100644 docs/_posts/2013-01-05-markup-title-with-special-characters.md create mode 100644 docs/_posts/2013-01-09-markup-text-alignment.md create mode 100644 docs/_posts/2013-01-10-markup-image-alignment.md create mode 100644 docs/_posts/2013-01-11-markup-html-elements-and-formatting.md create mode 100644 docs/_posts/2013-08-16-markup-syntax-highlighting.md create mode 100644 docs/_sass/basically-basic.scss create mode 100644 docs/_sass/basically-basic/_base.scss create mode 100644 docs/_sass/basically-basic/_buttons.scss create mode 100644 docs/_sass/basically-basic/_contact-lists.scss create mode 100644 docs/_sass/basically-basic/_entries.scss create mode 100644 docs/_sass/basically-basic/_footer.scss create mode 100644 docs/_sass/basically-basic/_global.scss create mode 100644 docs/_sass/basically-basic/_icons.scss create mode 100644 docs/_sass/basically-basic/_intro.scss create mode 100644 docs/_sass/basically-basic/_layout.scss create mode 100644 docs/_sass/basically-basic/_mixins.scss create mode 100644 docs/_sass/basically-basic/_navicons.scss create mode 100644 docs/_sass/basically-basic/_navigation.scss create mode 100644 docs/_sass/basically-basic/_reset.scss create mode 100644 docs/_sass/basically-basic/_sidebar.scss create mode 100644 docs/_sass/basically-basic/_syntax-highlighting.scss create mode 100644 docs/_sass/basically-basic/_tables.scss create mode 100644 docs/_sass/basically-basic/_utilities.scss create mode 100644 docs/_sass/basically-basic/_variables.scss create mode 100644 docs/_sass/basically-basic/mixins/_clearfix.scss create mode 100644 docs/_sass/basically-basic/mixins/_color.scss create mode 100644 docs/_sass/basically-basic/mixins/_float.scss create mode 100644 docs/_sass/basically-basic/mixins/_fluid-type.scss create mode 100644 docs/_sass/basically-basic/mixins/_image.scss create mode 100644 docs/_sass/basically-basic/mixins/_lists.scss create mode 100644 docs/_sass/basically-basic/mixins/_text-truncate.scss create mode 100644 docs/_sass/basically-basic/themes/_default.scss create mode 100644 docs/_sass/basically-basic/themes/_night.scss create mode 100644 docs/_sass/basically-basic/themes/_plum.scss create mode 100644 docs/_sass/basically-basic/themes/_sea.scss create mode 100644 docs/_sass/basically-basic/themes/_soft.scss create mode 100644 docs/_sass/basically-basic/themes/_steel.scss create mode 100644 docs/_sass/basically-basic/utilities/_accessibility.scss create mode 100644 docs/_sass/basically-basic/utilities/_align.scss create mode 100644 docs/_sass/basically-basic/utilities/_clearfix.scss create mode 100644 docs/_sass/basically-basic/utilities/_float.scss create mode 100644 docs/_sass/basically-basic/utilities/_text.scss create mode 100644 docs/_sass/basically-basic/vendor/_breakpoint.scss create mode 100644 docs/_sass/basically-basic/vendor/_su.scss create mode 100644 docs/_sass/basically-basic/vendor/_susy.scss create mode 100644 docs/_sass/basically-basic/vendor/_susyone.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_context.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_helpers.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_no-query.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_parsers.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_respond-to.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/_settings.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss create mode 100644 docs/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/_su.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/_susy.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/_susyone.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_background.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_container.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_context.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_grids.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_margins.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_padding.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_rows.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_settings.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_span.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susy/_validation.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_background.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_media.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/_float.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/_shared.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/_support.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/float/_container.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/float/_end.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/float/_isolate.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/float/_span.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_background.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_container.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_direction.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_margins.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_output.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/shared/_padding.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_background.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_prefix.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_rem.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/output/support/_support.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/su/_grid.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/su/_settings.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/su/_utilities.scss create mode 100644 docs/_sass/basically-basic/vendor/susy/su/_validation.scss create mode 100644 docs/about.md create mode 100644 docs/assets/icons/basically-basic-logo-dark.svg create mode 100644 docs/assets/icons/basically-basic-logo-light.svg create mode 100644 docs/assets/images/100x100.png create mode 100644 docs/assets/images/amine-ounnas-180287.jpg create mode 100644 docs/assets/images/eder-oliveira-180877.jpg create mode 100644 docs/assets/images/image-alignment-1200x4002.jpg create mode 100644 docs/assets/images/image-alignment-150x150.jpg create mode 100644 docs/assets/images/image-alignment-300x200.jpg create mode 100644 docs/assets/images/image-alignment-580x300.jpg create mode 100644 docs/assets/javascripts/main.js create mode 100644 docs/assets/stylesheets/main.scss create mode 100644 docs/cv.md create mode 100644 docs/index.html diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..ecbd3fe --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,14 @@ +source "https://rubygems.org" + +gem "github-pages", group: :jekyll_plugins + +gem "wdm", "~> 0.1.0" if Gem.win_platform? + +# If you have any plugins, put them here! +# group :jekyll_plugins do + # gem "jekyll-paginate" + # gem "jekyll-sitemap" + # gem "jekyll-gist" + # gem "jekyll-feed" + # gem "jemoji" +# end diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..a18ae18 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,51 @@ +lang: en-US +title: Basically Basic +email: dugan.nash@mailinator.com +description: "Your new default Jekyll theme" +baseurl: "/jekyll-theme-basically-basic" +url: "https://mmistakes.github.io" +repository: "mmistakes/minimal-mistakes" +author: + name: Dugan Nash + twitter: Towlette_Pettetucci + picture: https://api.adorable.io/avatars/285/johndoe.png +twitter_username: Towlette_Pettetucci +github_username: Towlette_Pettetucci +logo: /assets/icons/basically-basic-logo-light.svg + +# Build settings +markdown: kramdown +# theme: jekyll-theme-basically-basic +gems: + - jekyll-feed + - jekyll-seo-tag + - jekyll-sitemap + - jekyll-paginate +feed: + path: atom.xml + +# Pagination - https://jekyllrb.com/docs/pagination/ +paginate: 10 +paginate_path: /page:num/ + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ + +# Front Matter Defaults +defaults: + # _posts + - scope: + path: "_posts" + type: posts + values: + layout: post + read_time: true diff --git a/docs/_data/cv.json b/docs/_data/cv.json new file mode 100644 index 0000000..8b08c03 --- /dev/null +++ b/docs/_data/cv.json @@ -0,0 +1,128 @@ +{ + "basics": { + "name": "Dugan Nash", + "label": "Very extravagant man", + "picture": "", + "email": "dugan.hash@mailinator.com", + "phone": "(555) 555-5555", + "website": "https://towlettepettetuc.ci", + "summary": "Nash is well versed in the Montoyan / Artesian Connection, preparation of grasshopper mash, and baking of grover loaves.", + "location": { + "address": "123 Sesame Street", + "postalCode": "CA 94115", + "city": "San Francisco", + "countryCode": "US", + "region": "California" + }, + "profiles": [ + { + "network": "Twitter", + "username": "Towlette_Pettetucci", + "url": "https://twitter.com/Towlette_Pettetucci" + }, + { + "network": "SoundCloud", + "username": "Towlette_Pettetucci", + "url": "https://soundcloud.com/Towlette_Pettetucci" + } + ] + }, + "work": [ + { + "company": "The Whip", + "position": "CEO/President", + "website": "https://thewh.ip", + "startDate": "2013-12-01", + "endDate": "", + "summary": "Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.", + "highlights": [ + "Concealed nipper in embrodiery.", + "Dealt with Elastical Gomez on a daily basis." + ] + } + ], + "volunteer": [ + { + "organization": "Steve's Meat Market", + "position": "Assistant", + "website": "", + "startDate": "1995-01-01", + "endDate": "1997-03-20", + "summary": "Ground up some sort of grasshopper mash for fishing.", + "highlights": [ + "Awarded a 'Helium Biscuit'" + ] + } + ], + "education": [ + { + "institution": "University of Ointment", + "area": "Digital Skillets", + "studyType": "Bachelor", + "startDate": "2011-06-01", + "endDate": "2014-01-01", + "gpa": "4.0", + "courses": [ + "DB1101 - Perpendicular Crosstalk", + "CS2011 - Introduction to Moisturization" + ] + } + ], + "awards": [ + { + "title": "Warble Pioneer Award", + "date": "2001-11-01", + "awarder": "Levi Goulet", + "summary": "Have you seen my turtle?" + } + ], + "publications": [ + { + "name": "Radio Julius", + "publisher": "Tanyo Lubbock", + "releaseDate": "2014-10-01", + "website": "https://en.rhy.es", + "summary": "Capitalize on low hanging fruit to identify a ballpark value added activity to beta test." + } + ], + "skills": [ + { + "name": "Audio Juggling", + "level": "Master", + "keywords": [ + "Ointment", + "Voltor", + "Millipedes" + ] + }, + { + "name": "Bruschotti", + "level": "Satisfactory", + "keywords": [ + "Snow camp", + "Owl" + ] + } + ], + "languages": [ + { + "language": "Nonsense", + "fluency": "Native speaker" + } + ], + "interests": [ + { + "name": "The Information Superhighway", + "keywords": [ + "Ferrets", + "Unicorns" + ] + } + ], + "references": [ + { + "name": " Nannette Nananacci", + "reference": "It is my pleasure to recommend Dugan Nash, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company." + } + ] +} diff --git a/docs/_data/theme.yml b/docs/_data/theme.yml new file mode 100644 index 0000000..89242ea --- /dev/null +++ b/docs/_data/theme.yml @@ -0,0 +1,34 @@ +# Theme Skin +skin: default # default, night, plum, sea, soft, steel + +# Theme Text +t: + skip_links: "Skip links" + skip_primary_nav: "Skip to primary navigation" + skip_content: "Skip to content" + skip_footer: "Skip to footer" + menu: "Menu" + home: "Home" + newer: "Newer" + older: "Older" + email: "Email" + subscribe: "Subscribe" + read_more: "Read More" + posts: "Posts" + page: "Page" + of: "of" + min_read: "min read" + present: "Present" + +# Google Fonts +google_fonts: + - name: "Fira Sans" + weights: "400,400i,600,600i" + +# Link to specific internal pages in the navigation. +# Create a custom list to override the default setting of including links to all +# pages that have a `title`. Add raw page paths in the order you'd like. + +navigation_pages: + - about.md + - cv.md diff --git a/docs/_includes/author b/docs/_includes/author new file mode 100644 index 0000000..19bcf68 --- /dev/null +++ b/docs/_includes/author @@ -0,0 +1,31 @@ +{% assign author = page.author | default: page.authors[0] | default: site.author %} +{% if author %} + {% if author.name %} + {% assign author_name = author.name %} + {% else %} + {% if site.data.authors and site.data.authors[author] %} + {% assign author_name = site.data.authors[author].name %} + {% else %} + {% assign author_name = author %} + {% endif %} + {% endif %} + + {% if author.picture %} + {% assign author_picture = author.picture %} + {% else %} + {% if site.data.authors and site.data.authors[author] %} + {% assign author_picture = site.data.authors[author].picture %} + {% endif %} + {% unless author_picture contains '://' %}{% assign author_picture = author_picture | relative_url %}{% endunless %} + {% endif %} + + {% if author.twitter %} + {% assign author_twitter = author.twitter %} + {% else %} + {% if site.data.authors and site.data.authors[author] %} + {% assign author_twitter = site.data.authors[author].twitter %} + {% else %} + {% assign author_twitter = site.twitter_username %} + {% endif %} + {% endif %} +{% endif %} \ No newline at end of file diff --git a/docs/_includes/contact-list.html b/docs/_includes/contact-list.html new file mode 100644 index 0000000..b5697e3 --- /dev/null +++ b/docs/_includes/contact-list.html @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/docs/_includes/cv/awards.html b/docs/_includes/cv/awards.html new file mode 100644 index 0000000..81cc13a --- /dev/null +++ b/docs/_includes/cv/awards.html @@ -0,0 +1,24 @@ +{% if cv.awards %} +
+
+

Awards

+
+ +
+ {% for a in cv.awards %} + {% if a.title %} +

{{ a.title }}

+ {% endif %} + {% if a.date %} +
{{ a.date }}
+ {% endif %} + {% if a.awarder %} +
{{ a.awarder }}
+ {% endif %} + {% if a.summary %} +
{{ a.summary | markdownify }}
+ {% endif %} + {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/basics.html b/docs/_includes/cv/basics.html new file mode 100644 index 0000000..b40f698 --- /dev/null +++ b/docs/_includes/cv/basics.html @@ -0,0 +1,69 @@ +{% if cv.basics.summary %} +
+ {{ cv.basics.summary | markdownify }} +
+{% endif %} + +
+
+

Contact

+
+ +
+ {% if cv.basics.email %} + + {% endif %} + {% if cv.basics.phone %} +
Phone {{ cv.basics.phone }}
+ {% endif %} + {% if cv.basics.website %} + + {% endif %} + {% if cv.basics.profiles %} + {% for p in cv.basics.profiles %} +
+ {% if p.network %} + {{ p.network | append: ' ' }} + {% endif %} + {% if p.username %} + + {% unless p.url == '' or p.url == nil %} + {{ p.username }} + {% else %} + {{ p.username }} + {% endunless %} + + {% endif %} +
+ {% endfor %} + {% endif %} +
+
+ +{% if cv.basics.location %} +
+
+

Location

+
+ +
+
+ {% if cv.basics.location.address %} + {{ cv.basics.location.address }}
+ {% endif %} + {% if cv.basics.location.city %} + {{ cv.basics.location.city | append: ', ' }} + {% endif %} + {% if cv.basics.location.region %} + {{ cv.basics.location.region | append: ' ' }} + {% endif %} + {% if cv.basics.location.postalCode %} + {{ cv.basics.location.postalCode | append: ' ' }} + {% endif %} + {% if cv.basics.location.countryCode %} + {{ cv.basics.location.countryCode }} + {% endif %} +
+
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/education.html b/docs/_includes/cv/education.html new file mode 100644 index 0000000..df56572 --- /dev/null +++ b/docs/_includes/cv/education.html @@ -0,0 +1,36 @@ +{% if cv.education %} +
+
+

Education

+
+ +
+ {% for e in cv.education %} + {% if e.institution %} +

{{ e.institution }}

+ {% endif %} +
+ {% if e.startDate %} + {{ e.startDate }} + {% endif %} + {% if e.endDate == '' %} + {{ site.data.theme.t.present | default: 'Present' | prepend: ' — ' }} + {% else %} + {{ e.endDate | prepend: ' — ' }} + {% endif %} +
+ {% if e.area %} +
{{ e.area }}{% if e.studyType %}{{ e.studyType | prepend: ', ' }}{% endif %}{% if e.gpa %}{{ e.gpa | prepend: ' (' | append: ' GPA)' }}{% endif %}
+ {% endif %} + {% if e.courses %} +
Courses
+
    + {% for course in e.courses %} +
  • {{ course }}
  • + {% endfor %} +
+ {% endif %} + {% endfor %} +
+
+{% endif %} diff --git a/docs/_includes/cv/interests.html b/docs/_includes/cv/interests.html new file mode 100644 index 0000000..692ecf2 --- /dev/null +++ b/docs/_includes/cv/interests.html @@ -0,0 +1,20 @@ +{% if cv.interests %} +
+
+

Interests

+
+ +
+ {% for i in cv.interests %} +
+ {% if i.name %} +

{{ i.name }}

+ {% endif %} + {% if i.keywords %} + {{ i.keywords | array_to_sentence_string }} + {% endif %} +
+ {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/intro.html b/docs/_includes/cv/intro.html new file mode 100644 index 0000000..92a4f31 --- /dev/null +++ b/docs/_includes/cv/intro.html @@ -0,0 +1,18 @@ +
+
+
+

{{ cv.basics.name | default: page.title | markdownify | remove: '

' | remove: '

' }}

+ {% if cv.basics.label %} +

{{ cv.basics.label | markdownify | remove: '

' | remove: '

' }}

+ {% endif %} + + {% if page.actions %} + + {% endif %} +
+
+
diff --git a/docs/_includes/cv/languages.html b/docs/_includes/cv/languages.html new file mode 100644 index 0000000..19dc3d4 --- /dev/null +++ b/docs/_includes/cv/languages.html @@ -0,0 +1,20 @@ +{% if cv.languages %} +
+
+

Languages

+
+ +
+ {% for l in cv.languages %} + {% if l.language %} +

{{ l.language }}

+ {% endif %} + {% if l.fluency %} +
+ {{ l.fluency }} +
+ {% endif %} + {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/publications.html b/docs/_includes/cv/publications.html new file mode 100644 index 0000000..e1813bb --- /dev/null +++ b/docs/_includes/cv/publications.html @@ -0,0 +1,30 @@ +{% if cv.publications %} +
+
+

Publications

+
+ +
+ {% for p in cv.publications %} + {% if p.name %} +

+ {% if p.website %} + {{ p.name }} + {% else %} + {{ p.name }} + {% endif %} +

+ {% endif %} + {% if p.releaseDate %} +
{{ p.releaseDate }}
+ {% endif %} + {% if p.publisher %} +
{{ p.publisher | prepend: 'Published by ' }}
+ {% endif %} + {% if p.summary %} +
{{ p.summary | markdownify }}
+ {% endif %} + {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/references.html b/docs/_includes/cv/references.html new file mode 100644 index 0000000..df3dc4c --- /dev/null +++ b/docs/_includes/cv/references.html @@ -0,0 +1,24 @@ +{% if cv.references %} +
+
+

References

+
+ +
+ {% for r in cv.references %} +
+ {% if r.reference %} +
+ {{ r.reference |markdownify }} + {% if r.name %} +

+ {{ r.name }} +

+ {% endif %} +
+ {% endif %} +
+ {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/skills.html b/docs/_includes/cv/skills.html new file mode 100644 index 0000000..9f1c833 --- /dev/null +++ b/docs/_includes/cv/skills.html @@ -0,0 +1,20 @@ +{% if cv.skills. %} +
+
+

Skills

+
+ +
+ {% for s in cv.skills %} +
+ {% if s.name %} +

{{ s.name }}

+ {% endif %} + {% if s.keywords %} + {{ s.keywords | array_to_sentence_string }} + {% endif %} +
+ {% endfor %} +
+
+{% endif %} \ No newline at end of file diff --git a/docs/_includes/cv/volunteer.html b/docs/_includes/cv/volunteer.html new file mode 100644 index 0000000..5a2d030 --- /dev/null +++ b/docs/_includes/cv/volunteer.html @@ -0,0 +1,46 @@ +{% if cv.volunteer %} +
+
+

Volunteer

+
+ +
+ {% for v in cv.volunteer %} + {% if v.organization %} +

+ {% if v.website %} + {{ v.organization }} + {% else %} + {{ v.organization }} + {% endif %} +

+ {% endif %} + {% if v.position %} +

{{ v.position }}

+ {% endif %} +
+ {% if v.startDate %} + {{ v.startDate }} + {% endif %} + {% if v.endDate == '' %} + {{ site.data.theme.t.present | default: 'Present' | prepend: ' — ' }} + {% else %} + {{ v.endDate | prepend: ' — ' }} + {% endif %} +
+ {% if v.summary %} +
+

{{ v.summary }}

+
+ {% endif %} + {% if v.highlights %} +
    + {% for highlight in v.highlights %} +
  • {{ highlight }}
  • + {% endfor %} +
+ {% endif %} + {% endfor %} +
+
+{% endif %} diff --git a/docs/_includes/cv/work.html b/docs/_includes/cv/work.html new file mode 100644 index 0000000..cffb968 --- /dev/null +++ b/docs/_includes/cv/work.html @@ -0,0 +1,46 @@ +{% if cv.work %} +
+
+

Work

+
+ +
+ {% for w in cv.work %} + {% if w.company %} +

+ {% if w.website %} + {{ w.company }} + {% else %} + {{ w.company }} + {% endif %} +

+ {% endif %} + {% if w.position %} +

{{ w.position }}

+ {% endif %} +
+ {% if w.startDate %} + {{ w.startDate }} + {% endif %} + {% if w.endDate == '' %} + {{ site.data.theme.t.present | default: 'Present' | prepend: ' — ' }} + {% else %} + {{ w.endDate | prepend: ' — ' }} + {% endif %} +
+ {% if w.summary %} +
+

{{ w.summary }}

+
+ {% endif %} + {% if w.highlights %} +
    + {% for highlight in w.highlights %} +
  • {{ highlight }}
  • + {% endfor %} +
+ {% endif %} + {% endfor %} +
+
+{% endif %} diff --git a/docs/_includes/disqus_comments.html b/docs/_includes/disqus_comments.html new file mode 100644 index 0000000..0407cd2 --- /dev/null +++ b/docs/_includes/disqus_comments.html @@ -0,0 +1,17 @@ +{% if page.comments != false and jekyll.environment == "production" %} +
+ + +{% endif %} \ No newline at end of file diff --git a/docs/_includes/entry.html b/docs/_includes/entry.html new file mode 100644 index 0000000..c214fca --- /dev/null +++ b/docs/_includes/entry.html @@ -0,0 +1,29 @@ +{% if post.id %} + {% assign title = post.title | markdownify | strip_html %} +{% else %} + {% assign title = post.title %} +{% endif %} + +
+
+

+ {{ title }} +

+
+
+
    + {% if post.date %} +
  • {% include icon-calendar.svg %}
  • + {% endif %} + {% if post.read_time %} +
  • {% include icon-stopwatch.svg %}{% capture read_time %}{% include read-time.html %}{% endcapture %}{{ read_time | strip }}
  • + {% endif %} +
+
+
+ {% if post.excerpt %} + {{ post.excerpt | markdownify }} +

{{ site.data.theme.t.read_more | default: 'Read More' }} {% include icon-arrow-right.svg %}

+ {% endif %} +
+
diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html new file mode 100644 index 0000000..3fb6489 --- /dev/null +++ b/docs/_includes/footer.html @@ -0,0 +1,9 @@ + diff --git a/docs/_includes/google-analytics.html b/docs/_includes/google-analytics.html new file mode 100644 index 0000000..6ac0616 --- /dev/null +++ b/docs/_includes/google-analytics.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/docs/_includes/head-feed.html b/docs/_includes/head-feed.html new file mode 100644 index 0000000..fc31ba7 --- /dev/null +++ b/docs/_includes/head-feed.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/head-seo.html b/docs/_includes/head-seo.html new file mode 100644 index 0000000..8694692 --- /dev/null +++ b/docs/_includes/head-seo.html @@ -0,0 +1 @@ +{% seo %} \ No newline at end of file diff --git a/docs/_includes/head.html b/docs/_includes/head.html new file mode 100644 index 0000000..19b63a0 --- /dev/null +++ b/docs/_includes/head.html @@ -0,0 +1,35 @@ + + + + + + {% if site.gems contains 'jekyll-seo-tag' %} + {% comment %} + Add metadata for search engines and social networks if jekyll-seo-tag plugin is enabled + {% endcomment %} + {% include head-seo.html %} + {% else %} + {% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %} + + + {% endif %} + + + + + {% if site.data.theme.google_fonts %} + + {% endif %} + + {% if site.gems contains 'jekyll-feed' %} + {% comment %} + Add Atom feed link if jekyll-feed plugin is enabled + {% endcomment %} + {% include head-feed.html %} + {% endif %} + diff --git a/docs/_includes/icon-arrow-left.svg b/docs/_includes/icon-arrow-left.svg new file mode 100644 index 0000000..d7d28f0 --- /dev/null +++ b/docs/_includes/icon-arrow-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-arrow-right.svg b/docs/_includes/icon-arrow-right.svg new file mode 100644 index 0000000..e9ab917 --- /dev/null +++ b/docs/_includes/icon-arrow-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-bitbucket.html b/docs/_includes/icon-bitbucket.html new file mode 100644 index 0000000..f49af30 --- /dev/null +++ b/docs/_includes/icon-bitbucket.html @@ -0,0 +1,4 @@ + + {% include icon-bitbucket.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-bitbucket.svg b/docs/_includes/icon-bitbucket.svg new file mode 100644 index 0000000..4a17be0 --- /dev/null +++ b/docs/_includes/icon-bitbucket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-calendar.svg b/docs/_includes/icon-calendar.svg new file mode 100644 index 0000000..410a49c --- /dev/null +++ b/docs/_includes/icon-calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-codepen.html b/docs/_includes/icon-codepen.html new file mode 100644 index 0000000..50412e4 --- /dev/null +++ b/docs/_includes/icon-codepen.html @@ -0,0 +1,4 @@ + + {% include icon-codepen.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-codepen.svg b/docs/_includes/icon-codepen.svg new file mode 100644 index 0000000..88bd3cf --- /dev/null +++ b/docs/_includes/icon-codepen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-download.svg b/docs/_includes/icon-download.svg new file mode 100644 index 0000000..f3cd4a9 --- /dev/null +++ b/docs/_includes/icon-download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-dribbble.html b/docs/_includes/icon-dribbble.html new file mode 100644 index 0000000..dc48071 --- /dev/null +++ b/docs/_includes/icon-dribbble.html @@ -0,0 +1,4 @@ + + {% include icon-dribbble.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-dribbble.svg b/docs/_includes/icon-dribbble.svg new file mode 100644 index 0000000..44c7af5 --- /dev/null +++ b/docs/_includes/icon-dribbble.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-email.svg b/docs/_includes/icon-email.svg new file mode 100644 index 0000000..40d8357 --- /dev/null +++ b/docs/_includes/icon-email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-facebook.html b/docs/_includes/icon-facebook.html new file mode 100644 index 0000000..c54ce9e --- /dev/null +++ b/docs/_includes/icon-facebook.html @@ -0,0 +1,4 @@ + + + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-facebook.svg b/docs/_includes/icon-facebook.svg new file mode 100644 index 0000000..b1d1895 --- /dev/null +++ b/docs/_includes/icon-facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-flickr.html b/docs/_includes/icon-flickr.html new file mode 100644 index 0000000..efb7ae1 --- /dev/null +++ b/docs/_includes/icon-flickr.html @@ -0,0 +1,4 @@ + + {% include icon-flickr.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-flickr.svg b/docs/_includes/icon-flickr.svg new file mode 100644 index 0000000..68c4910 --- /dev/null +++ b/docs/_includes/icon-flickr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-github.html b/docs/_includes/icon-github.html new file mode 100644 index 0000000..873ffa9 --- /dev/null +++ b/docs/_includes/icon-github.html @@ -0,0 +1,4 @@ + + {% include icon-github.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-github.svg b/docs/_includes/icon-github.svg new file mode 100644 index 0000000..59d57b9 --- /dev/null +++ b/docs/_includes/icon-github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-gitlab.html b/docs/_includes/icon-gitlab.html new file mode 100644 index 0000000..bdebcb6 --- /dev/null +++ b/docs/_includes/icon-gitlab.html @@ -0,0 +1,4 @@ + + {% include icon-gitlab.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-gitlab.svg b/docs/_includes/icon-gitlab.svg new file mode 100644 index 0000000..29c2012 --- /dev/null +++ b/docs/_includes/icon-gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-googleplus.html b/docs/_includes/icon-googleplus.html new file mode 100644 index 0000000..59248fe --- /dev/null +++ b/docs/_includes/icon-googleplus.html @@ -0,0 +1,4 @@ + + {% include icon-googleplus.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-googleplus.svg b/docs/_includes/icon-googleplus.svg new file mode 100644 index 0000000..87b3af6 --- /dev/null +++ b/docs/_includes/icon-googleplus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-instagram.html b/docs/_includes/icon-instagram.html new file mode 100644 index 0000000..936771d --- /dev/null +++ b/docs/_includes/icon-instagram.html @@ -0,0 +1,4 @@ + + {% include icon-instagram.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-instagram.svg b/docs/_includes/icon-instagram.svg new file mode 100644 index 0000000..5c45f1f --- /dev/null +++ b/docs/_includes/icon-instagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-lastfm.html b/docs/_includes/icon-lastfm.html new file mode 100644 index 0000000..8fb6625 --- /dev/null +++ b/docs/_includes/icon-lastfm.html @@ -0,0 +1,4 @@ + + {% include icon-lastfm.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-lastfm.svg b/docs/_includes/icon-lastfm.svg new file mode 100644 index 0000000..146f4b9 --- /dev/null +++ b/docs/_includes/icon-lastfm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-linkedin.html b/docs/_includes/icon-linkedin.html new file mode 100644 index 0000000..103892b --- /dev/null +++ b/docs/_includes/icon-linkedin.html @@ -0,0 +1,4 @@ + + {% include icon-linkedin.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-linkedin.svg b/docs/_includes/icon-linkedin.svg new file mode 100644 index 0000000..91d7ee8 --- /dev/null +++ b/docs/_includes/icon-linkedin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-pdf.svg b/docs/_includes/icon-pdf.svg new file mode 100644 index 0000000..bf174e0 --- /dev/null +++ b/docs/_includes/icon-pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-pinterest.html b/docs/_includes/icon-pinterest.html new file mode 100644 index 0000000..c1c461a --- /dev/null +++ b/docs/_includes/icon-pinterest.html @@ -0,0 +1,4 @@ + + {% include icon-pinterest.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-pinterest.svg b/docs/_includes/icon-pinterest.svg new file mode 100644 index 0000000..e4a3e4c --- /dev/null +++ b/docs/_includes/icon-pinterest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-rss.svg b/docs/_includes/icon-rss.svg new file mode 100644 index 0000000..3b73970 --- /dev/null +++ b/docs/_includes/icon-rss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-soundcloud.html b/docs/_includes/icon-soundcloud.html new file mode 100644 index 0000000..317f381 --- /dev/null +++ b/docs/_includes/icon-soundcloud.html @@ -0,0 +1,4 @@ + + {% include icon-soundcloud.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-soundcloud.svg b/docs/_includes/icon-soundcloud.svg new file mode 100644 index 0000000..642c815 --- /dev/null +++ b/docs/_includes/icon-soundcloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-stackoverflow.html b/docs/_includes/icon-stackoverflow.html new file mode 100644 index 0000000..29851ee --- /dev/null +++ b/docs/_includes/icon-stackoverflow.html @@ -0,0 +1,4 @@ + + {% include icon-stackoverflow.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-stackoverflow.svg b/docs/_includes/icon-stackoverflow.svg new file mode 100644 index 0000000..13e1dbb --- /dev/null +++ b/docs/_includes/icon-stackoverflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-stopwatch.svg b/docs/_includes/icon-stopwatch.svg new file mode 100644 index 0000000..d448bdd --- /dev/null +++ b/docs/_includes/icon-stopwatch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-tumblr.html b/docs/_includes/icon-tumblr.html new file mode 100644 index 0000000..7ba5501 --- /dev/null +++ b/docs/_includes/icon-tumblr.html @@ -0,0 +1,4 @@ + + {% include icon-tumblr.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-tumblr.svg b/docs/_includes/icon-tumblr.svg new file mode 100644 index 0000000..d42a48c --- /dev/null +++ b/docs/_includes/icon-tumblr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-twitter.html b/docs/_includes/icon-twitter.html new file mode 100644 index 0000000..0682e12 --- /dev/null +++ b/docs/_includes/icon-twitter.html @@ -0,0 +1,4 @@ + + + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-twitter.svg b/docs/_includes/icon-twitter.svg new file mode 100644 index 0000000..4d3fbe4 --- /dev/null +++ b/docs/_includes/icon-twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-xing.html b/docs/_includes/icon-xing.html new file mode 100644 index 0000000..c72bc39 --- /dev/null +++ b/docs/_includes/icon-xing.html @@ -0,0 +1,4 @@ + + {% include icon-xing.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-xing.svg b/docs/_includes/icon-xing.svg new file mode 100644 index 0000000..ed9ea48 --- /dev/null +++ b/docs/_includes/icon-xing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/icon-youtube.html b/docs/_includes/icon-youtube.html new file mode 100644 index 0000000..3a1532a --- /dev/null +++ b/docs/_includes/icon-youtube.html @@ -0,0 +1,4 @@ + + {% include icon-youtube.svg %} + {{ include.label | default: include.username }} + diff --git a/docs/_includes/icon-youtube.svg b/docs/_includes/icon-youtube.svg new file mode 100644 index 0000000..8c1cdf2 --- /dev/null +++ b/docs/_includes/icon-youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_includes/masthead.html b/docs/_includes/masthead.html new file mode 100644 index 0000000..13954b9 --- /dev/null +++ b/docs/_includes/masthead.html @@ -0,0 +1,27 @@ +{% if site.logo contains '://' %} + {% assign site_logo = site.logo %} +{% else %} + {% assign site_logo = site.logo | relative_url %} +{% endif %} + +
+ +
diff --git a/docs/_includes/navigation.html b/docs/_includes/navigation.html new file mode 100644 index 0000000..5351313 --- /dev/null +++ b/docs/_includes/navigation.html @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/docs/_includes/page-intro.html b/docs/_includes/page-intro.html new file mode 100644 index 0000000..9163e07 --- /dev/null +++ b/docs/_includes/page-intro.html @@ -0,0 +1,42 @@ +
+ {% if page.image %} + {% assign intro_image = page.image.path | default: page.image %} + {% unless intro_image contains '://' %} + {% assign intro_image = intro_image | relative_url %} + {% endunless %} + {% assign intro_image = intro_image | escape %} +
+ {{ page.title }} +
+ {% endif %} + +
+
+

{{ page.alt_title | default: page.title | default: site.title | markdownify | strip_html }}

+ {% if page.sub_title %} +

{{ page.sub_title | markdownify | strip_html }}

+ {% endif %} + + {% if page.date %} + {% include author %} + + {% endif %} + + {% if page.introduction %} +
+ {{ page.introduction | markdownify }} +
+ {% endif %} + + {% if page.actions %} + + {% endif %} +
+
+
diff --git a/docs/_includes/posts-all.html b/docs/_includes/posts-all.html new file mode 100644 index 0000000..a3646c9 --- /dev/null +++ b/docs/_includes/posts-all.html @@ -0,0 +1,3 @@ +{% for post in site.posts %} + {% include entry.html %} +{% endfor %} \ No newline at end of file diff --git a/docs/_includes/posts-paginated.html b/docs/_includes/posts-paginated.html new file mode 100644 index 0000000..142db39 --- /dev/null +++ b/docs/_includes/posts-paginated.html @@ -0,0 +1,16 @@ +{% for post in paginator.posts %} + {% include entry.html %} +{% endfor %} + + + \ No newline at end of file diff --git a/docs/_includes/read-time.html b/docs/_includes/read-time.html new file mode 100644 index 0000000..0cf008b --- /dev/null +++ b/docs/_includes/read-time.html @@ -0,0 +1,13 @@ +{% assign words_per_minute = site.words_per_minute | default: 200 %} + +{% if post.read_time %} + {% assign words = post.content | strip_html | number_of_words %} +{% elsif page.read_time %} + {% assign words = page.content | strip_html | number_of_words %} +{% endif %} + +{% if words < words_per_minute %} + ~1 {{ site.data.theme.t.min_read | default: 'min read' }} +{% else %} + {{ words | divided_by:words_per_minute }} {{ site.data.theme.t.min_read | default: 'min read' }} +{% endif %} diff --git a/docs/_includes/scripts.html b/docs/_includes/scripts.html new file mode 100644 index 0000000..85a2a21 --- /dev/null +++ b/docs/_includes/scripts.html @@ -0,0 +1,5 @@ +{% if jekyll.environment == 'production' and site.google_analytics %} + {% include google-analytics.html %} +{% endif %} + + \ No newline at end of file diff --git a/docs/_includes/skip-links.html b/docs/_includes/skip-links.html new file mode 100644 index 0000000..12893ea --- /dev/null +++ b/docs/_includes/skip-links.html @@ -0,0 +1,8 @@ +
+

{{ site.data.theme.t.skip_links | default: 'Skip links' }}

+ +
\ No newline at end of file diff --git a/docs/_layouts/about.html b/docs/_layouts/about.html new file mode 100644 index 0000000..fe13cb4 --- /dev/null +++ b/docs/_layouts/about.html @@ -0,0 +1,21 @@ +--- +layout: default +--- + +{% include page-intro.html %} + +
+
+
+
+ {{ content }} +
+ +
+ + {% include footer.html %} +
+
diff --git a/docs/_layouts/cv.html b/docs/_layouts/cv.html new file mode 100644 index 0000000..b2165f0 --- /dev/null +++ b/docs/_layouts/cv.html @@ -0,0 +1,28 @@ +--- +layout: default +--- + +{% assign cv = site.data.cv %} +{% include cv/intro.html %} + +
+
+
{{ content }}
+
+
+ {% include cv/basics.html %} + {% include cv/work.html %} + {% include cv/volunteer.html %} + {% include cv/education.html %} + {% include cv/awards.html %} + {% include cv/publications.html %} + {% include cv/skills.html %} + {% include cv/languages.html %} + {% include cv/interests.html %} + {% include cv/references.html %} +
+
+ + {% include footer.html %} +
+
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 0000000..f8c814a --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,38 @@ + + + + {% include head.html %} + + + + {% include skip-links.html %} + + + +
+ {% include masthead.html %} + {{ content }} +
+ + + + {% include scripts.html %} + + + + diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html new file mode 100644 index 0000000..f8a2b90 --- /dev/null +++ b/docs/_layouts/home.html @@ -0,0 +1,30 @@ +--- +layout: default +--- + +{% include page-intro.html %} + +
+
+
{{ content }}
+ +
+
+

{{ site.data.theme.t.posts | default: 'Posts' }}{% if paginator.page > 1 %}{{ site.data.theme.t.page | default: 'Page' | prepend: ' - ' | append: ' ' }}{{ paginator.page }} {{ site.data.theme.t.of | default: 'of' }} {{ paginator.total_pages }}{% endif %}

+
+
+ {% if site.gems contains 'jekyll-paginate' and page.paginate %} + {% comment %} + Add paginator.posts loop if jekyll-paginate plugin is enabled + and page.paginate == true + {% endcomment %} + {% include posts-paginated.html %} + {% else %} + {% include posts-all.html %} + {% endif %} +
+
+ + {% include footer.html %} +
+
diff --git a/docs/_layouts/page.html b/docs/_layouts/page.html new file mode 100644 index 0000000..ca27059 --- /dev/null +++ b/docs/_layouts/page.html @@ -0,0 +1,17 @@ +--- +layout: default +--- + +{% include page-intro.html %} + +
+
+
+
+ {{ content }} +
+
+ + {% include footer.html %} +
+
diff --git a/docs/_layouts/post.html b/docs/_layouts/post.html new file mode 100644 index 0000000..ab4c2e1 --- /dev/null +++ b/docs/_layouts/post.html @@ -0,0 +1,20 @@ +--- +layout: default +--- + +{% include page-intro.html %} + +
+
+
+
+ {{ content }} +
+ {% if site.disqus.shortname %} + {% include disqus_comments.html %} + {% endif %} +
+ + {% include footer.html %} +
+
diff --git a/docs/_posts/2009-05-15-edge-case-nested-and-mixed-lists.md b/docs/_posts/2009-05-15-edge-case-nested-and-mixed-lists.md new file mode 100644 index 0000000..098ce7e --- /dev/null +++ b/docs/_posts/2009-05-15-edge-case-nested-and-mixed-lists.md @@ -0,0 +1,58 @@ +--- +title: "Edge Case: Nested and Mixed Lists" +categories: + - Edge Case +tags: + - content + - css + - edge case + - lists + - markup +last_modified_at: 2017-03-09T14:25:52-05:00 +--- + +Nested and mixed lists are an interesting beast. It's a corner case to make sure that lists within lists do not break the ordered list numbering order and list styles go deep enough. + +## Ordered -- Unordered -- Ordered + +1. ordered item +2. ordered item + * **unordered** + * **unordered** + 1. ordered item + 2. ordered item +3. ordered item +4. ordered item + +## Ordered -- Unordered -- Unordered + +1. ordered item +2. ordered item + * **unordered** + * **unordered** + * unordered item + * unordered item +3. ordered item +4. ordered item + +## Unordered -- Ordered -- Unordered + +* unordered item +* unordered item + 1. ordered + 2. ordered + * unordered item + * unordered item +* unordered item +* unordered item + +## Unordered -- Unordered -- Ordered + +* unordered item +* unordered item + * unordered + * unordered + 1. **ordered item** + 2. **ordered item** +* unordered item +* unordered item \ No newline at end of file diff --git a/docs/_posts/2009-06-01-edge-case-many-tags.md b/docs/_posts/2009-06-01-edge-case-many-tags.md new file mode 100644 index 0000000..f43509f --- /dev/null +++ b/docs/_posts/2009-06-01-edge-case-many-tags.md @@ -0,0 +1,49 @@ +--- +title: "Edge Case: Many Tags" +categories: + - Edge Case +tags: + - 8BIT + - alignment + - Articles + - captions + - categories + - chat + - comments + - content + - css + - dowork + - edge case + - embeds + - excerpt + - Fail + - featured image + - FTW + - Fun + - gallery + - html + - image + - Jekyll + - layout + - link + - Love + - markup + - Mothership + - Must Read + - Nailed It + - Pictures + - Post Formats + - quote + - standard + - Success + - Swagger + - Tags + - template + - title + - twitter + - Unseen + - video + - YouTube +--- + +This post has many tags. \ No newline at end of file diff --git a/docs/_posts/2009-07-02-edge-case-many-categories.md b/docs/_posts/2009-07-02-edge-case-many-categories.md new file mode 100644 index 0000000..4d67986 --- /dev/null +++ b/docs/_posts/2009-07-02-edge-case-many-categories.md @@ -0,0 +1,19 @@ +--- +title: "Edge Case: Many Categories" +categories: + - aciform + - antiquarianism + - arrangement + - asmodeus + - broder + - buying + - championship + - chastening + - disinclination + - disinfection +tags: + - categories + - edge case +--- + +This post has many categories. \ No newline at end of file diff --git a/docs/_posts/2009-08-06-edge-case-no-body-content.md b/docs/_posts/2009-08-06-edge-case-no-body-content.md new file mode 100644 index 0000000..8a68508 --- /dev/null +++ b/docs/_posts/2009-08-06-edge-case-no-body-content.md @@ -0,0 +1,11 @@ +--- +title: "Edge Case: No Body Content" +excerpt: "This post has no body content and should be blank on the post's page." +categories: + - Edge Case +tags: + - content + - edge case + - layout +last_modified_at: 2017-03-09T14:23:48-05:00 +--- diff --git a/docs/_posts/2009-09-05-edge-case-no-yaml-title.md b/docs/_posts/2009-09-05-edge-case-no-yaml-title.md new file mode 100644 index 0000000..7a32127 --- /dev/null +++ b/docs/_posts/2009-09-05-edge-case-no-yaml-title.md @@ -0,0 +1,12 @@ +--- +categories: + - Edge Case +tags: + - edge case + - layout + - title +--- + +This post has no title specified in the YAML Front Matter. Jekyll should auto-generate a title from the filename. + +For example `2009-09-05-edge-case-no-yaml-title.md` becomes **Edge Case No Yaml Title**. \ No newline at end of file diff --git a/docs/_posts/2009-10-05-edge-case-title-should-not-overflow-the-content-area.md b/docs/_posts/2009-10-05-edge-case-title-should-not-overflow-the-content-area.md new file mode 100644 index 0000000..e7be7ba --- /dev/null +++ b/docs/_posts/2009-10-05-edge-case-title-should-not-overflow-the-content-area.md @@ -0,0 +1,26 @@ +--- +title: "Antidisestablishmentarianism" +categories: + - Edge Case +tags: + - content + - css + - edge case + - html + - layout + - title +last_modified_at: 2017-03-09T14:10:02-05:00 +--- + +This post title has a long word that could potentially overflow the content area. + +A few things to check for: + + * Non-breaking text in the title should have no adverse effects on layout or functionality. + * Check the browser window / tab title. + +The following CSS property will help you support non-breaking text. + +```css +word-wrap: break-word; +``` \ No newline at end of file diff --git a/docs/_posts/2009-10-05-edge-case-very-long-title.md b/docs/_posts/2009-10-05-edge-case-very-long-title.md new file mode 100644 index 0000000..d31e072 --- /dev/null +++ b/docs/_posts/2009-10-05-edge-case-very-long-title.md @@ -0,0 +1,14 @@ +--- +title: "Suspicio? Bene ... tunc ibimus? Quis uh ... CONEXUS locus his diebus? Quisque semper aliquid videtur, in volutpat mauris. Nolo enim dicere. Vobis neque ab aliis. Ego feci memetipsum explicans. Gus mortuus est. Lorem opus habeo. Jackson Isai? Tu quoque ... A te quidem a ante. Vos scitis quod blinking res Ive 'been vocans super vos? Et conteram illud, et conteram hoc. Maledicant druggie excors. Iam hoc tu facere conatus sum ad te in omni tempore? Ludum mutavit. Verbum est ex. Et ... sunt occid" +categories: + - Edge Case +tags: + - content + - css + - edge case + - html + - layout + - title +--- + +Check for long titles and how they might break layouts. \ No newline at end of file diff --git a/docs/_posts/2010-01-07-post-modified.md b/docs/_posts/2010-01-07-post-modified.md new file mode 100644 index 0000000..dbfbe21 --- /dev/null +++ b/docs/_posts/2010-01-07-post-modified.md @@ -0,0 +1,14 @@ +--- +title: "Post: Modified Date" +categories: + - Post Formats +tags: + - Post Formats + - readability + - standard +last_modified_at: 2017-03-09T13:01:27-05:00 +--- + +This post has been updated and should show a modified date if `last_modified_at` is used in the layout. + +Plugins like [**jekyll-sitemap**](https://github.com/jekyll/jekyll-feed) use this field to add a `` tag your `sitemap.xml`. \ No newline at end of file diff --git a/docs/_posts/2010-01-07-post-standard.md b/docs/_posts/2010-01-07-post-standard.md new file mode 100644 index 0000000..cd83ea0 --- /dev/null +++ b/docs/_posts/2010-01-07-post-standard.md @@ -0,0 +1,32 @@ +--- +title: "Post: Standard" +excerpt_separator: "" +categories: + - Post Formats +tags: + - Post Formats + - readability + - standard +--- + +All children, except one, grow up. They soon know that they will grow up, and the way Wendy knew was this. One day when she was two years old she was playing in a garden, and she plucked another flower and ran with it to her mother. I suppose she must have looked rather delightful, for Mrs. Darling put her hand to her heart and cried, "Oh, why can't you remain like this for ever!" This was all that passed between them on the subject, but henceforth Wendy knew that she must grow up. You always know after you are two. Two is the beginning of the end. + +Mrs. Darling first heard of Peter when she was tidying up her children's minds. It is the nightly custom of every good mother after her children are asleep to rummage in their minds and put things straight for next morning, repacking into their proper places the many articles that have wandered during the day. + + + +This post has a manual excerpt `` set after the second paragraph. The following YAML Front Matter has also be applied: + +```yaml +excerpt_separator: "" +``` + +If you could keep awake (but of course you can't) you would see your own mother doing this, and you would find it very interesting to watch her. It is quite like tidying up drawers. You would see her on her knees, I expect, lingering humorously over some of your contents, wondering where on earth you had picked this thing up, making discoveries sweet and not so sweet, pressing this to her cheek as if it were as nice as a kitten, and hurriedly stowing that out of sight. When you wake in the morning, the naughtiness and evil passions with which you went to bed have been folded up small and placed at the bottom of your mind and on the top, beautifully aired, are spread out your prettier thoughts, ready for you to put on. + +I don't know whether you have ever seen a map of a person's mind. Doctors sometimes draw maps of other parts of you, and your own map can become intensely interesting, but catch them trying to draw a map of a child's mind, which is not only confused, but keeps going round all the time. There are zigzag lines on it, just like your temperature on a card, and these are probably roads in the island, for the Neverland is always more or less an island, with astonishing splashes of colour here and there, and coral reefs and rakish-looking craft in the offing, and savages and lonely lairs, and gnomes who are mostly tailors, and caves through which a river runs, and princes with six elder brothers, and a hut fast going to decay, and one very small old lady with a hooked nose. It would be an easy map if that were all, but there is also first day at school, religion, fathers, the round pond, needle-work, murders, hangings, verbs that take the dative, chocolate pudding day, getting into braces, say ninety-nine, three-pence for pulling out your tooth yourself, and so on, and either these are part of the island or they are another map showing through, and it is all rather confusing, especially as nothing will stand still. + +Of course the Neverlands vary a good deal. John's, for instance, had a lagoon with flamingoes flying over it at which John was shooting, while Michael, who was very small, had a flamingo with lagoons flying over it. John lived in a boat turned upside down on the sands, Michael in a wigwam, Wendy in a house of leaves deftly sewn together. John had no friends, Michael had friends at night, Wendy had a pet wolf forsaken by its parents, but on the whole the Neverlands have a family resemblance, and if they stood still in a row you could say of them that they have each other's nose, and so forth. On these magic shores children at play are for ever beaching their coracles [simple boat]. We too have been there; we can still hear the sound of the surf, though we shall land no more. + +Of all delectable islands the Neverland is the snuggest and most compact, not large and sprawly, you know, with tedious distances between one adventure and another, but nicely crammed. When you play at it by day with the chairs and table-cloth, it is not in the least alarming, but in the two minutes before you go to sleep it becomes very real. That is why there are night-lights. + +Occasionally in her travels through her children's minds Mrs. Darling found things she could not understand, and of these quite the most perplexing was the word Peter. She knew of no Peter, and yet he was here and there in John and Michael's minds, while Wendy's began to be scrawled all over with him. The name stood out in bolder letters than any of the other words, and as Mrs. Darling gazed she felt that it had an oddly cocky appearance. \ No newline at end of file diff --git a/docs/_posts/2010-02-05-post-quote.md b/docs/_posts/2010-02-05-post-quote.md new file mode 100644 index 0000000..60859a0 --- /dev/null +++ b/docs/_posts/2010-02-05-post-quote.md @@ -0,0 +1,12 @@ +--- +title: "Post: Quote" +categories: + - Post Formats +tags: + - Post Formats + - quote +--- + +> Only one thing is impossible for God: To find any sense in any copyright law on the planet. +> +> Mark Twain \ No newline at end of file diff --git a/docs/_posts/2010-06-02-post-video-youtube.md b/docs/_posts/2010-06-02-post-video-youtube.md new file mode 100644 index 0000000..117cb86 --- /dev/null +++ b/docs/_posts/2010-06-02-post-video-youtube.md @@ -0,0 +1,12 @@ +--- +title: "Post: Video (YouTube)" +categories: + - Post Formats +tags: + - Post Formats +last_modified_at: 2017-03-09T12:58:20-05:00 +--- + + + +This post test YouTube video embeds. \ No newline at end of file diff --git a/docs/_posts/2010-09-10-post-twitter-embeds.md b/docs/_posts/2010-09-10-post-twitter-embeds.md new file mode 100644 index 0000000..fd16523 --- /dev/null +++ b/docs/_posts/2010-09-10-post-twitter-embeds.md @@ -0,0 +1,16 @@ +--- +title: "Post: Twitter Embed" +categories: + - Media +tags: + - content + - embeds + - media + - twitter +last_modified_at: 2017-03-09T12:57:42-05:00 +--- + + + + +This post tests Twitter Embeds. \ No newline at end of file diff --git a/docs/_posts/2010-10-25-post-future-date.md b/docs/_posts/2010-10-25-post-future-date.md new file mode 100644 index 0000000..163ee06 --- /dev/null +++ b/docs/_posts/2010-10-25-post-future-date.md @@ -0,0 +1,13 @@ +--- +title: "Post: Future Date" +date: 9999-12-31 +categories: + - Post +last_modified_at: 2017-03-09T12:45:25-05:00 +--- + +This post lives in the future and is dated {{ page.date | date: "%c" }}. It should only appear when Jekyll builds your project with the `--future` flag. + +```bash +jekyll build --future +``` \ No newline at end of file diff --git a/docs/_posts/2012-03-14-layout-excerpt-defined.md b/docs/_posts/2012-03-14-layout-excerpt-defined.md new file mode 100644 index 0000000..f5a1439 --- /dev/null +++ b/docs/_posts/2012-03-14-layout-excerpt-defined.md @@ -0,0 +1,16 @@ +--- +title: "Layout: Excerpt (Defined)" +excerpt: "This is a user-defined post excerpt. It should be displayed in place of the auto-generated excerpt or post content on index pages." +categories: + - Layout + - Uncategorized +tags: + - content + - excerpt + - layout +last_modified_at: 2017-03-09T12:43:31-05:00 +--- + +This is the start of the post content. + +This paragraph should be absent from an index page where `post.excerpt` is shown. \ No newline at end of file diff --git a/docs/_posts/2012-03-14-layout-excerpt-generated.md b/docs/_posts/2012-03-14-layout-excerpt-generated.md new file mode 100644 index 0000000..b6ebff3 --- /dev/null +++ b/docs/_posts/2012-03-14-layout-excerpt-generated.md @@ -0,0 +1,22 @@ +--- +title: "Layout: Excerpt (Generated with Separator Tag)" +excerpt_separator: "" +categories: + - Layout + - Uncategorized +tags: + - content + - excerpt + - layout +last_modified_at: 2017-03-09T12:32:16-05:00 +--- + +This is the post content. Archive-index pages should display an [auto-generated excerpt](https://jekyllrb.com/docs/posts/#post-excerpts) of all the content preceding the `excerpt_separator`, as defined in the YAML Front Matter or globally in `_config.yml`. + +Be sure to test the formatting of the auto-generated excerpt, to ensure that it doesn't create any layout problems. + + + +Lorem ipsum dolor sit amet, dicant nusquam corpora in usu, laudem putent fuisset ut eam. Justo accusam definitionem id cum, choro prodesset ex his. Noluisse constituto intellegebat ea mei. Timeam admodum omnesque pri ex, eos habemus suavitate aliquando cu. Dico nihil delectus quo cu. Ludus cetero cu eos, vidit invidunt dissentiet mea ne. + +Usu delenit vocibus elaboraret ex. Scripta sapientem adversarium ei pri, pri ex solet democritum. Nam te porro impedit, ei doctus albucius cotidieque pri, ea mutat causae lucilius has. Pri omnis errem labore ut. An aperiam tibique est, mei te dolore veritus, nam nulla feugait ut. In vis labitur eripuit contentiones. \ No newline at end of file diff --git a/docs/_posts/2012-03-14-layout-hero-image.md b/docs/_posts/2012-03-14-layout-hero-image.md new file mode 100644 index 0000000..2d34e34 --- /dev/null +++ b/docs/_posts/2012-03-14-layout-hero-image.md @@ -0,0 +1,26 @@ +--- +title: "Layout: Hero Image" +image: /assets/images/eder-oliveira-180877.jpg +categories: + - Layout +tags: + - content + - image + - layout +last_modified_at: 2017-03-17T10:46:49-04:00 +--- + +This post should display a large hero image at the top of a page. + +This post tests a horizontal image using the following YAML Front Matter: + +```yaml +image: /assets/images/eder-oliveira-180877.jpg +``` + +Hero images can also be assigned like this: + +```yaml +image: + path: /assets/images/eder-oliveira-180877.jpg +``` diff --git a/docs/_posts/2012-05-22-markup-text-readability.md b/docs/_posts/2012-05-22-markup-text-readability.md new file mode 100644 index 0000000..9970eff --- /dev/null +++ b/docs/_posts/2012-05-22-markup-text-readability.md @@ -0,0 +1,46 @@ +--- +title: "Markup: Text Readability Test" +excerpt: "A large amount of sample text to test readability of a text heavy page." +tags: + - sample post + - readability + - test +last_modified_at: 2017-03-09T12:26:59-05:00 +--- + +Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. + +Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. + +## Cupidatat 90's lo-fi authentic try-hard + +In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. + + * Sartorial hoodie + * Labore viral forage + * Tote bag selvage + * DIY exercitation et id ugh tumblr church-key + +Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. + +Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis. + +## Forage occaecat cardigan qui + +Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. + +> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache. + +Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard. + +## Hoodie Duis + +Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio. + +### Thundercats Ho! + +Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress. + +Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic. + +Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam. diff --git a/docs/_posts/2013-01-05-markup-title-with-markup.md b/docs/_posts/2013-01-05-markup-title-with-markup.md new file mode 100644 index 0000000..2ce5f1b --- /dev/null +++ b/docs/_posts/2013-01-05-markup-title-with-markup.md @@ -0,0 +1,18 @@ +--- +title: "Markup: Title *with* **Markdown**" +categories: + - Markdown +tags: + - css + - html + - title +last_modified_at: 2017-03-09T12:25:10-05:00 +--- + +Using Markdown in the title should have no adverse effect on the layout or functionality. + +**`page.title` example:** + +```yaml +title: "Markup: Title *with* **Markdown**"" +``` \ No newline at end of file diff --git a/docs/_posts/2013-01-05-markup-title-with-special-characters.md b/docs/_posts/2013-01-05-markup-title-with-special-characters.md new file mode 100644 index 0000000..1b5eceb --- /dev/null +++ b/docs/_posts/2013-01-05-markup-title-with-special-characters.md @@ -0,0 +1,437 @@ +--- +title: "Markup: Title with Special --- Characters" +categories: + - Markup +tags: + - html + - markup + - post + - title +last_modified_at: 2017-03-09T12:23:27-05:00 +--- + +Putting special characters in the title should have no adverse effect on the layout or functionality. + +The title above has none-breaking spaces before and after the m-dash. + +```markdown + ---  +``` + +## Latin Character Tests + +This is a test to see if the fonts used in this theme support basic Latin characters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ ! + + “ + + # + + $ + + % + + & + + ‘ + + ( + + ) + + * +
+ + + + , + + – + + . + + / + + + 1 + + 2 + + 3 + + 4 +
+ 5 + + 6 + + 7 + + 8 + + 9 + + : + + ; + + > + + = + + < +
+ ? + + @ + + A + + B + + C + + D + + E + + F + + G + + H +
+ I + + J + + K + + L + + M + + N + + O + + P + + Q + + R +
+ S + + T + + U + + V + + W + + X + + Y + + Z + + [ + +
+ ] + + ^ + + _ + + ` + + a + + b + + c + + d + + e + + f +
+ g + + h + + i + + j + + k + + l + + m + + n + + o + + p +
+ q + + r + + s + + t + + u + + v + + w + + x + + y + + z +
+ { + + | + + } + + ~ + + + + + + +
\ No newline at end of file diff --git a/docs/_posts/2013-01-09-markup-text-alignment.md b/docs/_posts/2013-01-09-markup-text-alignment.md new file mode 100644 index 0000000..bc50755 --- /dev/null +++ b/docs/_posts/2013-01-09-markup-text-alignment.md @@ -0,0 +1,111 @@ +--- +title: "Markup: Text Alignment and Transformations" +categories: + - Markup +tags: + - alignment + - content + - css + - markup +last_modified_at: 2017-03-09T12:17:03-05:00 +--- + +Sample text to demonstrate alignment and transformation classes. + +Easily realign text with alignment classes via HTML: + +``` +

Left aligned text.

+

Center aligned text.

+

Right aligned text.

+

Justified text.

+

No wrap text.

+``` + +Or with Kramdown and [inline attribute lists](https://kramdown.gettalong.org/syntax.html#inline-attribute-lists): + +```markdown +Left aligned text. +{: .text-left} + +Center aligned text. +{: .text-center} + +Right aligned text. +{: .text-right} + +Justified text. +{: .text-justify} + +No wrap text. +{: .text-nowrap} +``` + +## Default + +This is a paragraph. It should not have any alignment of any kind. It should just flow like you would normally expect. Nothing fancy. Just straight up text, free flowing, with love. Completely neutral and not picking a side or sitting on the fence. It just is. It just freaking is. It likes where it is. It does not feel compelled to pick a side. Leave him be. It will just be better that way. Trust me. + +## Left Aligned + +This is a paragraph. It is left aligned. Because of this, it is a bit more liberal in it's views. It's favorite color is green. Left align tends to be more eco-friendly, but it provides no concrete evidence that it really is. Even though it likes share the wealth evenly, it leaves the equal distribution up to justified alignment. +{: .text-left} + +## Center Aligned + +This is a paragraph. It is center aligned. Center is, but nature, a fence sitter. A flip flopper. It has a difficult time making up its mind. It wants to pick a side. Really, it does. It has the best intentions, but it tends to complicate matters more than help. The best you can do is try to win it over and hope for the best. I hear center align does take bribes. +{: .text-center} + +## Right Aligned + +This is a paragraph. It is right aligned. It is a bit more conservative in it's views. It's prefers to not be told what to do or how to do it. Right align totally owns a slew of guns and loves to head to the range for some practice. Which is cool and all. I mean, it's a pretty good shot from at least four or five football fields away. Dead on. So boss. +{: .text-right} + +## Justify Aligned + +This is a paragraph. It is justify aligned. It gets really mad when people associate it with Justin Timberlake. Typically, justified is pretty straight laced. It likes everything to be in it's place and not all cattywampus like the rest of the aligns. I am not saying that makes it better than the rest of the aligns, but it does tend to put off more of an elitist attitude. +{: .text-justify} + +## No Wrap + +This is a paragraph. It has a no wrap. Beef ribs pig tenderloin filet mignon. Spare ribs leberkas ribeye, burgdoggen fatback tenderloin biltong jowl flank sirloin hamburger bacon brisket. Shoulder bresaola drumstick capicola. Beef ribs prosciutto porchetta beef. +{: .text-nowrap} + +--- + +Transform text with capitalization classes via HTML: + +```html +

Lowercased text.

+

Uppercased text.

+

Capitalized text.

+

Truncated text.

+

Small text.

+``` + +Or with Kramdown: + +```markdown +Lowercased text +{: .text-lowercase} + +Uppercased text +{: .text-uppercase} + +Capitalized text +{: .text-capitalize} +``` + +Lowercased text +{: .text-lowercase} + +Uppercased text +{: .text-uppercase} + +Capitalized text +{: .text-capitalize} + +This is a truncated paragraph of text. Bacon ipsum dolor amet shoulder jowl tail andouille fatback tongue. Ham porchetta kielbasa pork pork chop, tenderloin hamburger meatball. Picanha porchetta swine, brisket salami pork belly burgdoggen. Cupim swine pastrami, chuck tri-tip pork belly jowl shankle alcatra brisket capicola ball tip prosciutto beef ribs doner. Tri-tip bacon ground round pork chop burgdoggen leberkas pork strip steak beef corned beef salami. +{: .text-truncate} + +Small text +{: .small} diff --git a/docs/_posts/2013-01-10-markup-image-alignment.md b/docs/_posts/2013-01-10-markup-image-alignment.md new file mode 100644 index 0000000..60e6293 --- /dev/null +++ b/docs/_posts/2013-01-10-markup-image-alignment.md @@ -0,0 +1,89 @@ +--- +title: "Markup: Image Alignment" +categories: + - Markup +tags: + - alignment + - captions + - content + - css + - image + - markup +last_modified_at: 2017-03-09T11:15:57-05:00 +--- + +The best way to demonstrate the ebb and flow of the various image positioning options is to nestle them snuggly among an ocean of words. Grab a paddle and let's get started. + +Assign classes with HTML: + +```html + + + +``` + +Or use Kramdown and [inline attribute lists](https://kramdown.gettalong.org/syntax.html#inline-attribute-lists): + +```markdown +![left-aligned-image](image.jpg){: .align-left} +![center-aligned-image](image.jpg){: .align-center} +![right-aligned-image](image.jpg){: .align-right} +``` + +![image-center]({{ site.url }}{{ site.baseurl }}/assets/images/image-alignment-580x300.jpg){: .align-center} + +The image should be **centered** with the `.align-center` class. + +![image-left]({{ site.url }}{{ site.baseurl }}/assets/images/image-alignment-150x150.jpg){: .align-left} The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is **left aligned** with the `.align-left` class. + +As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished! + +And now for a **massively large image** --- it has **no alignment**. + +![no-alignment]({{ site.url }}{{ site.baseurl }}/assets/images/image-alignment-1200x4002.jpg) + +The image above, though `1200px` wide, should not overflow the content area. It should remain contained with no visible disruption to the flow of content. + +![image-right]({{ site.url }}{{ site.baseurl }}/assets/images/image-alignment-300x200.jpg){: .align-right} + +And now we're going to shift things to the **right** with the `.align-right` class. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there --- Hey guy! Way to rock that right side. I don't care what the left aligned image says, you look great. Don't let anyone else tell you differently. + +In just a bit here, you should see the text start to wrap below the right aligned image and settle in nicely. There should still be plenty of room and everything should be sitting pretty. Yeah --- Just like that. It never felt so good to be right. + +And just when you thought we were done, we're going to do them all over again with captions! + +
+ +
Look at 580 x 300 getting some love.
+
+ +The figure above happens to be **centered**. The caption also has a link in it, just to see if it does anything funky. + +
+ +
Itty-bitty caption.
+
+ +The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is **left aligned** with the `.align-left` class. + +As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished! + +And now for a massively large image with **no alignment**. + +
+ +
Massive image comment for your eyeballs.
+
+ +The figure element above has an inline style of `width: 1200px` set which should case it to break outside of the normal content flow. + +
+ +
Feels good to be on the right.
+
+ +And now we're going to shift things to the **right** with the `.align-right` class. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there --- Hey guy! Way to rock that right side. I don't care what the left aligned image says, you look great. Don't let anyone else tell you differently. + +In just a bit here, you should see the text start to wrap below the right aligned image and settle in nicely. There should still be plenty of room and everything should be sitting pretty. Yeah --- Just like that. It never felt so good to be right. + +And that's a wrap, yo! You survived the tumultuous waters of alignment. Image alignment achievement unlocked! \ No newline at end of file diff --git a/docs/_posts/2013-01-11-markup-html-elements-and-formatting.md b/docs/_posts/2013-01-11-markup-html-elements-and-formatting.md new file mode 100644 index 0000000..11a130b --- /dev/null +++ b/docs/_posts/2013-01-11-markup-html-elements-and-formatting.md @@ -0,0 +1,177 @@ +--- +title: "Markup: HTML Elements and Formatting" +sub_title: "The common elements" +categories: + - Markup +elements: + - content + - css + - formatting + - html + - markup +last_modified_at: 2017-03-09T10:55:59-05:00 +--- + +A variety of common HTML elements to demonstrate the theme's stylesheet and verify they have been styled appropriately. + +# Header one + +## Header two + +### Header three + +#### Header four + +##### Header five + +###### Header six + +## Blockquotes + +Single line blockquote: + +> Stay hungry. Stay foolish. + +Multi line blockquote with a cite reference: + +> People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things I have done. Innovation is saying no to 1,000 things. + +Steve Jobs --- Apple Worldwide Developers' Conference, 1997 +{: .small} + +## Tables + +| Employee | Salary | | +| -------- | ------ | ------------------------------------------------------------ | +| [John Doe](#) | $1 | Because that's all Steve Jobs needed for a salary. | +| [Jane Doe](#) | $100K | For all the blogging she does. | +| [Fred Bloggs](#) | $100M | Pictures are worth a thousand words, right? So Jane × 1,000. | +| [Jane Bloggs](#) | $100B | With hair like that?! Enough said. | + +| Header1 | Header2 | Header3 | +|:--------|:-------:|--------:| +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|-----------------------------| +| cell1 | cell2 | cell3 | +| cell4 | cell5 | cell6 | +|=============================| +| Foot1 | Foot2 | Foot3 | + +## Definition Lists + +Definition List Title +: Definition list division. + +Startup +: A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. + +#dowork +: Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. + +Do It Live +: I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. + +## Unordered Lists (Nested) + + * List item one + * List item one + * List item one + * List item two + * List item three + * List item four + * List item two + * List item three + * List item four + * List item two + * List item three + * List item four + +## Ordered List (Nested) + + 1. List item one + 1. List item one + 1. List item one + 2. List item two + 3. List item three + 4. List item four + 2. List item two + 3. List item three + 4. List item four + 2. List item two + 3. List item three + 4. List item four + +## Address element + +
+ 1 Infinite Loop
Cupertino, CA 95014
United States +
+ +## Anchor element (aka. Link) + +This is an example of a [link](http://apple.com "Apple"). + +## Abbreviation element + +The abbreviation CSS stands for "Cascading Style Sheets". + +*[CSS]: Cascading Style Sheets + +## Cite element + +"Code is poetry." ---Automattic + +## Code element + +You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. + +## Strike element + +This element will let you strikeout text. + +## Emphasize element + +The emphasize element should _italicize_ text. + +## Insert element + +This element should denote inserted text. + +## Keyboard element + +This scarcely known element emulates keyboard text, which is usually styled like the `` element. + +## Preformatted element + +This element styles large blocks of code. + +
+.post-title {
+	margin: 0 0 5px;
+	font-weight: bold;
+	font-size: 38px;
+	line-height: 1.2;
+	and here's a line of some really, really, really, really long text, just to see how the PRE element handles it and to find out how it overflows;
+}
+
+ +## Quote element + +Developers, developers, developers… –Steve Ballmer + +## Strong element + +This element shows **bold text**. + +## Subscript element + +Getting our science styling on with H2O, which should push the "2" down. + +## Superscript element + +Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. + +## Variable element + +This allows you to denote variables. \ No newline at end of file diff --git a/docs/_posts/2013-08-16-markup-syntax-highlighting.md b/docs/_posts/2013-08-16-markup-syntax-highlighting.md new file mode 100644 index 0000000..8d8ae90 --- /dev/null +++ b/docs/_posts/2013-08-16-markup-syntax-highlighting.md @@ -0,0 +1,123 @@ +--- +title: "Markup: Syntax Highlighting" +excerpt: "Post displaying the various ways one can highlight code blocks with Jekyll. Some options include standard Markdown, GitHub Flavored Markdown, and Jekyll's `{% highlight %}` tag." +last_modified_at: 2017-03-09T10:27:01-05:00 +tags: + - code + - syntax highlighting +--- + +Syntax highlighting is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.[^1] + +[^1]: + +## GFM Code Blocks + +GitHub Flavored Markdown [fenced code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/) are supported by default with Jekyll. You may need to update your `_config.yml` file to enable them if you're using an older version. + +```yaml +kramdown: + input: GFM +``` + +Here's an example of a CSS code snippet written in GFM: + +```css +#container { + float: left; + margin: 0 -240px 0 0; + width: 100%; +} +``` + +Yet another code snippet for demonstration purposes: + +```ruby +module Jekyll + class TagIndex < Page + def initialize(site, base, dir, tag) + @site = site + @base = base + @dir = dir + @name = 'index.html' + self.process(@name) + self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') + self.data['tag'] = tag + tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: ' + tag_title_suffix = site.config['tag_title_suffix'] || '–' + self.data['title'] = "#{tag_title_prefix}#{tag}" + self.data['description'] = "An archive of posts tagged #{tag}." + end + end +end +``` + +## Jekyll Highlight Liquid Tag + +Jekyll also has built-in support for syntax highlighting of code snippets using either Rouge or Pygments, using a dedicated Liquid tag as follows: + +```liquid +{% raw %}{% highlight scss %} +.highlight { + margin: 0; + padding: 1em; + font-family: $monospace; + font-size: $type-size-7; + line-height: 1.8; +} +{% endhighlight %}{% endraw %} +``` + +And the output will look like this: + +{% highlight scss %} +.highlight { + margin: 0; + padding: 1em; + font-family: $monospace; + font-size: $type-size-7; + line-height: 1.8; +} +{% endhighlight %} + +Here's an example of a code snippet using the Liquid tag and `linenos` enabled. + +{% highlight html linenos %} +{% raw %}{% endraw %} +{% endhighlight %} + +## Code Blocks in Lists + +Indentation matters. Be sure the indent of the code block aligns with the first non-space character after the list item marker (e.g., `1.`). Usually this will mean indenting 3 spaces instead of 4. + +1. Do step 1. +2. Now do this: + + ```ruby + def print_hi(name) + puts "Hi, #{name}" + end + print_hi('Tom') + #=> prints 'Hi, Tom' to STDOUT. + ``` + +3. Now you can do this. + +## GitHub Gist Embed + +GitHub Gist embeds can also be used: + +```html + +``` + +Which outputs as: + + diff --git a/docs/_sass/basically-basic.scss b/docs/_sass/basically-basic.scss new file mode 100644 index 0000000..c95ab41 --- /dev/null +++ b/docs/_sass/basically-basic.scss @@ -0,0 +1,37 @@ +/*! + * Basically Basic Jekyll Theme 0.0.1 + * Copyright 2017 Michael Rose - mademistakes | @mmistakes + * Free for personal and commercial use under the MIT license + * https://github.com/mmistakes/jekyll-theme-basically-basic/blob/master/LICENSE.md +*/ + +/* Mixins and functions */ +@import 'basically-basic/vendor/susy'; +@import 'basically-basic/vendor/breakpoint'; +@include breakpoint-set('to ems', true); +@import 'basically-basic/mixins'; + +/* Variables */ +@import 'basically-basic/variables'; + +/* Core CSS */ +@import 'basically-basic/reset'; +@import 'basically-basic/base'; +@import 'basically-basic/layout'; +@import 'basically-basic/tables'; + +/* Components */ +@import 'basically-basic/global'; +@import 'basically-basic/sidebar'; +@import 'basically-basic/navigation'; +@import 'basically-basic/footer'; +@import 'basically-basic/entries'; +@import 'basically-basic/buttons'; +@import 'basically-basic/icons'; +@import 'basically-basic/intro'; +@import 'basically-basic/navicons'; +@import 'basically-basic/contact-lists'; +@import 'basically-basic/syntax-highlighting'; + +/* Utility classes */ +@import 'basically-basic/utilities'; diff --git a/docs/_sass/basically-basic/_base.scss b/docs/_sass/basically-basic/_base.scss new file mode 100644 index 0000000..cec266f --- /dev/null +++ b/docs/_sass/basically-basic/_base.scss @@ -0,0 +1,110 @@ +/* ========================================================================== + Base elements + ========================================================================== */ + +html { + @include fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size); +} + +body { + background: $background-color; + color: $text-color; +} + +blockquote, +q { + color: tint($text-color, 40%); + font-style: italic; + + cite { + font-size: 80%; + font-style: normal; + font-weight: bold; + + &::before { + padding-right: 0.25rem; + content: '\2014'; + } + } +} + +code, +kbd, +samp, +pre { + font-family: $monospace-font-family; +} + +kbd { + display: inline-block; + margin: 0 0.125em; + padding: 0.125em 0.5em; + border: 1px solid rgb(204, 204, 204); + border-radius: 3px; + background-color: rgb(247, 247, 247); + text-shadow: 0 1px 0 #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25), inset 0 0 0 2px #fff; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: $headline-font-family; + text-rendering: optimizeLegibility; /* enable common ligatures and kerning */ +} + +h1 { + @include fluid-type($min-vw, $max-vw, $h1-min, $h1-max); +} + +h2 { + @include fluid-type($min-vw, $max-vw, $h2-min, $h2-max); +} + +h3 { + @include fluid-type($min-vw, $max-vw, $h3-min, $h3-max); +} + +h4 { + @include fluid-type($min-vw, $max-vw, $h4-min, $h4-max); +} + +h5 { + @include fluid-type($min-vw, $max-vw, $h5-min, $h5-max); +} + +h6 { + @include fluid-type($min-vw, $max-vw, $h6-min, $h6-max); +} + +dt { + font-weight: bold; + + &:not(:first-child) { + margin-top: 1rem; + } +} + +dd { + margin: 0; +} + +pre { + @include fluid-type($min-vw, $max-vw, 12px, 14px); +} + +figcaption { + margin: 0.5rem 0; + font-size: 80%; +} + +a { + color: $accent-color; + + &:hover { + color: shade($accent-color, 25%); + } +} diff --git a/docs/_sass/basically-basic/_buttons.scss b/docs/_sass/basically-basic/_buttons.scss new file mode 100644 index 0000000..9502d32 --- /dev/null +++ b/docs/_sass/basically-basic/_buttons.scss @@ -0,0 +1,39 @@ +/* ========================================================================== + Buttons + ========================================================================== */ + +.btn { + display: inline-block; + padding: 0.5em 1em; + border: 0; + border-radius: $border-radius; + background-color: $accent-color; + color: #fff; + font-weight: bold; + text-align: center; + text-decoration: none; + cursor: pointer; + + &:hover { + background-color: tint($accent-color, 20%); + color: #fff; + } + + &:focus { + background-color: shade($accent-color, 20%); + } + + .icon { + margin-right: 0.5em; + } + + /* block button fills width of parent container */ + &--block { + display: block; + width: 100%; + + + .btn--block { + margin-top: 1rem; + } + } +} diff --git a/docs/_sass/basically-basic/_contact-lists.scss b/docs/_sass/basically-basic/_contact-lists.scss new file mode 100644 index 0000000..2bb5912 --- /dev/null +++ b/docs/_sass/basically-basic/_contact-lists.scss @@ -0,0 +1,11 @@ +/* ========================================================================== + Contact lists + ========================================================================== */ + +.contact-list { + @include list-unstyled; + + .icon { + margin-right: 0.25em; + } +} diff --git a/docs/_sass/basically-basic/_entries.scss b/docs/_sass/basically-basic/_entries.scss new file mode 100644 index 0000000..83947cc --- /dev/null +++ b/docs/_sass/basically-basic/_entries.scss @@ -0,0 +1,155 @@ +/* ========================================================================== + Entries (Posts, collection documents, etc.) + ========================================================================== */ + +.entry { + @include clearfix(); + margin-bottom: 2rem; + padding-bottom: 2rem; + + &:not(:last-child) { + border-bottom: 1px solid $border-color; + } + + a { + color: inherit; + } +} + +.entry-title { + @include fluid-type($min-vw, $max-vw, 18px, 24px); + margin-bottom: 0.5rem; + color: tint($text-color, 25%); + line-height: inherit; + + a { + text-decoration: none; + } +} + +.entry-meta { + @include fluid-type($min-vw, $max-vw, 12px, 16px); + margin-bottom: 1rem; + + a { + color: inherit; + } + + .byline-item { + + &:not(:first-child) { + margin-left: 1.5rem; + } + } + + .icon { + margin-right: 0.5em; + fill: $accent-color; + } +} + +/* + Entry list + ========================================================================== */ + +.entries { + + .entry-title { + word-wrap: break-word; /* break long words that could overflow */ + + a:hover { + color: $accent-color; + } + } + + .entry-excerpt { + @include breakpoint($medium) { + @include span(11 of 16); + } + + /* normalize font sizes */ + > * { + font-size: 1em; + } + + /* remove space after last child element */ + > *:last-child { + margin-bottom: 0; + } + } + + .entry-content { + @include breakpoint($medium) { + @include span(11 of 16); + } + + /* remove space after last child element */ + > *:last-child { + margin-bottom: 0; + } + } + + .entry-meta { + @include breakpoint($medium) { + @include span(5 of 16 last); + @include prefix(1 of 16); + } + + ul { + @include list-unstyled(); + + @include breakpoint(max-width $medium) { + li { + display: inline-block; + margin-right: 1.5rem; + } + } + + @include breakpoint($medium) { + li { + padding-bottom: 0.5rem; + } + } + } + } + + > .summary { + + > p:first-child { + font-size: 1.125em; + line-height: 1.625; + } + } +} + +.entry-content { + + > p:first-child { + font-size: 1.125em; + line-height: 1.625; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + color: tint($text-color, 25%); + } +} + +/* Footnotes */ +.footnotes { + margin: 2rem 0; + padding-top: 1rem; + border-top: 1px solid $border-color; + font-size: 80%; +} + +/* Read more link */ +.more-link { + font-size: 75%; + font-weight: bold; + text-decoration: none; +} diff --git a/docs/_sass/basically-basic/_footer.scss b/docs/_sass/basically-basic/_footer.scss new file mode 100644 index 0000000..9bd2cb0 --- /dev/null +++ b/docs/_sass/basically-basic/_footer.scss @@ -0,0 +1,13 @@ +/* ========================================================================== + Footer + ========================================================================== */ + +.site-footer { + margin-top: 4rem; + color: tint($text-color, 40%); + font-size: 80%; +} + +.copyright { + font-family: $monospace-font-family; +} diff --git a/docs/_sass/basically-basic/_global.scss b/docs/_sass/basically-basic/_global.scss new file mode 100644 index 0000000..abb3f50 --- /dev/null +++ b/docs/_sass/basically-basic/_global.scss @@ -0,0 +1,36 @@ +/* ========================================================================== + Site-wide + ========================================================================== */ + +.site-title { + @include fluid-type($min-vw, $max-vw, 20px, 24px); + margin: 0; + padding: 1.8125rem 1rem; + padding-right: calc(10vw + #{$navicon-width}); /* make room for sidebar toggle */ + font-family: $base-font-family; + font-weight: bold; + line-height: 1; + + @include breakpoint($medium) { + padding-left: 2rem; + } + + @include breakpoint($large) { + padding-left: 5vw; + } + + a { + display: flex; + align-items: center; + min-height: $site-image-height; + color: $text-color; + text-decoration: none; + } +} + +.site-logo { + width: $site-image-width; + height: $site-image-height; + margin-right: 0.5rem; + border-radius: 50%; +} diff --git a/docs/_sass/basically-basic/_icons.scss b/docs/_sass/basically-basic/_icons.scss new file mode 100644 index 0000000..7df5282 --- /dev/null +++ b/docs/_sass/basically-basic/_icons.scss @@ -0,0 +1,43 @@ +/* ========================================================================== + Icons + ========================================================================== */ + +.icon { + display: inline-block; + position: relative; + top: -0.05em; /* fine-tune alignment */ + width: 1em; + height: 1em; + line-height: 1; + vertical-align: middle; + fill: currentColor; + + $icons: ( + (bitbucket, #205081), + (codepen, #000), + (dribbble, #ea4c89), + (email, #000), + (facebook, #3b5998), + (flickr, #0063dc), + (github, #181717), + (gitlab, #e24329), + (googleplus, #dc4e41), + (instagram, #e4405f), + (lastfm, #d51007), + (linkedin, #0077b5), + (pinterest, #bd081c), + (rss, #ffa500), + (soundcloud, #f30), + (stackoverflow, #fe7a16), + (tumblr, #36465d), + (twitter, #1da1f2), + (xing, #005a5f), + (youtube, #cd201f) + ); + + @each $icon, $color in $icons { + &--#{$icon} { + fill: $color; + } + } +} diff --git a/docs/_sass/basically-basic/_intro.scss b/docs/_sass/basically-basic/_intro.scss new file mode 100644 index 0000000..77fe9bc --- /dev/null +++ b/docs/_sass/basically-basic/_intro.scss @@ -0,0 +1,65 @@ +/* ========================================================================== + Page intro + ========================================================================== */ + +.intro { + margin: 1rem 0; + padding-top: 2rem; + padding-bottom: 2rem; +} + +.intro-image { + position: relative; + margin-top: -3rem; /* compensate for intro top margin */ + margin-bottom: 3rem; + + &::before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba($accent-color, 0.25); + content: ''; + } + + img { + width: 100%; + } +} + +.intro-text { + + /* remove space after last child element */ + > *:last-child { + margin-bottom: 0; + } +} + +.intro-title { + @include fluid-type($min-vw, $max-vw, 26px, 80px); + margin-bottom: 1rem; + color: tint($text-color, 25%); + line-height: 1; +} + +.intro-subtitle { + @include fluid-type($min-vw, $max-vw, 18px, 28px); + font-style: italic; +} + +.intro-actions { + @include list-unstyled; + + li { + display: inline-block; + } +} + +.intro-more { + + > p:first-child { + font-size: 1.125em; + line-height: 1.625; + } +} diff --git a/docs/_sass/basically-basic/_layout.scss b/docs/_sass/basically-basic/_layout.scss new file mode 100644 index 0000000..79c0996 --- /dev/null +++ b/docs/_sass/basically-basic/_layout.scss @@ -0,0 +1,178 @@ +/* ========================================================================== + Layout + ========================================================================== */ + +.wrapper { + min-height: 100vh; + transition: $global-transition; +} + +.intro, +main { + + > .inner { + padding: 0 0.5rem; + + @include breakpoint($small) { + padding-right: 1rem; + padding-left: 1rem; + } + + @include breakpoint($medium) { + padding-right: 2rem; + padding-left: 2rem; + } + + @include breakpoint($large) { + padding-right: 3rem; + padding-left: 3rem; + } + + @include breakpoint($xlarge) { + padding-right: 4rem; + padding-left: 4rem; + } + } +} + +main { + + section { + @include container; + } +} + +.inner { + max-width: $large; +} + +/* + Layout specific adjustments + ========================================================================== */ + +.layout--post, +.layout--page { + + .entry-content { + + @include breakpoint($large) { + width: span(14 of 16); + } + } +} + +.layout--about { + + .entry-wrap { + display: flex; + flex-wrap: wrap; + + @include breakpoint($medium) { + flex-wrap: nowrap; + } + } + + .entry-content { + + @include breakpoint($medium) { + flex: 1; + } + } + + .entry-sidebar { + order: -1; + -ms-flex-order: -1; + + @include breakpoint($medium) { + order: initial; + -ms-flex-order: initial; + } + + .author-picture { + margin: 0 0 2rem; + border-radius: 2 * $border-radius; + + @include breakpoint($medium) { + margin: 0 0 0 2rem; + } + } + } +} + +.layout--cv { + + .entries { + + .entry-header { + + @include breakpoint($medium) { + @include span(5 of 16); + @include suffix(1 of 16); + + /* remove space after last child element */ + > *:last-child { + margin-bottom: 0; + } + } + } + + .entry-content { + @include breakpoint($medium) { + @include span(11 of 16 last); + } + } + } + + .entry { + + a { + color: $accent-color; + } + + address { + font-style: normal; + } + + .title, + .position, + .institution, + .language { + margin-bottom: 0; + } + + .date { + margin-bottom: 1rem; + color: tint($text-color, 40%); + font-family: $monospace-font-family; + font-size: 80%; + } + + .courses-title, + .awarder, + .publisher, + .level { + margin: 1rem 0 0; + } + + .courses, + .keywords { + @include list-unstyled; + } + } + + .taxonomy { + + + .taxonomy { + margin-top: 0.5rem; + } + + .title { + display: inline-block; + margin-right: 1rem; + } + + .keywords { + display: inline-block; + } + } +} diff --git a/docs/_sass/basically-basic/_mixins.scss b/docs/_sass/basically-basic/_mixins.scss new file mode 100644 index 0000000..71f0610 --- /dev/null +++ b/docs/_sass/basically-basic/_mixins.scss @@ -0,0 +1,7 @@ +@import 'mixins/color'; +@import 'mixins/clearfix'; +@import 'mixins/fluid-type'; +@import 'mixins/float'; +@import 'mixins/image'; +@import 'mixins/lists'; +@import 'mixins/text-truncate'; diff --git a/docs/_sass/basically-basic/_navicons.scss b/docs/_sass/basically-basic/_navicons.scss new file mode 100644 index 0000000..b21d964 --- /dev/null +++ b/docs/_sass/basically-basic/_navicons.scss @@ -0,0 +1,144 @@ +/* ========================================================================== + Navicons + ========================================================================== */ + +.navicon-button { + display: inline-block; + position: relative; + padding: 1.8125rem 1rem; + transition: $navicon-duration / 2; + background-color: $navicon-nav-bg-close; + cursor: pointer; + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + + @include breakpoint($medium) { + margin-right: 2rem; + } + + @include breakpoint($large) { + margin-right: 5vw; + } + + &.open { + background-color: $navicon-nav-bg-open; + } + + .navicon::before, + .navicon::after { + transition-duration: $navicon-duration / 2; + } + + &:hover { + transition-duration: $navicon-duration; + + .navicon::before, + .navicon::after { + transition-duration: $navicon-duration / 2; + } + + .navicon::before { top: (2.5 * $navicon-height); } + .navicon::after { top: (-2.5 * $navicon-height); } + } +} + +.navicon { + position: relative; + width: $navicon-width; + height: $navicon-height; + transition-duration: $navicon-duration; + border-radius: $navicon-width; + background: $navicon-content-bg; + + &::before, + &::after { + display: block; + position: absolute; + width: $navicon-width; + height: $navicon-height; + transition-duration: $navicon-duration $navicon-duration / 2; + border-radius: $navicon-width; + background: $navicon-content-bg; + content: ''; + } + + &::before { top: (2 * $navicon-height); } + &::after { top: (-2 * $navicon-height); } +} + +.open:not(.steps) .navicon::before, +.open:not(.steps) .navicon::after { + top: 0 !important; +} + +.open { + transform: scale($navicon-toggled-size); + + .navicon::before, + .navicon::after { + transition-duration: $navicon-duration; + } + + /* Arrows */ + &.larr .navicon, + &.rarr .navicon, + &.uarr .navicon { + + &::before, + &::after { + width: (0.6 * $navicon-width); + } + + &::before { + transform: rotate(35deg); + transform-origin: left top; + } + + &::after { + transform: rotate(-35deg); + transform-origin: left bottom; + } + } + + &.uarr { + transform: scale($navicon-toggled-size) rotate(90deg); + } + + &.rarr .navicon { + + &::before { + transform: translate3d(1em, 0, 0) rotate(-35deg); + transform-origin: right top; + } + + &::after { + transform: translate3d(1em, 0, 0) rotate(35deg); + transform-origin: right bottom; + } + } + + /* × and + */ + /* &.plus,*/ + /* &.x {*/ + /* .navicon {*/ + /* background: transparent;*/ + + /* &::before {*/ + /* -ms-transform: rotate(-45deg);*/ + /* transform: rotate(-45deg);*/ + /* }*/ + + /* &::after {*/ + /* -ms-transform: rotate(45deg);*/ + /* transform: rotate(45deg);*/ + /* }*/ + /* }*/ + /* }*/ + + /* &.plus {*/ + /* -ms-transform: scale($navicon-toggled-size) rotate(45deg);*/ + /* transform: scale($navicon-toggled-size) rotate(45deg);*/ + /* }*/ +} diff --git a/docs/_sass/basically-basic/_navigation.scss b/docs/_sass/basically-basic/_navigation.scss new file mode 100644 index 0000000..4e52b2d --- /dev/null +++ b/docs/_sass/basically-basic/_navigation.scss @@ -0,0 +1,51 @@ +/* ========================================================================== + Navigation + ========================================================================== */ + +.menu { + @include list-unstyled; + + a { + color: inherit; + text-decoration: none; + } +} + +/* + Paginator + ========================================================================== */ + +.pager { + @include clearfix(); + margin-bottom: 2rem; + + ul { + @include list-unstyled; + display: flex; + + > li { + flex: 1; + justify-content: space-between; + -ms-flex-pack: justify; + } + + li + li { + margin-left: 0.125em; + } + } + + a { + display: block; + padding: 1em; + border-radius: $border-radius; + background-color: $accent-color; + color: #fff; + font-weight: bold; + text-align: center; + text-decoration: none; + + &:hover { + background-color: tint($accent-color, 20%); + } + } +} diff --git a/docs/_sass/basically-basic/_reset.scss b/docs/_sass/basically-basic/_reset.scss new file mode 100644 index 0000000..2fface1 --- /dev/null +++ b/docs/_sass/basically-basic/_reset.scss @@ -0,0 +1,522 @@ +/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ + +/** + * 1. Change the default font family in all browsers (opinionated). + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +/* Document + ========================================================================== */ + +html { + font-family: $base-font-family; /* 1 */ + box-sizing: border-box; + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; + line-height: 1.5; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Remove margin padding. + * + */ + +h1, +h2, +h3, +h4, +h5, +h6, +p, +pre, +blockquote, +dl, +table, +address { + margin-top: 0; + margin-bottom: 1.5rem; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; +} + +/** + * Adjust heading line-height + * + */ + +h1, +h2, +h3, +h4 { + line-height: 1.2; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Reset the margins. + */ + +figure { + margin: 1rem 0 1.5rem; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + height: 0; /* 1 */ + overflow: visible; /* 2 */ + box-sizing: content-box; /* 1 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + * 3. Add scrollbars to wide code blocks. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + overflow-x: auto; /* 3 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * Remove the outline on focused links when they are also active or hovered + * in all browsers (opinionated). + */ + +a:active, +a:hover { + outline-width: 0; +} + +/** + * 1. Remove the bottom border in Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; + font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari. */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Change the margin and padding and add a line rule on the left-side in all + * browsers (opinionated). + */ + +blockquote { + margin-right: 0; + margin-left: 0; + padding: 0 1rem; + border-left: solid 0.25rem; + + *:last-child { + margin-bottom: 0; + } +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/** + * Remove margin + */ + +ul, +ol { + margin-top: 0; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +img { + /* Responsive images (ensure images don't scale beyond their parents) */ + max-width: 100%; /* part 1: Set a maximum relative to the parent*/ + width: auto\9; /* IE7-8 need help adjusting responsive images*/ + height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching*/ + + border-style: none; /* Remove the border on images inside links in IE 10-.*/ + + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + margin: 0; /* 2 */ + font-family: $base-font-family; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Change the border, margin, and padding in all browsers (opinionated). + */ + +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + border: 1px solid #c0c0c0; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + color: inherit; /* 2 */ + white-space: normal; /* 1 */ + box-sizing: border-box; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + padding: 0; /* 2 */ + box-sizing: border-box; /* 1 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + outline-offset: -2px; /* 2 */ + -webkit-appearance: textfield; /* 1 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + font: inherit; /* 2 */ + -webkit-appearance: button; /* 1 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} diff --git a/docs/_sass/basically-basic/_sidebar.scss b/docs/_sass/basically-basic/_sidebar.scss new file mode 100644 index 0000000..7590b93 --- /dev/null +++ b/docs/_sass/basically-basic/_sidebar.scss @@ -0,0 +1,177 @@ +/* ========================================================================== + Sidebar + ========================================================================== */ + +.sidebar { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + z-index: 150; + pointer-events: none; + + /* page overlay dimmer */ + &::after { + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + transition: opacity 0.3s cubic-bezier(0, 0, 0.3, 1); + background: rgba($base-color, 0.5); + content: ''; + opacity: 0; + pointer-events: none; + will-change: opacity; + } + + li { + transform: translateX(-1rem); + transition: all 0.5s; + opacity: 0; + + &.is--moved { + transform: translateX(0); + opacity: 1; + } + + /* line hover effect */ + a { + position: relative; + color: $base-color; + + &::before { + display: block; + position: absolute; + top: 50%; + left: -3rem; + width: 0; + height: 1px; + transition: width 0.3s cubic-bezier(0, 0, 0.3, 1); + background-color: $base-color; + content: ''; + } + + &:hover { + color: $accent-color; + } + + &:hover::before { + width: 2.5rem; + } + } + } + + &.is--visible { + transform: translateX(0); + + &::after { + opacity: 1; + pointer-events: auto; + } + + > .inner { + transform: none; + box-shadow: 0 1em 5em 0 rgba(0, 0, 0, 0.125); + } + + &.is--animatable > .inner { + transition: all 330ms ease-out; + } + } + + &.is--animatable > .inner { + transition: all 130ms ease-in; + } + + > .inner { + position: relative; + width: 100%; + max-width: $sidebar-width; + height: 100%; + padding: 1.5em; + transform: translateX(-1 * $sidebar-width); + background-color: $sidebar-background-color; + box-shadow: none; + z-index: 160; + will-change: transform; + overflow-x: hidden; + pointer-events: auto; + + @include breakpoint($medium) { + padding: 3rem; + } + + @include breakpoint($large) { + max-width: (1.5 * $sidebar-width); + transform: translateX(-1.5 * $sidebar-width); + } + } + + .menu { + @include fluid-type($min-vw, $max-vw, 24px, 48px); + position: relative; + margin-bottom: 1.5rem; + padding-bottom: 0.5rem; + font-weight: bold; + line-height: 1; + + a { + display: block; + } + + /* divider line */ + &::after { + position: absolute; + bottom: 0; + width: 1.5em; + height: 1px; + background-color: $base-color; + content: ''; + } + + li { + margin-bottom: 1.5rem; + } + } + + .contact-list { + @include fluid-type($min-vw, $max-vw, 18px, 24px); + margin-top: 0.5rem; + padding-top: 0.5rem; + + li:not(:last-child) { + margin-bottom: 0.5rem; + } + + a { + display: block; + color: $base-color; + text-decoration: none; + } + } +} + +.sidebar-toggle-wrapper { + position: fixed; + top: 0.675rem; + right: 0; + cursor: pointer; + z-index: 10000; + + .toggle { + display: flex; + align-items: center; + color: inherit; + text-decoration: none; + } +} + +.sidebar-toggle-label { + order: 2; + margin-left: 0.5rem; + font-weight: bold; +} diff --git a/docs/_sass/basically-basic/_syntax-highlighting.scss b/docs/_sass/basically-basic/_syntax-highlighting.scss new file mode 100644 index 0000000..eb5d512 --- /dev/null +++ b/docs/_sass/basically-basic/_syntax-highlighting.scss @@ -0,0 +1,127 @@ +/* ========================================================================== + Syntax highlighting + ========================================================================== */ + +.highlight { + padding: 1em; + background-color: $code-background-color; + + pre { + width: 100%; + margin: 0; + } + + table { + margin: 0; + border: 0; + font-size: 1em; + + tr { + border: 0; + } + + td { + padding: 5px; + border: 0; + + /* line numbers gutter */ + &.gutter { + padding-right: 1rem; + } + } + + pre { + margin: 0; + } + } + + /* line numbers */ + .lineno { + color: tint($base-color, 50%); + } + + /* + Solarized Light + http://ethanschoonover.com/solarized + + SOLARIZED HEX ROLE + --------- -------- ------------------------------------------ + base01 #586e75 body text / default code / primary content + base1 #93a1a1 comments / secondary content + base3 #fdf6e3 background + orange #cb4b16 constants + red #dc322f regex, special keywords + blue #22b3eb reserved keywords + cyan #2aa198 strings, numbers + green #859900 operators, other keywords + ========================================================================== */ + + .c { color: #93a1a1; } /* Comment */ + .err { color: #586e75; } /* Error */ + .g { color: #586e75; } /* Generic */ + .k { color: #859900; } /* Keyword */ + .l { color: #586e75; } /* Literal */ + .n { color: #586e75; } /* Name */ + .o { color: #859900; } /* Operator */ + .x { color: #cb4b16; } /* Other */ + .p { color: #586e75; } /* Punctuation */ + .cm { color: #93a1a1; } /* Comment.Multiline */ + .cp { color: #859900; } /* Comment.Preproc */ + .c1 { color: #93a1a1; } /* Comment.Single */ + .cs { color: #859900; } /* Comment.Special */ + .gd { color: #2aa198; } /* Generic.Deleted */ + .ge { color: #586e75; font-style: italic; } /* Generic.Emph */ + .gr { color: #dc322f; } /* Generic.Error */ + .gh { color: #cb4b16; } /* Generic.Heading */ + .gi { color: #859900; } /* Generic.Inserted */ + .go { color: #586e75; } /* Generic.Output */ + .gp { color: #586e75; } /* Generic.Prompt */ + .gs { color: #586e75; font-weight: bold; } /* Generic.Strong */ + .gu { color: #cb4b16; } /* Generic.Subheading */ + .gt { color: #586e75; } /* Generic.Traceback */ + .kc { color: #cb4b16; } /* Keyword.Constant */ + .kd { color: #22b3eb; } /* Keyword.Declaration */ + .kn { color: #859900; } /* Keyword.Namespace */ + .kp { color: #859900; } /* Keyword.Pseudo */ + .kr { color: #22b3eb; } /* Keyword.Reserved */ + .kt { color: #dc322f; } /* Keyword.Type */ + .ld { color: #586e75; } /* Literal.Date */ + .m { color: #2aa198; } /* Literal.Number */ + .s { color: #2aa198; } /* Literal.String */ + .na { color: #586e75; } /* Name.Attribute */ + .nb { color: #b58900; } /* Name.Builtin */ + .nc { color: #22b3eb; } /* Name.Class */ + .no { color: #cb4b16; } /* Name.Constant */ + .nd { color: #22b3eb; } /* Name.Decorator */ + .ni { color: #cb4b16; } /* Name.Entity */ + .ne { color: #cb4b16; } /* Name.Exception */ + .nf { color: #22b3eb; } /* Name.Function */ + .nl { color: #586e75; } /* Name.Label */ + .nn { color: #586e75; } /* Name.Namespace */ + .nx { color: #586e75; } /* Name.Other */ + .py { color: #586e75; } /* Name.Property */ + .nt { color: #22b3eb; } /* Name.Tag */ + .nv { color: #22b3eb; } /* Name.Variable */ + .ow { color: #859900; } /* Operator.Word */ + .w { color: #586e75; } /* Text.Whitespace */ + .mf { color: #2aa198; } /* Literal.Number.Float */ + .mh { color: #2aa198; } /* Literal.Number.Hex */ + .mi { color: #2aa198; } /* Literal.Number.Integer */ + .mo { color: #2aa198; } /* Literal.Number.Oct */ + .sb { color: #93a1a1; } /* Literal.String.Backtick */ + .sc { color: #2aa198; } /* Literal.String.Char */ + .sd { color: #586e75; } /* Literal.String.Doc */ + .s2 { color: #2aa198; } /* Literal.String.Double */ + .se { color: #cb4b16; } /* Literal.String.Escape */ + .sh { color: #586e75; } /* Literal.String.Heredoc */ + .si { color: #2aa198; } /* Literal.String.Interpol */ + .sx { color: #2aa198; } /* Literal.String.Other */ + .sr { color: #dc322f; } /* Literal.String.Regex */ + .s1 { color: #2aa198; } /* Literal.String.Single */ + .ss { color: #2aa198; } /* Literal.String.Symbol */ + .bp { color: #22b3eb; } /* Name.Builtin.Pseudo */ + .vc { color: #22b3eb; } /* Name.Variable.Class */ + .vg { color: #22b3eb; } /* Name.Variable.Global */ + .vi { color: #22b3eb; } /* Name.Variable.Instance */ + .il { color: #2aa198; } /* Literal.Number.Integer.Long */ +} diff --git a/docs/_sass/basically-basic/_tables.scss b/docs/_sass/basically-basic/_tables.scss new file mode 100644 index 0000000..68ac1c9 --- /dev/null +++ b/docs/_sass/basically-basic/_tables.scss @@ -0,0 +1,42 @@ +/* ========================================================================== + Tables + ========================================================================== */ + +table { + @include fluid-type($min-vw, $max-vw, 12px, 18px); + width: 100%; + border-collapse: collapse; + /* For Firefox to horizontally scroll wider tables */ + // scss-lint:disable DuplicateProperty + word-break: normal; + word-break: keep-all; +} + +thead { + + th, + td { + background-color: tint($base-color, 80%); + } +} + +th, +td { + border-bottom: 1px solid $border-color; +} + +th { + padding: 0.5em; + font-weight: bold; + text-align: left; +} + +td { + padding: 0.5em; +} + +tr, +td, +th { + vertical-align: middle; +} diff --git a/docs/_sass/basically-basic/_utilities.scss b/docs/_sass/basically-basic/_utilities.scss new file mode 100644 index 0000000..fd261bf --- /dev/null +++ b/docs/_sass/basically-basic/_utilities.scss @@ -0,0 +1,5 @@ +@import 'utilities/accessibility'; +@import 'utilities/align'; +@import 'utilities/clearfix'; +@import 'utilities/float'; +@import 'utilities/text'; diff --git a/docs/_sass/basically-basic/_variables.scss b/docs/_sass/basically-basic/_variables.scss new file mode 100644 index 0000000..5ac2a06 --- /dev/null +++ b/docs/_sass/basically-basic/_variables.scss @@ -0,0 +1,84 @@ +/* ========================================================================== + Variables + ========================================================================== */ + +/* Breakpoint widths */ +$small: 320px !default; +$medium: 768px !default; +$large: 1024px !default; +$xlarge: 1280px !default; + +/* Fluid type */ +$base-font-size: 16px !default; +$min-vw: $small !default; +$max-vw: $xlarge !default; +$min-font-size: 14px !default; +$max-font-size: 18px !default; + +/* Calculate Modular Scale */ +$modular-scale-1: 1.067 !default; /* small */ +$modular-scale-2: 1.296 !default; /* large */ +/* Heading 1 */ +$h1-min: $modular-scale-1 * $modular-scale-1 * $modular-scale-1 * $modular-scale-1 * $base-font-size !default; +$h1-max: $modular-scale-2 * $modular-scale-2 * $modular-scale-2 * $modular-scale-2 * $base-font-size !default; +/* Heading 2 */ +$h2-min: $modular-scale-1 * $modular-scale-1 * $modular-scale-1 * $base-font-size !default; +$h2-max: $modular-scale-2 * $modular-scale-2 * $modular-scale-2 * $base-font-size !default; +/* Heading 3 */ +$h3-min: $modular-scale-1 * $modular-scale-1 * $base-font-size !default; +$h3-max: $modular-scale-2 * $modular-scale-2 * $base-font-size !default; +/* Heading 4 */ +$h4-min: $modular-scale-1 * $base-font-size !default; +$h4-max: $modular-scale-2 * $base-font-size !default; +/* Heading 5 */ +$h5-min: $base-font-size !default; +$h5-max: $base-font-size !default; +/* Heading 6 */ +$h6-min: ($base-font-size / $modular-scale-1) !default; +$h6-max: ($base-font-size / $modular-scale-2) !default; + +/* Base font family */ +$base-font-family: "Fira Sans", sans-serif !default; +/* Other font families */ +$headline-font-family: $base-font-family !default; +$monospace-font-family: Menlo, Consolas, Monaco, "Courier New", Courier, monospace !default; + +/* Colors */ +$base-color: #393e46 !default; +$text-color: #222831 !default; +$accent-color: #00848a !default; +$background-color: #fff !default; +$code-background-color: tint($base-color, 95%) !default; +$border-color: tint($base-color, 80%) !default; +$overlay-color: $base-color !default; + +/* Max-width of the main content */ +$main-max-width: $xlarge !default; + +/* Width of the sidebar */ +$sidebar-width: $small !default; + +/* Background color of the sidebar */ +$sidebar-background-color: #fff !default; + +/* Border radius */ +$border-radius: 0.25em !default; + +/* Global transition */ +$global-transition: all 0.4s ease !default; + +/* Navicon */ +$navicon-width: 1.75em !default; +$navicon-height: 0.25em !default; +$navicon-duration: 0.5s !default; +$navicon-toggled-size: 1 !default; +$navicon-nav-bg-close: transparent !default; +$navicon-nav-bg-open: transparent !default; +$navicon-content-bg: $text-color !default; + +/* Site image */ +$site-image-width: 50px !default; +$site-image-height: 50px !default; + +/* Susy grid settings */ +$susy: (columns: 16, gutters: 0, math: fluid, output: float) !default; diff --git a/docs/_sass/basically-basic/mixins/_clearfix.scss b/docs/_sass/basically-basic/mixins/_clearfix.scss new file mode 100644 index 0000000..bd93049 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_clearfix.scss @@ -0,0 +1,11 @@ +/* ========================================================================== + Clearfix Mixin + ========================================================================== */ + +@mixin clearfix() { + &::after { + display: block; + clear: both; + content: ''; + } +} diff --git a/docs/_sass/basically-basic/mixins/_color.scss b/docs/_sass/basically-basic/mixins/_color.scss new file mode 100644 index 0000000..80be545 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_color.scss @@ -0,0 +1,21 @@ +/* ========================================================================== + Color Functions + ========================================================================== */ + +/// Slightly lighten a color +/// @access public +/// @param {Color} $color - color to tint +/// @param {Number} $percentage - percentage of `$color` in returned color +/// @return {Color} +@function tint($color, $percentage) { + @return mix(#fff, $color, $percentage); +} + +/// Slightly darken a color +/// @access public +/// @param {Color} $color - color to shade +/// @param {Number} $percentage - percentage of `$color` in returned color +/// @return {Color} +@function shade($color, $percentage) { + @return mix(#000, $color, $percentage); +} diff --git a/docs/_sass/basically-basic/mixins/_float.scss b/docs/_sass/basically-basic/mixins/_float.scss new file mode 100644 index 0000000..a5bab5b --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_float.scss @@ -0,0 +1,15 @@ +/* ========================================================================== + Float Mixins + ========================================================================== */ + +@mixin float-left { + float: left !important; +} + +@mixin float-right { + float: right !important; +} + +@mixin float-none { + float: none !important; +} diff --git a/docs/_sass/basically-basic/mixins/_fluid-type.scss b/docs/_sass/basically-basic/mixins/_fluid-type.scss new file mode 100644 index 0000000..9193809 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_fluid-type.scss @@ -0,0 +1,33 @@ +/* ========================================================================== + Fluid Type + as seen on https://madebymike.com.au/writing/fluid-type-calc-examples/ + ========================================================================== */ + +@function strip-unit($value) { + @return $value / ($value * 0 + 1); +} + +@mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) { + // scss-lint:disable UnnecessaryParentReference + $u1: unit($min-vw); + $u2: unit($max-vw); + $u3: unit($min-font-size); + $u4: unit($max-font-size); + + @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 { + & { + + font-size: $min-font-size; + + @media screen and (min-width: $min-vw) { + font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); + } + + @media screen and (min-width: $max-vw) { + font-size: $max-font-size; + } + } + } @else { + @error "Detected mixed units. Please use the same units for all parameters. " + $u1 +", " + $u2 + ", " + $u3 +", "+ $u4; + } +} diff --git a/docs/_sass/basically-basic/mixins/_image.scss b/docs/_sass/basically-basic/mixins/_image.scss new file mode 100644 index 0000000..8df8671 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_image.scss @@ -0,0 +1,38 @@ +/* ========================================================================== + Image Mixins + - Responsive image + - Retina image + ========================================================================== */ + +/* + Responsive image + Keep images from scaling beyond the width of their parents. + ========================================================================== */ + +@mixin img-fluid { + // Part 1: Set a maximum relative to the parent + max-width: 100%; + // Part 2: Override the height to auto, otherwise images will be stretched + // when setting a width and height attribute on the img element. + height: auto; +} + +/* + Retina image + Short retina mixin for setting background-image and -size. + ========================================================================== */ + +@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { + background-image: url($file-1x); + + // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, + // but doesn't convert dppx=>dpi. + // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. + // Compatibility info: http://caniuse.com/#feat=css-media-resolution + @media + only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx + only screen and (min-resolution: 2dppx) { // Standardized + background-image: url($file-2x); + background-size: $width-1x $height-1x; + } +} diff --git a/docs/_sass/basically-basic/mixins/_lists.scss b/docs/_sass/basically-basic/mixins/_lists.scss new file mode 100644 index 0000000..2ca69a9 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_lists.scss @@ -0,0 +1,9 @@ +/* ========================================================================== + List Mixins + ========================================================================== */ + +// Unstyled keeps list items block level, just removes default browser padding and list-style +@mixin list-unstyled { + padding-left: 0; + list-style: none; +} diff --git a/docs/_sass/basically-basic/mixins/_text-truncate.scss b/docs/_sass/basically-basic/mixins/_text-truncate.scss new file mode 100644 index 0000000..5277c90 --- /dev/null +++ b/docs/_sass/basically-basic/mixins/_text-truncate.scss @@ -0,0 +1,10 @@ +/* ========================================================================== + Text Truncate Mixin + Requires inline-block or block for proper styling + ========================================================================== */ + +@mixin text-truncate() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/docs/_sass/basically-basic/themes/_default.scss b/docs/_sass/basically-basic/themes/_default.scss new file mode 100644 index 0000000..2f67753 --- /dev/null +++ b/docs/_sass/basically-basic/themes/_default.scss @@ -0,0 +1,5 @@ +/* ========================================================================== + Default theme skin + ========================================================================== */ + +// Intentionally left blank diff --git a/docs/_sass/basically-basic/themes/_night.scss b/docs/_sass/basically-basic/themes/_night.scss new file mode 100644 index 0000000..7b18a8c --- /dev/null +++ b/docs/_sass/basically-basic/themes/_night.scss @@ -0,0 +1,12 @@ +/* ========================================================================== + Night theme skin + ========================================================================== */ + +/* Colors */ +$base-color: #252a34 !default; +$text-color: #eaeaea !default; +$accent-color: #00adb5 !default; +$background-color: #252a34 !default; +$code-background-color: #fff !default; +$border-color: rgba($text-color, 0.5) !default; +$overlay-color: #fff !default; diff --git a/docs/_sass/basically-basic/themes/_plum.scss b/docs/_sass/basically-basic/themes/_plum.scss new file mode 100644 index 0000000..75c573c --- /dev/null +++ b/docs/_sass/basically-basic/themes/_plum.scss @@ -0,0 +1,12 @@ +/* ========================================================================== + Plum theme skin + ========================================================================== */ + +/* Colors */ +$base-color: #561050 !default; +$text-color: #35013f !default; +$accent-color: #951556 !default; +$background-color: #e9b5d2 !default; +$code-background-color: #fff !default; +$border-color: rgba($text-color, 0.5) !default; +$overlay-color: #fff !default; diff --git a/docs/_sass/basically-basic/themes/_sea.scss b/docs/_sass/basically-basic/themes/_sea.scss new file mode 100644 index 0000000..d545f2b --- /dev/null +++ b/docs/_sass/basically-basic/themes/_sea.scss @@ -0,0 +1,12 @@ +/* ========================================================================== + Sea theme skin + ========================================================================== */ + +/* Colors */ +$base-color: #41506b !default; +$text-color: #90f6d7 !default; +$accent-color: #35bcbf !default; +$background-color: #263849 !default; +$code-background-color: #fff !default; +$border-color: rgba($text-color, 0.5) !default; +$overlay-color: #fff !default; diff --git a/docs/_sass/basically-basic/themes/_soft.scss b/docs/_sass/basically-basic/themes/_soft.scss new file mode 100644 index 0000000..cb3efa6 --- /dev/null +++ b/docs/_sass/basically-basic/themes/_soft.scss @@ -0,0 +1,12 @@ +/* ========================================================================== + Soft theme skin + ========================================================================== */ + +/* Colors */ +$base-color: mix(#625772, #a9eee6, 75%) !default; +$text-color: #625772 !default; +$accent-color: #e85482 !default; +$background-color: #fefaec !default; +$code-background-color: #fff !default; +$border-color: rgba($text-color, 0.5) !default; +$overlay-color: #fff !default; diff --git a/docs/_sass/basically-basic/themes/_steel.scss b/docs/_sass/basically-basic/themes/_steel.scss new file mode 100644 index 0000000..b497a27 --- /dev/null +++ b/docs/_sass/basically-basic/themes/_steel.scss @@ -0,0 +1,12 @@ +/* ========================================================================== + Steel theme skin + ========================================================================== */ + +/* Colors */ +$base-color: #3a4750 !default; +$text-color: #303841 !default; +$accent-color: #d72323 !default; +$background-color: #eee !default; +$code-background-color: #fff !default; +$border-color: rgba($text-color, 0.25) !default; +$overlay-color: #fff !default; diff --git a/docs/_sass/basically-basic/utilities/_accessibility.scss b/docs/_sass/basically-basic/utilities/_accessibility.scss new file mode 100644 index 0000000..f870ee2 --- /dev/null +++ b/docs/_sass/basically-basic/utilities/_accessibility.scss @@ -0,0 +1,54 @@ +/* ========================================================================== + Accessibility Modules + ========================================================================== */ + +/* Skip links */ +.skip-links { + margin: 0; + + li { + width: 0; + height: 0; + list-style: none; + } +} + +/* Text meant only for screen readers */ +.screen-reader-text, +.screen-reader-text span, +.screen-reader-shortcut { + position: absolute !important; + width: 1px; + height: 1px; + clip: rect(0, 0, 0, 0); + border: 0; + overflow: hidden; + + &:focus { + display: block; + top: 5px; + left: 5px; + width: auto; + height: auto; + padding: 0.75em 1em; + clip: auto !important; + border-radius: 0.125em; + background-color: $base-color; + color: #fff; + font-weight: bold; + line-height: normal; + text-decoration: none; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + z-index: 100000; + } +} + +.screen-reader-text:focus, +.screen-reader-shortcut:focus { + width: auto; + height: auto; + clip: auto !important; + text-decoration: none; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + z-index: 100000; +} diff --git a/docs/_sass/basically-basic/utilities/_align.scss b/docs/_sass/basically-basic/utilities/_align.scss new file mode 100644 index 0000000..6c1156e --- /dev/null +++ b/docs/_sass/basically-basic/utilities/_align.scss @@ -0,0 +1,64 @@ +/* ========================================================================== + Alignment + ========================================================================== */ + +.align-baseline { vertical-align: baseline !important; } /* Browser default */ +.align-top { vertical-align: top !important; } +.align-middle { vertical-align: middle !important; } +.align-bottom { vertical-align: bottom !important; } +.align-text-bottom { vertical-align: text-bottom !important; } +.align-text-top { vertical-align: text-top !important; } + +/* + Image Alignment + ========================================================================== */ + +.align-center, +div.align-center, +a img.align-center { + display: block; + margin-right: auto; + margin-left: auto; +} + +figure.align-center { + + img { + display: block; + margin-right: auto; + margin-left: auto; + } + + figcaption { + text-align: center; + } +} + +.align-right, +a img.align-right { + margin-bottom: 1rem; + margin-left: 1rem; + float: right; +} + +.align-left, +a img.align-left { + margin-right: 1rem; + margin-bottom: 1rem; + float: left; +} + +/* + Sidebar Pusher + ========================================================================== */ + +.is--pushed { + + @include breakpoint($medium) { + padding-left: $sidebar-width; + } + + @include breakpoint($large) { + padding-left: (1.5 * $sidebar-width); + } +} diff --git a/docs/_sass/basically-basic/utilities/_clearfix.scss b/docs/_sass/basically-basic/utilities/_clearfix.scss new file mode 100644 index 0000000..031b70c --- /dev/null +++ b/docs/_sass/basically-basic/utilities/_clearfix.scss @@ -0,0 +1,7 @@ +// +// Clearfix +// + +.clearfix { + @include clearfix(); +} diff --git a/docs/_sass/basically-basic/utilities/_float.scss b/docs/_sass/basically-basic/utilities/_float.scss new file mode 100644 index 0000000..fdcb2a1 --- /dev/null +++ b/docs/_sass/basically-basic/utilities/_float.scss @@ -0,0 +1,7 @@ +/* ========================================================================== + Floats + ========================================================================== */ + +.float-left { @include float-left; } +.float-right { @include float-right; } +.float-none { @include float-none; } diff --git a/docs/_sass/basically-basic/utilities/_text.scss b/docs/_sass/basically-basic/utilities/_text.scss new file mode 100644 index 0000000..0f53033 --- /dev/null +++ b/docs/_sass/basically-basic/utilities/_text.scss @@ -0,0 +1,28 @@ +/* ========================================================================== + Text + ========================================================================== */ + +/* + Alignment + ========================================================================== */ + +.text-justify { text-align: justify !important; } +.text-nowrap { white-space: nowrap !important; } +.text-left { text-align: left !important; } +.text-right { text-align: right !important; } +.text-center { text-align: center !important; } + +/* + Transformation + ========================================================================== */ + +.text-lowercase { text-transform: lowercase !important; } +.text-uppercase { text-transform: uppercase !important; } +.text-capitalize { text-transform: capitalize !important; } +.text-truncate { @include text-truncate; } + +/* + Sizing + ========================================================================== */ + +.small { font-size: 80%; } diff --git a/docs/_sass/basically-basic/vendor/_breakpoint.scss b/docs/_sass/basically-basic/vendor/_breakpoint.scss new file mode 100644 index 0000000..2ede6b7 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/_breakpoint.scss @@ -0,0 +1,114 @@ +////////////////////////////// +// Default Variables +////////////////////////////// +$Breakpoint-Settings: ( + 'default media': all, + 'default feature': min-width, + 'default pair': width, + + 'force all media type': false, + 'to ems': false, + 'transform resolutions': true, + + 'no queries': false, + 'no query fallbacks': false, + + 'base font size': 16px, + + 'legacy syntax': false +); + +$breakpoint: () !default; + +////////////////////////////// +// Imports +////////////////////////////// +@import "breakpoint/settings"; +@import 'breakpoint/context'; +@import 'breakpoint/helpers'; +@import 'breakpoint/parsers'; +@import 'breakpoint/no-query'; + +@import 'breakpoint/respond-to'; + +@import "breakpoint/legacy-settings"; + +////////////////////////////// +// Breakpoint Mixin +////////////////////////////// + +@mixin breakpoint($query, $no-query: false) { + @include legacy-settings-warning; + + // Reset contexts + @include private-breakpoint-reset-contexts(); + + $breakpoint: breakpoint($query, false); + + $query-string: map-get($breakpoint, 'query'); + $query-fallback: map-get($breakpoint, 'fallback'); + + $private-breakpoint-context-holder: map-get($breakpoint, 'context holder') !global; + $private-breakpoint-query-count: map-get($breakpoint, 'query count') !global; + + // Allow for an as-needed override or usage of no query fallback. + @if $no-query != false { + $query-fallback: $no-query; + } + + @if $query-fallback != false { + $context-setter: private-breakpoint-set-context('no-query', $query-fallback); + } + + // Print Out Query String + @if not breakpoint-get('no queries') { + @media #{$query-string} { + @content; + } + } + + @if breakpoint-get('no query fallbacks') != false or breakpoint-get('no queries') == true { + + $type: type-of(breakpoint-get('no query fallbacks')); + $print: false; + + @if ($type == 'bool') { + $print: true; + } + @else if ($type == 'string') { + @if $query-fallback == breakpoint-get('no query fallbacks') { + $print: true; + } + } + @else if ($type == 'list') { + @each $wrapper in breakpoint-get('no query fallbacks') { + @if $query-fallback == $wrapper { + $print: true; + } + } + } + + // Write Fallback + @if ($query-fallback != false) and ($print == true) { + $type-fallback: type-of($query-fallback); + + @if ($type-fallback != 'bool') { + #{$query-fallback} & { + @content; + } + } + @else { + @content; + } + } + } + + @include private-breakpoint-reset-contexts(); +} + + +@mixin mq($query, $no-query: false) { + @include breakpoint($query, $no-query) { + @content; + } +} diff --git a/docs/_sass/basically-basic/vendor/_su.scss b/docs/_sass/basically-basic/vendor/_su.scss new file mode 100644 index 0000000..83386ad --- /dev/null +++ b/docs/_sass/basically-basic/vendor/_su.scss @@ -0,0 +1,4 @@ +// Su +// == + +@import 'susy/su'; diff --git a/docs/_sass/basically-basic/vendor/_susy.scss b/docs/_sass/basically-basic/vendor/_susy.scss new file mode 100644 index 0000000..224e98a --- /dev/null +++ b/docs/_sass/basically-basic/vendor/_susy.scss @@ -0,0 +1,4 @@ +// Susy +// ==== + +@import 'susy/language/susy'; diff --git a/docs/_sass/basically-basic/vendor/_susyone.scss b/docs/_sass/basically-basic/vendor/_susyone.scss new file mode 100644 index 0000000..5b934c6 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/_susyone.scss @@ -0,0 +1,4 @@ +// Susy +// ==== + +@import 'susy/language/susyone'; diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_context.scss b/docs/_sass/basically-basic/vendor/breakpoint/_context.scss new file mode 100644 index 0000000..57947f5 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_context.scss @@ -0,0 +1,95 @@ +////////////////////////////// +// Private Breakpoint Variables +////////////////////////////// +$private-breakpoint-context-holder: (); +$private-breakpoint-query-count: 0 !default; + +////////////////////////////// +// Breakpoint Has Context +// Returns whether or not you are inside a Breakpoint query +////////////////////////////// +@function breakpoint-has-context() { + @if length($private-breakpoint-query-count) { + @return true; + } + @else { + @return false; + } +} + +////////////////////////////// +// Breakpoint Get Context +// $feature: Input feature to get it's current MQ context. Returns false if no context +////////////////////////////// +@function breakpoint-get-context($feature) { + @if map-has-key($private-breakpoint-context-holder, $feature) { + $get: map-get($private-breakpoint-context-holder, $feature); + // Special handling of no-query from get side so /false/ prepends aren't returned + @if $feature == 'no-query' { + @if type-of($get) == 'list' and length($get) > 1 and nth($get, 1) == false { + $get: nth($get, length($get)); + } + } + @return $get; + } + @else { + @if breakpoint-has-context() and $feature == 'media' { + @return breakpoint-get('default media'); + } + @else { + @return false; + } + } +} + +////////////////////////////// +// Private function to set context +////////////////////////////// +@function private-breakpoint-set-context($feature, $value) { + @if $value == 'monochrome' { + $feature: 'monochrome'; + } + + $current: map-get($private-breakpoint-context-holder, $feature); + @if $current and length($current) == $private-breakpoint-query-count { + @warn "You have already queried against `#{$feature}`. Unexpected things may happen if you query against the same feature more than once in the same `and` query. Breakpoint is overwriting the current context with `#{$value}`"; + } + + @if not map-has-key($private-breakpoint-context-holder, $feature) { + $v-holder: (); + @for $i from 1 to $private-breakpoint-query-count { + @if $feature == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + $v-holder: append($v-holder, $value); + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global; + } + @else { + $v-holder: map-get($private-breakpoint-context-holder, $feature); + $length: length($v-holder); + @for $i from $length to $private-breakpoint-query-count - 1 { + @if $feature == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + $v-holder: append($v-holder, $value); + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global; + } + + @return true; +} + +////////////////////////////// +// Private function to reset context +////////////////////////////// +@mixin private-breakpoint-reset-contexts { + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; +} \ No newline at end of file diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_helpers.scss b/docs/_sass/basically-basic/vendor/breakpoint/_helpers.scss new file mode 100644 index 0000000..97e522d --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_helpers.scss @@ -0,0 +1,151 @@ +////////////////////////////// +// Converts the input value to Base EMs +////////////////////////////// +@function breakpoint-to-base-em($value) { + $value-unit: unit($value); + + // Will convert relative EMs into root EMs. + @if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' { + $base-unit: unit(breakpoint-get('base font size')); + + @if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' { + @return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em; + } + @else { + @warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!'; + @return false; + } + } + @else { + @return base-conversion($value); + } +} + +@function base-conversion($value) { + $unit: unit($value); + + @if $unit == 'px' { + @return $value / 16px * 1em; + } + @else if $unit == '%' { + @return $value / 100% * 1em; + } + @else if $unit == 'em' { + @return $value; + } + @else if $unit == 'pt' { + @return $value / 12pt * 1em; + } + @else { + @return $value; +// @warn 'Everything is terrible! What have you done?!'; + } +} + +////////////////////////////// +// Returns whether the feature can have a min/max pair +////////////////////////////// +$breakpoint-min-max-features: 'color', + 'color-index', + 'aspect-ratio', + 'device-aspect-ratio', + 'device-height', + 'device-width', + 'height', + 'monochrome', + 'resolution', + 'width'; + +@function breakpoint-min-max($feature) { + @each $item in $breakpoint-min-max-features { + @if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature can have a string value +////////////////////////////// +$breakpoint-string-features: 'orientation', + 'scan', + 'color', + 'aspect-ratio', + 'device-aspect-ratio', + 'pointer', + 'luminosity'; + +@function breakpoint-string-value($feature) { + @each $item in $breakpoint-string-features { + @if breakpoint-min-max($item) { + @if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' { + @return true; + } + } + @else if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature is a media type +////////////////////////////// +$breakpoint-media-types: 'all', + 'braille', + 'embossed', + 'handheld', + 'print', + 'projection', + 'screen', + 'speech', + 'tty', + 'tv'; + +@function breakpoint-is-media($feature) { + @each $media in $breakpoint-media-types { + @if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') { + @return true; + } + } + + @return false; +} + +////////////////////////////// +// Returns whether the feature can stand alone +////////////////////////////// +$breakpoint-single-string-features: 'color', + 'color-index', + 'grid', + 'monochrome'; + +@function breakpoint-single-string($feature) { + @each $item in $breakpoint-single-string-features { + @if $feature == $item { + @return true; + } + } + @return false; +} + +////////////////////////////// +// Returns whether the feature +////////////////////////////// +@function breakpoint-is-resolution($feature) { + $resolutions: 'device-pixel-ratio', 'dpr'; + + @if breakpoint-get('transform resolutions') { + $resolutions: append($resolutions, 'resolution'); + } + + @each $reso in $resolutions { + @if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') { + @return true; + } + } + + @return false; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss b/docs/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss new file mode 100644 index 0000000..e060ebe --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss @@ -0,0 +1,50 @@ +@mixin legacy-settings-warning { + $legacyVars: ( + 'default-media': 'default media', + 'default-feature': 'default feature', + 'force-media-all': 'force all media type', + 'to-ems': 'to ems', + 'resolutions': 'transform resolutions', + 'no-queries': 'no queries', + 'no-query-fallbacks': 'no query fallbacks', + 'base-font-size': 'base font size', + 'legacy-syntax': 'legacy syntax' + ); + + @each $legacy, $new in $legacyVars { + @if global-variable-exists('breakpoint-' + $legacy) { + @warn "In order to avoid variable namspace collisions, we have updated the way to change settings for Breakpoint. Please change all instances of `$breakpoint-#{$legacy}: {{setting}}` to `@include breakpoint-set('#{$new}', {{setting}})`. Variable settings, as well as this warning will be deprecated in a future release." + } + }; + + ////////////////////////////// + // Hand correct each setting + ////////////////////////////// + @if global-variable-exists('breakpoint-default-media') and $breakpoint-default-media != breakpoint-get('default media') { + @include breakpoint-set('default media', $breakpoint-default-media); + } + @if global-variable-exists('breakpoint-default-feature') and $breakpoint-default-feature != breakpoint-get('default feature') { + @include breakpoint-set('default feature', $breakpoint-default-feature); + } + @if global-variable-exists('breakpoint-force-media-all') and $breakpoint-force-media-all != breakpoint-get('force all media type') { + @include breakpoint-set('force all media type', $breakpoint-force-media-all); + } + @if global-variable-exists('breakpoint-to-ems') and $breakpoint-to-ems != breakpoint-get('to ems') { + @include breakpoint-set('to ems', $breakpoint-to-ems); + } + @if global-variable-exists('breakpoint-resolutions') and $breakpoint-resolutions != breakpoint-get('transform resolutions') { + @include breakpoint-set('transform resolutions', $breakpoint-resolutions); + } + @if global-variable-exists('breakpoint-no-queries') and $breakpoint-no-queries != breakpoint-get('no queries') { + @include breakpoint-set('no queries', $breakpoint-no-queries); + } + @if global-variable-exists('breakpoint-no-query-fallbacks') and $breakpoint-no-query-fallbacks != breakpoint-get('no query fallbacks') { + @include breakpoint-set('no query fallbacks', $breakpoint-no-query-fallbacks); + } + @if global-variable-exists('breakpoint-base-font-size') and $breakpoint-base-font-size != breakpoint-get('base font size') { + @include breakpoint-set('base font size', $breakpoint-base-font-size); + } + @if global-variable-exists('breakpoint-legacy-syntax') and $breakpoint-legacy-syntax != breakpoint-get('legacy syntax') { + @include breakpoint-set('legacy syntax', $breakpoint-legacy-syntax); + } +} \ No newline at end of file diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_no-query.scss b/docs/_sass/basically-basic/vendor/breakpoint/_no-query.scss new file mode 100644 index 0000000..0b5a81f --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_no-query.scss @@ -0,0 +1,15 @@ +@function breakpoint-no-query($query) { + @if type-of($query) == 'list' { + $keyword: nth($query, 1); + + @if type-of($keyword) == 'string' and ($keyword == 'no-query' or $keyword == 'no query' or $keyword == 'fallback') { + @return nth($query, 2); + } + @else { + @return false; + } + } + @else { + @return false; + } +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_parsers.scss b/docs/_sass/basically-basic/vendor/breakpoint/_parsers.scss new file mode 100644 index 0000000..f0b053f --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_parsers.scss @@ -0,0 +1,215 @@ +////////////////////////////// +// Import Parser Pieces +////////////////////////////// +@import "parsers/query"; +@import "parsers/single"; +@import "parsers/double"; +@import "parsers/triple"; +@import "parsers/resolution"; + +$Memo-Exists: function-exists(memo-get) and function-exists(memo-set); + +////////////////////////////// +// Breakpoint Function +////////////////////////////// +@function breakpoint($query, $contexts...) { + $run: true; + $return: (); + + // Grab the Memo Output if Memoization can be a thing + @if $Memo-Exists { + $return: memo-get(breakpoint, breakpoint $query $contexts); + + @if $return != null { + $run: false; + } + } + + @if not $Memo-Exists or $run { + // Internal Variables + $query-string: ''; + $query-fallback: false; + $return: (); + + // Reserve Global Private Breakpoint Context + $holder-context: $private-breakpoint-context-holder; + $holder-query-count: $private-breakpoint-query-count; + + // Reset Global Private Breakpoint Context + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; + + + // Test to see if it's a comma-separated list + $or-list: if(list-separator($query) == 'comma', true, false); + + + @if ($or-list == false and breakpoint-get('legacy syntax') == false) { + $query-string: breakpoint-parse($query); + } + @else { + $length: length($query); + + $last: nth($query, $length); + $query-fallback: breakpoint-no-query($last); + + @if ($query-fallback != false) { + $length: $length - 1; + } + + @if (breakpoint-get('legacy syntax') == true) { + $mq: (); + + @for $i from 1 through $length { + $mq: append($mq, nth($query, $i), comma); + } + + $query-string: breakpoint-parse($mq); + } + @else { + $query-string: ''; + @for $i from 1 through $length { + $query-string: $query-string + if($i == 1, '', ', ') + breakpoint-parse(nth($query, $i)); + } + } + } + + $return: ('query': $query-string, + 'fallback': $query-fallback, + 'context holder': $private-breakpoint-context-holder, + 'query count': $private-breakpoint-query-count + ); + @if length($contexts) > 0 and nth($contexts, 1) != false { + @if $query-fallback != false { + $context-setter: private-breakpoint-set-context('no-query', $query-fallback); + } + $context-map: (); + @each $context in $contexts { + $context-map: map-merge($context-map, ($context: breakpoint-get-context($context))); + } + $return: map-merge($return, (context: $context-map)); + } + + // Reset Global Private Breakpoint Context + $private-breakpoint-context-holder: () !global; + $private-breakpoint-query-count: 0 !global; + + @if $Memo-Exists { + $holder: memo-set(breakpoint, breakpoint $query $contexts, $return); + } + } + + @return $return; +} + +////////////////////////////// +// General Breakpoint Parser +////////////////////////////// +@function breakpoint-parse($query) { + // Increase number of 'and' queries + $private-breakpoint-query-count: $private-breakpoint-query-count + 1 !global; + + // Set up Media Type + $query-print: ''; + + $force-all: ((breakpoint-get('force all media type') == true) and (breakpoint-get('default media') == 'all')); + $empty-media: true; + @if ($force-all == true) or (breakpoint-get('default media') != 'all') { + // Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all) + $query-print: breakpoint-get('default media'); + $empty-media: false; + } + + + $query-resolution: false; + + $query-holder: breakpoint-parse-query($query); + + + + // Loop over each parsed out query and write it to $query-print + $first: true; + + @each $feature in $query-holder { + $length: length($feature); + + // Parse a single feature + @if ($length == 1) { + // Feature is currently a list, grab the actual value + $feature: nth($feature, 1); + + // Media Type must by convention be the first item, so it's safe to flat override $query-print, which right now should only be the default media type + @if (breakpoint-is-media($feature)) { + @if ($force-all == true) or ($feature != 'all') { + // Force the print of the default media type if (force all is true and default media type is all) or (default media type is not all) + $query-print: $feature; + $empty-media: false; + + // Set Context + $context-setter: private-breakpoint-set-context(media, $query-print); + } + } + @else { + $parsed: breakpoint-parse-single($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + } + // Parse a double feature + @else if ($length == 2) { + @if (breakpoint-is-resolution($feature) != false) { + $query-resolution: $feature; + } + @else { + $parsed: null; + // If it's a string/number pair, + // we check to see if one is a single-string value, + // then we parse it as a normal double + $alpha: nth($feature, 1); + $beta: nth($feature, 2); + @if breakpoint-single-string($alpha) or breakpoint-single-string($beta) { + $parsed: breakpoint-parse-single($alpha, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + $parsed: breakpoint-parse-single($beta, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + } + @else { + $parsed: breakpoint-parse-double($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + } + } + // Parse a triple feature + @else if ($length == 3) { + $parsed: breakpoint-parse-triple($feature, $empty-media, $first); + $query-print: '#{$query-print} #{$parsed}'; + $first: false; + } + + } + + @if ($query-resolution != false) { + $query-print: breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first); + } + + // Loop through each feature that's been detected so far and append 'false' to the the value list to increment their counters + @each $f, $v in $private-breakpoint-context-holder { + $v-holder: $v; + $length: length($v-holder); + @if length($v-holder) < $private-breakpoint-query-count { + @for $i from $length to $private-breakpoint-query-count { + @if $f == 'media' { + $v-holder: append($v-holder, breakpoint-get('default media')); + } + @else { + $v-holder: append($v-holder, false); + } + } + } + $private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($f: $v-holder)) !global; + } + + @return $query-print; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_respond-to.scss b/docs/_sass/basically-basic/vendor/breakpoint/_respond-to.scss new file mode 100644 index 0000000..e2462c5 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_respond-to.scss @@ -0,0 +1,82 @@ +//////////////////////// +// Default the Breakpoints variable +//////////////////////// +$breakpoints: () !default; +$BREAKPOINTS: () !default; + +//////////////////////// +// Respond-to API Mixin +//////////////////////// +@mixin respond-to($context, $no-query: false) { + @if length($breakpoints) > 0 and length($BREAKPOINTS) == 0 { + @warn "In order to avoid variable namespace collisions, we have updated the way to add breakpoints for respond-to. Please change all instances of `$breakpoints: add-breakpoint()` to `@include add-breakpoint()`. The `add-breakpoint()` function will be deprecated in a future release."; + $BREAKPOINTS: $breakpoints !global; + $breakpoints: () !global; + } + + @if type-of($BREAKPOINTS) != 'map' { + // Just in case someone writes gibberish to the $breakpoints variable. + @warn "Your breakpoints aren't a map! `respond-to` expects a map. Please check the value of $BREAKPOINTS variable."; + @content; + } + @else if map-has-key($BREAKPOINTS, $context) { + @include breakpoint(map-get($BREAKPOINTS, $context), $no-query) { + @content; + } + } + @else if not map-has-key($BREAKPOINTS, $context) { + @warn "`#{$context}` isn't a defined breakpoint! Please add it using `$breakpoints: add-breakpoint(`#{$context}`, $value);`"; + @content; + } + @else { + @warn "You haven't created any breakpoints yet! Make some already! `@include add-breakpoint($name, $bkpt)`"; + @content; + } +} + +////////////////////////////// +// Add Breakpoint to Breakpoints +// TODO: Remove function in next release +////////////////////////////// +@function add-breakpoint($name, $bkpt, $overwrite: false) { + $output: ($name: $bkpt); + + @if length($breakpoints) == 0 { + @return $output; + } + @else { + @if map-has-key($breakpoints, $name) and $overwrite != true { + @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint."; + @return $breakpoints; + } + @else if not map-has-key($breakpoints, $name) or $overwrite == true { + @return map-merge($breakpoints, $output); + } + } +} + +@mixin add-breakpoint($name, $bkpt, $overwrite: false) { + $output: ($name: $bkpt); + + @if length($BREAKPOINTS) == 0 { + $BREAKPOINTS: $output !global; + } + @else { + @if map-has-key($BREAKPOINTS, $name) and $overwrite != true { + @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint."; + $BREAKPOINTS: $BREAKPOINTS !global; + } + @else if not map-has-key($BREAKPOINTS, $name) or $overwrite == true { + $BREAKPOINTS: map-merge($BREAKPOINTS, $output) !global; + } + } +} + +@function get-breakpoint($name: false) { + @if $name == false { + @return $BREAKPOINTS; + } + @else { + @return map-get($BREAKPOINTS, $name); + } +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/_settings.scss b/docs/_sass/basically-basic/vendor/breakpoint/_settings.scss new file mode 100644 index 0000000..05ee689 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/_settings.scss @@ -0,0 +1,71 @@ +////////////////////////////// +// Has Setting +////////////////////////////// +@function breakpoint-has($setting) { + @if map-has-key($breakpoint, $setting) { + @return true; + } + @else { + @return false; + } +} + +////////////////////////////// +// Get Settings +////////////////////////////// +@function breakpoint-get($setting) { + @if breakpoint-has($setting) { + @return map-get($breakpoint, $setting); + } + @else { + @return map-get($Breakpoint-Settings, $setting); + } +} + +////////////////////////////// +// Set Settings +////////////////////////////// +@function breakpoint-set($setting, $value) { + @if (str-index($setting, '-') or str-index($setting, '_')) and str-index($setting, ' ') == null { + @warn "Words in Breakpoint settings should be separated by spaces, not dashes or underscores. Please replace dashes and underscores between words with spaces. Settings will not work as expected until changed."; + } + $breakpoint: map-merge($breakpoint, ($setting: $value)) !global; + @return true; +} + +@mixin breakpoint-change($setting, $value) { + $breakpoint-change: breakpoint-set($setting, $value); +} + +@mixin breakpoint-set($setting, $value) { + @include breakpoint-change($setting, $value); +} + +@mixin bkpt-change($setting, $value) { + @include breakpoint-change($setting, $value); +} +@mixin bkpt-set($setting, $value) { + @include breakpoint-change($setting, $value); +} + +////////////////////////////// +// Remove Setting +////////////////////////////// +@function breakpoint-reset($settings...) { + @if length($settings) == 1 { + $settings: nth($settings, 1); + } + + @each $setting in $settings { + $breakpoint: map-remove($breakpoint, $setting) !global; + } + @return true; +} + +@mixin breakpoint-reset($settings...) { + $breakpoint-reset: breakpoint-reset($settings); +} + +@mixin bkpt-reset($settings...) { + $breakpoint-reset: breakpoint-reset($settings); +} \ No newline at end of file diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss new file mode 100644 index 0000000..24580c1 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss @@ -0,0 +1,33 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "double/default-pair"; +@import "double/double-string"; +@import "double/default"; + +@function breakpoint-parse-double($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + $first: nth($feature, 1); + $second: nth($feature, 2); + + // If we've got two numbers, we know we need to use the default pair because there are no media queries that has a media feature that is a number + @if type-of($first) == 'number' and type-of($second) == 'number' { + $parsed: breakpoint-parse-default-pair($first, $second); + } + // If they are both strings, we send it through the string parser + @else if type-of($first) == 'string' and type-of($second) == 'string' { + $parsed: breakpoint-parse-double-string($first, $second); + } + // If it's a string/number pair, we parse it as a normal double + @else { + $parsed: breakpoint-parse-double-default($first, $second); + } + + @return $leader + $parsed; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss new file mode 100644 index 0000000..b138b39 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss @@ -0,0 +1,82 @@ +@function breakpoint-parse-query($query) { + // Parse features out of an individual query + $feature-holder: (); + $query-holder: (); + $length: length($query); + + @if $length == 2 { + // If we've got a string/number, number/string, check to see if it's a valid string/number pair or two singles + @if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'number') or (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'string') { + + $number: ''; + $value: ''; + + @if type-of(nth($query, 1)) == 'string' { + $number: nth($query, 2); + $value: nth($query, 1); + } + @else { + $number: nth($query, 1); + $value: nth($query, 2); + } + + // If the string value can be a single value, check to see if the number passed in is a valid input for said single value. Fortunately, all current single-value options only accept unitless numbers, so this check is easy. + @if breakpoint-single-string($value) { + @if unitless($number) { + $feature-holder: append($value, $number, space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + } + // If the string is a media type, split the query + @if breakpoint-is-media($value) { + $query-holder: append($query-holder, nth($query, 1)); + $query-holder: append($query-holder, nth($query, 2)); + @return $query-holder; + } + // If it's not a single feature, we're just going to assume it's a proper string/value pair, and roll with it. + @else { + $feature-holder: append($value, $number, space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + + } + // If they're both numbers, we assume it's a double and roll with that + @else if (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'number') { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + // If they're both strings and neither are singles, we roll with that. + @else if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'string') { + @if not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + } + } + @else if $length == 3 { + // If we've got three items and none is a list, we check to see + @if type-of(nth($query, 1)) != 'list' and type-of(nth($query, 2)) != 'list' and type-of(nth($query, 3)) != 'list' { + // If none of the items are single string values and none of the values are media values, we're good. + @if (not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) and not breakpoint-single-string(nth($query, 3))) and ((not breakpoint-is-media(nth($query, 1)) and not breakpoint-is-media(nth($query, 2)) and not breakpoint-is-media(nth($query, 3)))) { + $feature-holder: append(nth($query, 1), nth($query, 2), space); + $feature-holder: append($feature-holder, nth($query, 3), space); + $query-holder: append($query-holder, $feature-holder, comma); + @return $query-holder; + } + // let's check to see if the first item is a media type + @else if breakpoint-is-media(nth($query, 1)) { + $query-holder: append($query-holder, nth($query, 1)); + $feature-holder: append(nth($query, 2), nth($query, 3), space); + $query-holder: append($query-holder, $feature-holder); + @return $query-holder; + } + } + } + + // If it's a single item, or if it's not a special case double or triple, we can simply return the query. + @return $query; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss new file mode 100644 index 0000000..19769ad --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss @@ -0,0 +1,31 @@ +@import "resolution/resolution"; + +@function breakpoint-build-resolution($query-print, $query-resolution, $empty-media, $first) { + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + @if breakpoint-get('transform resolutions') and $query-resolution { + $resolutions: breakpoint-make-resolutions($query-resolution); + $length: length($resolutions); + $query-holder: ''; + + @for $i from 1 through $length { + $query: '#{$query-print} #{$leader}#{nth($resolutions, $i)}'; + @if $i == 1 { + $query-holder: $query; + } + @else { + $query-holder: '#{$query-holder}, #{$query}'; + } + } + + @return $query-holder; + } + @else { + // Return with attached resolution + @return $query-print; + } +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss new file mode 100644 index 0000000..d9fd764 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss @@ -0,0 +1,26 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "single/default"; + +@function breakpoint-parse-single($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + // If it's a single feature that can stand alone, we let it + @if (breakpoint-single-string($feature)) { + $parsed: $feature; + // Set Context + $context-setter: private-breakpoint-set-context($feature, $feature); + } + // If it's not a stand alone feature, we pass it off to the default handler. + @else { + $parsed: breakpoint-parse-default($feature); + } + + @return $leader + '(' + $parsed + ')'; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss new file mode 100644 index 0000000..e273206 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss @@ -0,0 +1,36 @@ +////////////////////////////// +// Import Pieces +////////////////////////////// +@import "triple/default"; + +@function breakpoint-parse-triple($feature, $empty-media, $first) { + $parsed: ''; + $leader: ''; + + // If we're forcing + @if not ($empty-media) or not ($first) { + $leader: 'and '; + } + + // separate the string features from the value numbers + $string: null; + $numbers: null; + @each $val in $feature { + @if type-of($val) == string { + $string: $val; + } + @else { + @if type-of($numbers) == 'null' { + $numbers: $val; + } + @else { + $numbers: append($numbers, $val); + } + } + } + + $parsed: breakpoint-parse-triple-default($string, nth($numbers, 1), nth($numbers, 2)); + + @return $leader + $parsed; + +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss new file mode 100644 index 0000000..f88432c --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss @@ -0,0 +1,21 @@ +@function breakpoint-parse-default-pair($first, $second) { + $default: breakpoint-get('default pair'); + $min: ''; + $max: ''; + + // Sort into min and max + $min: min($first, $second); + $max: max($first, $second); + + // Set Context + $context-setter: private-breakpoint-set-context(min-#{$default}, $min); + $context-setter: private-breakpoint-set-context(max-#{$default}, $max); + + // Make them EMs if need be + @if (breakpoint-get('to ems') == true) { + $min: breakpoint-to-base-em($min); + $max: breakpoint-to-base-em($max); + } + + @return '(min-#{$default}: #{$min}) and (max-#{$default}: #{$max})'; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss new file mode 100644 index 0000000..73190ed --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss @@ -0,0 +1,22 @@ +@function breakpoint-parse-double-default($first, $second) { + $feature: ''; + $value: ''; + + @if type-of($first) == 'string' { + $feature: $first; + $value: $second; + } + @else { + $feature: $second; + $value: $first; + } + + // Set Context + $context-setter: private-breakpoint-set-context($feature, $value); + + @if (breakpoint-get('to ems') == true) { + $value: breakpoint-to-base-em($value); + } + + @return '(#{$feature}: #{$value})' +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss new file mode 100644 index 0000000..c6fd0cb --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss @@ -0,0 +1,22 @@ +@function breakpoint-parse-double-string($first, $second) { + $feature: ''; + $value: ''; + + // Test to see which is the feature and which is the value + @if (breakpoint-string-value($first) == true) { + $feature: $first; + $value: $second; + } + @else if (breakpoint-string-value($second) == true) { + $feature: $second; + $value: $first; + } + @else { + @warn "Neither #{$first} nor #{$second} is a valid media query name."; + } + + // Set Context + $context-setter: private-breakpoint-set-context($feature, $value); + + @return '(#{$feature}: #{$value})'; +} \ No newline at end of file diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss new file mode 100644 index 0000000..3680421 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss @@ -0,0 +1,60 @@ +@function breakpoint-make-resolutions($resolution) { + $length: length($resolution); + + $output: (); + + @if $length == 2 { + $feature: ''; + $value: ''; + + // Find which is number + @if type-of(nth($resolution, 1)) == 'number' { + $value: nth($resolution, 1); + } + @else { + $value: nth($resolution, 2); + } + + // Determine min/max/standard + @if index($resolution, 'min-resolution') { + $feature: 'min-'; + } + @else if index($resolution, 'max-resolution') { + $feature: 'max-'; + } + + $standard: '(#{$feature}resolution: #{$value})'; + + // If we're not dealing with dppx, + @if unit($value) != 'dppx' { + $base: 96dpi; + @if unit($value) == 'dpcm' { + $base: 243.84dpcm; + } + // Write out feature tests + $webkit: ''; + $moz: ''; + $webkit: '(-webkit-#{$feature}device-pixel-ratio: #{$value / $base})'; + $moz: '(#{$feature}-moz-device-pixel-ratio: #{$value / $base})'; + // Append to output + $output: append($output, $standard, space); + $output: append($output, $webkit, space); + $output: append($output, $moz, space); + } + @else { + $webkit: ''; + $moz: ''; + $webkit: '(-webkit-#{$feature}device-pixel-ratio: #{$value / 1dppx})'; + $moz: '(#{$feature}-moz-device-pixel-ratio: #{$value / 1dppx})'; + $fallback: '(#{$feature}resolution: #{$value / 1dppx * 96dpi})'; + // Append to output + $output: append($output, $standard, space); + $output: append($output, $webkit, space); + $output: append($output, $moz, space); + $output: append($output, $fallback, space); + } + + } + + @return $output; +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss new file mode 100644 index 0000000..503ef42 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss @@ -0,0 +1,13 @@ +@function breakpoint-parse-default($feature) { + $default: breakpoint-get('default feature'); + + // Set Context + $context-setter: private-breakpoint-set-context($default, $feature); + + @if (breakpoint-get('to ems') == true) and (type-of($feature) == 'number') { + @return '#{$default}: #{breakpoint-to-base-em($feature)}'; + } + @else { + @return '#{$default}: #{$feature}'; + } +} diff --git a/docs/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss b/docs/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss new file mode 100644 index 0000000..7fa418d --- /dev/null +++ b/docs/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss @@ -0,0 +1,18 @@ +@function breakpoint-parse-triple-default($feature, $first, $second) { + + // Sort into min and max + $min: min($first, $second); + $max: max($first, $second); + + // Set Context + $context-setter: private-breakpoint-set-context(min-#{$feature}, $min); + $context-setter: private-breakpoint-set-context(max-#{$feature}, $max); + + // Make them EMs if need be + @if (breakpoint-get('to ems') == true) { + $min: breakpoint-to-base-em($min); + $max: breakpoint-to-base-em($max); + } + + @return '(min-#{$feature}: #{$min}) and (max-#{$feature}: #{$max})'; +} diff --git a/docs/_sass/basically-basic/vendor/susy/_su.scss b/docs/_sass/basically-basic/vendor/susy/_su.scss new file mode 100644 index 0000000..a145415 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/_su.scss @@ -0,0 +1,7 @@ +// Su +// == + +@import "su/utilities"; +@import "su/settings"; +@import "su/validation"; +@import "su/grid"; diff --git a/docs/_sass/basically-basic/vendor/susy/language/_susy.scss b/docs/_sass/basically-basic/vendor/susy/language/_susy.scss new file mode 100644 index 0000000..0ee9cae --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/_susy.scss @@ -0,0 +1,24 @@ +// Susy Next Syntax +// ================ + +$susy-version: 2.1; + +@import "../su"; +@import "../output/float"; + +@import "susy/settings"; +@import "susy/validation"; +@import "susy/grids"; +@import "susy/box-sizing"; +@import "susy/context"; +@import "susy/background"; +@import "susy/container"; +@import "susy/span"; +@import "susy/gutters"; +@import "susy/isolate"; +@import "susy/gallery"; +@import "susy/rows"; +@import "susy/margins"; +@import "susy/padding"; +@import "susy/bleed"; +@import "susy/breakpoint-plugin"; diff --git a/docs/_sass/basically-basic/vendor/susy/language/_susyone.scss b/docs/_sass/basically-basic/vendor/susy/language/_susyone.scss new file mode 100644 index 0000000..a783d3a --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/_susyone.scss @@ -0,0 +1,13 @@ +// --------------------------------------------------------------------------- +// Partials + +$susy-version: 1.5; + +@import "susyone/settings"; +@import "susyone/functions"; +@import "susyone/grid"; +@import "susyone/isolation"; +@import "susyone/padding"; +@import "susyone/margin"; +@import "susyone/media"; +@import "susyone/background"; diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_background.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_background.scss new file mode 100644 index 0000000..d39dc72 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_background.scss @@ -0,0 +1,385 @@ +// Background Grid Syntax +// ====================== + +$susy-overlay-grid-head-exists: false; + + +// Show Grid/s +// ----------- +// Show grid on any element using either background or overlay. +// - [$grid] : +@mixin show-grid( + $grid: $susy +) { + $inspect: $grid; + $_output: debug-get(output, $grid); + + @include susy-inspect(show-grid, $inspect); + @if $_output == overlay and susy-get(debug image, $grid) != hide { + @include overlay-grid($grid); + } @else { + @include background-grid($grid); + } +} + +@mixin show-grids( + $grid: $susy +) { + @include show-grid($grid); +} + +// Background Grid +// --------------- +// Show a grid background on any element. +// - [$grid] : +@mixin background-grid( + $grid: $susy +) { + $inspect : $grid; + $_output : get-background($grid); + + @if length($_output) > 0 { + $_flow: susy-get(flow, $grid); + + $_image: (); + @each $name, $layer in map-get($_output, image) { + $_direction: if($name == baseline, to bottom, to to($_flow)); + $_image: append($_image, linear-gradient($_direction, $layer), comma); + } + $_output: map-merge($_output, (image: $_image)); + + @include background-grid-output($_output...); + @include susy-inspect(background-grid, $inspect); + } +} + + +// Overlay Grid +// ------------ +// Generate an icon to trigger grid-overlays on any given elements. +// $grids... : [] [, ]* +@mixin overlay-grid ( + $grid: $susy +) { + @if not($susy-overlay-grid-head-exists) { + @at-root head { @include overlay-head($grid); } + @at-root head:before { @include overlay-trigger; } + @at-root head:hover { @include overlay-trigger-hover; } + $susy-overlay-grid-head-exists: true !global; + } + + head:hover ~ &, + head:hover ~ body & { + position: relative; + &:before { + @include grid-overlay-base; + @include background-grid($grid); + } + } +} + + +// [Private] Overlay Trigger +// ------------------------- +@mixin overlay-trigger { + content: "|||"; + display: block; + padding: 5px 10px; + font: { + family: sans-serif; + size: 16px; + weight: bold; + } +} + + +// [Private] Overlay Trigger Hover +// ------------------------------- +@mixin overlay-trigger-hover { + background: rgba(white, .5); + color: red; +} + + +// [Private] Overlay Head +// ---------------------- +// styles to create grid overlay toggle +@mixin overlay-head ( + $grid: $susy +) { + $_toggle: debug-get(toggle, $grid); + $_horz: null; + $_vert: null; + + @each $side in $_toggle { + $_horz: if($side == left or $side == right, $side, $_horz); + $_vert: if($side == top or $side == bottom, $side, $_vert); + } + + display: block; + position: fixed; + #{$_horz}: 10px; + #{$_vert}: 10px; + z-index: 999; + color: #333; + background: rgba(white, .25); +} + + +// [Private] Grid Overlay Base +// --------------------------- +// Base styles for generating a grid overlay +@mixin grid-overlay-base() { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + content: " "; + z-index: 998; +} + + +// Get Symmetrical Background +// -------------------------- +// - $grid: +@function get-background-sym( + $grid +) { + $grid : parse-grid($grid); + $_gutters : susy-get(gutters, $grid); + $_column-width : susy-get(column-width, $grid); + $_math : susy-get(math, $grid); + + $_color : debug-get(color); + $_trans : transparent; + $_light : lighten($_color, 15%); + + $_end : 1 + $_gutters; + $_after : percentage(1/$_end); + $_stops : (); + $_size : span(1 $grid wide); + + @if is-inside($grid) { + $_stops: $_color, $_light; + } @else if is-split($grid) { + $_split: $_gutters/2; + $_before: percentage($_split/$_end); + $_after: percentage((1 + $_split)/$_end); + $_stops: $_trans $_before, $_color $_before, $_light $_after, $_trans $_after; + } @else { + $_stops: $_color, $_light $_after, $_trans $_after; + } + + @if $_math == static { + $_size: valid-column-math($_math, $_column-width) * $_end; + } + + $_output: ( + image: (columns: $_stops), + size: $_size, + ); + + @return $_output; +} + + +// Get Asymmetrical Inside +// ----------------------- +// - $grid: +@function get-asym-inside( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + @if $location == 1 { + $this-stop: append($this-stop, $_color, comma); + } @else { + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, $_color $start, comma); + } + + @if $location == susy-count($_columns) { + $this-stop: append($this-stop, $_light, comma); + } @else { + $_end: parse-span(1 at ($location + 1) $grid); + $_end: get-isolation($_end); + $this-stop: append($this-stop, $_light $_end, comma); + } + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Split +// ---------------------- +// - $grid: +@function get-asym-split( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, transparent $start, comma); + $this-stop: append($this-stop, $_color $start, comma); + + $_end: $start + span(1 at $location $grid); + $this-stop: append($this-stop, $_light $_end, comma); + $this-stop: append($this-stop, transparent $_end, comma); + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Outside +// ------------------------ +// - $grid: +@function get-asym-outside( + $grid +) { + $grid : parse-grid($grid); + $_columns : susy-get(columns, $grid); + + $_color : debug-get(color); + $_light : lighten($_color, 15%); + $_trans : transparent; + $_stops : (); + + @for $location from 1 through susy-count($_columns) { + $this-stop: (); + + @if $location == 1 { + $this-stop: append($this-stop, $_color, comma); + } @else { + $start: parse-span(1 at $location $grid); + $start: get-isolation($start); + $this-stop: append($this-stop, $_color $start, comma); + } + + @if $location == susy-count($_columns) { + $this-stop: append($this-stop, $_light, comma); + } @else { + $gutter: get-span-width(first $location $grid); + + $_end: parse-span(1 at ($location + 1) $grid); + $_end: get-isolation($_end); + + $gutter: $_light $gutter, $_trans $gutter, $_trans $_end; + $this-stop: join($this-stop, $gutter, comma); + } + + $_stops: join($_stops, $this-stop, comma); + } + + @return $_stops; +} + + +// Get Asymmetrical Background +// --------------------------- +// - $grid: +@function get-background-asym( + $grid +) { + $_stops: (); + + @if is-inside($grid) { + $_stops: get-asym-inside($grid); + } @else if is-split($grid) { + $_stops: get-asym-split($grid); + } @else { + $_stops: get-asym-outside($grid); + } + + @return (image: (columns: $_stops)); +} + + +// Get Background +// -------------- +// - $grid: +@function get-background( + $grid +) { + $grid : parse-grid($grid); + $_show : susy-get(debug image, $grid); + $_return : (); + + @if $_show and $_show != 'hide' { + $_columns: susy-get(columns, $grid); + + @if $_show != 'show-baseline' { + $_sym: is-symmetrical($_columns); + $_return: if($_sym, get-background-sym($grid), get-background-asym($grid)); + $_return: map-merge($_return, (clip: content-box)); + } + + @if $_show != 'show-columns' + and global-variable-exists(base-line-height) + and type-of($base-line-height) == 'number' + and not unitless($base-line-height) { + $_color: variable-exists('grid-background-baseline-color'); + $_color: if($_color, $grid-background-baseline-color, #000); + + $_image: map-get($_return, image); + $_size: map-get($_return, size); + $_baseline: (baseline: ($_color 1px, transparent 1px)); + $_baseline-size: 100% $base-line-height; + + $_return: map-merge($_return, ( + image: if($_image, map-merge($_image, $_baseline), $_baseline), + size: if($_size, ($_size, $_baseline-size), $_baseline-size), + )); + + @if $_show == 'show' { + $_clip: map-get($_return, clip); + $_return: map-merge($_return, (clip: join($_clip, border-box, comma))); + } + } @else if $_show == 'show-baseline' { + @warn 'Please provide a $base-line-height with the desired height and units'; + } + } + + @if map-get($_return, image) { + $_return: map-merge($_return, (flow: susy-get(flow, $grid))); + } + + @return $_return; +} + + +// Get Debug +// --------- +// Return the value of a debug setting +// - $key: +@function debug-get( + $key, + $grid: $susy +) { + $key: join(debug, $key, space); + @return susy-get($key, $grid); +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss new file mode 100644 index 0000000..8ef5974 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss @@ -0,0 +1,200 @@ +// Bleed Syntax +// ============ + +// Bleed +// ----- +// Add negative margins, and equal positive padding to create bleed. +// - $bleed : +@mixin bleed( + $bleed: 0 gutter() +) { + $inspect : $bleed; + $output : get-bleed($bleed); + + @if susy-get(global-box-sizing) != content-box { + $output: map-merge((box-sizing: content-box), $output); + } + + @include susy-inspect(bleed, $inspect); + @include output($output); +} + + +// Bleed-x +// ------- +// Shortcut for horizontal bleed. +// - $bleed : +@mixin bleed-x( + $bleed: gutter() +) { + $bleed : parse-span($bleed); + $trbl : susy-get(span, $bleed); + + @if length($trbl) == 1 { + $bleed: map-merge($bleed, (span: 0 nth($trbl, 1))); + } @else if length($trbl) == 2 { + $bleed: map-merge($bleed, (span: 0 nth($trbl, 2) 0 nth($trbl, 1))); + } @else { + @warn 'bleed-x only takes 2 lengths, but #{length($trbl)} were passed.'; + } + + @include bleed($bleed); +} + + +// Bleed-y +// ------- +// Shortcut for vertical bleed. +// - $bleed : +@mixin bleed-y( + $bleed: if(function-exists(rhythm), rhythm(1), 1em) +) { + $bleed : parse-span($bleed); + $trbl : susy-get(span, $bleed); + + @if length($trbl) == 1 { + $bleed: map-merge($bleed, (span: nth($trbl, 1) 0)); + } @else if length($trbl) == 2 { + $bleed: map-merge($bleed, (span: nth($trbl, 1) 0 nth($trbl, 2) 0)); + } @else { + @warn 'bleed-y only takes 2 lengths, but #{length($trbl)} were passed.'; + } + + @include bleed($bleed); +} + + +// Get Bleed +// --------- +// Return bleed output values +// - $bleed: +@function get-bleed( + $bleed +) { + $bleed : map-merge((spread: wide), parse-span($bleed)); + $trbl : susy-get(span, $bleed); + $short : null; + $output : (); + + @for $i from 1 through length($trbl) { + $this: nth($trbl, $i); + $new: (); + $margin: null; + $padding: null; + $padding-x: null; + + @if $this > 0 { + $this: map-merge($bleed, (span: $this)); + $margin: span($this); + $padding: $margin; + $padding-x: $padding; + } + + @if $margin and $margin > 0 { + $margin: - $margin; + + @if is-inside($this) { + $gutter: gutter($this); + $join: if($gutter and comparable($padding, $gutter), true, false); + $padding-x: if($join and $padding > 0, $padding + $gutter, $padding); + } + } + + @if $i == 1 { + $new: ( + margin-top: $margin, + padding-top: $padding, + margin-right: $margin, + padding-right: $padding-x, + margin-bottom: $margin, + padding-bottom: $padding, + margin-left: $margin, + padding-left: $padding-x, + ); + } @else if $i == 2 { + $new: ( + margin-right: $margin, + padding-right: $padding-x, + margin-left: $margin, + padding-left: $padding-x, + ); + } @else if $i == 3 { + $new: ( + margin-bottom: $margin, + padding-bottom: $padding, + ); + } @else if $i == 4 { + $new: ( + margin-left: $margin, + padding-left: $padding-x, + ); + } + + $output: map-merge($output, $new); + } + + @each $prop, $value in $output { + $output: if($value == 0, map-merge($output, ($prop: null)), $output); + } + + @return bleed-shorthand($output); +} + +// Bleed Shorthand +// --------------- +// Convert bleed output into shorthand when possible. +// - $bleed: +@function bleed-shorthand( + $bleed +) { + $margin: (); + $padding: (); + $return: (); + + @each $key, $value in $bleed { + @if str-index($key, margin) { + $margin: map-merge($margin, ($key: $value)); + } @else if str-index($key, padding) > 0 { + $padding: map-merge($padding, ($key: $value)); + } + } + + $props: ( + margin: $margin, + padding: $padding, + ); + + @each $name, $map in $props { + $four: if(length(map-keys($map)) == 4, true, false); + $null: if(index(map-values($map), null), true, false); + + @if $four and not($null) { + $top: map-get($map, '#{$name}-top'); + $right: map-get($map, '#{$name}-right'); + $bottom: map-get($map, '#{$name}-bottom'); + $left: map-get($map, '#{$name}-left'); + + $tb: if($top == $bottom, $top, null); + $rl: if($right == $left, $right, null); + $all: if($tb == $rl, $tb, null); + + $new: if($all, $all, null); + + @if not($new) { + @if $tb and $rl { + $new: $tb $rl; + } @else if $rl { + $new: $top $rl $bottom; + } @else { + $new: $top $right $bottom $left; + } + } + + $return: map-merge($return, ($name: $new)); + } @else { + $return: map-merge($return, $map); + } + } + + @return $return; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss new file mode 100644 index 0000000..f551241 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss @@ -0,0 +1,47 @@ +// Susy Box Sizing +// ================= + +// Global Box Sizing +// ----------------- +// Set a box model globally on all elements. +// - [$box]: border-box | content-box +// - [$inherit]: true | false +@mixin global-box-sizing( + $box: susy-get(global-box-sizing), + $inherit: false +) { + $inspect: $box; + + @if $inherit { + @at-root { + html { @include output((box-sizing: $box)); } + *, *:before, *:after { box-sizing: inherit; } + } + } @else { + *, *:before, *:after { @include output((box-sizing: $box)); } + } + + @include susy-inspect(global-box-sizing, $inspect); + @include update-box-model($box); +} + +// Border Box Sizing +// ----------------- +// A legacy shortcut... +// - [$inherit]: true | false +@mixin border-box-sizing( + $inherit: false +) { + @include global-box-sizing(border-box, $inherit); +} + +// Update Box Model +// ---------------- +// PRIVATE: Updates global box model setting +@mixin update-box-model( + $box +) { + @if $box != susy-get(global-box-sizing) { + @include susy-set(global-box-sizing, $box); + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss new file mode 100644 index 0000000..30de288 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss @@ -0,0 +1,185 @@ +// Breakpoint Integration +// ====================== + +$susy-media: () !default; +$susy-media-fallback: false !default; + +$_susy-media-context: (); + + +// Susy Breakpoint +// --------------- +// Change grids at different media query breakpoints. +// - $query : [] | | +// - $layout : +// - $no-query : | +@mixin susy-breakpoint( + $query, + $layout: false, + $no-query: $susy-media-fallback +) { + @include susy-media-router($query, $no-query) { + @if $layout { + @include with-layout($layout) { + @content; + } + } @else { + @content; + } + } +} + + +// Susy Media +// ---------- +// - $query: [] | +// - $no-query: | +@mixin susy-media( + $query, + $no-query: $susy-media-fallback +) { + $old-context: $_susy-media-context; + $name: if(map-has-key($susy-media, $query), $query, null); + $query: susy-get-media($query); + $query: susy-parse-media($query); + + @include susy-media-context($query, $name); + + @if $no-query and type-of($no-query) != string { + @content; + } @else { + @media #{susy-render-media($query)} { + @content; + } + + @if type-of($no-query) == string { + #{$no-query} & { + @content; + } + } + } + + @include susy-media-context($old-context, $clean: true); +} + + +// Media Router +// ------------ +// Rout media arguments to the correct mixin. +@mixin susy-media-router( + $query, + $no-query: $susy-media-fallback +) { + @if susy-support(breakpoint, (mixin: breakpoint), $warn: false) { + @include breakpoint($query, $no-query) { + @content; + } + } @else { + @include susy-media($query, $no-query) { + @content; + } + } +} + + +// Update Context +// ------------- +// Set the new media context +@mixin susy-media-context( + $query, + $name: null, + $clean: false +) { + $query: map-merge((name: $name), $query); + + @if $clean { + $_susy-media-context: $query !global; + } @else { + $_susy-media-context: map-merge($_susy-media-context, $query) !global; + } +} + + +// Media Context +// ------------- +// Return the full media context, or a single media property (e.g. min-width) +@function susy-media-context( + $property: false +) { + @if $property { + @return map-get($_susy-media-context, $property); + } @else { + @return $_susy-media-context; + } +} + + +// Get Media +// --------- +// Return a named media-query from $susy-media. +// - $name: +@function susy-get-media( + $name +) { + @if map-has-key($susy-media, $name) { + $map-value: map-get($susy-media, $name); + @if ($name == $map-value) { + $name: $map-value; + } @else { + $name: susy-get-media($map-value); + } + } + + @return $name; +} + + +// Render Media +// ------------ +// Build a media-query string from various media settings +@function susy-render-media( + $query +) { + $output: null; + @each $property, $value in $query { + $string: null; + + @if $property == media { + $string: $value; + } @else { + $string: '(#{$property}: #{$value})'; + } + + $output: if($output, '#{$output} and #{$string}', $string); + } + + @return $output; +} + + +// Parse Media +// ----------- +// Return parsed media-query settings based on shorthand +@function susy-parse-media( + $query +) { + $mq: null; + @if type-of($query) == map { + $mq: $query; + } @else if type-of($query) == number { + $mq: (min-width: $query); + } @else if type-of($query) == list and length($query) == 2 { + @if type-of(nth($query, 1)) == number { + $mq: ( + min-width: min($query...), + max-width: max($query...), + ); + } @else { + $mq: (nth($query, 1): nth($query, 2)); + } + } @else { + $mq: (media: '#{$query}'); + } + + @return $mq; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_container.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_container.scss new file mode 100644 index 0000000..e5f4a85 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_container.scss @@ -0,0 +1,81 @@ +// Container Syntax +// ================ + +// Container [mixin] +// ----------------- +// Set a container element +// - [$layout] : +@mixin container( + $layout: $susy +) { + $inspect : $layout; + $layout : parse-grid($layout); + + $_width : get-container-width($layout); + $_justify : parse-container-position(susy-get(container-position, $layout)); + $_property : if(susy-get(math, $layout) == static, width, max-width); + + $_box : susy-get(box-sizing, $layout); + + @if $_box { + @include output((box-sizing: $_box)); + } + + @include susy-inspect(container, $inspect); + @include float-container($_width, $_justify, $_property); + @include show-grid($layout); +} + +// Container [function] +// -------------------- +// Return container width +// - [$layout] : +@function container( + $layout: $susy +) { + $layout: parse-grid($layout); + @return get-container-width($layout); +} + +// Get Container Width +// ------------------- +// Calculate the container width +// - [$layout]: +@function get-container-width( + $layout: $susy +) { + $layout : parse-grid($layout); + $_width : susy-get(container, $layout); + $_column-width : susy-get(column-width, $layout); + $_math : susy-get(math, $layout); + + @if not($_width) or $_width == auto { + @if valid-column-math($_math, $_column-width) { + $_columns : susy-get(columns, $layout); + $_gutters : susy-get(gutters, $layout); + $_spread : if(is-split($layout), wide, narrow); + $_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width; + } @else { + $_width: 100%; + } + } + + @return $_width; +} + +// Parse Container Position +// ------------------------ +// Parse the $container-position into margin values. +// - [$justify] : left | center | right | [] +@function parse-container-position( + $justify: map-get($susy-defaults, container-position) +) { + $_return: if($justify == left, 0, auto) if($justify == right, 0, auto); + + @if not(index(left right center, $justify)) { + $_return: nth($justify, 1); + $_return: $_return if(length($justify) > 1, nth($justify, 2), $_return); + } + + @return $_return; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_context.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_context.scss new file mode 100644 index 0000000..52e12a6 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_context.scss @@ -0,0 +1,36 @@ +// Context Syntax +// ============== + +// Nested [function] +// ----------------- +// Return a subset grid for nested context. +// - $context : +@function nested( + $context +) { + $context : parse-span($context); + $span : susy-get(span, $context); + $location : get-location($context); + $columns : susy-get(columns, $context); + + @return susy-slice($span, $location, $columns); +} + +// Nested [mixin] +// -------------- +// Use a subset grid for a nested context +// - $context : +// - @content : +@mixin nested( + $context +) { + $inspect : $context; + $context : parse-span($context); + $old : susy-get(columns); + $susy : map-merge($susy, (columns: nested($context))) !global; + + @include susy-inspect(nested, $inspect); + @content; + + $susy : map-merge($susy, (columns: $old)) !global; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss new file mode 100644 index 0000000..e59b9a0 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss @@ -0,0 +1,94 @@ +// Gallery Syntax +// ============== + +// Gallery +// ------- +// Create an isolated gallery +// - $span : +// - [$selector] : child | of-type +@mixin gallery( + $span, + $selector: child +) { + $inspect : $span; + $span : parse-span($span); + $span : map-merge($span, (location: 1)); + + $n : susy-get(span, $span); + $columns : susy-get(columns, $span); + $context : susy-count($columns); + $flow : susy-get(flow, $span); + + $inside : is-inside($span); + $from : from($flow); + $line : floor($context / $n); + $symmetrical : is-symmetrical($columns); + + $output: ( + width : null, + float : from, + margin-before : null, + margin-after : null, + padding-before : null, + padding-after : null, + flow : $flow, + ); + + @if $inside { + $gutters: get-gutters($span); + $output: map-merge($output, ( + padding-before: map-get($gutters, before), + padding-after: map-get($gutters, after), + )); + } + + @if $symmetrical { + $output: map-merge($output, (width: get-span-width($span))); + } + + $box : susy-get(box-sizing, $span); + $global-box : if(susy-get(global-box-sizing) == 'border-box', true, false); + + @include susy-inspect(gallery, $inspect); + + // Collective Output + @if $box == border-box or ($inside and not($box) and not($global-box)) { + @include output((box-sizing: border-box)); + } @else if $box == content-box { + @include output((box-sizing: content-box)); + } + + @include float-span-output($output...); + + // Individual Loop + @for $item from 1 through $line { + $nth: '#{$line}n + #{$item}'; + &:nth-#{$selector}(#{$nth}) { + // Individual Prep + $output: ( + width : if($symmetrical, null, get-span-width($span)), + float : null, + margin-before : get-isolation($span), + margin-after : -100%, + padding-before : null, + padding-after : null, + flow : $flow, + ); + + // Individual Output + @include float-span-output($output...); + + @if get-edge($span) == first { + @include break; + @include first($span); + } @else { + @include nobreak; + } + + // Individual Location Increment + $location: get-location($span) + $n; + $location: if($location > $context, 1, $location); + $span: map-merge($span, (location: $location)); + } + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_grids.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_grids.scss new file mode 100644 index 0000000..4fa72ed --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_grids.scss @@ -0,0 +1,64 @@ +// Grid Syntax +// =========== + + +// Layout +// ------ +// Set a new layout using a shorthand +// - $layout: +// - $clean: boolean +@mixin layout( + $layout, + $clean: false +) { + $inspect : $layout; + $susy : _get-layout($layout, $clean) !global; + + @include susy-inspect(layout, $inspect); +} + + +// Use Grid +// -------- +// Use an arbitrary layout for a section of code +// - $layout: +// - $clean: boolean +@mixin with-layout( + $layout, + $clean: false +) { + $inspect : $layout; + $old : $susy; + $susy : _get-layout($layout, $clean) !global; + + @include susy-inspect(with-layout, $inspect); + + @content; + + $susy: $old !global; +} + + +// Layout +// ------ +// Return a parsed layout map based on shorthand syntax +// - $layout: +@function layout( + $layout: $susy +) { + @return parse-grid($layout); +} + + +// Get Layout +// ---------- +// Return a new layout based on current and given settings +// - $layout: +// - $clean: boolean +@function _get-layout( + $layout, + $clean: false +) { + $layout: layout($layout); + @return if($clean, $layout, _susy-deep-merge($susy, $layout)); +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss new file mode 100644 index 0000000..efe7ac2 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss @@ -0,0 +1,154 @@ +// Gutter Syntax +// ============= + + +// Gutters +// ------- +// Set gutters on an element. +// - [$span] : +@mixin gutters( + $span: $susy +) { + $inspect : $span; + $span : parse-gutters($span); + $_gutters : get-gutters($span); + + $_output: ( + before: map-get($_gutters, before), + after: map-get($_gutters, after), + flow: susy-get(flow, $span), + ); + + @include susy-inspect(gutters, $inspect); + + @if is-inside($span) { + @include padding-output($_output...); + } @else { + @include margin-output($_output...); + } +} + +@mixin gutter( + $span: $susy +) { + @include gutters($span); +} + + +// Gutter +// ------ +// Return the width of a gutter. +// - [$span] : +@function gutter( + $span: $susy +) { + $span: parse-gutters($span); + + $_gutters: get-gutters($span); + $_gutters: map-get($_gutters, before) or map-get($_gutters, after); + + @return $_gutters; +} + +@function gutters( + $span: $susy +) { + @return gutter($span); +} + + +// Get Gutter Width +// ---------------- +// Return gutter width. +// - [$context]: +@function get-gutter-width( + $context: $susy +) { + $context : parse-gutters($context); + + $_gutters : susy-get(gutters, $context); + $_gutter : susy-get(gutter-override, $context); + + @if $_gutters and ($_gutters > 0) and not($_gutter) { + $_column-width: susy-get(column-width, $context); + $_math: gutter-math($context); + @if $_math == static { + $_gutter: $_gutters * valid-column-math($_math, $_column-width); + } @else { + $_columns : susy-get(columns, $context); + $_spread : if(is-split($context), wide, susy-get(spread, $context)); + $_gutter : percentage($_gutters / susy-sum($_columns, $_gutters, $_spread)); + } + } + + $_gutter: if($_gutter == 'no-gutters' or $_gutter == 'no-gutter', null, $_gutter); + + @return $_gutter; +} + + +// Get Gutters +// ----------- +// Return before and after gutter values. +// - [$context]: +@function get-gutters( + $context: $susy +) { + $context : parse-gutters($context); + + $_gutter-position : susy-get(gutter-position, $context); + $_gutter : get-gutter-width($context); + + $_return : (before: null, after: null); + + @if is-split($context) and $_gutter { + $_gutter: $_gutter / 2; + $_return: map-merge($_return, (before: $_gutter, after: $_gutter)); + } @else { + $_return: map-merge($_return, ($_gutter-position: $_gutter)); + } + + @return $_return; +} + + +// Is Inside +// --------- +// Returns true if gutters are inside. +// $context: +@function is-inside( + $context +) { + $_inside: inside inside-static; + $_gutter-position: susy-get(gutter-position, $context); + + @return if(index($_inside, $_gutter-position), true, false); +} + + +// Is Split +// -------- +// Returns true if gutters are split. +// $context: +@function is-split( + $context +) { + $_split: split inside inside-static; + $_gutter-position: susy-get(gutter-position, $context); + + @return if(index($_split, $_gutter-position), true, false); +} + + +// Gutter Math +// ----------- +// Return the math to use for gutter calculations +// $context: +@function gutter-math( + $context: $susy +) { + $_return : susy-get(math, $context); + $_return : if(susy-get(gutter-position, $context) == inside-static, static, $_return); + + @return $_return; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss new file mode 100644 index 0000000..7ddfd7f --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss @@ -0,0 +1,77 @@ +// Isolation Syntax +// ================ + + +// Isolate [Mixin] +// --------------- +// Set isolation as an override. +// - $location: +@mixin isolate( + $isolate: 1 +) { + $inspect: $isolate; + + $output: ( + push: isolate($isolate), + flow: susy-get(flow, $isolate), + ); + + @include susy-inspect(isolate, $inspect); + @include isolate-output($output...); +} + + +// Isolate [function] +// ------------------ +// Return an isolation offset width. +// - $location: +@function isolate( + $isolate: 1 +) { + $isolate: parse-span($isolate); + $isolation: susy-get(span, $isolate); + + @if $isolation and not(get-location($isolate)) { + $new: ( + span: null, + location: $isolation, + ); + $isolate: map-merge($isolate, $new); + } + + @return get-isolation($isolate); +} + + +// Get Isolation +// ------------- +// Return the isolation offset width +// - $input: +@function get-isolation( + $input +) { + $location : get-location($input); + $columns : susy-get(columns, $input); + $width : null; + + @if type-of($location) == number and not(unitless($location)) { + $width: $location; + } @else if $location { + $push: $location - 1; + @if $push > 0 { + $push: map-merge($input, ( + span: $push, + location: 1, + spread: wide, + )); + $width: get-span-width($push); + } + } + + @if susy-get(gutter-position, $input) == split + and susy-get(gutters, $input) > 0 { + $width: if($width == null, gutters($input), $width + gutters($input)); + } + + @return $width or 0; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_margins.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_margins.scss new file mode 100644 index 0000000..cb36839 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_margins.scss @@ -0,0 +1,94 @@ +// Margin Syntax +// ============= + +// Pre +// --- +// Add spanning-margins before an element. +// - $span : +@mixin pre( + $span +) { + $inspect: $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $gutter : gutter($span); + $span : span($span); + $width : if($split and $gutter, $span + $gutter, $span); + + @include susy-inspect(pre, $inspect); + @include margin-output($width, null, $flow); +} + +// Post +// ---- +// Add spanning-margins after an element. +// - $span : +@mixin post( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $width : if($split, span($span) + gutter($span), span($span)); + + @include susy-inspect(post, $inspect); + @include margin-output(null, $width, $flow); +} + +// Push +// ---- +// Simple synonymn for pre. +// - $span : +@mixin push( + $span +) { + @include pre($span); +} + +// Pull +// ---- +// Add negative spanning-margins before an element. +// - $span : +@mixin pull( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $split : if(susy-get(gutter-position, $span) == split, true, false); + $width : if($split, 0 - span($span) + gutter($span), 0 - span($span)); + + @include susy-inspect(pull, $inspect); + @include margin-output($width, null, $flow); +} + +// Squish +// ------ +// Add spanning-margins before and after an element. +// - $pre : +// - [$post] : +@mixin squish( + $pre, + $post: false +) { + $inspect : ($pre, $post); + $pre : map-merge((spread: wide), parse-span($pre)); + + @if $post { + $post: map-merge((spread: wide), parse-span($post)); + } @else { + $span: susy-get(span, $pre); + @if length($span) > 1 { + $pre: map-merge($pre, (span: nth($span, 1))); + $post: map-merge($pre, (span: nth($span, 2))); + } @else { + $post: $pre; + } + } + + @include susy-inspect(squish, $inspect); + @include pre($pre); + @include post($post); +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_padding.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_padding.scss new file mode 100644 index 0000000..cdf75c8 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_padding.scss @@ -0,0 +1,74 @@ +// Padding Syntax +// ============== + +// Prefix +// ------ +// Add spanning-padding before an element. +// - $span : +@mixin prefix( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $width : span($span); + + @if is-inside($span) { + $gutter: gutter($span); + $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); + } + + @include susy-inspect(prefix, $inspect); + @include padding-output($width, null, $flow); +} + +// Suffix +// ------ +// Add spanning-padding after an element. +// - $span : +@mixin suffix( + $span +) { + $inspect : $span; + $span : map-merge((spread: wide), parse-span($span)); + $flow : susy-get(flow, $span); + $width : span($span); + + @if is-inside($span) { + $gutter: gutter($span); + $width: if($gutter and comparable($width, $gutter), $width + $gutter, $width); + } + + @include susy-inspect(suffix, $inspect); + @include padding-output(null, $width, $flow); +} + +// Pad +// --- +// Add spanning-padding before and after an element. +// - $pre : +// - [$post] : +@mixin pad( + $pre, + $post: false +) { + $inspect : ($pre, $post); + $pre : map-merge((spread: wide), parse-span($pre)); + + @if $post { + $post: map-merge((spread: wide), parse-span($post)); + } @else { + $span: susy-get(span, $pre); + @if length($span) > 1 { + $pre: map-merge($pre, (span: nth($span, 1))); + $post: map-merge($pre, (span: nth($span, 2))); + } @else { + $post: $pre; + } + } + + @include susy-inspect(pad, $inspect); + @include prefix($pre); + @include suffix($post); + +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_rows.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_rows.scss new file mode 100644 index 0000000..d726431 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_rows.scss @@ -0,0 +1,138 @@ +// Row Start & End +// =============== + +// Break +// ----- +// Apply to any element that should force a line break. +@mixin break { + @include output((clear: both)); +} + + +// NoBreak +// ------- +// Cancel the break() effect, e.g. when using media queries. +@mixin nobreak { + @include output((clear: none)); +} + + +// Full +// ---- +// - [$context]: +@mixin full( + $context: $susy +) { + $inspect : $context; + @include susy-inspect(full, $inspect); + @include span(full of parse-grid($context) break); +} + + +// First +// ----- +// - [$context]: +@mixin first( + $context: $susy +) { + $inspect : $context; + $context : parse-grid($context); + $flow : susy-get(flow, $context); + + @include susy-inspect(first, $inspect); + @if not(is-split($context)) { + @include float-first($flow); + } +} + +@mixin alpha( + $context: $susy +) { + @include first($context); +} + + +// Last +// ---- +// - [$context]: +@mixin last( + $context: $susy +) { + $inspect : $context; + $context : parse-grid($context); + + @include susy-inspect(last, $inspect); + + $output: ( + flow: susy-get(flow, $context), + last-flow: susy-get(last-flow, $context), + margin: if(is-split($context), null, 0), + ); + + @include float-last($output...); +} + +@mixin omega( + $context: $susy +) { + @include last($context); +} + + +// Get Edge +// -------- +// Calculate edge value based on location, if possible +@function get-edge( + $span +) { + $span : parse-span($span); + $edge : susy-get(edge, $span); + + @if not($edge) { + $count: susy-count(susy-get(columns, $span)); + $location: susy-get(location, $span); + $n: susy-get(span, $span); + + $number: if(type-of($location) == number, true, false); + $index: if($number and unitless($location), true, false); + + @if $n == $count { + $edge: full; + } @else if $location and $n and $index { + @if $location == 1 { + $edge: if($n == $count, full, first); + } @else if $location + $n - 1 == $count { + $edge: last; + } + } + } + + @if $edge == alpha or $edge == omega { + $edge: if($edge == alpha, first, last); + } + + @return $edge; +} + + +// Get Location +// ------------ +// Calculate location value based on edge, if possible +@function get-location( + $span +) { + $span : parse-span($span); + $location : susy-get(location, $span); + $edge : get-edge($span); + $n : susy-get(span, $span); + + @if $edge and not($location) and type-of($n) == number and unitless($n) { + @if $edge == first { + $location: 1; + } @else if $edge == last { + $location: susy-count(susy-get(columns, $span)) - $n + 1; + } + } + + @return $location +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_settings.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_settings.scss new file mode 100644 index 0000000..9b5d897 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_settings.scss @@ -0,0 +1,216 @@ +// Susy Settings +// ============= + +// Susy Language Defaults +// ---------------------- +// - PRIVATE +@include susy-defaults(( + container: auto, + math: fluid, + output: float, + container-position: center, + gutter-position: after, + global-box-sizing: content-box, + debug: ( + image: hide, + color: rgba(#66f, .25), + output: background, + toggle: top right, + ), +)); + + +// Valid Keyword Values +// -------------------- +// - PRIVATE: DONT'T TOUCH +$susy-keywords: ( + container: auto, + math: static fluid, + output: isolate float, + container-position: left center right, + flow: ltr rtl, + gutter-position: before after split inside inside-static, + box-sizing: border-box content-box, + span: full, + edge: first alpha last omega full, + spread: narrow wide wider, + gutter-override: no-gutters no-gutter, + role: nest, + clear: break nobreak, + debug image: show hide show-columns show-baseline, + debug output: background overlay, +); + + +// Parse Susy Keywords and Maps +// ---------------------------- +@function parse-settings( + $short: $susy +) { + $_return: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + @each $item in $short { + // strings + @if type-of($item) == string { + @each $key, $value in $susy-keywords { + @if index($value, $item) { + $_key-value: append($key, $item); + $_return: _susy-deep-set($_return, $_key-value...); + } + } + // maps + } @else if type-of($item) == map { + $_return: map-merge($_return, $item); + } + } + } + + @return $_return; +} + + +// Parse Columns & Gutters +// ----------------------- +@function parse-layout( + $short +) { + $_return: (); + $_columns: (); + $_gutters: null; + + @if not(unitless(nth(nth($short, 1), 1))) { + $_gutters: nth($short, 1); + } @else { + $_columns: (columns: nth($short, 1)); + $_gutters: if(length($short) > 1, nth($short, 2), $_gutters); + } + + @if type-of($_gutters) == list and length($_gutters) > 0 { + $_gutters: ( + gutters: nth($_gutters, 2) / nth($_gutters, 1), + column-width: nth($_gutters, 1), + ); + } @else { + $_gutters: if($_gutters, (gutters: $_gutters), ()); + } + + $_return: map-merge($_return, $_columns); + $_return: map-merge($_return, $_gutters); + + @return $_return; +} + + +// Parse Grid/Context +// ------------------ +@function parse-grid( + $short: $susy +) { + $_return: parse-settings($short); + $_layout: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + @each $item in $short { + // number or list + @if type-of($item) == number or type-of($item) == list { + @if type-of($item) == list or unitless($item) { + $_layout: append($_layout, $item); + } @else { + $_return: map-merge($_return, (container: $item)); + } + } + } + + $_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout); + } + + @return map-merge($_return, $_layout); +} + + +// Parse Span +// ---------- +@function parse-span( + $short, + $key: span +) { + $_return: (); + + @if type-of($short) == map { + $_return: $short; + } @else { + $_at: index($short, at); + + @if $_at { + $_loci: $_at + 1; + $_location: nth($short, $_loci); + $_return: map-merge($_return, (location: $_location)); + $short: set-nth($short, $_at, null); + $short: set-nth($short, $_loci, null); + } + + $_i: 1; + $_span: (); + + @while $_i <= length($short) { + $_this: nth($short, $_i); + + @if type-of($_this) == number { + $_span: append($_span, $_this); + $short: set-nth($short, $_i, null); + } @else if $_this == of { + $short: set-nth($short, $_i, null); + $_i: length($short) + 1; + } + + $_i: $_i + 1; + } + + @if length($_span) > 0 { + $_span: if(length($_span) == 1, nth($_span, 1), $_span); + $_return: map-merge($_return, ($key: $_span)); + } + + $_return: map-merge($_return, parse-grid($short)); + } + + @return $_return; +} + + +// Parse Gutters +// ------------- +@function parse-gutters( + $short: $susy +) { + $_gutters: parse-span($short, gutter-override); + $_span: susy-get(gutter-override, $_gutters); + + @if $_span and not(map-get($_gutters, columns)) { + $_context: (); + $_new: (); + + @each $item in $_span { + @if type-of($item) == number and unitless($item) { + $_context: append($_context, $item); + } @else { + $_new: append($_new, $item); + } + } + + $_context: parse-grid($_context); + $_new: if(length($_new) == 0, null, $_new); + $_new: if(length($_new) == 1, nth($_new, 1), $_new); + $_new: (gutter-override: if($_new != $_span, $_new, $_span)); + + $_gutters: map-merge($_gutters, $_new); + $_gutters: map-merge($_gutters, $_context); + } + + @return $_gutters; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_span.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_span.scss new file mode 100644 index 0000000..86ccda9 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_span.scss @@ -0,0 +1,163 @@ +// Span Syntax +// =========== + +// Span [mixin] +// ------------ +// Set a spanning element using shorthand syntax. +// - $span : +@mixin span( + $span +) { + $inspect: $span; + $span: parse-span($span); + $output: span-math($span); + $nesting: susy-get(span, $span); + $clear: susy-get(clear, $span); + + $box: susy-get(box-sizing, $span); + $content-box: if(susy-get(global-box-sizing) != 'border-box', true, false); + $box: $box or if(is-inside($span) and $content-box, border-box, null); + + @if $clear == break { + @include break; + } @else if $clear == nobreak { + @include nobreak; + } + + @include susy-inspect(span, $inspect); + @include output((box-sizing: $box)); + @include float-span-output($output...); + + @if valid-columns($nesting, silent) { + @include nested($span) { @content; } + } @else { + @content; + } +} + +// Span [function] +// --------------- +// Return the width of a span. +// - $span : +@function span( + $span +) { + @return get-span-width($span); +} + +// Span Math +// --------- +// Get all the span results. +// - $span: +@function span-math( + $span +) { + $nest : if(susy-get(role, $span) == nest, true, false); + $split-nest : if(is-split($span) and $nest, true, false); + $edge : get-edge($span); + $location : get-location($span); + + $float : from; + $padding-before : null; + $padding-after : null; + $margin-before : null; + $margin-after : null; + + // calculate widths + $spread: index(map-values($span), spread); + $span: if($split-nest and not($spread), map-merge($span, (spread: wide)), $span); + $width: get-span-width($span); + $gutters: get-gutters($span); + + // apply gutters + @if is-inside($span) { + @if not(susy-get(role, $span)) { + $padding-before: map-get($gutters, before); + $padding-after: map-get($gutters, after); + } + } @else { + @if not($split-nest) { + $margin-before: map-get($gutters, before); + $margin-after: map-get($gutters, after); + } + } + + // special margin handling + @if susy-get(output, $span) == isolate and $location { + $margin-before: get-isolation($span); + $margin-after: -100%; + } @else if $edge { + $is-split: is-split($span); + $pos: susy-get(gutter-position, $span); + + @if $edge == last { + $float: susy-get(last-flow, $span); + } + + @if not($is-split) { + @if $edge == full or ($edge == first and $pos == before) { + $margin-before: 0; + } + @if $edge == full or ($edge == last and $pos == after) { + $margin-after: 0; + } + } + + } + + @return ( + width : $width, + float : $float, + margin-before : $margin-before, + margin-after : $margin-after, + padding-before : $padding-before, + padding-after : $padding-after, + flow : susy-get(flow, $span), + ); +} + +// Get Span Width +// -------------- +// Return span width. +// - $span: +@function get-span-width( + $span +) { + $span : parse-span($span); + + $n : susy-get(span, $span); + $location : get-location($span); + $columns : susy-get(columns, $span); + $gutters : susy-get(gutters, $span); + $spread : susy-get(spread, $span); + + $context : null; + $span-sum : null; + $width : null; + + @if $n == 'full' { + $pos: susy-get(gutter-position, $span); + $role: susy-get(role, $span); + $n: if($pos == split and $role != nest, susy-count($columns), 100%); + } + + @if type-of($n) != number { + @warn "(#{type-of($n)}) #{$n} is not a valid span."; + } @else if unitless($n) { + $context: susy-sum($columns, $gutters, if(is-split($span), wide, narrow)); + $spread: if(is-inside($span), $spread or wide, $spread); + $span-sum: susy($n, $location, $columns, $gutters, $spread); + + $_math: susy-get(math, $span); + $_column-width: susy-get(column-width, $span); + @if $_math == static { + $width: $span-sum * valid-column-math($_math, $_column-width); + } @else { + $width: percentage($span-sum / $context); + } + } @else { + $width: $n; + } + + @return $width; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susy/_validation.scss b/docs/_sass/basically-basic/vendor/susy/language/susy/_validation.scss new file mode 100644 index 0000000..a235b17 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susy/_validation.scss @@ -0,0 +1,16 @@ +// Validation +// ========== + + +// Validate Column Math +// -------------------- +@function valid-column-math( + $math, + $column-width +) { + @if $math == static and not($column-width) { + @error 'Static math requires a valid column-width setting.'; + } + + @return $column-width; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_background.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_background.scss new file mode 100644 index 0000000..38c6726 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_background.scss @@ -0,0 +1,18 @@ +// --------------------------------------------------------------------------- +// Imports + +@import "compass/layout/grid-background"; +@import "compass/css3/background-origin"; +@import "compass/css3/background-clip"; + +// --------------------------------------------------------------------------- +// Susy Grid Background +// +// A wrapper for the compass "column-grid-background" mixin +// Uses all your settings to create a grid background for a container element. +// Note: Sub-pixel rounding can lead to several pixels of variation between browsers. +@mixin susy-grid-background(){ + @include column-grid-background($total-columns, column(), gutter(), 0); + @include background-origin(content-box); + @include background-clip(content-box); +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss new file mode 100644 index 0000000..6818458 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss @@ -0,0 +1,377 @@ +// --------------------------------------------------------------------------- +// Imports + +// We need access to some basic font settings for handling media-queries. +@import "compass/typography/vertical_rhythm"; + +// For now, we also need this... +$browser-default-font-size-px : 16px; +$browser-default-font-size-percent : 100%; +$browser-default-font-size-pt : 12pt; + +$rem-with-px-fallback : true !default; + +// --------------------------------------------------------------------------- +// Sass list Functions + +// Return a list with specific items removed +// +// filter($list, $target) +// - $list : The list to filter. +// - $target : An item to be removed from the list. +@function filter($list, $target) { + $clean: compact(); + @if index($list, $target) { + @each $item in $list { + $clean: if($item == $target, $clean, append($clean, $item)); + } + } @else { $clean: $list; } + @return $clean; +} + +// --------------------------------------------------------------------------- +// Don't use static output when it will break things + +// Switch element-level output to fluid, when container-width is wrong for static +// +// fix-static-misalignment([$style, $width]) +// - $style: $container-style. +// - $width: $container-width. +@function fix-static-misalignment( + $style: $container-style, + $width: $container-width +) { + @if $container-width and $container-width != container-outer-width($width: false) { + $style: fluid; + } + @return $style; +} + +// --------------------------------------------------------------------------- +// Grid Functions + +// Returns the full width of a grid based on your grid settings. +// +// $columns : The number of columns to get width for. +@function columns-width( + $columns : $total-columns +) { + @if round($columns) != $columns { + @warn "Susy works best with integer column-spans." + + "For partial-columns, you may need to finesse the math by hand using functions directly."; + } + @return ($columns * $column-width) + (if($columns >= 1, ceil($columns - 1), 0) * $gutter-width); +} + +// Return the grid width after adding or subtracting grid padding +// +// $width : the width of the grid without padding; +// $operation : ( add | subtract ) if padding should be added or subtracted; +@function handle-grid-padding( + $width, + $operation : subtract +) { + $pad: $grid-padding*2; + + @if comparable($width, $grid-padding) { + $width: if($operation == subtract, $width - $pad, $width + $pad); + } @else { + @warn "$grid-padding must be set in units comparable to the container width."; + } + + @return $width; +} + +// Return the full outer width of a Container element. +// +// $columns : The number of columns in the Grid Layout. +@function container-outer-width( + $columns : $total-columns, + $width : $container-width +) { + $outerwidth: if($width, $width, columns-width($columns)); + + @if $width { + @if not($border-box-sizing) { $outerwidth: handle-grid-padding($outerwidth, subtract); } + } @else { + @if $border-box-sizing { $outerwidth: handle-grid-padding($outerwidth, add); } + } + + @return $outerwidth; +} + +// Return the percentage width of a single column in a given 'context'. +// +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function column( + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, $column-width, relative-width($column-width, $context)); +} + +// Return the percentage width of multiple 'columns' in a given 'context'. +// +// $columns : The number of columns to get relative width for. +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function columns( + $columns, + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, columns-width($columns), relative-width(columns-width($columns), $context)); +} + +// Return the percentage width of a single gutter in a given 'context'. +// +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function gutter( + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return if($style == static, $gutter-width, relative-width($gutter-width, $context)); +} + +// Return the percentage width of a given value in a given 'context'. +// +// $width : Any given width value. +// $context : The grid context in columns, if nested. +@function relative-width( + $width, + $context : $total-columns +) { + @return percentage($width / columns-width($context)); +} + +// Return the total space occupied by multiple columns and associated gutters. +// Useful for adding padding or margins (prefix, suffix, push, pull, etc.) +// +// $columns : The number of columns to get relative space for. +// $context : The grid context in columns, if nested. +// $style : The container style to use. +@function space( + $columns, + $context : $total-columns, + $style : fix-static-misalignment() +) { + @return columns($columns, $context, $style) + if($columns >= 1, gutter($context, $style), 0); +} + +// Accept a list including column-count and (optional) position. +// Return either the column count or the position alone. +// +// $columns : the list to split and interprate. +// $request : The value to return, either 'columns' or 'position'. +@function split-columns-value( + $columns, + $request : columns +) { + $pos : false; + $cols : false; + + @each $var in $columns { + @if (type-of($var) == 'string') { + $pos: $var; + } @else { + @if (type-of($var) == 'number') and (unitless($var)) { + $cols: $var; + } @else { + @warn '"#{$var}" is not a valid part of "$columns: #{$columns}" in the columns() mixin.'; + } + } + } + + @if $request == 'columns' { + @return $cols; + } @else { + @if $request == 'position' { + @return $pos; + } @else { + @warn '"#{$request}" is not a valid value for $request'; + } + } +} + +// Accept nth-selector variables, and format them as a valid CSS3 selector. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +@function format-nth( + $n : last, + $selector : child +) { + @if ($n == 'last') or ($n =='first') or ($n =='only') { + $selector: '#{$n}-#{$selector}'; + } @else { + $selector: 'nth-#{$selector}(#{$n})'; + } + @return $selector; +} + +// --------------------------------------------------------------------------- +// Media Functions + +// Return an em value adjusted to match the browser default font size. +// Note: This only works if actual sizes are set relative to browser defaults. +// +// $ems : The initial value to be converted. +// $font-size : The current font-size in. +@function base-ems( + $ems, + $font-size: $base-font-size +){ + $font-size : if(unit($ems) == 'rem', $base-font-size, $font-size); + $unit : unit($font-size); + $mult : $ems / ($ems * 0 + 1); + + @if $unit == 'px' { + @return $font-size / $browser-default-font-size-px * $mult * 1em; + } + @else if $unit == '%' { + @return $font-size / $browser-default-font-size-percent * $mult * 1em; + } + @else if $unit == 'em' { + @return $font-size / 1em * $mult * 1em; + } + @else if $unit == 'pt' { + @return $font-size / $browser-default-font-size-pt * $mult * 1em; + } + @else { + @warn 'Variable $base-font-size does not have a valid font unit. Valid units for fonts in CSS are px, pt, em, and %.'; + } +} + +// This name will be deprecated... +@function absolute-ems( + $ems, + $font-size: $base-font-size +){ + @return base-ems( $ems, $font-size); + } + +// Return a length, after any em-values have been sent through absolute-ems(). +// +// $length : The length value to be checked and adjusted if necessary. +// $font-size : The current font-size in px. +@function fix-ems( + $length, + $font-size: $base-font-size +){ + @if $length { + @if (unit($length) == 'em') or (unit($length) == 'rem') { + $length: absolute-ems($length,$font-size); + } + } + @return $length; +} + +// Sort a list of arguments into "$min $layout $max $ie" order, and return the list. +// +// $media-layout : a list of values [$min $layout $max $ie] including... +// : - one unitless number (columns in a layout) +// : - two optional lengths (min and max-width media-query breakpoints). +// : - one optional boolean or string to trigger fallback support for IE. +// $font-size : [optional] The base font-size of your layout, if you are using ems. +// : - defaults to $base-font-size +@function medialayout( + $media-layout, + $font-size: $base-font-size +) { + $media : false; + $min : false; + $layout : false; + $max : false; + $ie : false; + $has-layout : false; + + @each $val in $media-layout { + @if (type-of($val) == "number") { + @if unitless($val) { + $layout : $val; + $has-layout : true; + } @else { + @if ($has-layout) and not($media) { + $max: $val; + } @else { + @if $media { + $media: join($media,$val); + } @else { + $media: $val; + } + } + } + } @else { + $ie: $val; + } + } + @if (length($media) > 0) { + @if (length($media) == 1) { + $min: nth($media,1); + } @else { + $min: nth($media,1); + $max: nth($media,2); + @if comparable($min, $max) { + @if ($min > $max) { + $max: nth($media,1); + $min: nth($media,2); + } + } @else { + @warn "Can't compare incompatible units." + + "Using #{$min} for min-width, and #{$max} for max-width"; + } + @if (length($media) > 2) { + @warn "You can only send two lengths: a min-width and an (optional) max-width." + + "You sent #{length($media)}: #{$media}"; + } + } + } + + // media-queries must be set in ems relative to the browser default + // rather than the font-size set in CSS. + $min: fix-ems($min,$font-size); + $max: fix-ems($max,$font-size); + + @return $min $layout $max $ie; +} + +// Return the nearest layout (column-count) above a given breakpoint. +// +// $min : The min-width media-query breakpoint above which to establish a new layout. +@function get-layout( + $min +) { + $min : fix-ems($min); + $return : false; + + @if comparable($min, $column-width) { + $return : ceil(($min + $gutter-width) / ($column-width + $gutter-width)); + } @else { + @warn "Can't determine a layout, becuse #{$min} and #{$column-width} are not comparable."; + } + + @return $return; +} + +// Check to see if a given $media-layout list is simply the default. +// +// $media-layout : a list of values including - +// : One unitless number (columns in a layout) +// : Two optional lengths (min and max-width media-query breakpoints). +// : One optional boolean or string to trigger fallback support for IE. +@function is-default-layout( + $media-layout +) { + $media-layout : medialayout($media-layout); + $min : nth($media-layout,1); + $layout-cols : nth($media-layout,2); + $max : nth($media-layout,3); + + @if $min or $max { + @return false; + } @else { + @return if($layout-cols == $total-columns,true,false); + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss new file mode 100644 index 0000000..491c622 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss @@ -0,0 +1,312 @@ +// --------------------------------------------------------------------------- +// Imports + +@import "compass/utilities/general/clearfix"; +@import "compass/css3/box-sizing"; + +// --------------------------------------------------------------------------- +// Border-Box Sizing + +// Apply the border-box sizing model to all elements +// and adjust the grid math appropriately. +@mixin border-box-sizing { + $border-box-sizing: true !global; + * { @include box-sizing(border-box); } +} + +// --------------------------------------------------------------------------- +// Container + +// Set the width of a container +// +// $columns : The number of columns in the Grid Layout. +@mixin set-container-width( + $columns : $total-columns, + $style : $container-style, + $px-vals : $pixel-values-only +){ + $width: container-outer-width($columns); + + @if $style == 'static' { + @if $px-vals == true { + width: round(convert-length($width, px)); + } @else { + @include rem(width, $width); + } + } @else { + @if $style == 'fluid' { + @if unit($width) == '%' { + @if $px-vals == true { + width: round(convert-length($width, px)); + } @else { + @include rem(width, $width); + } + } + } @else { + @if $px-vals == true { + max-width: round(convert-length($width, px)); + } @else { + @include rem(max-width, $width); + } + + @include for-legacy-browser(ie,"6") { + @if unit($width) == 'rem' { + _width: round(convert-length($width, px)); + } @else { + _width: $width; + } + } + } + } +} + +// Set the outer grid-containing element(s). +// +// $columns : The number of columns in the container. +@mixin apply-container( + $columns : $total-columns, + $px-vals : $pixel-values-only +){ + @include pie-clearfix; + @include set-container-width($columns); + @if $px-vals == true { + padding-left: round(convert-length($grid-padding, px)); + padding-right: round(convert-length($grid-padding, px)); + } @else { + @include rem(padding-left, $grid-padding); + @include rem(padding-right, $grid-padding); + } + margin: { left: auto; right: auto; } +} + +// Set one or more layouts on a grid-containing element at any number of media-query breakpoints. +// +// $media-layout-1 : [default:$total-columns] A list of values including - +// : One unitless number (representing columns in a layout) +// : Two optional lengths (representing min and max-width media-query breakpoints). +// $media-layout-2 ...-10 : [optional] Same as $media-layout-1 +@mixin container( + $media-layouts... +){ + $media-layouts: if(length($media-layouts) > 0, $media-layouts, $total-columns); + + @each $ml in $media-layouts { + @if is-default-layout($ml) { + @include apply-container; + } @else { + @include at-breakpoint($ml) { + @include apply-container; + } + } + } +} + +// --------------------------------------------------------------------------- +// Columns + +// Create a grid element spanning any number of 'columns' in a grid 'context'. +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $padding : [optional] Padding applied to the inside of individual grid columns. +// : Padding is only output if one or two values are specified (e.g. 1em or 10px 20px) +// : Padding values are applied only on the horizontal axis in from-to order +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin span-columns( + $columns, + $context : $total-columns, + $padding : false, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + $pos : split-columns-value($columns,position); + $cols : split-columns-value($columns,columns); + $pad-from : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context)); + $pad-to : if($style == static, 0 * $gutter-width, relative-width(0 * $gutter-width, $context)); + + @if $padding != false { + $pad-from : nth($padding, 1); + + @if length($padding) > 1 { + $pad-to: nth($padding, 2); + } @else { + $pad-to: $pad-from; + } + + $pad-from : if($style == static, $pad-from, relative-width($pad-from, $context)); + $pad-to : if($style == static, $pad-to, relative-width($pad-to, $context)); + + padding-#{$from}: $pad-from; + padding-#{$to}: $pad-to; + } + + width: columns($cols, $context, $style) - if($border-box-sizing, 0, $pad-to + $pad-from); + + @if ($pos == 'omega') { + @include omega($from); + } @else { + float: $from; + margin-#{$to}: gutter($context, $style); + @include for-legacy-browser(ie, "6") { + display: inline; + } + } +} + +// Apply to elements spanning the last column, to account for the page edge. +// Only needed as an override. Normally 'omega' can just be called by `columns`. +// +// $from : The start-direction for your document. +@mixin omega( + $from : $from-direction +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: $omega-float; + margin-#{$to}: 0; + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: - $gutter-width; + @include for-legacy-browser(ie, "6") { + display: inline; + } + } +} + +// Shortcut to apply omega to a specific subset of elements. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +// $from : The start-direction for your document. +@mixin nth-omega( + $n : last, + $selector : child, + $from : $from-direction +) { + $from : unquote($from); + + &:#{format-nth($n,$selector)} { + @if $n == "first" { + @include omega($from); + } @else { + @include with-browser-ranges(css-sel3) { + @include omega($from); + } + } + } +} + + + +// --------------------------------------------------------------------------- +// Resets + +// Reset a '+columns' grid element to default block behavior +// +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin reset-columns( + $from: $from-direction +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: none; + width: auto; + margin-#{$to}: auto; + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: auto; + @include for-legacy-browser(ie, "6") { + display: block; + } + } +} + +// Apply to elements previously set as omega. +// This will return floats and margins back to non-omega settigns. +// +// $context : [optional] The context (columns spanned by parent). +// $from : The start-direction for your document. +// $style : The container style to use. +@mixin remove-omega( + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + $hack : opposite-position($omega-float); + + float: $from; + margin-#{$to}: gutter($context, $style); + + @include for-legacy-browser(ie, "6", "7") { + *margin-#{$hack}: auto; + } +} + +// Shortcut to apply remove-omega to a specific subset of elements. +// +// $n : [first | only | last | ] +// $selector : [child | last-child | of-type | last-of-type ] +// $context : [optional] The context (columns spanned by parent). +// $from : The start-direction for your document. +// $style : The container style to use. +@mixin remove-nth-omega( + $n : last, + $selector : child, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + + &:#{format-nth($n,$selector)} { + @if $n == "first" { + @include remove-omega($context, $from, $style); + } @else { + @include with-browser-ranges(css-sel3) { + @include remove-omega($context, $from, $style); + } + } + } +} + + +// --------------------------------------------------------------------------- +// Change Settings + +@mixin with-grid-settings( + $columns: $total-columns, + $width: $column-width, + $gutter: $gutter-width, + $padding: $grid-padding +) { + // keep the defaults around + $default-columns: $total-columns; + $default-width: $column-width; + $default-gutter: $gutter-width; + $default-padding: $grid-padding; + + // use the new settings + $total-columns: $columns !global; + $column-width: $width !global; + $gutter-width: $gutter !global; + $grid-padding: $padding !global; + + // apply to contents + @content; + + // re-instate the defaults + $total-columns: $default-columns !global; + $column-width: $default-width !global; + $gutter-width: $default-gutter !global; + $grid-padding: $default-padding !global; +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss new file mode 100644 index 0000000..2b70038 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss @@ -0,0 +1,51 @@ +// --------------------------------------------------------------------------- +// Isolation + +// Isolate the position of a grid element (use in addition to span-columns) +// +// $location : The grid column to isolate in, relative to the container; +// $context : [optional] The context (columns spanned by parent). +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin isolate( + $location, + $context: $total-columns, + $from: $from-direction, + $style: fix-static-misalignment() +) { + $to: opposite-position($from); + margin-#{$to}: -100%; + margin-#{$from}: space($location - 1, $context, $style); +} + +// Isolate a group of elements in a grid, using nth-child selectors +// +// $columns : The column-width of each item on the grid; +// $context : [optional] The context (columns spanned by parent). +// $selector : [child | of-type | last-of-type ] (default is 'child') +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +@mixin isolate-grid( + $columns, + $context: $total-columns, + $selector: 'child', + $from: $from-direction, + $style: fix-static-misalignment() +) { + $to: opposite-position($from); + $location: 1; + $line: floor($context / $columns); + + @include span-columns($columns, $context, $from: $from, $style: $style); + margin-#{$to}: -100%; + + @for $item from 1 through $line { + $nth: '#{$line}n + #{$item}'; + &:#{format-nth($nth,$selector)} { + margin-#{$from}: space($location - 1, $context, $style); + @if $location == 1 { clear: $from; } + @else { clear: none; } + + $location: $location + $columns; + @if $location > $context { $location: 1; } + } + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss new file mode 100644 index 0000000..accbbe6 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss @@ -0,0 +1,93 @@ +// --------------------------------------------------------------------------- +// Margin Mixins + +// Apply 'columns' margin before an element to push it along the grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pre( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + margin-#{$from}: space($columns, $context, $style); +} + +// 'push' is a synonymn for 'pre' +@mixin push( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @include pre($columns, $context, $from, $style); +} + +// Apply negative 'columns' margin before an element to pull it along the grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pull( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + margin-#{$from}: 0 - space($columns, $context, $style); +} + +// Apply 'columns' margin after an element to contain it in a grid. +// +// $columns : The number of columns to span. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin post( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + margin-#{$to}: space($columns, $context, $style); +} + +// Apply 'columns' before and/or after an element to contain it on a grid. +// +// $pre : The number of columns to add as margin before. +// $post : The number of columns to add as margin after. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin squish( + $pre : false, + $post : false, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @if $pre { + @include pre($pre, $context, $from, $style) + } + @if $post { + @include post($post, $context, $from, $style) + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_media.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_media.scss new file mode 100644 index 0000000..ca860fc --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_media.scss @@ -0,0 +1,105 @@ +// --------------------------------------------------------------------------- +// Media Mixins + +// Create a new layout context for (@content) descendants. +// +// $layout-cols : a (unitless) number of columns to use for this layout. +@mixin layout( + $layout-cols +) { + // store default $total-columns setting for later, then change it. + $default-layout : $total-columns; + $total-columns : $layout-cols !global; + + // apply children in this new layout context. + @content; + + // return to default $total-columns setting. + $total-columns : $default-layout !global; +} + +// Nest a block of code inside a new media-query and layout context. +// +// $media-layout : a list of values [$min $layout $max $ie] including... +// : - one unitless number (columns in a layout) +// : - two optional lengths (min and max-width media-query breakpoints). +// : - one optional boolean or string to trigger fallback support for IE. +// $font-size : [optional] The base font-size of your layout, if you are using ems. +// : - defaults to $base-font-size +@mixin at-breakpoint( + $media-layout, + $font-size: $base-font-size +) { + $media-layout : medialayout($media-layout,$font-size); + $min : nth($media-layout,1); + $layout : nth($media-layout,2); + $max : nth($media-layout,3); + $ie : nth($media-layout,4); + + @if not($breakpoint-media-output) and not($breakpoint-ie-output) and not($breakpoint-raw-output) { + @warn "Either $breakpoint-media-output, $breakpoint-ie-output, or $breakpoint-raw-output must be true for at-breakpoint to work."; + } + + // We need to have either a min-width breakpoint or a layout in order to proceed. + @if $min or $layout or $max { + + // If we don't have a layout, we create one based on the min-width. + @if not($layout) { + $layout: get-layout($min); + } + + // If we still don't have a layout, we have a problem. + @if $layout { + // Set our new layout context. + @include layout($layout) { + @if $breakpoint-media-output { + @include with-browser-ranges(css-mediaqueries) { + @if $min and $max { + // Both $min and $max + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else { + @if not($min) and not($max) { + // Neither $min nor $max: + // We can create a breakpoint based on the number of columns in the layout. + $min: fix-ems(container-outer-width($width: false)); + } + @if $min { + // Min only: + @media (min-width: $min) { + @content; + } + } @else { + // Max only: + @media (max-width: $max) { + @content; + } + } + } + } + } + // Set an IE fallback + @if $ie and $breakpoint-ie-output { + @if (type-of($ie) == 'bool') { + $ie: 'lt-ie9'; + } + .#{$ie} & { + @content; + } + } + + @if $breakpoint-raw-output { + @content; + } + } + } @else { + @warn "We were unable to determine a layout for your breakpoint."; + } + + } @else { + @warn "You need to provide either a valid layout (number of columns)" + + "or a valid media-query min-width breakpoint (length)."; + } + +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss new file mode 100644 index 0000000..8e6394a --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss @@ -0,0 +1,92 @@ +// --------------------------------------------------------------------------- +// Padding Mixins + +// add empty colums as padding before an element. +// $columns : The number of columns to prefix. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin prefix( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + padding-#{$from}: space($columns, $context, $style); +} + +// add empty colums as padding after an element. +// $columns : The number of columns to suffix. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin suffix( + $columns, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + $to : opposite-position($from); + padding-#{$to}: space($columns, $context, $style); +} + +// add empty colums as padding before and after an element. +// $columns : The number of columns to pad. +// $context : [optional] The context (columns spanned by parent). +// : Context is required on any nested elements. +// : Context MUST NOT be declared on a root element. +// $from : The start direction of your layout (e.g. 'left' for ltr languages) +// $style : The container style to use. +@mixin pad( + $prefix : false, + $suffix : false, + $context : $total-columns, + $from : $from-direction, + $style : fix-static-misalignment() +) { + $from : unquote($from); + @if $prefix { + @include prefix($prefix, $context, $from, $style); + } + @if $suffix { + @include suffix($suffix, $context, $from, $style); + } +} + +// Bleed into colums with margin/padding on any side of an element. +// $width : The side of the bleed. +// : Any unit-length will be used directly. +// : Any unitless number will be used as a column-count. +// : Use "2 of 6" format to represent 2 cals in a 6-col nested context. +// $sides : One or more sides to bleed [ top | right | bottom | left | all ]. +// $style : The container style to use. +@mixin bleed( + $width: $grid-padding, + $sides: left right, + $style: fix-static-misalignment() +) { + @if $border-box-sizing { @include box-sizing(content-box) } + + @if type-of($width) == 'list' { + $width: filter($width, of); + $width: space(nth($width,1), nth($width,2), $style); + } @else if unitless($width) { + $width: space($width, $style: $style); + } + + @if $sides == 'all' { + margin: - $width; + padding: $width; + } @else { + @each $side in $sides { + margin-#{$side}: - $width; + padding-#{$side}: $width; + } + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss b/docs/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss new file mode 100644 index 0000000..e8ff9c8 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss @@ -0,0 +1,60 @@ +// --------------------------------------------------------------------------- +// Susy Settings + +// The total number of columns in the grid +$total-columns : 12 !default; + +// The width of columns and gutters. +// These must all be set with the comparable units. +$column-width : 4em !default; +$gutter-width : 1em !default; + +// Padding on the left and right of a Grid Container. +$grid-padding : $gutter-width !default; + +// --------------------------------------------------------------------------- +// Advanced Settings + +// From Direction: +// Controls for right-to-left or bi-directional sites. +$from-direction : left !default; + +// Omega Float Direction: +// The direction that +omega elements are floated by deafult. +$omega-float : opposite-position($from-direction) !default; + +// Container Width: +// Override the total width of your grid, using any length (50em, 75%, etc.) +$container-width : false !default; + +// Container Style: +// 'magic' - Static (fixed or elastic) when there's enough space, +// fluid when there isn't. This is the SUSY MAGIC SAUCE(TM). +// 'static' - Forces the grid container to remain static at all times. +// 'fluid' - Forces the grid to remain fluid at all times. +// (this will overrule any static $container-width settings) +$container-style : magic !default; + +// Border-Box Sizing +// Adjust the grid math appropriately for box-sizing: border-box; +// Warning: This does not actually apply the new box model! +// In most cases you can ignore this setting, +// and simply apply the border-box-sizing mixin. +$border-box-sizing : false !default; + +// Pixel Values only: +// Make sure only pixel values are set for the container width. +$pixel-values-only : false !default; + +// --------------------------------------------------------------------------- +// IE Settings + +// When you are using a seperate IE stylesheet, +// you can use these settings to control the output of at-breakpoint. +// By default, at-breakpoint will output media-queries as well as +// any defined ie-fallback classes. +$breakpoint-media-output : true !default; +$breakpoint-ie-output : true !default; + +// Danger Zone! Only set as 'true' in IE-specific style sheets. +$breakpoint-raw-output : false !default; diff --git a/docs/_sass/basically-basic/vendor/susy/output/_float.scss b/docs/_sass/basically-basic/vendor/susy/output/_float.scss new file mode 100644 index 0000000..9c24051 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/_float.scss @@ -0,0 +1,9 @@ +// Float API +// ========= + +@import "shared"; + +@import "float/container"; +@import "float/span"; +@import "float/end"; +@import "float/isolate"; diff --git a/docs/_sass/basically-basic/vendor/susy/output/_shared.scss b/docs/_sass/basically-basic/vendor/susy/output/_shared.scss new file mode 100644 index 0000000..dd9df4e --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/_shared.scss @@ -0,0 +1,15 @@ +// Shared API +// ========== + +@import "support"; + +@import "shared/inspect"; +@import "shared/output"; +@import "shared/direction"; +@import "shared/background"; +@import "shared/container"; +@import "shared/margins"; +@import "shared/padding"; + + + diff --git a/docs/_sass/basically-basic/vendor/susy/output/_support.scss b/docs/_sass/basically-basic/vendor/susy/output/_support.scss new file mode 100644 index 0000000..53dbc9c --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/_support.scss @@ -0,0 +1,9 @@ +// Susy Browser Support +// ==================== + +@import "support/support"; +@import "support/prefix"; +@import "support/background"; +@import "support/box-sizing"; +@import "support/rem"; +@import "support/clearfix"; diff --git a/docs/_sass/basically-basic/vendor/susy/output/float/_container.scss b/docs/_sass/basically-basic/vendor/susy/output/float/_container.scss new file mode 100644 index 0000000..121eb11 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/float/_container.scss @@ -0,0 +1,16 @@ +// Float Container API +// =================== + +// Float Container +// --------------- +// - [$width] : +// - [$justify] : left | center | right +// - [$math] : fluid | static +@mixin float-container( + $width, + $justify: auto auto, + $property: max-width +) { + @include susy-clearfix; + @include container-output($width, $justify, $property); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/float/_end.scss b/docs/_sass/basically-basic/vendor/susy/output/float/_end.scss new file mode 100644 index 0000000..3369997 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/float/_end.scss @@ -0,0 +1,40 @@ +// Float Ends API +// ============== + +// Susy End Defaults +// ----------------- +// - PRIVATE +@include susy-defaults(( + last-flow: to, +)); + +// Float Last +// ---------- +// - [$flow] : ltr | rtl +@mixin float-last( + $flow: map-get($susy-defaults, flow), + $last-flow: map-get($susy-defaults, last-flow), + $margin: 0 +) { + $to: to($flow); + + $output: ( + float: if($last-flow == to, $to, null), + margin-#{$to}: $margin, + ); + + @include output($output); +} + +// Float First +// ----------- +// - [$flow] : ltr | rtl +@mixin float-first( + $flow: map-get($susy-defaults, flow) +) { + $output: ( + margin-#{from($flow)}: 0, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/float/_isolate.scss b/docs/_sass/basically-basic/vendor/susy/output/float/_isolate.scss new file mode 100644 index 0000000..4dd3c23 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/float/_isolate.scss @@ -0,0 +1,22 @@ +// Float Isolation API +// =================== + +// Isolate Output +// -------------- +// - $push : +// - [$flow] : ltr | rtl +@mixin isolate-output( + $push, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + float: $from, + margin-#{$from}: $push, + margin-#{$to}: -100%, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/float/_span.scss b/docs/_sass/basically-basic/vendor/susy/output/float/_span.scss new file mode 100644 index 0000000..5b732cc --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/float/_span.scss @@ -0,0 +1,35 @@ +// Float Span API +// ============== + +// Float Span Output +// ----------------- +// - $width : +// - [$float] : from | to +// - [$margin-before] : +// - [$margin-after] : +// - [$padding-before] : +// - [$padding-after] : +// - [$flow] : ltr | rtl +@mixin float-span-output( + $width, + $float : from, + $margin-before : null, + $margin-after : null, + $padding-before : null, + $padding-after : null, + $flow : map-get($susy-defaults, flow) +) { + $to : to($flow); + $from : from($flow); + + $output: ( + width: $width, + float: if($float == to, $to, null) or if($float == from, $from, null), + margin-#{$from}: $margin-before, + margin-#{$to}: $margin-after, + padding-#{$from}: $padding-before, + padding-#{$to}: $padding-after, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_background.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_background.scss new file mode 100644 index 0000000..c230f61 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_background.scss @@ -0,0 +1,26 @@ +// Grid Background API +// =================== +// - Sub-pixel rounding can lead to several pixels variation between browsers. + +// Grid Background Output +// ---------------------- +// - $image: background-image +// - $size: background-size +// - $clip: background-clip +// - [$flow]: ltr | rtl +@mixin background-grid-output ( + $image, + $size: null, + $clip: null, + $flow: map-get($susy-defaults, flow) +) { + $output: ( + background-image: $image, + background-size: $size, + background-origin: $clip, + background-clip: $clip, + background-position: from($flow) top, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_container.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_container.scss new file mode 100644 index 0000000..7c7d4f1 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_container.scss @@ -0,0 +1,21 @@ +// Shared Container API +// ==================== + +// Container Output +// ---------------- +// - [$width] : +// - [$justify] : left | center | right +// - [$math] : fluid | static +@mixin container-output( + $width, + $justify: auto auto, + $property: max-width +) { + $output: ( + #{$property}: $width or 100%, + margin-left: nth($justify, 1), + margin-right: nth($justify, 2), + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_direction.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_direction.scss new file mode 100644 index 0000000..abb9c36 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_direction.scss @@ -0,0 +1,42 @@ +// Direction Helpers +// ================= + +// Susy Flow Defaults +// ------------------ +// - PRIVATE +@include susy-defaults(( + flow: ltr, +)); + +// Get Direction +// ------------- +// Return the 'from' or 'to' direction of a ltr or rtl flow. +// - [$flow] : ltr | rtl +// - [$key] : from | to +@function get-direction( + $flow: map-get($susy-defaults, flow), + $key: from +) { + $return: if($flow == rtl, (from: right, to: left), (from: left, to: right)); + @return map-get($return, $key); +} + +// To +// -- +// Return the 'to' direction of a flow +// - [$flow] : ltr | rtl +@function to( + $flow: map-get($susy-defaults, flow) +) { + @return get-direction($flow, to); +} + +// From +// ---- +// Return the 'from' direction of a flow +// - [$flow] : ltr | rtl +@function from( + $flow: map-get($susy-defaults, flow) +) { + @return get-direction($flow, from); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss new file mode 100644 index 0000000..b0af9b6 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss @@ -0,0 +1,25 @@ +// Debugging +// ========= + +// Susy Inspect +// ------------ +// Output arguments passed to a inspect. +// - $mixin : +// - $inspec : + +@mixin susy-inspect( + $mixin, + $inspect +) { + $show: false; + + @each $item in $inspect { + @if index($item, inspect) { + $show: true; + } + } + + @if $show or susy-get(debug inspect) { + -susy-#{$mixin}: inspect($inspect); + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_margins.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_margins.scss new file mode 100644 index 0000000..cd73e8c --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_margins.scss @@ -0,0 +1,23 @@ +// Margins API +// =========== + +// Margin Output +// ------------- +// - $before : +// - $after : +// - [$flow] : ltr | rtl +@mixin margin-output( + $before, + $after, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + margin-#{$from}: $before, + margin-#{$to}: $after, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_output.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_output.scss new file mode 100644 index 0000000..20fc2d6 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_output.scss @@ -0,0 +1,14 @@ +// Output +// ====== + +// Output +// ------ +// Output CSS with proper browser support. +// - $styles : +@mixin output( + $styles +) { + @each $prop, $val in $styles { + @include susy-support($prop, $val); + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/shared/_padding.scss b/docs/_sass/basically-basic/vendor/susy/output/shared/_padding.scss new file mode 100644 index 0000000..5069d0c --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/shared/_padding.scss @@ -0,0 +1,23 @@ +// Padding API +// =========== + +// Padding Output +// -------------- +// - $before : +// - $after : +// - [$flow] : ltr | rtl +@mixin padding-output( + $before, + $after, + $flow: map-get($susy-defaults, flow) +) { + $to: to($flow); + $from: from($flow); + + $output: ( + padding-#{$from}: $before, + padding-#{$to}: $after, + ); + + @include output($output); +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_background.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_background.scss new file mode 100644 index 0000000..b141502 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_background.scss @@ -0,0 +1,58 @@ +// Background Properties +// ===================== + +// Susy Background Image +// --------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-image( + $image +) { + @if susy-support(background-image, (mixin: background-image), $warn: false) { + @include background-image($image...); + } @else { + background-image: $image; + } +} + +// Susy Background Size +// --------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-size( + $size +) { + @if susy-support(background-options, (mixin: background-size)) { + @include background-size($size); + } @else { + background-size: $size; + } +} + +// Susy Background Origin +// ---------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-origin( + $origin +) { + @if susy-support(background-options, (mixin: background-origin)) { + @include background-origin($origin); + } @else { + background-origin: $origin; + } +} + +// Susy Background Clip +// -------------------- +// Check for an existing support mixin, or provide a simple fallback. +// - $image: +@mixin susy-background-clip( + $clip +) { + @if susy-support(background-options, (mixin: background-clip)) { + @include background-clip($clip); + } @else { + background-clip: $clip; + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss new file mode 100644 index 0000000..bf50bbc --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss @@ -0,0 +1,19 @@ +// Box Sizing +// ========== + +// Box Sizing +// ---------- +// Check for an existing support mixin, or provide a simple fallback. +// - $model: +@mixin susy-box-sizing( + $model: content-box +) { + @if $model { + @if susy-support(box-sizing, (mixin: box-sizing), $warn: false) { + @include box-sizing($model); + } @else { + $prefix: (moz, webkit, official); + @include susy-prefix(box-sizing, $model, $prefix); + } + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss new file mode 100644 index 0000000..48c6e7b --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss @@ -0,0 +1,18 @@ +// Susy Fallback Clearfix +// ====================== + + +// Clearfix +// -------- +// Check for an existing support mixin, or provide a simple fallback. +@mixin susy-clearfix { + @if susy-support(clearfix, (mixin: clearfix)) { + @include clearfix; + } @else { + &:after { + content: " "; + display: block; + clear: both; + } + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_prefix.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_prefix.scss new file mode 100644 index 0000000..f4e26ec --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_prefix.scss @@ -0,0 +1,19 @@ +// Susy Prefix +// =========== + +// Prefix +// ------ +// Output simple prefixed properties. +// - $prop : +// - $val : +// - [$prefix] : +@mixin susy-prefix( + $prop, + $val, + $prefix: official +) { + @each $fix in $prefix { + $fix: if($fix == official or not($fix), $prop, '-#{$fix}-#{$prop}'); + @include susy-rem($fix, $val); + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_rem.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_rem.scss new file mode 100644 index 0000000..0a807f7 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_rem.scss @@ -0,0 +1,22 @@ +// rem Support +// =========== + +// rem +// --- +// Check for an existing support mixin, or output directly. +// - $prop : +// - $val : +@mixin susy-rem( + $prop, + $val +) { + $_reqs: ( + variable: rhythm-unit rem-with-px-fallback, + mixin: rem, + ); + @if susy-support(rem, $_reqs, $warn: false) and $rhythm-unit == rem { + @include rem($prop, $val); + } @else { + #{$prop}: $val; + } +} diff --git a/docs/_sass/basically-basic/vendor/susy/output/support/_support.scss b/docs/_sass/basically-basic/vendor/susy/output/support/_support.scss new file mode 100644 index 0000000..9699113 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/output/support/_support.scss @@ -0,0 +1,85 @@ +// Browser Support +// =============== + +// Susy Support Defaults +// --------------------- +@include susy-defaults(( + use-custom: ( + clearfix: false, + background-image: true, + background-options: false, + breakpoint: true, + box-sizing: true, + rem: true, + ), +)); + + +// Susy Support [mixin] +// -------------------- +// Send property-value pairs to the proper support modules. +// - $prop : +// - $val : +@mixin susy-support( + $prop, + $val +) { + // Background Support + @if $prop == background-image { + @include susy-background-image($val); + } @else if $prop == background-size { + @include susy-background-size($val); + } @else if $prop == background-origin { + @include susy-background-origin($val); + } @else if $prop == background-clip { + @include susy-background-clip($val); + } + + // Box-Sizing Support + @else if $prop == box-sizing { + @include susy-box-sizing($val); + } + + // Rem Support + @else { + @include susy-rem($prop, $val); + } +} + + +// Susy Support [function] +// ----------------------- +// Check for support of a feature. +// - $feature : +// - e.g "rem" or "box-sizing" +// - $requirements : +// - e.g (variable: rem-with-px-fallback, mixin: rem) +// - $warn : +@function susy-support( + $feature, + $requirements: (), + $warn: true +) { + $_support: susy-get(use-custom $feature); + + @if $_support { + $_fail: false; + + @each $_type, $_req in $requirements { + @each $_i in $_req { + $_pass: call(unquote("#{$_type}-exists"), $_i); + + @if not($_pass) { + $_fail: true; + @if $warn { + @warn "You requested custom support of #{$feature}, but the #{$_i} #{$_type} is not available."; + } + } + } + } + + $_support: if($_fail, false, $_support); + } + + @return $_support; +} diff --git a/docs/_sass/basically-basic/vendor/susy/su/_grid.scss b/docs/_sass/basically-basic/vendor/susy/su/_grid.scss new file mode 100644 index 0000000..7fe2a02 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/su/_grid.scss @@ -0,0 +1,103 @@ +// Column math +// =========== + + +// Is Symmetrical +// -------------- +// Returns true if a grid is symmetrical. +// - [$columns] : | +@function is-symmetrical( + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + @return if(type-of($columns) == number, $columns, null); +} + + +// Susy Count +// ---------- +// Find the number of columns in a given layout +// - [$columns] : | +@function susy-count( + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + @return is-symmetrical($columns) or length($columns); +} + + +// Susy Sum +// -------- +// Find the total sum of column-units in a layout +// - [$columns] : | +// - [$gutters] : +// - [$spread] : false/narrow | wide | wider +@function susy-sum( + $columns : susy-get(columns), + $gutters : susy-get(gutters), + $spread : false +) { + $columns: valid-columns($columns); + $gutters: valid-gutters($gutters); + + $spread: if($spread == wide, 0, if($spread == wider, 1, -1)); + $gutter-sum: (susy-count($columns) + $spread) * $gutters; + $column-sum: is-symmetrical($columns); + + @if not($column-sum) { + @each $column in $columns { + $column-sum: ($column-sum or 0) + $column; + } + } + + @return $column-sum + $gutter-sum; +} + + +// Susy Slice +// ---------- +// Return a subset of columns at a given location. +// - $span : +// - $location : +// - [$columns] : | +@function susy-slice( + $span, + $location, + $columns: susy-get(columns) +) { + $columns: valid-columns($columns); + $sub-columns: $span; + + @if not(is-symmetrical($columns)) { + $location: $location or 1; + $sub-columns: (); + @for $i from $location to ($location + $span) { + $sub-columns: append($sub-columns, nth($columns, $i)); + } + } + + @return $sub-columns; +} + + +// Susy +// ---- +// Find the sum of a column-span. +// - $span : +// - $location : +// - [$columns] : | +// - [$gutters] : +// - [$spread] : false/narrow | wide | wider +@function susy( + $span, + $location : false, + $columns : susy-get(columns), + $gutters : susy-get(gutters), + $spread : false +) { + $columns: valid-columns($columns); + $gutters: valid-gutters($gutters); + $span: susy-slice($span, $location, $columns); + + @return susy-sum($span, $gutters, $spread); +} diff --git a/docs/_sass/basically-basic/vendor/susy/su/_settings.scss b/docs/_sass/basically-basic/vendor/susy/su/_settings.scss new file mode 100644 index 0000000..8b439aa --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/su/_settings.scss @@ -0,0 +1,73 @@ +// Settings +// ======== + +// Version +// ------- +$su-version: 1.1; + + +// Default Settings +// ---------------- +// PRIVATE: The basic settings +$susy-defaults: ( + columns: 4, + gutters: .25, +); + + +// User Settings +// ------------- +// - Define the $susy variable with a map of your own settings. +// - Set EITHER $column-width OR $container +// - Use $column-width for static layouts +$susy: () !default; + + +// Susy Defaults +// ------------- +// PRIVATE: Add defaults to Susy +@mixin susy-defaults( + $defaults +) { + $susy-defaults: map-merge($susy-defaults, $defaults) !global; +} + + +// Susy Set +// -------- +// Change one setting +// - $key : setting name +// - $value : setting value +@mixin susy-set( + $key-value... +) { + $susy: _susy-deep-set($susy, $key-value...) !global; +} + + +// Susy Get +// -------- +// Return one setting from a grid +// - $key : +// - $layout : +@function susy-get( + $key, + $layout: map-merge($susy-defaults, $susy) +) { + $layout: parse-grid($layout); + $_options: $layout $susy $susy-defaults; + $_break: false; + $_return: null; + + @each $opt in $_options { + @if type-of($opt) == map and not($_break) { + $_keyset: _susy-deep-has-key($opt, $key...); + @if $_keyset { + $_return: _susy-deep-get($opt, $key...); + $_break: true; + } + } + } + + @return $_return; +} diff --git a/docs/_sass/basically-basic/vendor/susy/su/_utilities.scss b/docs/_sass/basically-basic/vendor/susy/su/_utilities.scss new file mode 100644 index 0000000..b737f21 --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/su/_utilities.scss @@ -0,0 +1,111 @@ +// Map Functions +// ============= + + +// Truncate List +// ------------- +// - Return a list, truncated to a given length +@function _susy-truncate-list( + $list, + $length +) { + $_return: (); + + @for $i from 1 through length($list) { + $_return: if($i <= $length, append($_return, nth($list, $i)), $_return); + } + + @return $_return; +} + + +// Deep Get +// -------- +// - Return a value deep in nested maps +@function _susy-deep-get( + $map, + $keys... +) { + $_return: $map; + + @each $key in $keys { + @if type-of($_return) == map { + $_return: map-get($_return, $key); + } + } + + @return $_return; +} + + +// Deep Set +// -------- +// - Set a value deep in nested maps +@function _susy-deep-set( + $map, + $keys-value... +) { + $_value: nth($keys-value, -1); + $_keys: _susy-truncate-list($keys-value, length($keys-value) - 1); + $_length: length($_keys); + $_return: (); + + @for $i from 1 through $_length { + $_n: 0 - $i; + $_level: _susy-truncate-list($_keys, $_length + $_n); + $_level: _susy-deep-get($map, $_level...); + $_merge: nth($_keys, $_n); + $_merge: ($_merge: $_value); + $_return: if($_level, map-merge($_level, $_merge), $_merge); + $_value: $_return; + } + + @return $_return; +} + + +// Deep Merge +// ---------- +// Return 2 objects of any depth, merged +@function _susy-deep-merge( + $map1, + $map2 +) { + + @if type-of($map1) != map or type-of($map2) != map { + $map1: $map2; + } @else { + @each $key, $value in $map2 { + $_new: ($key: _susy_deep-merge(map-get($map1, $key), $value)); + $map1: map-merge($map1, $_new); + } + } + + @return $map1; +} + + +// Deep Has-Key +// ------------ +// - Return true if a deep key exists +@function _susy-deep-has-key( + $map, + $keys... +) { + $_return: null; + $_stop: false; + + @each $key in $keys { + @if not($_stop) { + $_return: map-has-key($map, $key); + } + + @if $_return { + $map: map-get($map, $key); + } @else { + $_stop: true; + } + } + + @return $_return; +} diff --git a/docs/_sass/basically-basic/vendor/susy/su/_validation.scss b/docs/_sass/basically-basic/vendor/susy/su/_validation.scss new file mode 100644 index 0000000..4c6ab8d --- /dev/null +++ b/docs/_sass/basically-basic/vendor/susy/su/_validation.scss @@ -0,0 +1,57 @@ +// Math Validation +// =============== + + +// Valid Columns +// ------------- +// Check that a column setting is valid. +@function valid-columns( + $columns, + $silent: false +) { + $type: type-of($columns); + $return: null; + + @if $type == number and unitless($columns) { + $return: $columns; + } @else if $type == list { + $fail: null; + @each $col in $columns { + @if type-of($col) == number { + $fail: $fail or if(unitless($col), null, true); + } @else { + $fail: true; + } + } + $return: if($fail, $return, $columns); + } + + @if $return != $columns and not($silent) { + $return: null; + $warn: '$columns must be a unitless number or list of unitless numbers.'; + @warn $warn + ' Current value [#{$type}]: #{$columns}'; + } + + @return $return; +} + + +// Valid Gutters +// ------------- +// Check that a gutter setting is valid. +@function valid-gutters( + $gutters, + $silent: false +) { + $type: type-of($gutters); + $return: null; + + @if $type == number and unitless($gutters) { + $return: $gutters; + } @else if not($silent) { + $warn: '$gutters must be a unitless number.'; + @warn $warn + ' Current value [#{$type}]: #{$gutters}'; + } + + @return $return; +} diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 0000000..4383cbd --- /dev/null +++ b/docs/about.md @@ -0,0 +1,15 @@ +--- +title: "About" +layout: about +permalink: /about/ +--- + +Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as a substitute for the default --- [Minima](https://github.com/jekyll/minima). Conventions and features found there are fully supported by **Basically Basic**, with a few enhancements thrown in for good measure: + +- Clean responsive design with [six customizable skins](#skin) +- Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/) +- About page layout +- Disqus Comments and Google Analytics support +- SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/) + +You can find the source code for this theme at: {% include icon-github.html username="mmistakes" %}/[jekyll-theme-basically-basic](https://github.com/mmistakes/jekyll-theme-basically-basic) diff --git a/docs/assets/icons/basically-basic-logo-dark.svg b/docs/assets/icons/basically-basic-logo-dark.svg new file mode 100644 index 0000000..69c796b --- /dev/null +++ b/docs/assets/icons/basically-basic-logo-dark.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/icons/basically-basic-logo-light.svg b/docs/assets/icons/basically-basic-logo-light.svg new file mode 100644 index 0000000..9604106 --- /dev/null +++ b/docs/assets/icons/basically-basic-logo-light.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/docs/assets/images/100x100.png b/docs/assets/images/100x100.png new file mode 100644 index 0000000000000000000000000000000000000000..7b613a9fe456111976954da702d787618a130530 GIT binary patch literal 3546 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/amine-ounnas-180287.jpg b/docs/assets/images/amine-ounnas-180287.jpg new file mode 100644 index 0000000000000000000000000000000000000000..14b51857fb78f5ed6e439b95167325aa87ebf49a GIT binary patch literal 227200 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%0A#HXc7FAP3=9crOQlR73#=UN<{5pO| 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%0A8H$oRmJPkI|)@pAv%Ol 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

K~9a&kZb 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 IK&d+a11~%bH2?qr literal 0 HcmV?d00001 diff --git a/docs/assets/images/image-alignment-300x200.jpg b/docs/assets/images/image-alignment-300x200.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3921878b2e096cd8b2f37cc26fcca3e6ca43666c GIT binary patch literal 6446 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 E13w_|qW}N^ literal 0 HcmV?d00001 diff --git a/docs/assets/images/image-alignment-580x300.jpg b/docs/assets/images/image-alignment-580x300.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75bf08e90a97103d3ea497b3c9d8e17f061336c7 GIT binary patch literal 9082 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 literal 0 HcmV?d00001 diff --git a/docs/assets/javascripts/main.js b/docs/assets/javascripts/main.js new file mode 100644 index 0000000..51ffe97 --- /dev/null +++ b/docs/assets/javascripts/main.js @@ -0,0 +1,57 @@ +--- +--- + +/*! + * Basically Basic Jekyll Theme 0.0.1 + * Copyright 2017 Michael Rose - mademistakes | @mmistakes + * Free for personal and commercial use under the MIT license + * https://github.com/mmistakes/jekyll-basically-theme/blob/master/LICENSE.md +*/ + +// Animate sidebar menu items +var menuItems = document.querySelectorAll('#sidebar li'); + +// Get vendor transition property +var docElemStyle = document.documentElement.style; +var transitionProp = typeof docElemStyle.transition == 'string' ? + 'transition' : 'WebkitTransition'; + +function animateMenuItems() { + for ( var i=0; i < menuItems.length; i++ ) { + var item = menuItems[i]; + // Stagger transition with transitionDelay + item.style[ transitionProp + 'Delay' ] = ( i * 75 ) + 'ms'; + item.classList.toggle('is--moved'); + } +}; + +// Toggle sidebar visibility +function toggleClassMenu() { + myMenu.classList.add('is--animatable'); + if(!myMenu.classList.contains('is--visible')) { + myMenu.classList.add('is--visible'); + myToggle.classList.add('open'); + myWrapper.classList.add('is--pushed'); + } else { + myMenu.classList.remove('is--visible'); + myToggle.classList.remove('open'); + myWrapper.classList.remove('is--pushed'); + } +} + +function OnTransitionEnd() { + myMenu.classList.remove('is--animatable'); +} + +var myWrapper = document.querySelector('.wrapper'); +var myMenu = document.querySelector('.sidebar'); +var myToggle = document.querySelector('.toggle'); +myMenu.addEventListener('transitionend', OnTransitionEnd, false); +myToggle.addEventListener('click', function() { + toggleClassMenu(); + animateMenuItems(); +}, false); +myMenu.addEventListener('click', function() { + toggleClassMenu(); + animateMenuItems(); +}, false); diff --git a/docs/assets/stylesheets/main.scss b/docs/assets/stylesheets/main.scss new file mode 100644 index 0000000..0d1db51 --- /dev/null +++ b/docs/assets/stylesheets/main.scss @@ -0,0 +1,10 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- + +@charset "utf-8"; + +// Theme skin +@import "basically-basic/themes/{{ site.data.theme.skin | default: 'default' }}"; + +@import "basically-basic"; \ No newline at end of file diff --git a/docs/cv.md b/docs/cv.md new file mode 100644 index 0000000..2d42f4e --- /dev/null +++ b/docs/cv.md @@ -0,0 +1,8 @@ +--- +title: Curriculum Vitæ +layout: cv +actions: + - label: "Download as PDF" + icon: pdf + url: "#pdf-asset" +--- \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..3a019b1 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,22 @@ +--- +layout: home +paginate: true +alt_title: "Basically Basic" +sub_title: "Your new default Jekyll theme" +image: /assets/images/amine-ounnas-180287.jpg +introduction: | + Basically Basic is a [Jekyll theme](https://jekyllrb.com/docs/themes/) meant as a substitute for the default --- [Minima](https://github.com/jekyll/minima). Conventions and features found there are fully supported by **Basically Basic**, with a few enhancements thrown in for good measure: + + - Clean responsive design with six customizable skins + - Curriculum Vitæ/Resume layout powered by [JSON data](http://registry.jsonresume.org/) + - About page layout + - Disqus Comments and Google Analytics support + - SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag/) +actions: + - label: "Get Started" + icon: github + url: "https://github.com/mmistakes/jekyll-theme-basically-basic" + - label: "Download" + icon: download + url: "https://github.com/mmistakes/jekyll-theme-basically-basic/archive/master.zip" +---