← 실습으로 돌아가기
원고 발행 전 검사 연습
버전 1.0.0 · 2026-09-07 · 서인(seoin.dev)
워드프레스 원고를 보내기 전에 주소·발행 상태·예약 시각·제목을 확인하는 학습용 도구입니다. 실제 운영 중인 업로더와 예약 도구의 검사 원칙을 작은 예제로 다시 구현했습니다. 운영 프로그램 전체를 복사한 도구는 아닙니다.
설치 없이 시작하기
- ZIP을 내려받고 압축을 풉니다. 압축 파일 안에서 바로 실행하지 마세요.
- 풀린 폴더의
index.html을 브라우저로 엽니다. 다른 파일도 같은 폴더에 둡니다.
- 빠진 원고를 누르고 원고 검사하기를 누릅니다.
슬러그가 없어요가 나옵니다.
- 첫
--- 아래에 슬러그: my-first-checklist를 추가합니다.
- 다시 검사하면 형식 검사 통과로 바뀝니다.
- 원고 내려받기로 수정본을 별도 저장할 수 있습니다. 원래 파일은 자동 수정되지 않습니다.
같은 폴더의 파일로만 동작합니다. 검사 중에는 서버 접속·저장·분석 이벤트 전송이 없습니다. 페이지의 외부 글 링크를 누르면 해당 사이트로 이동합니다.
예제 3개의 예상 결과
| 파일 |
처음 검사 결과 |
고치는 방법 |
examples/01-good.md |
수정0개, 확인0개 |
그대로 확인 |
examples/02-missing.md |
SLUG_MISSING |
구분선 안에 슬러그 추가 |
examples/03-broken.md |
SLUG_FORMAT, SCHEDULE_MISSING |
주소를 my-first-checklist로, 초안 연습의 상태를 draft로 변경 |
세 파일은 연습을 위해 새로 만든 가짜 원고입니다. 실제 예약 사고 당시의 파일은 아닙니다. 예약을 배우려면 future를 유지하고 컴퓨터의 현재 시각보다 늦은 예약시각을 넣습니다. 한국 시간 예시는 2030-09-08T09:00:00+09:00입니다. 이 날짜가 지난 뒤에는 더 늦은 실제 날짜를 사용하세요.
원고 형식
---
슬러그: my-first-checklist
워드프레스상태: draft
---
# 내 첫 체크리스트
할 일을 추가하고 완료 표시를 해 보는 작은 앱이다.
첫 구분선부터 닫는 구분선 사이에는 슬러그, 워드프레스상태, 선택 항목 예약시각만 씁니다. 값은 한 줄이며 단순 따옴표를 지원합니다. 배열·중첩 구조·여러 줄 값·주석을 포함한 일반 YAML 전체 문법은 지원하지 않습니다. 다른 업로더의 완성 원고를 그대로 넣으면 지원하지 않는 항목이 나올 수 있습니다.
영문 소문자·숫자·하이픈 주소는 이 실습의 운영 규칙입니다. 워드프레스가 모든 한글 주소를 금지한다는 뜻이 아닙니다. 상태 이름은 WordPress의 draft, future, publish, pending, private를 사용합니다. 예약시각은 이 학습 도구의 입력 이름이며 WordPress API 필드가 아닙니다.
Node.js로 검사하기
브라우저 실습에는 Node.js가 필요하지 않습니다. 이미 Node.js 20 이상을 사용한다면 같은 폴더에서 다음 명령을 실행할 수 있습니다. 추가 패키지는 없습니다.
node check.cjs examples/01-good.md
node check.cjs examples/02-missing.md
node check.cjs examples/03-broken.md --json
node tests.cjs
종료값은 통과0, 수정 필요1, 파일/명령 오류2입니다. 확인 항목만 있으면0입니다. --json은 검사 결과를 출력하며 원고 전체를 출력하지 않습니다. --now 2026-09-07T00:00:00+09:00은 재현 검사를 위해 기준 시각을 고정하는 선택 옵션입니다. 실제 예약을 검토할 때는 컴퓨터 시계를 확인하고 기본 현재 시각을 사용하세요.
검사 통과 뒤 확인할 것
통과는 위에 적은 형식과 발행 계획의 일부를 확인했다는 뜻입니다. 글의 사실·저작권·비밀 값·링크 접속·이미지 파일·기존 주소 중복·검색 노출을 검사하지 않습니다. 원고를 WordPress로 보내거나 예약을 저장하는 기능도 없습니다. 실제 예약은 저장 후 서버의 상태와 사이트 시간대의 날짜를 다시 확인해야 합니다.
입력은10만 자, 파일 선택은40만 바이트 이내입니다. 입력을 바꾸면 이전 검사 결과는 무효가 되며 다시 검사해야 합니다. 새로고침하면 입력이 사라집니다. 수정본이 필요하면 내려받으세요.
파일과 검증 기록
index.html, style.css, app.js: 화면과 입력 처리.
checker.js: 브라우저와 명령행이 함께 쓰는 검사 규칙.
examples.js, examples/: 버튼용 예제와 같은 내용의 원고 파일.
check.cjs: 파일을 읽어 검사하는 명령행 도구.
tests.cjs: 고정 시각에서 정상·누락·잘못된 상태·날짜·코드 블록·종료값 확인.
verification.json: 실제 확인 환경과 결과. 실제 초보자 관찰은 포함하지 않습니다.
SHA256SUMS.txt: 파일 무결성 확인용 해시.
출처와 사용
블로그 자동화 경험과 실습 설명, WordPress 글 상태·날짜 필드, WP-CLI 글 수정 명령.
이 자료의 코드와 가짜 예제는 LICENSE.txt의 MIT 라이선스로 수정·재사용할 수 있습니다. 실제 사이트의 글·이미지는 이 코드 라이선스에 포함되지 않습니다.