본문 바로가기
텍스트 편집기 text editor/Quill.js

Quill 테스트 1 │정상 작동

by Mr.코딩 2023. 7. 19.

[웹 개발] JavaScript와 Quill을 이용하여 간단한 '서식 있는 텍스트 편집기'를 구축하는 코드를 써 줘. 가로 1200px, 세로 900px의 I/O 박스(=페이지)에 커서가 다가가면 '텍스트 편집기로 입력하기' 버튼과 '이미지 편집기로 입력하기' 가 나타나고, 이 두 버튼 중에 '텍스트 편집기로 입력하기'를 누르면 입력 대기 상태로 변해서 키보드로 글을 입력할 수 있게 해줘. (코드 작성할 때 충분한 주석을 달아서 써 줘.)

chatGTP

아래는 JavaScript와 Quill을 사용하여 웹 페이지에 간단한 서식 있는 텍스트 편집기를 구축하는 코드입니다. 코드 주석에 상세한 설명을 포함시켰습니다.

 

<!DOCTYPE html>
<html>
<head>
  <title>서식 있는 텍스트 편집기</title>
  <link rel="stylesheet" href="https://cdn.quilljs.com/1.3.6/quill.snow.css">
</head>
<body>
  <div id="editor-container" style="width: 1200px; height: 900px;"></div>

  <script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
  <script>
    // Quill 초기화
    var quill = new Quill('#editor-container', {
      theme: 'snow'  // Quill의 테마 설정
    });

    // 버튼 요소 생성
    var textButton = document.createElement('button');
    textButton.innerHTML = '텍스트 편집기로 입력하기';

    var imageButton = document.createElement('button');
    imageButton.innerHTML = '이미지 편집기로 입력하기';

    // I/O 박스에 마우스 커서가 다가왔을 때 이벤트 처리
    var ioBox = document.getElementById('editor-container');
    ioBox.addEventListener('mouseenter', function() {
      // 버튼을 보이도록 설정
      ioBox.appendChild(textButton);
      ioBox.appendChild(imageButton);
    });

    // '텍스트 편집기로 입력하기' 버튼 클릭 시 이벤트 처리
    textButton.addEventListener('click', function() {
      // Quill을 키보드 입력 가능한 상태로 변경
      quill.enable();
      // '텍스트 편집기로 입력하기' 버튼 제거
      ioBox.removeChild(textButton);
      ioBox.removeChild(imageButton);
    });

    // '이미지 편집기로 입력하기' 버튼 클릭 시 이벤트 처리
    imageButton.addEventListener('click', function() {
      // 이미지 편집기로 입력하는 로직 추가
      // ...
    });

    // 초기에는 Quill을 비활성화하여 키보드 입력 방지
    quill.disable();
  </script>
</body>
</html>

 

위 코드를 HTML 파일에 저장하고 웹 브라우저에서 실행하면 가로 1200px, 세로 900px 크기의 I/O 박스가 생성됩니다. 마우스 커서가 I/O 박스에 접근하면 "텍스트 편집기로 입력하기"와 "이미지 편집기로 입력하기" 버튼이 나타납니다. "텍스트 편집기로 입력하기" 버튼을 클릭하면 Quill이 활성화되어 키보드를 통해 텍스트를 입력할 수 있게 됩니다. "이미지 편집기로 입력하기" 버튼은 아직 구현되지 않았으므로 필요한 로직을 추가해야 합니다.


밑줄 공부


Test and Task

Quill을 설치하고 나서 정상 작동함.

I/O 사이즈를 조절해야 하고, 특히 버튼의 작동방식을 바꿔야 함

그리고 I/O 페이지의 아웃라인이 디바이스 화면 크기에 따라 유동적으로 바뀌게 만들어 보자.

그리고 텍스트 입력이 별도의 텍스트 박스 안에서 가능하도록 바꾸고.

텍스트 입력 / 이미지 삽입 / 표 / 영상 / 파일 : 이렇게 5개의 버튼을 (십자 형태로) 떠 있게 해보자