8000 GitHub - juyoungml/N2T: Notion에서 Tistory로 포스팅을 해줍니다.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ N2T Public
forked from jmjeon2/N2T

Notion에서 Tistory로 포스팅을 해줍니다.

Notifications You must be signed in to change notification settings

juyoungml/N2T

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

기능

아래와 같은 노션 테이블 페이지에서 상태 컬럼을 발행 요청/수정 요청으로 두면 해당 내용이 자동으로 티스토리 블로그로 업로드 해줍니다.

sample

준비사항

  • Python 등 개발관련 기초 지식
  • 크롬 부라우저 (selenium 사용)
  • 카카오와 연동된 티스토리 계정
  • 티스토리 Open API 에서 본인의 블로그 등록
    • App ID, Secret Key 발급
  • (선택) 앱 비밀번호가 생성된 Gmail 계정 (포스팅 알림용)

사용방법

노션 테이블 템플릿 만들기

  • 아래와 같이 표형식 table을 만들고 테이블 컬럼을 아래와 같이 만들어줍니다.
  • 아래 링크를 클릭해서 템플릿을 복제해서 사용하셔도 됩니다.
컬럼명 속성 설명
제목 제목 업로드할 게시물의 제목
카테고리 선택 게시물의 카테고리
태그 다중 선택 게시물의 태그들
상태 선택 발행 요청,수정 요청으로 되어있을 때 게시물을 업로드 함
업로드 완료 이후에는 발행 완료로 값이 바뀜
링크 URL 발행 완료 후 업로드된 url 링크가 자동 입력됨

table

코드 clone하기

  • 로컬 PC의 원하는 디렉토리로 가서 코드를 clone 합니다.
git clone https://github.com/jmjeon94/N2T.git

패키지 설치하기

  • 아래 명령어로 코드 실행에 필요한 패키지를 설치해줍니다.
pip3 install -r requirements.txt

설정 파일 입력하기

config.py 파일을 열고 각 항목에 본인에 맞게 값을 입력해줍니다.
아래 설정 파일에 적는 항목은 티스토리 업로드 권한 획득(token 발급) 외에 전혀 사용하지 않습니다.

Tistory 설정

  • TISTORY의 ID, PW는 카카오로 연동된 계정으로 카카오 계정과 비밀번호를 적어야 합니다.
  • BLOG_NAME: 본인의 블로그 이름 xxx.tistory.com 에서 xxx를 입력 합니다.
  • SECRET KEY, CLIENT ID, REDIRECT_URI: Open API 등록 시 발급받은 값을 입력합니다.

Notion 설정

  • TOKEN_V2: 여기 를 확인해서 본인의 token_v2값을 입력합니다.
  • TABLE_PAGE_URL: 자동으로 업로드할 notion page의 url을 입력합니다.
  • DOWNLOAD_DIR: notion page를 html 파일로 임시 다운로드 할 경로입니다.
  • CODE_BLOCK_THEME: 코드블럭을 사용하시는 분에 한해서 테마를 지정합니다. 테마 목록은 여기 에서 확인할 수 있습니다. (default: atom-one-dark)

MAIL 설정 (선택)

  • mail은 선택 사항으로 게시물 발행시 메일로 알림을 보내줍니다. 사용하지 않을 시 빈칸으로 두시면 됩니다.
  • Gmail만 가능하며 ID에는 gmail 계정을 입력합니다.
  • KEY값에는 gmail 계정의 앱 비밀번호를 입력해줍니다.
# config 파일 예시
cfg = dotdict(
    TISTORY=dotdict(
        ID='kakao email' # 전화번호가 아닌 이메일 주소를 사용해야 합니다.
        PW='kakao password',
        BLOG_NAME='blog_name',
        SECRET_KEY='xxx',
        CLIENT_ID='xxx',
        REDIRECT_URI='https://blog_name.tistory.com',
    ),
    NOTION=dotdict(
        TOKEN_V2='xxx',
        TABLE_PAGE_URL='https://www.notion.so/xxx',
        DOWNLOAD_DIR='~/.n2t',
        CODE_BLOCK_THEME='atom-one-dark',

        COLUMN=dotdict(
            TITLE='제목',
            CATEGORY='카테고리',
            TAG='태그',
            STATUS='상태',
            URL='링크'
        ),

        POST=dotdict(
            UPLOAD_VALUE='발행 요청',
            MODIFY_VALUE='수정 요청',
            COMPLETE_VALUE='발행 완료',
        ),
    ),
    MAIL=dotdict(
        ID='',
        KEY='',
    )
)

업로드하기

  • 터미널에서 아래 명령어로 main.py 파일을 실행해 줍니다.
python3 main.py

만약 Gmail 설정값을 입력해줬다면 아래처럼 업로드 알람 메일이 옵니다.

mail

About

Notion에서 Tistory로 포스팅을 해줍니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%
0