벌써 올해의 끝이 보입니다. 올해는 유난히 시간이 빨리 지나간 것 같은데요. 다들 연초에 세운 계획은 많이 이루셨나요? 저는 늘 그랬듯 절반 이상은 남아있는데요. 😬 아직 3달이 남았으니 더는 미루지 말고 오늘부터 시작해보는 건 어떤가요? 그럼, 이제 이번 달 TOAST UI에 어떤 변화가 있는지 같이 살펴보도록 하겠습니다!
기능 추가
Jekyll에서 사용되던 프론트 매터를 에디터에서도 사용할 수 있게 되었습니다. frontMatter
옵션을 설정하면 문서 상단에 프론트 매터를 작성할 수 있습니다. 다음과 같이 프론트 매터 옵션을 사용하여 문서와 관련된 정보를 편집하고 저장할 수 있습니다. (단, 프론트 매터는 문서와 관련된 메타 데이터로 뷰어(프리뷰)에서는 보이지 않습니다)
const editor = new Editor({
frontMatter: true
});
마크다운 에디터에서도 위지윅과 같이 테이블에서 탭 키를 사용하여 셀 포커스 이동을 할 수 있습니다. tab
키를 누르면 다음 셀로, shift + tab
키를 누르면 이전 셀로 커서가 이동됩니다. 또한 테이블 바디(<tbody />
) 영역에서 enter
키를 누르면 새 행이 추가되는 기능이 추가되어 이전보다 편리하게 테이블 구문을 편집할 수 있습니다.
탭(tab, shift + tab) 키 동작
엔터(enter) 키 동작
customHTMLRenderer
옵션을 사용하면 원하는 형태의 HTML로 마크다운 구문을 렌더링 할 수 있습니다. 태스크 아이템에 data-te-task-disabled
속성값이 추가되었으며, 이 속성값을 설정하여 태스크 아이템을 비활성화(disabled
)된 상태로 렌더링 할 수 있습니다. 뷰어에서 태스크 아이템의 마커(체크박스)의 클릭 이벤트를 막을 때 data-te-task-disabled
속성을 다음과 같이 추가하면 됩니다.
const viewer = Editor.factory({
el: document.querySelector('#viewer'),
initialValue: content,
viewer: true,
customHTMLRenderer: {
item(node, { entering, origin }) {
const result = origin();
if (entering) {
const { attributes = {}, classNames = [] } = result;
if (node.listData.task) {
attributes['data-te-task-disabled'] = ''; // for event
classNames.push('disabled'); // for style
}
return result;
}
return result;
}
}
});
해외 컨트리뷰터(@hrvoj3e)의 도움을 받아 다국어 파일에 크로아티아어를 지원하게 되었습니다. 다국어 지원 기능은 에디터 외 셀 병합 플러그인(table-merged-cell
)에서도 사용할 수 있습니다.
const editor = new Editor({
language: 'hr' // 또는 'hr-HR'
});
버그 수정
plugin
옵션에 셀 병합 플러그인 설정했을 시 잘못된 타입 추론 수정 (#1160)버그 수정
undefined
, null
값인 경우 자동으로 빈 문자열로 변경되던 현상을 원본 값을 유지하는 것으로 변경 (#1174)버그 수정
location
, isReadOnly
, attendees
속성 반영 (#615, #645, #690)위지윅 에디터에서 툴바를 통해 이미지에 링크를 걸 수 있는 기능이 추가되고 이미 생성된 링크 내용을 편집할 수 있도록 링크 관련 기능들이 개선될 예정입니다.
이번 위클리는 세 개의 번역 글이 올라왔습니다. 이번 달은 React에 관련된 글들이 많았는데요. Gatsby와 Next.js를 비교한 글부터 useEffect
를 사용할 때 알아야 하는 네 가지 팁에 대해 소개한 글, Hook에 대해 필자의 어두운 시각을 작성한 글이 번역되었습니다. 아직 읽어보시지 않았다면 아래 링크를 클릭하세요! 👇👇
사용 문의, 기능 추가/수정 요청 및 버그 신고는 각 제품의 GitHub 저장소 이슈를 이용해주세요!