Notice 클래스 활용하기
관련 커밋: 링크
목표
나는 정의, 명제, 예시 등등 많은 블록을 만들어야 하므로 이들을 추가할 필요가 있었다. 또, 폰트 수정 포스트에서도 언급했듯 한글 강조를 위한 태그 <em_ko>
를 새로 만들기로 하였다. 대부분의 경우 이렇게 태그를 새로 만들기보다는 <span class="em_ko">
와 같이 하는 것이 좋다고는 들었는데, 나는 마크다운 파일을 읽을 때에도 흐름이 끊기지 않게 하고싶었기 때문에 HTML 태그를 인라인에서 저렇게 길게 입력하는 것은 선택지가 아니었다.
notice 박스 추가
우선 블록들은 _sass/minimal-mistakes/_notices.scss
에서 수정할 수 있다. 기본 알림은 다음의 코드
/* Warning notice */
.notice--warning {
@include notice($warning-color);
}
로 정의되며, 마크다운에서
알림
{: .notice--warning}
를 입력하면
알림
과 같이 나온다. 간혹 여러 줄이 필요할 때는
<div class="notice--warning" markdown="1">
한 줄
두 줄
</div>
과 같이 입력하면
한 줄
두 줄
이 된다. 태그 markdown="1"
은 div
안에서 markdown을 사용하겠다는 의미이다. 이들 박스의 색상은 우선 _variables.scss
에서 기본값이 주어지며, 로드해 온 스킨에서 이들 색상을 지정해줬다면 우선적으로 스킨의 색상이 적용된다.
따라서 나는 _notices.scss
파일에 다음과 같이 새로운 코드를 추가하여 definition 클래스가 정의되도록 하였고,
/* Personal notice settings */
.definition {
@include notice($definition-color);
}
새로 만드는 스킨 _custom.scss
에 이들 클래스에 대한 색상을 지정해주었다.
/* Math notice colors */
$definition-color: #b2dfdb !default; // Teal 100
$proposition-color: #c5cae9 !default; // Indigo 100
$proof-color: #cfd8dc !default; // Blue Grey 100
$example-color: #c8e6c9 !default; // Green 100
$remark-color: #f8bbd0 !default; // Pink 100
$misc-color: #d4ccc8 !default; // Grey 400
$spoiler-color: #ff4301 !default;
마지막으로, 나중에 스킨을 바꿨을 때 위의 색상들이 없어도 오류가 생기지 않도록1 똑같은 코드를 _variables.scss
에도 복사해놓았다. 위의 코드로 얻어지는 상자는 다음과 같다.
정의 상자
추가적으로, 시작부분에 달아주는 넘버링이 정리, 혹은 정의의 내용과 멀리 떨어져 있도록 하기 위해서 _base.scss
의 ins
태그 관련 부분을 다음과 같이 수정했다.
u,
ins {
text-decoration: none;
border-bottom: 2px solid $text-color;
margin-right: 1em;
padding-left: .1em;
padding-right: .1em;
a {
color: inherit;
}
}
이제 정의를 적을 때, 다음과 같이 적을 수 있게 되었다.
정의 이것은 정의이다.
특별히 증명의 경우, <details>
태그를 이용하여 증명을 접었다 펼 수 있게 했다. <summary>
태그로 증명이 접혀있을 때에도 증명이란 단어가 보이도록 할 수 있는데, 일반 글씨체로 적혀있으면 쉽게 지나칠 수 있을 것 같아 이탤릭체로 강조하였다.
한글/영문명 병기
수학 공부를 하다보면 한글용어와 영문용어가 많이 섞여있는데, 처음 용어를 정의할 때에는 영문 용어와 한글 용어를 모두 소개하는 것이 바람직할 것이라 생각했다.
이를 위해 정의를 내릴 때 HTML의 <sub>
태그를 사용하기로 하고 다음과 같은 코드를 역시 _base.scss
에 추가하였다.
sub {
font-size: .6em;
color: #9e9e9e;
}
이제 정의에서 다음과 같은 모양을 만들 수 있게 되었다.
정의 이것은 정의definition이다.
한글 강조 태그 작성
위에서도 언급했듯 <em_ko>
태그를 추가하였다. 한글 강조를 위한 폰트는 이미 폰트 수정을 할 때 추가해두었으니, _base.scss
파일에서 해당 태그에 대한 스타일만 지정해주면 된다.
em_ko {
font-family: "MyEmphFont";
font-size: 1.05em;
vertical-align: -.1em;
}
강조 폰트와 그렇지 않은 폰트가 서로 다른 폰트이다보니, 폰트 크기나 폰트의 수직방향 정렬이 잘 맞지 않아 미세하게 조정을 해 주었다.
기타 태그 수정
그 외에 여러 태그를 추가했다. 그림을 넣고 난 다음 사용할 caption도 추가했고, blockquote
의 경우에도 약간 수정을 하였다.
-
실험 결과, 위의 색상들이 없으면 오류는 생기지 않지만 색상 없는 박스가 출력되는 것을 확인했다. ↩
댓글남기기