Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.
-
-
-
-
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla.
Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.
-
-
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis,
-est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
-elit. Donec ullamcorper nulla non metus auctor fringilla.
-
-
Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit
-non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi
-erat porttitor ligula, eget lacinia odio sem nec elit.
diff --git a/sass/base/grouping/grouping-pre.twig b/sass/base/grouping/grouping-pre.twig
deleted file mode 100644
index acbc480..0000000
--- a/sass/base/grouping/grouping-pre.twig
+++ /dev/null
@@ -1,4 +0,0 @@
-The following text is preformatted:
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 2 (h2)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 3 (h3)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 4 (h4)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 5 (h5)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 6 (h6)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
-
A Heading Level 1 (h1) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 2 (h2) with enough text to wrap to another line; Heading Level 2 (h2) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 3 (h3) with enough text to wrap to another line; Heading Level 3 (h3) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
diff --git a/sass/base/links/links-a.twig b/sass/base/links/links-a.twig
deleted file mode 100644
index 1cc60cd..0000000
--- a/sass/base/links/links-a.twig
+++ /dev/null
@@ -1 +0,0 @@
-This is a link to another web page.
diff --git a/sass/base/tables/tables-table.twig b/sass/base/tables/tables-table.twig
deleted file mode 100644
index a5e8f0b..0000000
--- a/sass/base/tables/tables-table.twig
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
Optional table caption.
-
-
-
#
-
First Name
-
Last Name
-
Username
-
-
-
-
-
1
-
Jane
-
Doe
-
jdoe
-
-
-
2
-
Jamie
-
Morgan
-
jmorgan
-
-
-
3
-
Jacob
-
Smith
-
jsmith
-
-
-
-
-
#
-
First Name
-
Last Name
-
Username
-
-
-
diff --git a/sass/base/text/text-abbr.twig b/sass/base/text/text-abbr.twig
deleted file mode 100644
index 37ddf79..0000000
--- a/sass/base/text/text-abbr.twig
+++ /dev/null
@@ -1,2 +0,0 @@
-An abbreviation of the word attribute is attr.
-And HTML is an acroynm.
diff --git a/sass/base/text/text-b.twig b/sass/base/text/text-b.twig
deleted file mode 100644
index a21fdc3..0000000
--- a/sass/base/text/text-b.twig
+++ /dev/null
@@ -1,3 +0,0 @@
-The following snippets of text are rendered as bold
-text. Bold text nested inside italic text shouldstill be
-bold.
diff --git a/sass/base/text/text-cite.twig b/sass/base/text/text-cite.twig
deleted file mode 100644
index ac839c1..0000000
--- a/sass/base/text/text-cite.twig
+++ /dev/null
@@ -1,3 +0,0 @@
-
The code element represents a fragment of computer code.
-
-
There are n flavors of ice cream to be available for purchase!
-
-
The computer said Too much cheese in tray two but I didn't know
-what that meant.
-
-
To make George eat an apple, select File | Eat Apple…
diff --git a/sass/base/text/text-del.twig b/sass/base/text/text-del.twig
deleted file mode 100644
index 51dfe7e..0000000
--- a/sass/base/text/text-del.twig
+++ /dev/null
@@ -1 +0,0 @@
-This line of text is meant to be treated as deleted text.
diff --git a/sass/base/text/text-dfn.twig b/sass/base/text/text-dfn.twig
deleted file mode 100644
index 0d7bae6..0000000
--- a/sass/base/text/text-dfn.twig
+++ /dev/null
@@ -1,5 +0,0 @@
-
The GDO is a
-device that allows off-world teams to open the iris.
-
-
Teal'c activated his GDO
-and so Hammond ordered the iris to be opened.
diff --git a/sass/base/text/text-i.twig b/sass/base/text/text-i.twig
deleted file mode 100644
index c01eeb1..0000000
--- a/sass/base/text/text-i.twig
+++ /dev/null
@@ -1,3 +0,0 @@
-The following snippets of text are rendered as italic text.
-Italic text nested inside bold text shouldstill be
-italic.
diff --git a/sass/base/text/text-ins.twig b/sass/base/text/text-ins.twig
deleted file mode 100644
index 40b7df7..0000000
--- a/sass/base/text/text-ins.twig
+++ /dev/null
@@ -1,2 +0,0 @@
-This line of text is meant to be treated as an addition to the
-document.
diff --git a/sass/base/text/text-mark.twig b/sass/base/text/text-mark.twig
deleted file mode 100644
index b48ba0f..0000000
--- a/sass/base/text/text-mark.twig
+++ /dev/null
@@ -1,2 +0,0 @@
-You can use the mark tag to highlight text like this.
-New!
diff --git a/sass/base/text/text-q.twig b/sass/base/text/text-q.twig
deleted file mode 100644
index 2f95588..0000000
--- a/sass/base/text/text-q.twig
+++ /dev/null
@@ -1,3 +0,0 @@
-The
-q element represents some phrasing content quoted from another
-source.
diff --git a/sass/base/text/text-s.twig b/sass/base/text/text-s.twig
deleted file mode 100644
index 8f8c530..0000000
--- a/sass/base/text/text-s.twig
+++ /dev/null
@@ -1 +0,0 @@
-This line of text is meant to be treated as no longer accurate.
diff --git a/sass/base/text/text-small.twig b/sass/base/text/text-small.twig
deleted file mode 100644
index e525a59..0000000
--- a/sass/base/text/text-small.twig
+++ /dev/null
@@ -1 +0,0 @@
-This line of text is meant to be treated as fine print.
diff --git a/sass/base/text/text-sub.twig b/sass/base/text/text-sub.twig
deleted file mode 100644
index 5ffc76c..0000000
--- a/sass/base/text/text-sub.twig
+++ /dev/null
@@ -1 +0,0 @@
-Mlle Gwendoline wrote the equation f(x, n) = log4xn.
diff --git a/sass/base/text/text-u.twig b/sass/base/text/text-u.twig
deleted file mode 100644
index 7ff26e8..0000000
--- a/sass/base/text/text-u.twig
+++ /dev/null
@@ -1 +0,0 @@
-This line of text will render as underlined
diff --git a/sass/components/box/box.twig b/sass/components/box/box.twig
deleted file mode 100644
index eeb0864..0000000
--- a/sass/components/box/box.twig
+++ /dev/null
@@ -1,6 +0,0 @@
-
A normal paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
diff --git a/sass/layouts/layout-3col/_layout-3col.scss b/sass/layouts/layout-3col/_layout-3col.scss
deleted file mode 100644
index 4206e6f..0000000
--- a/sass/layouts/layout-3col/_layout-3col.scss
+++ /dev/null
@@ -1,162 +0,0 @@
-// Responsive 3-column grid
-//
-// The `.layout-3col` layout is a responsive grid layout that is:
-// - 1 column at mobile sizes
-// - 2 columns at tablet sizes
-// - 3 columns at desktop sizes
-//
-// The `.layout-3col` class is used on the container div for the layout. A *grid
-// item* in the container can be created using one of the following classes:
-//
-// - `.layout-3col__full` : 3-column wide grid item; starts a new row
-// - `.layout-3col__left-content` : 2-column wide grid item, spanning columns 1
-// and 2; starts a new row
-// - `.layout-3col__right-content` : 2-column wide grid item, spanning columns 2
-// and 3; starts a new row
-// - `.layout-3col__left-sidebar` : 1-column wide grid item spanning column 1;
-// starts a new row on tablet screens
-// - `.layout-3col__first-left-sidebar` : 1-column wide grid item spanning column 1;
-// spans column 1 and starts a new row on tablet screens only
-// - `.layout-3col__second-left-sidebar` : 1-column wide grid item spanning column 1;
-// spans column 2 on tablet screens only
-// - `.layout-3col__right-sidebar` : 1-column wide grid item spanning column 3;
-// starts a new row on tablet screens
-// - `.layout-3col__col-1` : 1-column wide grid item spanning column 1; starts a
-// new row
-// - `.layout-3col__col-2` : 1-column wide grid item spanning column 2
-// - `.layout-3col__col-3` : 1-column wide grid item spanning column 3; starts a
-// new row on tablet screens
-// - `.layout-3col__col-4` : At tablet sizes, the `__col-x` grid items will form
-// an irregular layout of 2 items in the first row and 1 item in the second
-// row. The `__col-4` is a "hidden" item that does not appear on the
-// large-screen 3-column grid, but is a 1-column wide grid item spanning
-// column 2 on tablet screens.
-// - `.layout-3col__col-x` : 1-column wide grid item spanning column 1; when
-// several of these are used inside a `.layout-3col__grid-item-container` or
-// `.layout-3col`, the first one is positioned like `__col-1`, the
-// second like `__col-2`, etc.
-//
-// There are 2 ways to do a nested grid:
-// 1. Place a grid container div inside a grid item. Just apply the normal
-// classes to the nested grid container and its grid items.
-// 2. The grid item's div is also the grid container for the nested grid. In
-// this case, the `.layout3-col__grid-item-container` class should be added
-// to the div to ensure its nested grid items align with the parent grid.
-//
-// Markup: layout-3col.twig
-//
-// Style guide: layouts.layout-3col
-
-.layout-3col,
-%layout-3col {
- // We set the context to flow, so that this container can be used in most
- // places in the HTML, i.e. it must be nested inside something that has
- // padding.
- @include zen-grid-container($context: flow);
-
- &__full,
- &__left-content,
- &__right-content,
- &__left-sidebar,
- &__right-sidebar,
- &__first-left-sidebar,
- &__second-left-sidebar,
- &__col-1,
- &__col-2,
- &__col-3,
- &__col-4,
- &__col-x {
- @include zen-new-row(both);
- @include zen-grid-item-base();
- @include zen-grid-item(1, 1);
- }
-
- @include zen-respond-to(m) {
- // Since our container's context is "flow" and we changed the gutter size,
- // we need to re-apply the container's negative left/right margins.
- @include zen-grid-container($context: flow);
-
- &__full,
- &__left-content,
- &__right-content,
- &__left-sidebar,
- &__right-sidebar {
- @include zen-grid-item(2, 1);
- // Since we changed the gutter size for this media query, we need to
- // re-apply the padding to every grid item.
- @include zen-apply-gutter-padding();
- }
-
- &__first-left-sidebar,
- &__col-1,
- &__col-3,
- &__col-x:nth-child(2n + 1) {
- @include zen-grid-item(1, 1);
- @include zen-apply-gutter-padding();
- }
-
- &__second-left-sidebar,
- &__col-2,
- &__col-4,
- &__col-x:nth-child(2n) {
- // Since this inherits from the mobile layout, we have to explicitly turn
- // off the new-row mixin.
- @include zen-new-row(none);
- @include zen-grid-item(1, 2);
- @include zen-apply-gutter-padding();
- }
- }
-
- @include zen-respond-to(xl) {
- &__full {
- @include zen-grid-item(3, 1);
- }
-
- &__left-content {
- @include zen-grid-item(2, 1);
- }
-
- &__right-content {
- @include zen-grid-item(2, 2);
- }
-
- &__left-sidebar,
- &__first-left-sidebar,
- &__second-left-sidebar {
- @include zen-new-row(right);
- @include zen-grid-item(1, 3, right);
- }
-
- &__right-sidebar {
- @include zen-new-row(right);
- @include zen-grid-item(1, 1, right);
- }
-
- &__col-1,
- &__col-x:nth-child(3n+1) {
- @include zen-new-row(both);
- @include zen-grid-item(1, 1);
- }
-
- &__col-2,
- &__col-x:nth-child(3n+2) {
- @include zen-new-row(none);
- @include zen-grid-item(1, 2);
- }
-
- &__col-3,
- &__col-x:nth-child(3n) {
- @include zen-new-row(none);
- @include zen-grid-item(1, 3);
- }
-
- &__col-4 {
- display: none;
- }
- }
-
- // Place last so it can override the padding of grid items.
- &__grid-item-container {
- @include zen-grid-container($context: grid-item);
- }
-}
diff --git a/sass/layouts/layout-3col/layout-3col.twig b/sass/layouts/layout-3col/layout-3col.twig
deleted file mode 100644
index 5c90ce7..0000000
--- a/sass/layouts/layout-3col/layout-3col.twig
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
- The .layout-3col__full grid item.
-
-
- The .layout-3col__left-content grid item.
-
-
- The .layout-3col__right-sidebar grid item.
-
-
- The .layout-3col__right-content grid item.
-
-
- The .layout-3col__left-sidebar grid item.
-
-
- The .layout-3col__right-content grid item.
-
-
- The .layout-3col__first-left-sidebar grid item.
-
-
- The .layout-3col__second-left-sidebar grid item.
-
-
- The .layout-3col__col-1 grid item.
-
-
- The .layout-3col__col-2 grid item.
-
-
- The .layout-3col__col-3 grid item. Don't forget to look for the .layout-3col__col-4 grid item at tablet sizes.
-
-
- The .layout-3col__col-4 grid item.
-
-
-
- The first .layout-3col__col-x grid item in this nested grid.
-
-
- The second .layout-3col__col-x grid item in this nested grid.
-
-
- The third .layout-3col__col-x grid item in this nested grid.
-
-
- The fourth .layout-3col__col-x grid item in this nested grid.
-
-
- The fifth .layout-3col__col-x grid item in this nested grid.
-
-
- The sixth .layout-3col__col-x grid item in this nested grid.
-
-
-
diff --git a/sass/layouts/layout-center/_layout-center.scss b/sass/layouts/layout-center/_layout-center.scss
deleted file mode 100644
index 226526b..0000000
--- a/sass/layouts/layout-center/_layout-center.scss
+++ /dev/null
@@ -1,67 +0,0 @@
-// Dependencies.
-// Allow layout-center's margin/padding to override layout-3col.
-@import 'layouts/layout-3col/layout-3col';
-
-// Layout Center
-//
-// All other layouts should be nested inside this centered layout to ensure that
-// content does not get too wide on very large screens.
-//
-// Applying a `.layout-*` class to the same HTML element as `.layout-center`
-// would cause that element's grid to mis-align with the rest of the grid on the
-// page, but this component will automatically detect the other `.layout-*`
-// class and automatically use the `.layout-center--shared-grid` variant
-// instead.
-//
-// .layout-center--shared-grid - If `.layout-center` is applied to the same div
-// as another .layout-* class, then this variant should be used to prevent the
-// shared layout's grid from mis-aligning. Note: Each time a new .layout-*
-// component is created, this component will need to be modified.
-//
-// Markup: layout-center.twig
-//
-// Weight: -1
-//
-// Style guide: layouts.layout-center
-
-.layout-center,
-%layout-center {
- @include zen-apply-gutter-padding();
- margin: 0 auto;
-
- // We wrap the max-width declaration with zen-layout() so we can see the value
- // of $zen-gutters when it is at the larger "xl"-sized media query.
- @include zen-layout(xl) {
- max-width: $max-content-width + $zen-gutters;
-
- .no-sidebars & {
- max-width: $max-no-sidebars-content-width + $zen-gutters;
- }
- }
-
- @include zen-respond-to(m) {
- // Since we are using zen-respond-to(), the values in $zen-layouts will
- // override the global value for $zen-gutters.
- @include zen-apply-gutter-padding();
- }
-
- // Since .layout-center has overridden the negative margin on another
- // .layout-* container, the grid children will be misaligned due to
- // .layout-center's gutter padding. So we remove it.
- &--shared-grid {
- padding-left: 0;
- padding-right: 0;
- }
-}
-
-//
-// Fugly selectors.
-//
-
-.layout-center {
- // Ensure the .layout-center--shared-grid variant is automatically used by
- // adding all other .layout-* classes here.
- &.layout-3col {
- @extend %layout-center--shared-grid;
- }
-}
diff --git a/sass/layouts/layout-center/layout-center.twig b/sass/layouts/layout-center/layout-center.twig
deleted file mode 100644
index 2136e82..0000000
--- a/sass/layouts/layout-center/layout-center.twig
+++ /dev/null
@@ -1,3 +0,0 @@
-
- This is layout center that has content is centered on larger screens.
-
diff --git a/sass/layouts/layout-swap/_layout-swap.scss b/sass/layouts/layout-swap/_layout-swap.scss
deleted file mode 100644
index e16c730..0000000
--- a/sass/layouts/layout-swap/_layout-swap.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-// The height of the navigation container.
-$layout-swap-height: 2 * $base-line-height;
-
-// Layout swap
-//
-// Uses absolute positioning and selective padding to make 2 elements appear to
-// swap places in the visual order while maintaining their original HTML source
-// order.
-//
-// Markup: layout-swap.twig
-//
-// Style guide: layouts.layout-swap
-
-.layout-swap,
-%layout-swap {
- position: relative;
-
- @include respond-to(s) {
- // Move all the children down to make room for the "top" element.
- padding-top: $layout-swap-height;
- }
-
- &__top {
- @include respond-to(s) {
- position: absolute;
- top: 0;
- height: $layout-swap-height;
- width: 100%;
- }
- }
-}
diff --git a/sass/layouts/layout-swap/layout-swap.twig b/sass/layouts/layout-swap/layout-swap.twig
deleted file mode 100644
index a246ec7..0000000
--- a/sass/layouts/layout-swap/layout-swap.twig
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
This element comes first in the HTML source order.
-
This element comes second in the HTML source order.
diff --git a/sass/style-guide/chroma-kss-styles.scss b/sass/style-guide/chroma-kss-styles.scss
deleted file mode 100644
index dead41e..0000000
--- a/sass/style-guide/chroma-kss-styles.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-// Build the stylesheet needed for the color section of the KSS style guide.
-@import 'init';
-
-@include chroma-kss-styles();
diff --git a/sass/style-guide/homepage.md b/sass/style-guide/homepage.md
deleted file mode 100644
index ca995c6..0000000
--- a/sass/style-guide/homepage.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# KSS Style Guide
-
-This style guide documents the designs of this website which are built with component-based styles and Sass variables, functions and mixins. To ensure it is always up-to-date, this style guide is automatically generated from comments in the Sass files.
-
-## Organization
-
-Design components are reusable designs that can be applied using just the CSS class names specified in the component. We categorize our components to make them easy to find.
-
-
-
**Defaults**
-
`sass/base` — The default “base” components apply to HTML elements. Since all of the rulesets in this class of styles are HTML elements, the styles apply automatically.
-
**Layouts**
-
`sass/layouts` — Layout components position major chunks of the page. They just apply positioning, no other styles.
-
**Components**
-
`sass/components` — Miscellaneous components are grouped together, but feel free to further categorize these.
-
**Navigation**
-
`sass/navigation` — Navigation components are specialized design components that are applied to website navigation.
-
**Forms**
-
`sass/forms` — Form components are specialized design components that are applied to forms or form elements.
-
-
-In addition to the components, our component library also contains these folders:
-
-
-
**Colors and Sass**
-
`sass/init` — This Sass documents the colors used throughout the site and various Sass variables, functions and mixins. It also initializes everything we need for all other Sass files: variables, 3rd-party libraries, custom mixins and custom functions.
-
**Style guide helper files**
-
`sass/style-guide` — files needed to build this automated style guide; includes some CSS overrides for the default KSS style guide
-
diff --git a/sass/style-guide/kss-example-chroma.scss b/sass/style-guide/kss-example-chroma.scss
deleted file mode 100644
index 7c1593d..0000000
--- a/sass/style-guide/kss-example-chroma.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-// Build the markup needed for the color section of the KSS style guide.
-
-@import 'init';
-
-// sass-lint:disable no-css-comments
-/*
-#{chroma-kss-markup()}
-*/
diff --git a/sass/style-guide/kss-only.scss b/sass/style-guide/kss-only.scss
deleted file mode 100644
index 288b653..0000000
--- a/sass/style-guide/kss-only.scss
+++ /dev/null
@@ -1,22 +0,0 @@
-// sass-lint:disable no-ids
-
-@import 'init';
-
-// This file is used to add styles to the style guide and is not included in
-// the Drupal site. It gets included by the style guide by adding it to the
-// options.styleGuide.css object in gulpfile.js.
-
-// Add an outline to every grid item in the style guide.
-[id^='kssref-layouts-'] [class^='layout-'][class*='__'] {
- outline: 1px dotted color('grey');
-}
-
-// Because our grids assume a container has some padding, add the standard
-// padding to the example wrapper.
-#kssref-layouts-layout-3column .kss-modifier__example {
- @include zen-apply-gutter-padding();
-
- @include zen-respond-to(m) {
- @include zen-apply-gutter-padding();
- }
-}
diff --git a/static/css/style-guide/chroma-kss-styles.css b/static/css/style-guide/chroma-kss-styles.css
deleted file mode 100644
index 953b70c..0000000
--- a/static/css/style-guide/chroma-kss-styles.css
+++ /dev/null
@@ -1 +0,0 @@
-/*! typey | GPLv2 License | https://github.com/jptaranto/typey */.kss-style .chroma-kss{line-height:50px}.kss-style .chroma-kss__swatch{display:inline-block;width:40px;height:40px;border-radius:40px;border:2px solid #000;margin-right:10px;vertical-align:middle}.kss-style .chroma-kss__variable{margin-right:10px}.kss-style .chroma-kss__alt-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.kss-style .chroma-kss__value{color:#bbb}.kss-style .chroma-kss__value code{color:#bbb}.kss-style .chroma-kss__value:before{content:'\2192\ ';font-family:sans-serif}.kss-style .chroma-kss__reference{display:block;position:relative;top:-12px;line-height:25px;padding-left:50px;color:#999}
\ No newline at end of file
diff --git a/static/css/style-guide/kss-example-chroma.twig b/static/css/style-guide/kss-example-chroma.twig
deleted file mode 100644
index f0d599a..0000000
--- a/static/css/style-guide/kss-example-chroma.twig
+++ /dev/null
@@ -1 +0,0 @@
-/*! typey | GPLv2 License | https://github.com/jptaranto/typey
branding
The site's main colors. Can be used to define colors in other color schemes.
color(nearblack)uses the color:#333333 (black)This color is inherited by: brand, link-hover, border-dark, header-bg, button, headings
color(grey-dark)uses the color:#666666 (black)This color is inherited by: brand-dark, progress-bar-border, skip-link-bg, tab-secondary
color(grey)uses the color:#999999 (black)This color is inherited by: brand-alt, button-disabled, fieldset-summary
color(grey-light)uses the color:#cccccc (black)This color is inherited by: border, progress-bar-bg, row-disabled, tabs-border, tab-bg
color(grey-extra-light)uses the color:#eeeeee (black)This color is inherited by: backdrop, resizable-grippie, watermark
color(white)uses the color:#fffThis color is inherited by: text-bg, autocomplete-bg, autocomplete-select, body-bg, row-stripe, skip-link, tabs-bg, tab-text-shadow
color(blue)uses the color:#0072b9This color is inherited by: autocomplete-select-bg, progress-bar
color(red)uses the color:#c00This color is inherited by: link-active, form-error, mark-highlight, error, error-bg
color(green)uses the color:#43a808This color is inherited by: status, status-bg
color(yellow)uses the color:#fd0This color is inherited by: mark-bg, preview-bg, warning-bg, warning-border, table-drag, table-select
functional
Colors used by functional parts of the design.
color(brand)uses the color:#333333 (nearblack)This color is inherited by: link-hover, header-bg
color(brand-alt)uses the color:#999999 (grey)
color(brand-dark)uses the color:#666666 (grey-dark)
color(text)uses the color:#000 (black)This color is inherited by: autocomplete, menu-active, status-highlight, warning, tab
color(text-bg)uses the color:#fff (white)This color is inherited by: autocomplete-bg, tabs-bg
color(link)uses the color:#000 (black)
color(link-visited)uses the color:#000 (black)
color(link-hover)uses the color:#333333 (brand)
color(link-active)uses the color:#c00 (red)
color(border)uses the color:#cccccc (grey-light)This color is inherited by: tabs-border
color(border-dark)uses the color:#333333 (nearblack)
color(autocomplete)uses the color:#000 (text)
color(autocomplete-bg)uses the color:#fff (text-bg)
color(autocomplete-select)uses the color:#fff (white)
color(autocomplete-select-bg)uses the color:#0072b9 (blue)
color(body-bg)uses the color:#fff (white)
color(header-bg)uses the color:#333333 (brand)
color(backdrop)uses the color:#eeeeee (grey-extra-light)
color(button)uses the color:#333333 (nearblack)
color(button-disabled)uses the color:#999999 (grey)
color(fieldset-summary)uses the color:#999999 (grey)
color(form-error)uses the color:#c00 (red)
color(mark-highlight)uses the color:#c00 (red)
color(mark-bg)uses the color:#fd0 (yellow)
color(menu-active)uses the color:#000 (text)
color(preview-bg)uses the color:#fffadb (yellow)
color(progress-bar)uses the color:#0072b9 (blue)
color(progress-bar-bg)uses the color:#cccccc (grey-light)
color(progress-bar-border)uses the color:#666666 (grey-dark)
color(resizable-grippie)uses the color:#eeeeee (grey-extra-light)
color(row-stripe)uses the color:#fff (white)
color(row-disabled)uses the color:#cccccc (grey-light)
color(skip-link)uses the color:#fff (white)
color(skip-link-bg)uses the color:#666666 (grey-dark)
color(status)uses the color:#43a808 (green)This color is inherited by: status-bg
color(status-bg)uses the color:#f4feee (status)
color(status-highlight)uses the color:#000 (text)
color(warning)uses the color:#000 (text)
color(warning-bg)uses the color:#fffce6 (yellow)
color(warning-border)uses the color:#fd0 (yellow)
color(error)uses the color:#c00 (red)This color is inherited by: error-bg
color(error-bg)uses the color:#fff0f0 (error)
color(tabs-border)uses the color:#cccccc (border)
color(tabs-bg)uses the color:#fff (text-bg)
color(tab)uses the color:#000 (text)
color(tab-text-shadow)uses the color:#fff (white)
color(tab-bg)uses the color:#dddddd (grey-light)
color(tab-secondary)uses the color:#666666 (grey-dark)
color(table-drag)uses the color:#fffadb (yellow)
color(table-select)uses the color:#fffdf0 (yellow)
color(watermark)uses the color:#eeeeee (grey-extra-light)
color(headings)uses the color:#333333 (nearblack)
diff --git a/static/css/style-guide/kss-only.css b/static/css/style-guide/kss-only.css
deleted file mode 100644
index b33f86f..0000000
--- a/static/css/style-guide/kss-only.css
+++ /dev/null
@@ -1 +0,0 @@
-/*! typey | GPLv2 License | https://github.com/jptaranto/typey */[id^=kssref-layouts-] [class^=layout-][class*='__']{outline:1px dotted #999}#kssref-layouts-layout-3column .kss-modifier__example{padding-left:10px;padding-right:10px}@media (min-width:777px){#kssref-layouts-layout-3column .kss-modifier__example{padding-left:20px;padding-right:20px}}
\ No newline at end of file
diff --git a/styleguide/index.html b/styleguide/index.html
deleted file mode 100644
index 02f7f33..0000000
--- a/styleguide/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
- Hugo Zen Style Guide
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Hugo Zen Style Guide
-
-
-
-
-
-
KSS Style Guide
-
This style guide documents the designs of this website which are built with component-based styles and Sass variables, functions and mixins. To ensure it is always up-to-date, this style guide is automatically generated from comments in the Sass files.
-
Organization
-
Design components are reusable designs that can be applied using just the CSS class names specified in the component. We categorize our components to make them easy to find.
-
-
Defaults
-
sass/base — The default “base” components apply to HTML elements. Since all of the rulesets in this class of styles are HTML elements, the styles apply automatically.
-
Layouts
-
sass/layouts — Layout components position major chunks of the page. They just apply positioning, no other styles.
-
Components
-
sass/components — Miscellaneous components are grouped together, but feel free to further categorize these.
-
Navigation
-
sass/navigation — Navigation components are specialized design components that are applied to website navigation.
-
Forms
-
sass/forms — Form components are specialized design components that are applied to forms or form elements.
-
-
-
In addition to the components, our component library also contains these folders:
-
-
Colors and Sass
-
sass/init — This Sass documents the colors used throughout the site and various Sass variables, functions and mixins. It also initializes everything we need for all other Sass files: variables, 3rd-party libraries, custom mixins and custom functions.
-
Style guide helper files
-
sass/style-guide — files needed to build this automated style guide; includes some CSS overrides for the default KSS style guide
The <blockquote> element is for quoting blocks of content from another
-source within your document. Wrap the <blockquote> around any HTML as the quote. For straight
-quotes, we recommend a <p>.
-
Optionally, add a <footer> to identify the source of the quote, wrapping
-the name of the source work in <cite>.
-
-
-
-
-
-
-
- Example
-
-
-
-
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere
- erat a ante.
-
-
-
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere
- erat a ante.
<blockquote class="{{modifier_class}}">
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere
- erat a ante.</p>
-</blockquote>
-
-<blockquote class="{{modifier_class}}">
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere
- erat a ante.</p>
- <footer>J. Smith in <cite title="Source Title, 2nd Edition">Source
- Title</cite></footer>
-</blockquote>
-
The <hr> element represents a paragraph-level thematic break, e.g. a scene
-change in a story, or a transition to another topic within a section of a
-reference book.
-
-
-
-
-
-
-
- Example
-
-
-
-
Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.
-
-
-
-
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla.
-
-
-
-
-
-
-
- Markup: base/grouping/grouping-hr.twig
-
-
<p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.</p>
-
-<hr class="{{modifier_class}}">
-
-<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla.</p>
-
-
-
-
- Source: base/grouping/_grouping.scss, line 127
-
The <dl> element is a list of terms with their associated descriptions.
-
-
-
-
-
-
-
- Example
-
-
-
-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
-
-
-
-
-
-
- Markup: base/grouping/grouping-dl.twig
-
-
<dl class="{{modifier_class}}">
- <dt>Description lists</dt>
- <dd>A description list is perfect for defining terms.</dd>
- <dt>Euismod</dt>
- <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
- <dd>Donec id elit non mi porta gravida at eget metus.</dd>
- <dt>Malesuada porta</dt>
- <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
-</dl>
-
The default font-size and line-height properties are applied to the
-<body> element and all paragraphs. In addition, <p> (paragraphs) receive
-a top and bottom margin.
-
-
-
-
-
-
-
- Example
-
-
-
-
Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.
-
-
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis,
-est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
-elit. Donec ullamcorper nulla non metus auctor fringilla.
-
-
Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit
-non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi
-erat porttitor ligula, eget lacinia odio sem nec elit.
-
-
-
-
-
-
-
- Markup: base/grouping/grouping-p.twig
-
-
<p class="{{modifier_class}}">Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque
-penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id
-dolor id nibh ultricies vehicula.</p>
-
-<p class="{{modifier_class}}">Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
-ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis,
-est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec
-elit. Donec ullamcorper nulla non metus auctor fringilla.</p>
-
-<p class="{{modifier_class}}">Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit
-non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi
-erat porttitor ligula, eget lacinia odio sem nec elit.</p>
-
-
-
-
- Source: base/grouping/_grouping.scss, line 146
-
All HTML headings, <h1> through <h6>, are available. %h1 through %h6
-classes are also available, for when you want to match the font styling of a
-heading but still want your text to be displayed inline.
-
-
-
-
-
-
-
- Example
-
-
-
-
Heading Level 1 (h1)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 2 (h2)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 3 (h3)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 4 (h4)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 5 (h5)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 6 (h6)
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
-
A Heading Level 1 (h1) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 2 (h2) with enough text to wrap to another line; Heading Level 2 (h2) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 3 (h3) with enough text to wrap to another line; Heading Level 3 (h3) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.
-
-
-
-
-
-
-
- Markup: base/headings/headings-h.twig
-
-
<h1 class="{{modifier_class}}">Heading Level 1 (h1)</h1>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h2 class="{{modifier_class}}">Heading Level 2 (h2)</h2>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h3 class="{{modifier_class}}">Heading Level 3 (h3)</h3>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h4 class="{{modifier_class}}">Heading Level 4 (h4)</h4>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h5 class="{{modifier_class}}">Heading Level 5 (h5)</h5>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h6 class="{{modifier_class}}">Heading Level 6 (h6)</h6>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-
-<h1 class="{{modifier_class}}">A Heading Level 1 (h1) with enough text to wrap to another line</h1>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h2 class="{{modifier_class}}">Heading Level 2 (h2) with enough text to wrap to another line; Heading Level 2 (h2) with enough text to wrap to another line</h2>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h3 class="{{modifier_class}}">Heading Level 3 (h3) with enough text to wrap to another line; Heading Level 3 (h3) with enough text to wrap to another line</h3>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h4 class="{{modifier_class}}">Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line; Heading Level 4 (h4) with enough text to wrap to another line</h4>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h5 class="{{modifier_class}}">Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line; Heading Level 5 (h5) with enough text to wrap to another line</h5>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-<h6 class="{{modifier_class}}">Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line; Heading Level 6 (h6) with enough text to wrap to another line</h6>
-<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi.</p>
-
The <abbr> element makes the meanings of abbreviations and acronyms visible
-on hover.
-
-
-
-
-
-
-
- Example
-
-
-
- An abbreviation of the word attribute is attr.
-And HTML is an acroynm.
-
-
-
-
-
-
-
- Markup: base/text/text-abbr.twig
-
-
An abbreviation of the word attribute is <abbr class="{{modifier_class}}" title="attribute">attr</abbr>.
-And <abbr class="{{modifier_class}}" title="HyperText Markup Language">HTML</abbr> is an acroynm.
-
The <strong> element or the <b> element is for emphasizing a snippet of
-text with a heavier font-weight.
-
Feel free to use <b> in HTML5. <b> is meant to highlight words or phrases
-without conveying additional importance.
-
-
-
-
-
-
-
- Example
-
-
-
- The following snippets of text are rendered as bold
-text. Bold text nested inside italic text shouldstill be
-bold.
-
-
-
-
-
-
-
- Markup: base/text/text-b.twig
-
-
The following snippets of text are <strong class="{{modifier_class}}">rendered</strong> as <b class="{{modifier_class}}">bold
-text</b>. Bold text nested inside <i>italic text <b>should</b></i> <em>still be
-<strong>bold</strong></em>.
-
<p>Who is your favorite doctor (in <cite class="{{modifier_class}}">Doctor Who</cite>)?</p>
-
-<p>Comment by <cite class="{{modifier_class}}"><a href="#">Oli Walberg</a></cite></p>
-
The <code> element represents a fragment of computer code. The <var>
-element represents a variable. The <samp> element represents (sample)
-output from a program or computing system. The <kbd> element represents
-user input (typically keyboard input.)
-
-
-
-
-
-
-
- Example
-
-
-
-
The code element represents a fragment of computer code.
-
-
There are n flavors of ice cream to be available for purchase!
-
-
The computer said Too much cheese in tray two but I didn't know
-what that meant.
-
-
To make George eat an apple, select File | Eat Apple…
-
-
-
-
-
-
-
- Markup: base/text/text-code.twig
-
-
<p>The <code class="{{modifier_class}}">code</code> element represents a fragment of computer code.</p>
-
-<p>There are <var class="{{modifier_class}}">n</var> flavors of ice cream to be available for purchase!</p>
-
-<p>The computer said <samp class="{{modifier_class}}">Too much cheese in tray two</samp> but I didn't know
-what that meant.</p>
-
-<p>To make George eat an apple, select <kbd class="{{modifier_class}}">File | Eat Apple…</kbd></p>
-
The <dfn> element represents the defining instance of a term.
-
-
-
-
-
-
-
- Example
-
-
-
-
The GDO is a
-device that allows off-world teams to open the iris.
-
-
Teal'c activated his GDO
-and so Hammond ordered the iris to be opened.
-
-
-
-
-
-
-
- Markup: base/text/text-dfn.twig
-
-
<p>The <dfn class="{{modifier_class}}" id="gdo"><abbr title="Garage Door Opener">GDO</abbr></dfn> is a
-device that allows off-world teams to open the iris.</p>
-
-<p>Teal'c activated his <a href="#gdo"><abbr title="Garage Door Opener">GDO</abbr></a>
-and so Hammond ordered the iris to be opened.</p>
-
The <em> element or the <i> element is used for emphasizing a snippet of
-text with italics.
-
Feel free to use <i> element in HTML5. <i> is meant to convey voice,
-technical terms, etc.
-
-
-
-
-
-
-
- Example
-
-
-
- The following snippets of text are rendered as italic text.
-Italic text nested inside bold text shouldstill be
-italic.
-
-
-
-
-
-
-
- Markup: base/text/text-i.twig
-
-
The following snippets of text are <em class="{{modifier_class}}">rendered</em> as <i class="{{modifier_class}}">italic text</i>.
-Italic text nested inside <b>bold text <i>should</i></b> <strong>still be
-<em>italic</em></strong>.
-
The <q> element represents an inline quote from another source. Longer
-quotes should use the <blockquote> element.
-
-
-
-
-
-
-
- Example
-
-
-
- The
-q element represents some phrasing content quoted from another
-source.
-
-
-
-
-
-
-
- Markup: base/text/text-q.twig
-
-
<q class="{{modifier_class}}" cite="http://www.w3.org/TR/html5/text-level-semantics.html#the-q-element">The
-<code>q</code> element represents some phrasing content quoted from another
-source.</q>
-
A Drupal block is often styled as a box. However, this design component is
-not applied to any blocks by default; it is used as an example of how to
-build and document a CSS component.
-
"box" is the name of our component, so we define a .box class that we can
-apply to any HTML element that needs the box styling. We also provide a
-%box placeholder selector so that we can easily extend the basic box
-component with @extend %box;.
-
Take a look at the source code for this component for more information about
-building a good component.
-
-
-
-
-
-
-
- Examples
-
-
- Default styling
-
-
-
-
-
Box title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
-
-
-
-
-
-
- :hover
-
-
- The hover/focus styling.
-
-
-
-
Box title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
-
-
-
-
-
- .box--highlight
-
-
- The "highlight" box variant.
-
-
-
-
Box title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
Hide elements from all users. Compare to the visually-hidden component.
-
Used for elements which should not be immediately displayed to any user. An
-example would be a collapsible fieldset that will be expanded with a click
-from a user.
-
For anything you want to hide on page load when JavaScript is enabled, use
-the .js-hidden class.
-
-
-
-
-
-
-
- Example
-
-
-
-
- This content is hidden.
-
-
-
-
-
-
-
-
- Markup: components/hidden/hidden.twig
-
-
<div class="hidden {{modifier_class}}">
- This content is hidden.
-</div>
-
-
-
-
- Source: components/hidden/_hidden.scss, line 1
-
The "new" or "updated" marker. This is a very thin component. A front-end
-developer may choose to delete this component and just style the <mark>
-element directly.
An element that needs to appear inline with the content that follows.
-
-
-
-
-
-
-
- Example
-
-
-
-
A Heading
-
A normal paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<h4 class="inline-sibling {{modifier_class}}">A Heading</h4>
-<p>A normal paragraph. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
-
-
-
-
- Source: components/inline-sibling/_inline-sibling.scss, line 1
-
Removes an element from the print version of the web site.
-
By importing these CSS rules in a file marked as media "all", we allow these
-print rules to be aggregated with other stylesheets, for improved front-end
-performance.
Using a wrapper div, embedded videos can be made responsive so that their
-intrinsic aspect ratio is preserved at any screen width. The
-responsive-video__embed class is optional if the embed is an iframe.
-
-
-
-
-
-
-
- Examples
-
-
- Default styling
-
-
-
-
-
-
-
-
-
-
-
- .responsive-video--4-3
-
-
- A video with a 4:3 aspect ratio instead of the default 16:9 one.
-
Make the element appear beneath sibling elements, like a watermark.
-
-
-
-
-
-
-
- Example
-
-
-
-
- Unpublished
-
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
The <input> element is mostly used for text-based inputs that include the
-HTML5 types: text, search, tel, url, email, password, date,
-time, number, range, color, and file.
The <label> element represents a caption of a form field. The label can be
-associated with a specific form control by using the for attribute or by
-putting the form control inside the label element itself.
-
-
-
-
-
-
-
- Example
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Markup: base/forms/forms-label.twig
-
-
<div>
- <label class="{{modifier_class}}" for="lableInputText">A label for a text input</label>
- <input type="text" id="lableInputText" placeholder="Enter some text">
-</div>
-
-<div>
- <label class="{{modifier_class}}"><input type="checkbox"> A label wrapped around a checkbox</label>
-</div>
-
In addition to the default styling of <button> and
-<input type="submit|image|reset|button"> elements, the .button class and
-its variants can apply buttons styles to various elements (like an <a>
-link).
.layout-3col__col-3 : 1-column wide grid item spanning column 3; starts a
-new row on tablet screens
-
.layout-3col__col-4 : At tablet sizes, the __col-x grid items will form
-an irregular layout of 2 items in the first row and 1 item in the second
-row. The __col-4 is a "hidden" item that does not appear on the
-large-screen 3-column grid, but is a 1-column wide grid item spanning
-column 2 on tablet screens.
-
.layout-3col__col-x : 1-column wide grid item spanning column 1; when
-several of these are used inside a .layout-3col__grid-item-container or
-.layout-3col, the first one is positioned like __col-1, the
-second like __col-2, etc.
-
-
There are 2 ways to do a nested grid:
-
-
Place a grid container div inside a grid item. Just apply the normal
-classes to the nested grid container and its grid items.
-
The grid item's div is also the grid container for the nested grid. In
-this case, the .layout3-col__grid-item-container class should be added
-to the div to ensure its nested grid items align with the parent grid.
-
-
-
-
-
-
-
-
- Example
-
-
-
-
-
- The .layout-3col__full grid item.
-
-
- The .layout-3col__left-content grid item.
-
-
- The .layout-3col__right-sidebar grid item.
-
-
- The .layout-3col__right-content grid item.
-
-
- The .layout-3col__left-sidebar grid item.
-
-
- The .layout-3col__right-content grid item.
-
-
- The .layout-3col__first-left-sidebar grid item.
-
-
- The .layout-3col__second-left-sidebar grid item.
-
-
- The .layout-3col__col-1 grid item.
-
-
- The .layout-3col__col-2 grid item.
-
-
- The .layout-3col__col-3 grid item. Don't forget to look for the .layout-3col__col-4 grid item at tablet sizes.
-
-
- The .layout-3col__col-4 grid item.
-
-
-
- The first .layout-3col__col-x grid item in this nested grid.
-
-
- The second .layout-3col__col-x grid item in this nested grid.
-
-
- The third .layout-3col__col-x grid item in this nested grid.
-
-
- The fourth .layout-3col__col-x grid item in this nested grid.
-
-
- The fifth .layout-3col__col-x grid item in this nested grid.
-
-
- The sixth .layout-3col__col-x grid item in this nested grid.
-
All other layouts should be nested inside this centered layout to ensure that
-content does not get too wide on very large screens.
-
Applying a .layout-* class to the same HTML element as .layout-center
-would cause that element's grid to mis-align with the rest of the grid on the
-page, but this component will automatically detect the other .layout-*
-class and automatically use the .layout-center--shared-grid variant
-instead.
-
-
-
-
-
-
-
- Examples
-
-
- Default styling
-
-
-
-
- This is layout center that has content is centered on larger screens.
-
-
-
-
-
-
- .layout-center--shared-grid
-
-
- If .layout-center is applied to the same div as another .layout- class, then this variant should be used to prevent the shared layout's grid from mis-aligning. Note: Each time a new .layout- component is created, this component will need to be modified.
-
-
-
- This is layout center that has content is centered on larger screens.
-
Uses absolute positioning and selective padding to make 2 elements appear to
-swap places in the visual order while maintaining their original HTML source
-order.
-
-
-
-
-
-
-
- Example
-
-
-
-
-
This element comes first in the HTML source order.
-
This element comes second in the HTML source order.
<div class="layout-swap">
- <div>This element comes <strong>first</strong> in the HTML source order.</div>
- <div class="layout-swap__top">This element comes <strong>second</strong> in the HTML source order.</div>
-</div>
-
-
-
-
- Source: layouts/layout-swap/_layout-swap.scss, line 4
-
The layout styling for major parts of the page that are included with the
-theme. Note: some Panels layouts are included in other parts of the system
-and are not documented.
color(nearblack)uses the color:#333333 (black)This color is inherited by: brand, link-hover, border-dark, header-bg, button, headings
color(grey-dark)uses the color:#666666 (black)This color is inherited by: brand-dark, progress-bar-border, skip-link-bg, tab-secondary
color(grey)uses the color:#999999 (black)This color is inherited by: brand-alt, button-disabled, fieldset-summary
color(grey-light)uses the color:#cccccc (black)This color is inherited by: border, progress-bar-bg, row-disabled, tabs-border, tab-bg
color(grey-extra-light)uses the color:#eeeeee (black)This color is inherited by: backdrop, resizable-grippie, watermark
color(white)uses the color:#fffThis color is inherited by: text-bg, autocomplete-bg, autocomplete-select, body-bg, row-stripe, skip-link, tabs-bg, tab-text-shadow
color(blue)uses the color:#0072b9This color is inherited by: autocomplete-select-bg, progress-bar
color(red)uses the color:#c00This color is inherited by: link-active, form-error, mark-highlight, error, error-bg
color(green)uses the color:#43a808This color is inherited by: status, status-bg
color(yellow)uses the color:#fd0This color is inherited by: mark-bg, preview-bg, warning-bg, warning-border, table-drag, table-select
functional
Colors used by functional parts of the design.
color(brand)uses the color:#333333 (nearblack)This color is inherited by: link-hover, header-bg
color(brand-alt)uses the color:#999999 (grey)
color(brand-dark)uses the color:#666666 (grey-dark)
color(text)uses the color:#000 (black)This color is inherited by: autocomplete, menu-active, status-highlight, warning, tab
color(text-bg)uses the color:#fff (white)This color is inherited by: autocomplete-bg, tabs-bg
color(link)uses the color:#000 (black)
color(link-visited)uses the color:#000 (black)
color(link-hover)uses the color:#333333 (brand)
color(link-active)uses the color:#c00 (red)
color(border)uses the color:#cccccc (grey-light)This color is inherited by: tabs-border
color(border-dark)uses the color:#333333 (nearblack)
color(autocomplete)uses the color:#000 (text)
color(autocomplete-bg)uses the color:#fff (text-bg)
color(autocomplete-select)uses the color:#fff (white)
color(autocomplete-select-bg)uses the color:#0072b9 (blue)
color(body-bg)uses the color:#fff (white)
color(header-bg)uses the color:#333333 (brand)
color(backdrop)uses the color:#eeeeee (grey-extra-light)
color(button)uses the color:#333333 (nearblack)
color(button-disabled)uses the color:#999999 (grey)
color(fieldset-summary)uses the color:#999999 (grey)
color(form-error)uses the color:#c00 (red)
color(mark-highlight)uses the color:#c00 (red)
color(mark-bg)uses the color:#fd0 (yellow)
color(menu-active)uses the color:#000 (text)
color(preview-bg)uses the color:#fffadb (yellow)
color(progress-bar)uses the color:#0072b9 (blue)
color(progress-bar-bg)uses the color:#cccccc (grey-light)
color(progress-bar-border)uses the color:#666666 (grey-dark)
color(resizable-grippie)uses the color:#eeeeee (grey-extra-light)
color(row-stripe)uses the color:#fff (white)
color(row-disabled)uses the color:#cccccc (grey-light)
color(skip-link)uses the color:#fff (white)
color(skip-link-bg)uses the color:#666666 (grey-dark)
color(status)uses the color:#43a808 (green)This color is inherited by: status-bg
color(status-bg)uses the color:#f4feee (status)
color(status-highlight)uses the color:#000 (text)
color(warning)uses the color:#000 (text)
color(warning-bg)uses the color:#fffce6 (yellow)
color(warning-border)uses the color:#fd0 (yellow)
color(error)uses the color:#c00 (red)This color is inherited by: error-bg
color(error-bg)uses the color:#fff0f0 (error)
color(tabs-border)uses the color:#cccccc (border)
color(tabs-bg)uses the color:#fff (text-bg)
color(tab)uses the color:#000 (text)
color(tab-text-shadow)uses the color:#fff (white)
color(tab-bg)uses the color:#dddddd (grey-light)
color(tab-secondary)uses the color:#666666 (grey-dark)
color(table-drag)uses the color:#fffadb (yellow)
color(table-select)uses the color:#fffdf0 (yellow)
color(watermark)uses the color:#eeeeee (grey-extra-light)
To make it easier to use all variables and mixins in any Sass file in this
-project, each .scss file has a @import 'init'; declaration. The _init.scss
-file is in charge of importing all the other partials needed for the
-project.
-
The initialization partial is organized in this way:
-
-
First we set any shared Sass variables.
-
Next we import Sass modules.
-
Last we define our custom mixins for this project.
If you include your images next to your component Sass files, you need to
-specify a url() to point from the generated CSS to the Sass source like this:
With the image-url() function the path to all your components is assumed to
-start with ../sass/components/ and you just need to give it the last, short
-bit of the path in your Sass code like this:
-
content: image-url(is-quite/short.svg);
-
-
If you want to point at an image that is not in the components sub-directory
-of your sass directory, you can override the default $subdirectory by
-passing it in as the first parameter of image-url() like this:
Includes Right-To-Left language support by adding a parent selector of
-[dir="rtl"]. Since the dir attribute is usually defined on the html element
-of a page, using this mixin on a ruleset that matches the html element won't
-work.
-
Can be turned off globally by setting $include-rtl: false;.
$indent-amount controls the amount lists, blockquotes and comments are indented.
-
$include-rtl controls whether RTL styles are output. Rather than include a separate *-rtl.css file, Zen 6 uses Drupal 8's standard [dir="rtl"] selector for RTL language support.
For older versions of browsers, some Sass relies on the support-for() to
-control whether extra CSS is needed to be output. The support-for()
-function and the $support-for variable are documented on the support-for
-homepage.
Font styling and line heights are controlled by the several variables that
-used by mixins like type-layout(), margin-top(), and margin-bottom().
-These variable and mixins are documented on the Typey
-homepage.
- * For a fairly comprehensive set of languages see the
- * README
- * file that came with this source. At a minimum, the lexer should work on a
- * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
- * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk
- * and a subset of Perl, but, because of commenting conventions, doesn't work on
- * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
- *
- * Usage:
- *
include this source file in an html page via
- * {@code }
- *
define style rules. See the example page for examples.
- *
mark the {@code
} and {@code } tags in your source with
- * {@code class=prettyprint.}
- * You can also use the (html deprecated) {@code } tag, but the pretty
- * printer needs to do more substantial DOM manipulations to support that, so
- * some css styles may not be preserved.
- *
- * That's it. I wanted to keep the API as simple as possible, so there's no
- * need to specify which language the code is in, but if you wish, you can add
- * another class to the {@code
} or {@code } element to specify the
- * language, as in {@code
}. Any class that
- * starts with "lang-" followed by a file extension, specifies the file type.
- * See the "lang-*.js" files in this directory for code that implements
- * per-language file handlers.
- *
- * Change log:
- * cbeust, 2006/08/22
- *
- * Java annotations (start with "@") are now captured as literals ("lit")
- *
- * @requires console
- */
-
-// JSLint declarations
-/*global console, document, navigator, setTimeout, window */
-
-/**
- * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
- * UI events.
- * If set to {@code false}, {@code prettyPrint()} is synchronous.
- */
-window['PR_SHOULD_USE_CONTINUATION'] = true;
-
-(function () {
- // Keyword lists for various languages.
- // We use things that coerce to strings to make them compact when minified
- // and to defeat aggressive optimizers that fold large string constants.
- var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
- var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," +
- "double,enum,extern,float,goto,int,long,register,short,signed,sizeof," +
- "static,struct,switch,typedef,union,unsigned,void,volatile"];
- var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
- "new,operator,private,protected,public,this,throw,true,try,typeof"];
- var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
- "concept,concept_map,const_cast,constexpr,decltype," +
- "dynamic_cast,explicit,export,friend,inline,late_check," +
- "mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast," +
- "template,typeid,typename,using,virtual,where"];
- var JAVA_KEYWORDS = [COMMON_KEYWORDS,
- "abstract,boolean,byte,extends,final,finally,implements,import," +
- "instanceof,null,native,package,strictfp,super,synchronized,throws," +
- "transient"];
- var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
- "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
- "fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock," +
- "object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed," +
- "stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];
- var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
- "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
- "true,try,unless,until,when,while,yes";
- var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
- "debugger,eval,export,function,get,null,set,undefined,var,with," +
- "Infinity,NaN"];
- var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," +
- "goto,if,import,last,local,my,next,no,our,print,package,redo,require," +
- "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
- var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
- "elif,except,exec,finally,from,global,import,in,is,lambda," +
- "nonlocal,not,or,pass,print,raise,try,with,yield," +
- "False,True,None"];
- var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
- "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
- "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
- "BEGIN,END"];
- var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
- "function,in,local,set,then,until"];
- var ALL_KEYWORDS = [
- CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS +
- PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS];
- var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;
-
- // token style names. correspond to css classes
- /**
- * token style for a string literal
- * @const
- */
- var PR_STRING = 'str';
- /**
- * token style for a keyword
- * @const
- */
- var PR_KEYWORD = 'kwd';
- /**
- * token style for a comment
- * @const
- */
- var PR_COMMENT = 'com';
- /**
- * token style for a type
- * @const
- */
- var PR_TYPE = 'typ';
- /**
- * token style for a literal value. e.g. 1, null, true.
- * @const
- */
- var PR_LITERAL = 'lit';
- /**
- * token style for a punctuation string.
- * @const
- */
- var PR_PUNCTUATION = 'pun';
- /**
- * token style for a punctuation string.
- * @const
- */
- var PR_PLAIN = 'pln';
-
- /**
- * token style for an sgml tag.
- * @const
- */
- var PR_TAG = 'tag';
- /**
- * token style for a markup declaration such as a DOCTYPE.
- * @const
- */
- var PR_DECLARATION = 'dec';
- /**
- * token style for embedded source.
- * @const
- */
- var PR_SOURCE = 'src';
- /**
- * token style for an sgml attribute name.
- * @const
- */
- var PR_ATTRIB_NAME = 'atn';
- /**
- * token style for an sgml attribute value.
- * @const
- */
- var PR_ATTRIB_VALUE = 'atv';
-
- /**
- * A class that indicates a section of markup that is not code, e.g. to allow
- * embedding of line numbers within code listings.
- * @const
- */
- var PR_NOCODE = 'nocode';
-
-
-
-/**
- * A set of tokens that can precede a regular expression literal in
- * javascript
- * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
- * has the full list, but I've removed ones that might be problematic when
- * seen in languages that don't support regular expression literals.
- *
- *
Specifically, I've removed any keywords that can't precede a regexp
- * literal in a syntactically legal javascript program, and I've removed the
- * "in" keyword since it's not a keyword in many languages, and might be used
- * as a count of inches.
- *
- *
The link a above does not accurately describe EcmaScript rules since
- * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
- * very well in practice.
- *
- * @private
- * @const
- */
-var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
-
-// CAVEAT: this does not properly handle the case where a regular
-// expression immediately follows another since a regular expression may
-// have flags for case-sensitivity and the like. Having regexp tokens
-// adjacent is not valid in any language I'm aware of, so I'm punting.
-// TODO: maybe style special characters inside a regexp as punctuation.
-
-
- /**
- * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
- * matches the union of the sets of strings matched by the input RegExp.
- * Since it matches globally, if the input strings have a start-of-input
- * anchor (/^.../), it is ignored for the purposes of unioning.
- * @param {Array.} regexs non multiline, non-global regexs.
- * @return {RegExp} a global regex.
- */
- function combinePrefixPatterns(regexs) {
- var capturedGroupIndex = 0;
-
- var needToFoldCase = false;
- var ignoreCase = false;
- for (var i = 0, n = regexs.length; i < n; ++i) {
- var regex = regexs[i];
- if (regex.ignoreCase) {
- ignoreCase = true;
- } else if (/[a-z]/i.test(regex.source.replace(
- /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
- needToFoldCase = true;
- ignoreCase = false;
- break;
- }
- }
-
- var escapeCharToCodeUnit = {
- 'b': 8,
- 't': 9,
- 'n': 0xa,
- 'v': 0xb,
- 'f': 0xc,
- 'r': 0xd
- };
-
- function decodeEscape(charsetPart) {
- var cc0 = charsetPart.charCodeAt(0);
- if (cc0 !== 92 /* \\ */) {
- return cc0;
- }
- var c1 = charsetPart.charAt(1);
- cc0 = escapeCharToCodeUnit[c1];
- if (cc0) {
- return cc0;
- } else if ('0' <= c1 && c1 <= '7') {
- return parseInt(charsetPart.substring(1), 8);
- } else if (c1 === 'u' || c1 === 'x') {
- return parseInt(charsetPart.substring(2), 16);
- } else {
- return charsetPart.charCodeAt(1);
- }
- }
-
- function encodeEscape(charCode) {
- if (charCode < 0x20) {
- return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
- }
- var ch = String.fromCharCode(charCode);
- if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
- ch = '\\' + ch;
- }
- return ch;
- }
-
- function caseFoldCharset(charSet) {
- var charsetParts = charSet.substring(1, charSet.length - 1).match(
- new RegExp(
- '\\\\u[0-9A-Fa-f]{4}'
- + '|\\\\x[0-9A-Fa-f]{2}'
- + '|\\\\[0-3][0-7]{0,2}'
- + '|\\\\[0-7]{1,2}'
- + '|\\\\[\\s\\S]'
- + '|-'
- + '|[^-\\\\]',
- 'g'));
- var groups = [];
- var ranges = [];
- var inverse = charsetParts[0] === '^';
- for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
- var p = charsetParts[i];
- if (/\\[bdsw]/i.test(p)) { // Don't muck with named groups.
- groups.push(p);
- } else {
- var start = decodeEscape(p);
- var end;
- if (i + 2 < n && '-' === charsetParts[i + 1]) {
- end = decodeEscape(charsetParts[i + 2]);
- i += 2;
- } else {
- end = start;
- }
- ranges.push([start, end]);
- // If the range might intersect letters, then expand it.
- // This case handling is too simplistic.
- // It does not deal with non-latin case folding.
- // It works for latin source code identifiers though.
- if (!(end < 65 || start > 122)) {
- if (!(end < 65 || start > 90)) {
- ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
- }
- if (!(end < 97 || start > 122)) {
- ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
- }
- }
- }
- }
-
- // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
- // -> [[1, 12], [14, 14], [16, 17]]
- ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); });
- var consolidatedRanges = [];
- var lastRange = [NaN, NaN];
- for (var i = 0; i < ranges.length; ++i) {
- var range = ranges[i];
- if (range[0] <= lastRange[1] + 1) {
- lastRange[1] = Math.max(lastRange[1], range[1]);
- } else {
- consolidatedRanges.push(lastRange = range);
- }
- }
-
- var out = ['['];
- if (inverse) { out.push('^'); }
- out.push.apply(out, groups);
- for (var i = 0; i < consolidatedRanges.length; ++i) {
- var range = consolidatedRanges[i];
- out.push(encodeEscape(range[0]));
- if (range[1] > range[0]) {
- if (range[1] + 1 > range[0]) { out.push('-'); }
- out.push(encodeEscape(range[1]));
- }
- }
- out.push(']');
- return out.join('');
- }
-
- function allowAnywhereFoldCaseAndRenumberGroups(regex) {
- // Split into character sets, escape sequences, punctuation strings
- // like ('(', '(?:', ')', '^'), and runs of characters that do not
- // include any of the above.
- var parts = regex.source.match(
- new RegExp(
- '(?:'
- + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set
- + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape
- + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape
- + '|\\\\[0-9]+' // a back-reference or octal escape
- + '|\\\\[^ux0-9]' // other escape sequence
- + '|\\(\\?[:!=]' // start of a non-capturing group
- + '|[\\(\\)\\^]' // start/emd of a group, or line start
- + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters
- + ')',
- 'g'));
- var n = parts.length;
-
- // Maps captured group numbers to the number they will occupy in
- // the output or to -1 if that has not been determined, or to
- // undefined if they need not be capturing in the output.
- var capturedGroups = [];
-
- // Walk over and identify back references to build the capturedGroups
- // mapping.
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- var p = parts[i];
- if (p === '(') {
- // groups are 1-indexed, so max group index is count of '('
- ++groupIndex;
- } else if ('\\' === p.charAt(0)) {
- var decimalValue = +p.substring(1);
- if (decimalValue && decimalValue <= groupIndex) {
- capturedGroups[decimalValue] = -1;
- }
- }
- }
-
- // Renumber groups and reduce capturing groups to non-capturing groups
- // where possible.
- for (var i = 1; i < capturedGroups.length; ++i) {
- if (-1 === capturedGroups[i]) {
- capturedGroups[i] = ++capturedGroupIndex;
- }
- }
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- var p = parts[i];
- if (p === '(') {
- ++groupIndex;
- if (capturedGroups[groupIndex] === undefined) {
- parts[i] = '(?:';
- }
- } else if ('\\' === p.charAt(0)) {
- var decimalValue = +p.substring(1);
- if (decimalValue && decimalValue <= groupIndex) {
- parts[i] = '\\' + capturedGroups[groupIndex];
- }
- }
- }
-
- // Remove any prefix anchors so that the output will match anywhere.
- // ^^ really does mean an anchored match though.
- for (var i = 0, groupIndex = 0; i < n; ++i) {
- if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
- }
-
- // Expand letters to groups to handle mixing of case-sensitive and
- // case-insensitive patterns if necessary.
- if (regex.ignoreCase && needToFoldCase) {
- for (var i = 0; i < n; ++i) {
- var p = parts[i];
- var ch0 = p.charAt(0);
- if (p.length >= 2 && ch0 === '[') {
- parts[i] = caseFoldCharset(p);
- } else if (ch0 !== '\\') {
- // TODO: handle letters in numeric escapes.
- parts[i] = p.replace(
- /[a-zA-Z]/g,
- function (ch) {
- var cc = ch.charCodeAt(0);
- return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
- });
- }
- }
- }
-
- return parts.join('');
- }
-
- var rewritten = [];
- for (var i = 0, n = regexs.length; i < n; ++i) {
- var regex = regexs[i];
- if (regex.global || regex.multiline) { throw new Error('' + regex); }
- rewritten.push(
- '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
- }
-
- return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
- }
-
-
- /**
- * Split markup into a string of source code and an array mapping ranges in
- * that string to the text nodes in which they appear.
- *
- *
- * where #1 is a reference to the {@code "print "} text node above, and so
- * on for the other text nodes.
- *
- *
- *
- * The {@code} spans array is an array of pairs. Even elements are the start
- * indices of substrings, and odd elements are the text nodes (or BR elements)
- * that contain the text for those substrings.
- * Substrings continue until the next index or the end of the source.
- *
- *
- * @param {Node} node an HTML DOM subtree containing source-code.
- * @return {Object} source code and the text nodes in which they occur.
- */
- function extractSourceSpans(node) {
- var nocode = /(?:^|\s)nocode(?:\s|$)/;
-
- var chunks = [];
- var length = 0;
- var spans = [];
- var k = 0;
-
- var whitespace;
- if (node.currentStyle) {
- whitespace = node.currentStyle.whiteSpace;
- } else if (window.getComputedStyle) {
- whitespace = document.defaultView.getComputedStyle(node, null)
- .getPropertyValue('white-space');
- }
- var isPreformatted = whitespace && 'pre' === whitespace.substring(0, 3);
-
- function walk(node) {
- switch (node.nodeType) {
- case 1: // Element
- if (nocode.test(node.className)) { return; }
- for (var child = node.firstChild; child; child = child.nextSibling) {
- walk(child);
- }
- var nodeName = node.nodeName;
- if ('BR' === nodeName || 'LI' === nodeName) {
- chunks[k] = '\n';
- spans[k << 1] = length++;
- spans[(k++ << 1) | 1] = node;
- }
- break;
- case 3: case 4: // Text
- var text = node.nodeValue;
- if (text.length) {
- if (!isPreformatted) {
- text = text.replace(/[ \t\r\n]+/g, ' ');
- } else {
- text = text.replace(/\r\n?/g, '\n'); // Normalize newlines.
- }
- // TODO: handle tabs here?
- chunks[k] = text;
- spans[k << 1] = length;
- length += text.length;
- spans[(k++ << 1) | 1] = node;
- }
- break;
- }
- }
-
- walk(node);
-
- return {
- sourceCode: chunks.join('').replace(/\n$/, ''),
- spans: spans
- };
- }
-
-
- /**
- * Apply the given language handler to sourceCode and add the resulting
- * decorations to out.
- * @param {number} basePos the index of sourceCode within the chunk of source
- * whose decorations are already present on out.
- */
- function appendDecorations(basePos, sourceCode, langHandler, out) {
- if (!sourceCode) { return; }
- var job = {
- sourceCode: sourceCode,
- basePos: basePos
- };
- langHandler(job);
- out.push.apply(out, job.decorations);
- }
-
- var notWs = /\S/;
-
- /**
- * Given an element, if it contains only one child element and any text nodes
- * it contains contain only space characters, return the sole child element.
- * Otherwise returns undefined.
- *
- * This is meant to return the CODE element in {@code
} when
- * there is a single child element that contains all the non-space textual
- * content, but not to return anything where there are multiple child elements
- * as in {@code
......
} or when there
- * is textual content.
- */
- function childContentWrapper(element) {
- var wrapper = undefined;
- for (var c = element.firstChild; c; c = c.nextSibling) {
- var type = c.nodeType;
- wrapper = (type === 1) // Element Node
- ? (wrapper ? element : c)
- : (type === 3) // Text Node
- ? (notWs.test(c.nodeValue) ? element : wrapper)
- : wrapper;
- }
- return wrapper === element ? undefined : wrapper;
- }
-
- /** Given triples of [style, pattern, context] returns a lexing function,
- * The lexing function interprets the patterns to find token boundaries and
- * returns a decoration list of the form
- * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
- * where index_n is an index into the sourceCode, and style_n is a style
- * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to
- * all characters in sourceCode[index_n-1:index_n].
- *
- * The stylePatterns is a list whose elements have the form
- * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
- *
- * Style is a style constant like PR_PLAIN, or can be a string of the
- * form 'lang-FOO', where FOO is a language extension describing the
- * language of the portion of the token in $1 after pattern executes.
- * E.g., if style is 'lang-lisp', and group 1 contains the text
- * '(hello (world))', then that portion of the token will be passed to the
- * registered lisp handler for formatting.
- * The text before and after group 1 will be restyled using this decorator
- * so decorators should take care that this doesn't result in infinite
- * recursion. For example, the HTML lexer rule for SCRIPT elements looks
- * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match
- * '
-
-
-
-
-
-
-
-
-
-
-
-