Giter VIP home page Giter VIP logo

alps's Introduction

ALPS – Adventist Living Pattern System

This is the future home of the ALPS codebase. The pattern library is built off of Pattern Lab, and a tool based on atomic design.

Deployment status from DeployBot

Want to make changes?

If you want to make changes, feel free to fork the repository and create a pull request.

Questions or Issues?

Questions or issues can be filed as tickets on this repository and will be handled using the GitHub system.

Seventh-day Adventist Pattern Lab

Overview

This repository contains the front-end code for the Seventh-day Adventist project. Pattern Lab is the tool used for pattern template building and pattern library compilation.

Getting Started

This creates all patterns, the styleguide, and the pattern lab site as well as a local server for development.

CSS Object and Utility Based Styling

7 Column Grid Layout Classes

The 7 Column Grid is used on the page layout and all blocks

  • .l-grid Grid wrapper to make child divs flex
  • .l-grid--7-col 7 Column grid wrapper
    • .l-grid-item--x-col Span x number of columns on mobile (<=500px)
    • .l-grid-item--s--x-col Span x number of columns at small breakpoint (>500px)
    • .l-grid-item--m--x-col Span x number of columns at medium breakpoint (>700px)
    • .l-grid-item--l--x-col Span x number of columns at large breakpoint (>900px)
    • .l-grid-item--xl--x-col Span x number of columns at xxlarge breakpoint (>1300px)
  • .l-grid-wrap Span grid 100% of the viewport width
    • .l-grid-wrap--x-of-7 Span grid x number of columns

Grid Shift Classes

Shifts the grid over 1 column

  • .u-shift--right--1-col--at-medium Shift grid over to right 1 column at medium breakpoint (>700px)
  • .u-shift--left--1-col--at-medium Shift grid over to left 1 column at medium breakpoint (>700px)
  • .u-shift--left--1-col--at-large Shift grid over to left 1 column at large breakpoint (>900px)
  • .u-shift--left--1-col--at-xxlarge Shift grid over to left 1 column at xxlarge breakpoint (>1300px)

Alignment Classes

Positions the content in the Blocks or Page Header

  • .u-flex--align-center Flex align center
  • .u-flex--align-end Flex align end
  • .u-flex--justify-center Justify content center
  • .u-flex--justify-end Justify content end
  • .u-text-align--center Text align center
  • .u-text-align--right Text align right
  • .u-text-align--left Text align left

Theme Color Classes

Apply class for theme color. Each theme has 5 color variations. Replace the {$key} with a value.

Color Keys {$key}

  • darker
  • dark
  • base
  • light
  • lighter

Color Classes

  • .u-theme--color--{$key} Text Color
  • .u-theme--link-hover--{$key} Link Color
  • .u-theme--background-color--{$key} Background Color
  • .u-theme--border-color--{$key} Border Color
    • .u-theme--border-color--{$key}--left Left Border Color
    • .u-theme--border-color--{$key}--right Right Border Color
    • .u-theme--border-color--{$key}--top Top Border Color
    • .u-theme--border-color--{$key}--bottom Bottom Border Color
  • .u-theme--path-fill--{$key} SVG Fill Cover

Twig Include Syntax

In order to play nice with environments outside of Pattern Lab, we use the default Twig include syntax over the Pattern Lab shorthand.

Don't do this:

{% include 'templates-home' %}

Do this:

{% include '@templates/[email protected]' %}

Exporting Assets to Adventist Identity Guideline System

To export the patterns to the Adventist Identity Guideline System, run the following grunt export command: grunt style-guide-export. All patterns will be copied over to the igs-guidelines repo, which should be located in the same root folder as ALPS , when this gets run. This command will clean up the files, removing any flags that are unneeded in the igs-guidelines repo.

Drupal Pattern Exporting

For Drupal projects utilizing ALPS twig files, you'll need to run the pattern export command in order to generate the Drupal-specific file naming.

  • Create a directory named "drupal-patterns" in /source/
  • run grunt export-drupal-patterns - this will copy all patterns from the /source/_patterns/ directory and rename the .twig file extensions to .html.twig

Project Standards

Front-End General Best Practices

  1. Separation of presentation, content, and behavior.
  2. Markup should be well-formed, semantically correct, and generally valid (if possible).
  3. Javascript should progressively enhance the experience.
  4. Always keep performance at top of mind when coding.

CSS Coding Standards

The CSS in this project follows Harry Robert's itcss architecture. CSS/SCSS Coding Best Practices should be the referenced standards guide when writing sane, manageable, scalable CSS.

Git Commit Messages

All commit messages should abide by the following criteria:

  • Begin with a one line summary. It should be short (50 chars or less).
  • This should be followed by a longer description if necessary.
  • The first two items should be separated by an empty line.
  • All lines should be wrapped at approximately 72 characters.
  • Reference an issue in your commits whenever possible. Use the Github standard gh-34 for ticket #34.
  • If you forget to reference the issue in your commit, and the commit has already been pushed, reference the commit hash in a comment on the ticket.

Troubleshooting Installs

Make sure you are running your terminal/command line session as administrator. This could mean sudo, or opening the window with a right-click option.

About Pattern Lab

license Packagist Gitter

Pattern Lab Standard Edition for Twig

The Standard Edition for Twig gives developers and designers a clean and stable base from which to develop a Twig-based pattern library.

Packaged Components

The Standard Edition for Twig comes with the following components:

Installing

There are two methods for downloading and installing the Standard Edition for Twig:

Download a pre-built project

The fastest way to get started with the Standard Edition for Twig is to download the pre-built version from the releases page. The pre-built project comes with the Base StarterKit for Twig installed by default.

Please note: Pattern Lab uses Composer to manage project dependencies. To upgrade the Standard Edition for Twig or to install plug-ins you'll need to install Composer. We recommend that you install it globally.

Use Composer to create a project

Pattern Lab uses Composer to manage project dependencies.

1. Install Composer

Please follow the directions for installing Composer on the Composer website. We recommend you install it globally.

2. Install the Standard Edition for Twig

Use Composer's create-project command to install the Standard Edition for Twig into a location of your choosing. In Terminal type:

cd install/location/
composer create-project pattern-lab/edition-twig-standard your-project-name && cd $_

This will install the Standard Edition for Twig into a directory called your-project-name in install/location/. During the set-up process you will be asked to install an appropriate StarterKit. You will be automatically dropped into the project directory after the process is finished.

Updating Pattern Lab

To update Pattern Lab please refer to each component's GitHub repository. The components are listed at the top of the README.

Helpful Commands

These are some helpful commands you can use on the command line for working with Pattern Lab.

List all of the available commands

To list all available commands type:

php core/console --help

To list the options for a particular command type:

php core/console --help --[command]

Generate Pattern Lab

To generate the front-end for Pattern Lab type:

php core/console --generate

Watch for changes and re-generate Pattern Lab

To watch for changes and re-generate the front-end for Pattern Lab type:

php core/console --watch

Start a server to view Pattern Lab

You can use PHP's built-in web server to review your Pattern Lab project in a browser. In a seperate window type:

php core/console --server

Then open http://localhost:8080 in your browser.

Install a StarterKit

To install a near-empty StarterKit as a starting point for your project type:

php core/console --starterkit --init

To install a specific StarterKit from GitHub type:

php core/console --starterkit --install <starterkit-vendor/starterkit-name>

Twig PatternEngine for Pattern Lab

The Twig PatternEngine allows you to use Twig as the template language for Pattern Lab PHP. Once the PatternEngine is installed you can use Twig-based StarterKits and StyleguideKits.

Installation

The Twig PatternEngine comes pre-installed with the Pattern Lab Standard Edition for Twig. Please start there for all your Twig needs.

Composer

Pattern Lab PHP uses Composer to manage project dependencies with Pattern Lab Editions. To add the Twig PatternEngine to the dependencies list for your Edition you can type the following in the command line at the base of your project:

composer require pattern-lab/patternengine-twig

See Packagist for information on the latest release.

Overview

This document is broken into three parts:

Working with Patterns and Twig

Twig provides access to two features that may help you extend your patterns, macros and layouts viatemplate inheritance. The Twig PatternEngine also supports the pattern partial syntax to make including one pattern within another very easy.

Pattern includes

Pattern includes take advantage of the pattern partial syntax as a shorthand for referencing patterns from across the system without needing to rely on absolute paths. The format:

{% include "[patternType]-[patternName]" %}

For example, let's say we wanted to include the following pattern in a molecule:

source/_patterns/00-atoms/03-images/02-landscape-16x9.twig

The pattern type is atoms (from 00-atoms) and the pattern name is landscape-16x9 from (from 02-landscape-16x9.twig). Pattern sub-types are never used in this format and any digits for re-ordering are dropped. The shorthand partial syntax for this pattern would be:

{% include "atoms-landscape-16x9" %}

Macros

The requirements for using macros with Pattern Lab:

  • Files must go in source/_macros
  • Files must have the extension .macro.twig (this can be modified in the config)
  • The filename will be used as the base variable name in Twig templates

Please note: ensure that there is no overlap between the keys for your macros and the keys for your data attributes. A macro with the name forms.macro.twig will conflict with a root key with the name forms in your JSON/YAML. Both are accessed via {{ forms }} in Twig.

An example of a simple macro called forms.macro.twig in source/_macros:

{% macro input(name) %}
    <input type="radio" name="{{ name }}" value="Dave" /> {{ name }}
{% endmacro %}

Would be used like this in a pattern:

{{ forms.input("First name") }}

Template inheritance

How to use Template Inheritance with Pattern Lab:

  • Files must have the extension .twig.
  • Files can be extended either by using Pattern Lab's normal shorthand syntax (e.g, {% extends 'templates-extended-layout'%}).
  • Files can optionally go in source/_layouts in order to hide them from the list of patterns and then you can just use the filename as reference (e.g., {% extends 'extended-layout'%}).
  • Files that are in the same directory can also just use the file name without the shorthand syntax (however, it must include the extension). So if file1.twig and file2.twig were in same directory, you could place this code in file2.twig: {% extends 'file1.twig' %}.

An example of a simple layout called base.twig in source/_layouts:

<!DOCTYPE html>
<html>
    <head>
        {% block head %}
            <link rel="stylesheet" href="style.css" />
            <title>{% block title %}{% endblock %} - My Webpage</title>
        {% endblock %}
    </head>
    <body>
        <div id="content">{% block content %}{% endblock %}</div>
        <div id="footer">
            {% block footer %}
                &copy; Copyright 2011 by <a href="http://domain.invalid/">you</a>.
            {% endblock %}
        </div>
    </body>
</html>

Would be used like this in a pattern:

{% extends "base.twig" %}

{% block title %}Index{% endblock %}
{% block head %}
    {{ parent() }}
    <style type="text/css">
        .important { color: #336699; }
    </style>
{% endblock %}
{% block content %}
    <h1>Index</h1>
    <p class="important">
        Welcome on my awesome homepage.
    </p>
{% endblock %}

All uses of extends above also work with includes, embed and most likely many other Twig Tags. Let us know if you run into interesting or unexpected use cases!

Extending Twig Further

Twig comes with a number of ways to extend the underlying template parser. You can you can add extra tags, filters, tests, and functions. The Twig PatternEngine tries to simplify these extensions by allowing you to create files in specific folders and then auto-load the extensions for you. Learn more about:

You can also:

Filters

The requirements for using filters with Pattern Lab:

  • Files must go in source/_twig-components/filters
  • Files must have the extension .filter.php (this can be modified in the config)
  • The filter must set the variable $filter
  • Only one filter per file (e.g. can only set $filter once per file)

An example function called rot13.filter.php in source/_twig-components/filters:

<?php

$filter = new Twig_SimpleFilter('rot13', function ($string) {
	return str_rot13($string);
});

?>

This filter would be used like this in a pattern:

{{ bar|rot13 }}

Functions

The requirements for using functions with Pattern Lab:

  • Files must go in source/_twig-components/functions
  • Files must have the extension .function.php (this can be modified in the config)
  • The function must set the variable $function
  • Only one function per file (e.g. can only set $function once per file)

An example function called boo.function.php in source/_twig-components/functions:

<?php

$function = new Twig_SimpleFunction('boo', function ($string) {
	return $string." boo! ";
});

?>

This function would be used like this in a pattern:

{{ boo("ghost says what?") }}

Tests

The requirements for using tests with Pattern Lab:

  • Files must go in source/_twig-components/tests
  • Files must have the extension .test.php (this can be modified in the config)
  • The test must set the variable $test
  • Only one test per file (e.g. can only set $test once per file)

An example of a simple test called red.test.php in source/_twig-components/tests:

<?php

$test = new Twig_SimpleTest('red', function ($value) {

	if (isset($value["color"]) && $value["color"] == 'red') {
		return true;
	}

	return false;
});

?>

This test would be used like this in a pattern:

{% if shirt is red %}
	Why did I ever sign-up with Starfleet?
{% endif %}

Where the JSON for the data to set shirt would be:

"shirt": {
	"color": "red"
}

Reminder: all data in Pattern Lab is stored as an array and not as an object. So $object->attribute won't work in tests.

Tags

The requirements for using tags with Pattern Lab:

  • Files must go in source/_twig-components/tags
  • Files must have the extension .tag.php (this can be modified in the config)
  • The filename must be reflected in class names. (e.g. Project_{filename}_Node and Project_{filename}_TokenParser)
  • Only one tag per file

Tags are the most complicated extension to set-up with Pattern Lab. Three steps are needed to define a new tag in Twig:

  • Defining a Token Parser class (responsible for parsing the template code)
  • Defining a Node class (responsible for converting the parsed code to PHP)
  • Registering the tag.

Pattern Lab takes care of the registering for you based on the file name.

An example of a simple tag called setdupe.tag.php in source/_twig-components/tags that mimics the default set tag. Please note all of the locations where class names incorporate the filename, setdupe.

<?php

// these files are loaded three times and we can't re-set a class
if (!class_exists("Project_setdupe_Node")) {

	class Project_setdupe_Node extends Twig_Node {

		public function __construct($name, Twig_Node_Expression $value, $line, $tag = null) {
			parent::__construct(array('value' => $value), array('name' => $name), $line, $tag);
		}

		public function compile(Twig_Compiler $compiler) {
			$compiler
				->addDebugInfo($this)
				->write('$context[\''.$this->getAttribute('name').'\'] = ')
				->subcompile($this->getNode('value'))
				->raw(";\n");
		}

	}

}

// these files are loaded three times and we can't re-set a class
if (!class_exists("Project_setdupe_TokenParser")) {

	class Project_setdupe_TokenParser extends Twig_TokenParser {

		public function parse(Twig_Token $token) {

			$parser = $this->parser;
			$stream = $parser->getStream();

			$name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
			$stream->expect(Twig_Token::OPERATOR_TYPE, '=');
			$value = $parser->getExpressionParser()->parseExpression();
			$stream->expect(Twig_Token::BLOCK_END_TYPE);

			return new Project_setdupe_Node($name, $value, $token->getLine(), $this->getTag());
		}

		public function getTag() {
			return 'setdupe';
		}

	}

}

?>

This tag would be used like this in a pattern:

{% setdupe name = "Ziggy" %}
{{ name }}

Enable dump()

To use dump() set twigDebug in config/config.yml to true.

Modify the Default Date and Interval Formats

You can modify the default date and interval formats for Twig by editing the twigDefaultDateFormat and twigDefaultIntervalFormat in config/config.yml. Set them to an empty string to use Twig's default formats. Please note: both must be set for this feature to work.

Quickly Disable Extensions

To disable extensions that you're no longer using simply add an underscore to the beginning of a filename and then re-generate your site. For example, the enabled rot13 filter:

source/_twig-components/filters/rot13.filter.php

And the disabled rot13 filter:

source/_twig-components/filters/_rot13.filter.php

Then re-generate your Pattern Lab site with:

php core/console --generate

Available Loaders

If you're building a plugin that will be parsing Twig files you have access to three loaders. It's recommended that you use these instead of accessing Twig directly as these loaders will work with other PatternEngines.

The String Loader

The string loader takes a simple string and compiles it. To use:

$data         = array("hello" => "world");
$string       = "If I say hello you say {{ hello }}.";
$stringLoader = \PatternLab\Template::getStringLoader();
$output       = $stringLoader->render(array("string" => $string, "data" => $data));
print $output; // outputs "If I say hello you say world."

The Filesystem Loader

The filesystem loader will look for templates in the configured StyleguideKit directory and compile them. The template location for the filesystem loader can't be modified. To use:

$data             = array(...);
$filesystemLoader = \PatternLab\Template::getFilesystemLoader();
$output           = $filesystemLoader->render(array("template" => "viewall", "data" => $data));
print $output; // outputs the viewall view from the configured styleguidekit

The Pattern Loader

The pattern loader looks for patterns and allows the use of the Pattern Lab-specific partial syntax. To use:

$data                  = array(...);
$patternContent        = file_get_contents("path/to/pattern");
$patternEngineBasePath = \PatternLab\PatternEngine::getInstance()->getBasePath();
$patternLoaderClass    = $patternEngineBasePath."\Loaders\PatternLoader";
$patternLoader         = new $patternLoaderClass($options);
$code                  = $patternLoader->render(array("pattern" => $patternContent, "data" => $data));
print $output; // outputs the given pattern

alps's People

Contributors

alexgreendesign avatar claytonk avatar crystalvitelli avatar dallas avatar davideleuterius avatar dependabot[bot] avatar designerbrent avatar eduludi avatar hans-olson avatar johnrbeckett avatar joslemmons avatar jpetroviak avatar kelscahill avatar khetho avatar mattleff avatar nestorescobar avatar reganking avatar sergsadovyi avatar srhannah18 avatar tpitre avatar vibby avatar yauhenikapliarchuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alps's Issues

Concerns about molecules, atoms and template's structure

Sometimes a lot of HTML code is repeated in some components. Here is a simple example:

<div class="article__meta">
  <span class="pub_date font--secondary--s gray can-be--white">{{ pub_date }}</span> <span class="divider">|</span>
  <span class="pub_region font--secondary--s gray can-be--white">{{ pub_region }}</span> <span class="divider">|</span>
  {{> molecules-byline }}
</div>

Questions:

  1. Why is byline a molecule, but pub_date and pub_region are not? :

     <!-- Molecules/Text/Byline -->
     <span class="byline font--secondary--s gray can-be--white">{{ byline }}</span>
  2. Shouldn't byline be an atom instead of a molecule?

In my opinion a molecule (or maybe better an atom) can be used for all of them. Here is an example of what I mean:

<!-- Molecule/Components/ArticleMeta -->
<div class="article__meta">
    {{> atom-meta-info(text: pub_date, type: 'pub_date', not_last: true) }}
    {{> atom-meta-info(text: pub_region, type: 'pub_region', not_last: true) }}
    {{> atom-meta-info(text: author, type: 'byline') }}
</div>

<!-- Atoms/Text/MetaInfo -->
{{# text }}
    <span class="{type} font--secondary--s gray can-be--white">{text}</span> 
    {{# not_last }} <span class="divider">|</span>{{/ not_last }}
{{/ text }}

In other cases, like in organisms-news-content, there is a lot of repeated code:

screen_shot_2016-08-25_at_11_19_36

We are not going to take advantage of the patterns by having similar pieces of code spread all over the project. As it is now, if we need to to some changes (like removing a class in some titles), we need to modify several files or sections, and it's easy to forget stuff in the process.

Mid-width Hero

Not sure the proper title for this, but here is the problem. The full-bleed hero's are great, when you can art direct the images and get really good photography. The challenge is that some of our sites don't have that option/ability. In talking with Clayton, that has been on of this biggest challenges with his clients in the building. One method he has done to address that can be seen on the dev Mission 360 TV site. It allows the user to upload a basic picture size, but then adds a CSS gradient out to a solid color on the sides. This way you still get the full-bleed visual, but with images that aren't full-bleed quality.

A few examples:

Rename: News

Most of the patterns starting with news should be renamed to microsite, including organism > content > news content, and templates > news.

2 column carousel has issues at some narrow widths

The 2 column carousel has some issues at narrow widths. As you can see from the screenshot, the dots dissappear when the ratios are wrong and the description is long.

The dots should be still over the image till after they turn gray.

screenshot 2016-05-17 14 11 46

Single Page Site Template

The next template I would like to have would be a single page site template. I've mocked up a sample, attached below. I can see the following patterns that will be needed:

Grid:

  • 70/30
  • 30/70
  • 50/50
  • 33/34/33
  • 100

Media:

Parallax:

  • Pattern for adding a basic parallax effect to a full width image.

Text:

  • Contact information (hcard micro-format)

single page alps

PL Style: View all shows HTML inside iframe

I'm noticing that the "View All" option shows the "HTML" and Annotations inside the iframe. Is that why you had "View All" turned off?

Is there a way to have "View All" just show the patterns and not the html for each item inside the frame, but still show it for the individual ones? Does this need to be done via CSS, @tpitre ?

Inconsistencies between subnavs classes

Under .primary-nav, sub navigations (and their items and links) have the prefix .primary-nav__:

  • <ul> with class .primary-nav__subnav
  • <li> with class .primary-nav__subnav__list-item
  • <a> with class .primary-nav__subnav__list-link

In the other hand, under .secondary-nav they have simple names, and consistent with BEM:

  • <ul> with class .subnav__list
  • <li> with class .subnav__list-item
  • <a> with class .subnav__list-link

Is possible to update this to use class names like .secondary-nav? Personally, I think that this will simplify a lot the implementation of this design.

Nested selectors can be used to achieve the same effect like this :

  • .primary-nav .subnav__list {...}
  • .primary-nav .subnav__list-item {...}
  • .primary-nav .subnav__list-link {...}

Thanks!

Autogenerated comments getting generated too many times

The autogenerated comments are getting added too many times and in the wrong CSS files.
/* Autogenerated, do not edit. All changes will be undone. */ /* Mon Aug 15 2016 17:42:46 GMT-0400 (EDT) */

They need to be more limited in the scope they cover to just include the CDN files. Currently showing in styleguide-specific.css

Look into the grunt deploybot commands

Everytime we deploy code on the ALPS server, it rebuilds the code in the CDN folder, leaving local changes on the server and making the deploybot deployment break.

See about removing the css command from grunt deploybot if it resolves the issue.

Whitespace / Annotations

I've noticed a strange thing that is happening recently. I've been looking back through the commits to try and understand why it's happening, but can't figure it out.

On almost every page, the .sg-annotation-container is showing up and pushing everything down. Is there anything that can be done to correct this, @tpitre?

Missing Search SVG icon

Looks like http://cdn.adventist.io/alps/2/images/icons/icon-search.svg is not available in the CDN.

screen shot 2016-08-25 at 12 06 38

Hide Code on View All

When you use the "View All" option, the code shows only the first item. The code should be hidden on that view.

Simple Pagination

The simple pagination is a simplified version of the pagination molecule with just the current and total number of pages and simple next and previous buttons.

simple pagination

Hide Annotations

Is it possible to add a show/hide option to the annotations? (Preferably not in the menu, but near the .sg-annotation-container?)

RTL & i18n pagination pattern

There is no way to provide an alternate spelling or wording for the pagination pattern.

Additionally, the arrows turned out backwards. If we can edit the words in the json file, we could switch the arrows.
pagination_screenshot_2016-05-11_09 01 17

Usability for aside-nav on small screens

In talking with Tobias & Eduardo from Stimme, they raised the issue of the placement of the aside-nav on small screens. The challenge is that when it gets narrow, the menu, which tends to be used as a sub nav at times, ends up being half-way down the page. Something the did to meet that challenge on the HopeChannel website was to pull it out of line with Javascript and add another hamburger menu.

The menu that I would like to see moved up is the one in the sidebar here:
1lxqm

An example of how we have used this in practice is the site for our world General Conference Session site. As it worked out, since we were using the main and secondary navigation from Adventist.org, the only navigation available within the context of the microsite was the "news menu" and the sidebar. So the "news menu" became the primary navigation, and the sidebar became the secondary navigation on the site. (See the session site.)

All that is to say it would be nice to have it higher on the page for the narrow view.

This issue is being moved over from Trello

One idea proposed by @tpitre on the Trello board was to use flexbox order to reorder this on narrow views.

News Article and Article

There is a bit of a question with the difference between the news article template and the article templates. Both are inside the microsite template but seem to be similar content. Can we rename article to news article - minimal since that is basically what it is?

Full page width block

A full width block would be something that would break out of the grid and be the full width of the browser window to allow a picture or colored background to break out of the grid. These work best in single column layouts.

Example:

full width block

Breadcrumbs

One thing that we didn't really take into account was breadcrumbs. This is something that has been requested as it is used on several sites currently. The ModX implementation currently being developed has put the breadcrumbs in the kicker of the header. (See attached)

I'd prefer to see them in the body section of white below that image.

2016-08-18 at 2 12 pm

I'm going to do a little research and will try to make a comp to work off.

New Grid: Center Column Text

We need to create a new grid option based on the two attached PNGs. This one will allow for a center column of text with images and pull quotes that can push to either said of the text.

the-making-of
about-the-film

Separate TopHat to it's own molecule

The tophat that is included in the header organism needs to be split out into it's own molecule. When it get separated, we need to also add a link on the logo in the tophat that links to Adventist.org.

  • Create a new tophat molecule
  • Add a link to Adventist.org on the logo in the molecule.

3 Column Grid

We need a 3 column grid. I've experimented with doing a grid based on flexbox, allowing "media cards" to organize in a Z fashion.

3 column grid

Header bug in Windows

I pulled up the a version of the site, http://telltheworld.adventist.org, in BrowserStack and Windows 10. In Edge 14, it looks good, but in Explorer 11, I'm seeing the attached errors.

Additionally, I setup a test to run on the Homepage url in ALPS and also the one live site I have ATM. The results are here:

win10_ie_11 0 1
win10_ie_11 0

Slight overlap on submenu arrows

When there are more then one submenu items in a row, the down arrow on the menu to the left overlaps the surrounding space on the current menu item.

Can the arrow be tightened up (moved to the left) to make it fit closer?

2016-08-18 at 1 58 pm

Irregular Grid Appearance

The placing of the horizontal lines in the content grid (http://alps.adventist.io/public/?p=organisms-grid-3up-content) makes the grid appear to be an irregular grid, when it is in fact a very neat, regular, well-aligned grid:

screen shot 2016-09-22 at 12 16 47 pm

screen shot 2016-09-22 at 12 24 44 pm

Would it perhaps make sense to tweak that so that all the lines aligned in a line?

Or, as Martin would put it, would it make sense to convert .with-divider to add a border-top to the container and a border-bottom to individual .gi .pad elements? This would remove the need for <hr> tags. A second class could be added to do equal height columns by putting the bottom-border on .gi.

Then it could look like the following example where all the content was luckily the same length.

screen shot 2016-09-22 at 12 17 55 pm

Pagination has inconsistent placement

Pagination throughout the ALPS site is inconsistent on the placement. It is included currently in articles but not at the bottom of search results or the news channel.

RTL Language chooser

The language chooser looks a little odd with the icons both on the left. Should the globe icon be on the right?

language_chooser_screenshot_2016-05-11_09 06 12

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.