/sushi

Sushi is Design System build for SET

Primary LanguageSCSS

Sushi

Sushi Design System helps us work together to build great experience for all of SET co-workers and listed companies.

We prepare HTML/CSS component as building blocks when you develop new products and features. We also prepare Figma's components for designers who prepare prototypes before development.

Sushi screen

See the actual result here: https://set-design-system.github.io/sushi/

See Figma file here: SET Main web

Install

  • Navigate to the directory where the sushi folder is located using Terminal.
  • Execute npm install.

If you don't have npm

  • Install Homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  • Install node: brew install node

Run

Compile icon SET

  • Prepare SVG icons in /assets/icons
  • Execute gulp compile-font-icon

New fonts (eot, ttf and woff) will generate in /assets/fonts along with /src/scss/icon_font.scss

[Note] Certain export formats (e.g. TrueType fonts) only support SVG's the non-zero fill rule. You can use Fill-Rule-Editor plugin to manually convert even-odd to non-zero to make the exporters for these formats work. Here is Youtube for manual

Folder Structure

+ assets : Asset after compiled
  + css
  + download
  + fonts
  + icons
  + images
  + js
+ src
  + pug
    + base
      - base.pug : HTML, HEADER, BODY, CSS, Java Script.
    + content
      - [content].pug : Content that not component
    + pages
      - index.pug : Main index.
      - [compoent].pug : Each components will have their own page.
  + sass
    + components
      - ss-[components].sass : Put components style here
    - base.scss: Style that use across all component
    - icon_font.sass: Config name of icons
    - sushi-page.scss: Style for this site but not relate to component
    - sushi.sass : Import all component here
    - variables.sass : All SCSS variable define here;
- index.html : Home page.
- [component].html : Page for each components.

Todo

  • Programatic color
  • Move from gulp to parcel (Parcel design for application not simple web and we solve gulp-scss stability already)
  • Fix SVG icon for some missing render
  • TextField @mike
  • Button bug on safari #1
  • Basic Table (Complicate table will change in future)

SASS Guideline

RSCSS Website

https://rscss.apirak.com/

Why Pug & SCSS

It's not just about beautiful syntax. Pug and SCSS allow us to write modular and reusable markup.