RIDI Style Guide

HTML / Twig / Jinja2 코딩 스타일

웹표준과 웹접근성

HTML5

Twig / Jinja2

html 부분의 컨벤션은 위의 HTML5 컨벤션을 기본적으로 따르도록 한다.

BASE_TEMPLATE 을 extends 하여 사용할 시에 기본적인 구조

meta, style, script 블럭을 선언 하여 사용할시에 기본 base 트윅에서 해당 블럭을 상속받으려는 경우 {{ parent() }} 를 선언 해준다.

{% block meta %}
  // 메타 태그 영역
{% endblock %}
 
{% block style %} 
 // 스타일시트 영역
{% endblock %}
  
{% block script %}
 // 스크립트 영역
{% endblock %}
  
{% block header_bottom %}
 // 헤더의 가장 마지막 줄인 base.gnb 가 들어갈 영역 ( 상황에 따라 쓰이는 경우와 안쓰이는 경우가 있어 블럭 처리 )
{% endblock %}
  
{% block contents %}
 // 본 내용이 들어갈 공간
{% endblock %}

{% block bottomscript %}
 // body 내부에서 가장 최하단에 들어갈 스크립트 영역 ( 리액트 등에서 사용 )
{% endblock bottomscript %}

if 를 사용할때 조건이 길어져서 줄바꿈을 하는 경우에는 or, and 등의 비교 연산자를 줄의 가장 앞에 오도록 선언한다.

예시)

{% if example_a == 1
      or example_b == 2
      and example_c == 3 %}
// code

{% endif %}

줄바꿈과 들여쓰기

Tag 주의사항

Tag Comment
div, span 절대적으로 최소화 해서 사용.
div 와 span을 남용할 경우 소스의 가독성이 떨어진다.
table thead, tfoot, tbody 구분을 명확히 해야하며 th 와 td 또한 구분해서 사용해야 한다.
caption 또한 가능하면 넣어준다.
button, a 둘을 명확히 구분해서 사용해야 한다. 별다른 동작이 필요없이 link 역할을 할때에는 a 를, JS와의 연동 혹은 submit 역할을 할때에는 button 을 사용한다.
button을 사용할 시에 특정 type 이 지정되지 않을 경우에 type=”button” 을 항상 명시해준다.
img alt 를 반드시 넣어준다.
form요소 디자인을 위한 Custom UI 를 구현할 때에도 반드시 form 요소들을 사용해야한다.
nav 사이트 최상위 메뉴(GNB 영역)에 한번만 사용한다.

Class, ID 네이밍 규칙

참고