저번 회차에서는 코드 블록을 추가하는 시스템을 만든다고 하였다.
그를 위해서는 별도로 코드 파일을 불러와 해당 내용을 읽어줄 필요가 있었다.
title_pattern = re.compile(r'# \[.*\] (.*) - \d+')
title_match = title_pattern.match(markdown_content.split('\n')[0])
problem_type = title_match.group(1) if title_match else "Untitled"
기존 .md 파일에 있는 타이틀 항목에서 앞의 형식과 기호 그리고 번호를 제거한 것이 확장자를 제외한 파일의 이름이다.
따라서 이를 problem_type 이라는 변수에 저장하였다.
#코드 읽어오기
with open(problem_type + '.cc', 'r', encoding='utf-8') as file:
code_file = file.read()
parsed_data['code_content']= code_file
이후 해당 변수를 기반으로 확장자를 추가하여 읽어준 다음 해당 내용을 기존에 있던 딕셔너리에 추가해주었다.
for category, content in parsed_data.items():
if category not in ["title", "problem_link", "code_content"]:
tistory_formatted_content += f'<p><strong>### {category}</strong></p>\n<p>{content}</p>\n\n'
#코드 블록 추가
tistory_formatted_content += f'<p><b>### 작성한 코드</b></p>\n<p></p>'
tistory_formatted_content += f'<pre><code>{parsed_data["code_content"]}</code></pre>'
이렇게 딕셔너리에 추가된 내용이 일반 포스팅에 섞여 들어가지 않도록 예외처리를 해준 다음 코드 블록은 별도로 포스팅 내용에 추가해주었다.
아래가 그 결과물이다.
포스팅의 내용을 자동화하는데 성공하였으므로 다음에는 커밋을 자동으로 감지하여 이를 다운 받는 것을 목표로 하겠다.
그렇다면 해당 파일을 바탕으로 자동 포스팅하는 것이 목적이다.
'개발 기록 > 자동 포스팅 프로그램' 카테고리의 다른 글
몇 가지 기능 갱신 (0) | 2023.12.22 |
---|---|
최신 커밋 호출 성공 (0) | 2023.12.20 |
chat gpt를 이용한 코드 작성 도움 및 경과 (1) | 2023.12.14 |
md 파일 포스팅 현황 (0) | 2023.12.13 |
자동 포스팅 프로그램 (4) | 2023.12.12 |