Skip to content

trevianxyz/abai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abai Center

Changes (27 May)

  • Change body font to Georgia or Garamond.
  • Put the "Kazakhstan and Central Asia through the eyes of Western Travelers" section (image) above the image Abai Poetry Contest.
  • Mobile version of Abai's verses is still not working. Fix it please.
  • Please modernize the section about Kazakhstan using beautiful images. Please find the image for Culture section attached. Try to improve it with an interesting and brief facts on your hand. I will try to send you some info on this.
  • Please create a Tourism or Visit Kazakhstan subsection (in about Kazakhstan section) using the information from https://kazakhstan.travel/.
  • Remove the subsection on History (it causes many disputes)
  • Add the Kazakh films that I've sent you Josh. Try to put their name on top of them.
    • Myn Bala: Warriors of the Steppe
    • Kazakh Khanate: Diamond Sword
    • Kunanbai
    • The Road to Mother
  • Add the new French traveller article

Content Types

Posts

Contentful: Space: Emb; Content Type: Posts Domain: https://kazakhembus.com/news/

  1. Please replicate functionality of White House News/Articles/Statements section: https://www.whitehouse.gov/news/

  2. on embassy website, Categories may display on the left margin/sidenav, as is done with the styleguide.html Layout.

  3. Similar categories are a field (named Category) in the Posts content type.

    Note: the Emb Space is imported into two repos: embassy (emb in DC) and cgnyc (consulate general in nyc).

  4. There is a Posts required Field named locationNews with options for: mfa, dc, nyc, sf. Posts tagged mfa and dc should be imported into the embassy repo. Posts tagged mfa and nyc will be imported into the cgnyc repo.

  5. Post have a Tag field with an issue. I would like to have a filter by tag feature. This can be displayed as a simple dropdown select on the left margin.

Sections

Jekyll generated

css & all Assets directory content from U.S. Web Design System.

U.S. Web Design System

CircleCI Build Status Test Coverage

The U.S. Web Design System includes a library of open source UI components and a visual style guide for U.S. federal government websites.

This repository is for the Design System itself. We maintain another repository for the documentation and website. To see the Design System and documentation on the web, visit https://designsystem.digital.gov.

Contents

Background

The components and style guide of the U.S. Web Design System follows industry-standard web accessibility guidelines and use the best practices of existing style libraries and modern web design. The U.S. Digital Service and 18F created the U.S. Web Design System for designers and developers. The U.S. Web Design System is a project of GSA’s Technology Transformation Service, maintained by the Office of Products and Programs. They are designed for use by government product teams who want to create beautiful, easy-to-use online experiences for the public. To learn more about the project, check out this blog post and to view websites and applications check out our list here.

Recent updates

Information about the most recent release of the Design System can always be found in the release history. We include details about significant updates and any backwards incompatible changes along with a list of all changes.

Getting started

We’re glad you’d like to use the Design System — here’s how you can get started:

Using the Design System

There are a few different ways to use the Design System within your project. Which one you choose depends on the needs of your project and how you are most comfortable working. Here are a few notes on what to consider when deciding which installation method to use:

Download the Design System if:

  • You are not familiar with npm and package management.

Use the Design System npm package if:

  • You are familiar with using npm and package management.

Install using npm

npm is a package manager for Node based projects. The U.S. Web Design System maintains a uswds package for you to utilize both the pre-compiled and compiled files on your project.

  1. Install Node/npm. Below is a link to find the install method that coincides with your operating system:

    Note for Windows users: If you are using Windows and are unfamiliar with Node or npm, we recommend following Team Treehouse's tutorial for more information.

  2. Make sure you have installed it correctly:

    npm -v
    3.10.8 # This line may vary depending on what version of Node you've installed.
  3. Create a package.json file. You can do this manually, but an easier method is to use the npm init command. This command will prompt you with a few questions to create your package.json file.

  4. Add uswds to your project’s package.json:

    npm install --save uswds

The uswds module is now installed as a dependency. You can use the un-compiled files found in the src/ or the compiled files in the dist/ directory.

node_modules/uswds/
├── dist/
│   ├── css/
│   ├── fonts/
│   ├── img/
│   ├── js/
│   └── scss/
└── src/
    |── components/
    ├── fonts/
    ├── img/
    ├── js/
    └── stylesheets/

Importing assets

Since you are already using npm, the U.S. Web Design System team recommends leveraging the ability to write custom scripts. Here are some links to how we do this with our docs website using npm + gulp:

Link to npm scripts example in uswds-site

Link to gulpfile.js example in uswds-site

Sass

The Design System is easily customizable using the power of Sass (Syntactically Awesome Style Sheets). The main Sass (SCSS) source file is located here:

node_modules/uswds/src/stylesheets/uswds.scss

Global variables are defined in the node_modules/uswds/src/stylesheets/core/_variables.scss file. Custom theming can be done by copying the _variables.scss file into your own project’s Sass folder, changing applicable variable values, and importing it before uswds.scss.

Below is an example of how you might setup your main Sass file to achieve this:

@import 'variables.scss'; # Custom Sass variables file
@import 'node_modules/uswds/src/stylesheets/uswds.scss';

You can now use your copied version of _variables.scss to override any styles to create a more custom look and feel to your application.

The Design System uses gulp-autoprefixer to automatically add vendor prefixes to the precompiled stylesheets (css/uswds.min.css and css/uswds.css) however prefixes will not be applied when using the Sass source files directly. If your project requires the use of Sass and vendor prefixes we recommend incorportaing a plugin such as Autoprefixer into your build process.

JavaScript

require('uswds') will load all of the U.S. Web Design System’s JavaScript onto the page. Add this line to whatever initializer you use to load JavaScript into your application.

Use another framework or package manager

If you’re using another framework or package manager that doesn’t support npm, you can find the source files in this repository and use them in your project. Otherwise, we recommend that you follow the download instructions. Please note that the core team isn’t responsible for all frameworks’ implementations.

If you’re interested in maintaining a package that helps us distribute the U.S. Web Design System, the project’s build system can help you create distribution bundles to use in your project. Please read our contributing guidelines to locally build distributions for your framework or package manager.

CSS architecture

  • The CSS foundation of this site is built with the Sass preprocessor language.
  • Uses Bourbon for its simple and lightweight Sass mixin library, and the Neat library for the grid framework. Bourbon and Neat are open-source products from thoughtbot.
  • The CSS organization and naming conventions follow 18F’s CSS Front End Guide.
  • CSS selectors are prefixed with usa (For example: .usa-button). This identifier helps the design system avoid conflicts with other styles on a site which are not part of the U.S. Web Design System.
  • Uses a modified BEM approach created by 18F for naming CSS selectors. Objects in CSS are separated by single dashes. Multi-word objects are separated by an underscore (For example: .usa-button-cool_feature-active).
  • Uses modular CSS for scalable, modular, and flexible code.
  • Uses nesting when appropriate. Nest minimally with up to two levels of nesting.
  • Hard-coded magic numbers are avoided and, if necessary, defined in the core/variables scss file.
  • Media queries are built mobile first.
  • Spacing units are as much as possible defined as rem or em units so they scale appropriately with text size. Pixels can be used for detail work and should not exceed 5px (For example: 3px borders).

For more information, visit: 18F’s CSS Front End Guide

JS customization

Unfortunately, customizing the JavaScript for the USWDS currently requires NodeJS and a module bundler like Browserify or Webpack. We apologize for this inconvenience, and are working to resolve it in a future release of the Design System.

The JavaScript for the USWDS is separated into components in the same manner as the visual interface which is all initialized with event handlers when the DOM is ready. These components are accessible as CommonJS modules that can be required in other JavaScript files which then must be built for the browser. The components are currently not accessible in the global browser scope, but can be extended to be included by requiring components and setting it to a global scope:

window.uswds = require('./components');

Each component has a standardized interface that can be used to extend it further. The components store a HTML class name (e.g. .usa-accordion-button[aria-controls]) that's used to link HTML elements with the JS component, so when a component is initialized, it will search through the current HTML DOM finding all elements that match its class and inialize the component JavaScript for those elements. The primary methods each component has are as follows:

  • on: Initialize a component's JavaScript behavior by passing the root element, such as window.document.
  • off: The opposite of on, de-initializes a component, removing any JavaScript event handlers on the component.
  • hide: Hide the whole component.
  • show: Shows a whole, hidden component.
  • toggle: Toggles the visibility of a component on and off based on the previous state.

Some components have additional methods for manipulating specific aspects of them based on what they are and what they do. These can be found in the component's JS file.

Customization and theming

The Design System can be customized to use different typography, colors and grid systems. The easiest way to do this is to use Sass and override the Design System’s global variables. If it isn’t possible to use Sass, do theming by overriding the CSS rules in the Design System set.

To start theming through Sass, copy the core/variables file into your own project’s Sass folder, changing applicable variable values, and importing it before the WDS. Below is an example of customizing the import of the Design System's all.scss file.

// src/main.scss
@import 'path/to/my/scss/files/main/scss/my-custom-vars';
@import 'lib/uswds/src/stylesheets/all';
// path/to/my/scss/files/main/scss/my-custom_vars.scss

// Colors
$color-primary: #2c3e50;
$color-secondary: #ad2020;
$color-secondary-dark: #b0392e;

// Typography
$font-serif: 'Georgia', 'Times', serif;
$h2-font-size: 2rem;
$h3-font-size: 1.75rem;
$heading-line-height: 1.4;

// Grid/breakpoints
$small-screen:  540px !default;
$medium-screen: 620px !default;
$large-screen:  1120px !default;

Set the base asset path (fonts and images)

If you copy the USWDS dist directory to a folder on your project or your fonts and images are in the same folder, set the location of the directory with $asset-path: path/to/my/assets/. The default is set to $asset-path: ../. This will be appended to the font and image path variables so you only need to set this variable. You can also set the font and image paths individually:

$font-path: path/to/my/fonts;
$image-path: path/to/my/images;

NOTE: If you plan on upgrading to newer versions of the Design System in the future, or are not using your own forked version of the Design System, try to avoid making changes in the Design System folder itself. Doing so could make it impossible to upgrade in the future without undoing your custom changes.

Main variables that can be customized

  • Colors can be found in the core/variables file, line 35.
  • Font families can be found in the core/variables file, line 28.
  • Typography sizing can be found in core/variables file, line 13.
  • Grid and breakpoint settings can be found in core/variables file, line 87.

Where things live

  • HTML markup for the components is located in: src/html in the site root.
  • Sass styles are located in: src/stylesheets/ (/core, /elements, /components). Compiled CSS is located in the downloadable zip file.
  • JS is located in: src/js/components (accordion.js, toggle-field-mark.js, toggle-form-input.js, validator.js).
  • Fonts are located in: src/fonts.
  • Images and icons are located in: src/img.

Browser support

We’ve designed the Design System to support older and newer browsers through progressive enhancement. The current major version of the Design System (1.0) is designed to support the newest versions of Chrome, Firefox, Safari, and Internet Explorer 9 and up. The next major release (2.0) will follow the 2% rule: we will officially support any browser above 2% usage as observed by analytics.usa.gov. Currently, this means that the Design System version 2.0 will support the newest versions of Chrome, Firefox, Safari, and Internet Explorer 11 and up.

Accessibility

The Design System also meets the WCAG 2.0 AA accessibility guidelines and conforms to the standards of Section 508 of the Rehabilitation Act. We’re happy to answer questions about accessibility — email us for more information.

Fractal

We're using Fractal to generate an interactive component library for the Design System. You can run it locally after npm install with:

npm start

Then, visit http://localhost:3000/ to see the Design System in action.

Optional: To re-build when code changes are made, run the following command from the project directory in a separate terminal window:

npm run watch

Template compatibility

Many of our Fractal view templates are compatible with Nunjucks (for JavaScript/Node), Jinja (Python), and Twig (PHP) out of the box. Components that reference other components use a Fractal-specific {% render %} tag that will either need to be implemented in other environments or replaced with the appropriate {% include %} tags.

Need installation help?

Do you have questions or need help with setup? Did you run into any weird errors while following these instructions? Feel free to open an issue here:

https://github.com/uswds/uswds/issues.

You can also email us directly at [email protected].

Contributing to the code base

For complete instructions on how to contribute code, please read CONTRIBUTING.md. These instructions also include guidance on how to set up your own copy of the Design System style guide website for development.

If you would like to learn more about our workflow process, check out the Workflow and Issue label Glossary pages on the wiki.

If you have questions or concerns about our contributing workflow, please contact us by filing a GitHub issue or emailing our team.

Reuse of open-source style guides

Much of the guidance in the U.S. Web Design System leans on open source designs, code, and patterns from other civic and government organizations, including:

Licenses and attribution

A few parts of this project are not in the public domain. Attribution and licensing information for those parts are described in detail in LICENSE.md.

The rest of this project is in the worldwide public domain, released under the CC0 1.0 Universal public domain dedication.

Contributing

All contributions to this project will be released under the CC0 dedication alongside the public domain portions of this project. For more information, see CONTRIBUTING.md.

In this file, you define the documentation left-side navigation

_data/nav.yaml Notice the key Documentation

Documentation:

  • text: Overview href: /documentation/
  • text: Implementations href: /documentation/implementations/ equals the value of the category key in the frontmatter in the file

/documentation/overview.md Frontmatter:

permalink: /documentation/
layout: styleguide
title: Documentation
category: Documentation
lead: The U.S. Web Design System provides design guidelines and code to help you quickly create trustworthy, accessible, and consistent digital government services.
subnav:
- text: Installation
  href: '#installation'
- text: CSS architecture
  href: '#css-architecture'
- text: JS customization
  href: '#js-customization'
- text: Customization and theming
  href: '#customization-and-theming'
- text: Where things live
  href: '#where-things-live'
- text: Browser support
  href: '#browser-support'
- text: Accessibility
  href: '#accessibility'
- text: Fractal
  href: '#fractal'
- text: Need installation help?
  href: '#need-installation-help'
- text: Contributing
  href: '#contributing-to-the-code-base'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published