NotionAPI를 활용한 자동 포스팅(7)

@SharkniA · January 30, 2024 · 5 min read

퇴근을 하고 고치다보니 시간이 부족하다.. 어쩔 수 없다.

돌아보기

어제 상당수의 디버깅을 진행하고 기존 블로그에서 새 블로그로 글을 이전했다. 깃허브 블로그에 업로드까지 마치고, 오늘 다시 보니 짜잘짜잘한 오류가 다시 또(!!) 발견되었다.

유지보수

Callout 수정

내가 선택한 블로그의 기능인지, 원래 마크다운 기능인지 모르겠다. 굳이 태그를 넣을 필요가 없어서, 태그를 제거해주었다.

이미지 캡션 수정

이미지 캡션도 마찬가지였다. 혹시 하는 노파심에 따로 p태그를 넣어주고 있었는데, 아무 문제 없이 정상 작동 되었다. 아무래도 깃허브 블로그도 마크다운 기반으로 움직이다보니 마크다운에서 좀 잘 나오면 잘 이쁘게 지원하는 것 같다.

넘버링 숫자 안올라감 & 들여쓰기 문제

넘버링이 모두 1로 나오고, 글머리 기호와 넘버링 리스트를 제외한 나머지 부분에 들여쓰기를 넣지 않았다는 사실을 깨달았다.

넘버링부터 고치려다가 문득 들여쓰기가 제대로 되면 숫자가 제대로 나오지 않을까? 해서 들여쓰기부터 수정했는데, 정답이었다.

들여쓰기를 고치고 나서 마크다운에 1. 이라고 숫자가 고정되어 있어도 제대로 숫자가 증가되면서 출력된다.

일부 부분 [objcet Promise] 출력

이건 await을 까먹은거다. 추가해주었다.

이미지 깨짐

어제 디버깅을 하면서 이미지 카운터를 static에서 인스턴스로 변경해주었는데, 어제 내가 멍청하다고 썼는데 사실은 오늘의 내가 멍청한 것이었다.

이미지 카운터를 컨버터에 넣어놓을거면 거기서 인스턴스 변수로 선언하면 안됐다. 이미지가 거의 모든 경우에 항상 1번으로 저장된다..

페이지에 이미지 카운터 변수를 심고 블록-컨버터까지 내려줄 생각을 하니 아득해졌는데 생각해보니 그냥 컨버터 클래스에 넣어놓고 static 변수로 변경한 다음 페이지를 새로 만들 때마다 해당 값을 초기화 해주면 되지 않나 싶어서 그렇게 구현 해보려고 한다.

언더바 또는 *가 포함된 경우 스타일 깨짐

예를 들어 dbconnection_serializable 라고 입력된 텍스트가 dbconnectionserializable 로 마음대로 스타일이 변경되고 있었다. 이를 예방하기 위해 일단

// 언더스코어 이스케이프 처리 함수
    private escapeMarkdownUnderscores(text: string): string {
        return text.replace(/(\w)_(\w)/g, '$1\\_$2');
    }

해당 메소드를 사용해 언더바 앞에 백슬래시를 붙여주었다.

잘 될지는 배포 후 테스트를 해봐야 한다.

신규 기능

테이블 지원

이제 테이블을 지원한다.. 지금 고치느라 기록할 시간이 없는데 많은 것을 고쳤다..

근본적인 설계가 아쉽다. 굳이 block을 별도의 클래스로 뺄 필요도 없었을 것 같고, MarkdownConverter 클래스가 굳이 인스턴스 메소드가 이렇게 많아야 할 이유도 모르겠다.

여유가 된다면 전체적으로 코드 리팩토링을 (다시 만드는 수준으로) 진행해야 할 것 같다.

@SharkniA
만 4살 백엔드 개발자
© SharkniA, Built with Gatsby.