본문 바로가기
기타

[스크랩] 티스토리 글 Github 자동 커밋시키는 법

by DevNona 2025. 4. 16.

 개요

티스토리 블로그와 GitHub를 연동하면서 잔디심기를 위해 참고한 블로그 글 링크를 정리해두었습니다. 추후 수정이나 내용을 다시 확인할 때 활용할 수 있도록 스크랩한 글입니다.

 

 스크랩

https://devpad.tistory.com/165

 

티스토리 글 작성하면 Github에 자동 커밋시키는 방법 (feat. 잔디 심기)

티스토리에서 글을 쓰면 Git에도 반영되어 아래처럼 잔디를 심어보려고 한다. 그러기 위해 Github Action을 이용하여 하루에 한번 티스토리의 RSS를 기반으로 Github에 커밋이 되도록 할 것이다. 사전

devpad.tistory.com

위 블로그 글의 코드와 방법으로 적용했습니다. 단, index.js 작성 시 아래 코드를 사용하는 것이 오류 발생 가능성을 줄여줍니다.

import { writeFileSync } from "node:fs";
import Parser from "rss-parser";

/**
 * README.MD에 작성될 페이지 텍스트
 * @type {string}
 */
let text = `# Hi there 👋

## 이런 환경에 익숙해요✍🏼

## 언어

<p>
  <img alt="" src= "https://img.shields.io/badge/JavaScript-F7DF1E?style=flat-square&logo=JavaScript&logoColor=white"/> 
  <img alt="" src= "https://img.shields.io/badge/TypeScript-black?logo=typescript&logoColor=blue"/>
</p>

## 📕 Latest Blog Posts

`;

// rss-parser 생성
const parser = new Parser({
  headers: {
    Accept: "application/rss+xml, application/xml, text/xml; q=0.1",
  },
});

(async () => {
  // 피드 목록
  const feed = await parser.parseURL("https://devnona.tistory.com/rss"); // 본인의 블로그 주소

  text += `<ul>`;

  // 피드 항목 배열 가져오기
  const items = feed.items || [];
  const maxItems = Math.min(items.length, 10); // 10개 이하일 수도 있으니까

  for (let i = 0; i < maxItems; i++) {
    const { title, link } = items[i];
    console.log(`${i + 1}번째 게시물`);
    console.log(`추가될 제목: ${title}`);
    console.log(`추가될 링크: ${link}`);
    text += `<li><a href='${link}' target='_blank'>${title}</a></li>`;
  }

  text += `</ul>`;

  // README.md 파일 생성
  writeFileSync("README.md", text, "utf8", (e) => {
    console.log(e);
  });
  console.log("업데이트 완료");
})();

 

링크된 블로그 글의 코드는 작성된 블로그 글이 최소 10개 이상 있음을 가정하기 때문에 자신의 블로그 글이 10개 미만이라면 정상 동작하지 않습니다.