TermDOM - HTML, CSS와 DOM으로 터미널 UI 만들기
요약
TermDOM은 HTML, CSS와 DOM API를 활용하여 터미널 UI 및 대화형 CLI를 구축할 수 있게 돕는 JavaScript/TypeScript 라이브러리입니다. 별도의 위젯 API 학습 없이 웹 개발 지식으로 화면을 구성하며, 변경된 부분만 효율적으로 업데이트합니다.
핵심 포인트
- HTML/CSS와 DOM 기반으로 터미널 UI 구현 가능
- 변경 사항만 출력하여 효율적인 화면 갱신 지원
- Flexbox/Grid 등 CSS 레이아웃 및 다양한 입력 기능 지원
- React, Vue, Svelte 등 주요 프레임워크 연동 예제 제공
- 웹 개발에 익숙한 HTML, CSS와 DOM API로
터미널 UI와 대화형 CLI를 만드는 JavaScript/TypeScript 라이브러리 - 별도의 터미널 위젯 API를 배우는 대신, HTML 요소를 만들고 DOM을 수정하는 방식으로 화면을 구성
- 노드가 바뀌면 스타일과 배치를 다시 계산하고,
이전 화면과 달라진 부분만 출력해 화면을 갱신 - CSS의 우선순위와 상속 규칙을 적용하고, 색상과 글자 꾸밈을 ANSI 터미널 표현으로 변환
Flexbox/Grid/Table과 여백, 테두리를 지원하며, 픽셀 대신 문자 칸 단위로 배치 - 키보드/마우스/붙여넣기를 DOM 이벤트로 전달하고, 입력란과 체크박스, 선택 메뉴, Tab 포커스 이동도 지원
- 한중일 문자와 이모지의 표시 너비를 처리하며, 아랍어와 히브리어의 표시 순서와 글자 형태도 지원
React/Vue/Svelte/Crank 연동 예제를 제공하며, TodoMVC는 컴포넌트 로직을 바꾸지 않고 스타일시트만 교체해 실행 - Markdown 뷰어, 채팅 클라이언트, 파일 선택기와 게임 예제가 있으며, 대부분 웹 플레이그라운드에서도 실행 가능
- Node.js/Bun/Deno에서 동작하며 네이티브 구성 요소 없이 사용 가능
npm install @b9g/termdom
으로 설치
- MIT 라이선스
댓글과 토론
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기