Files
sori.studio/docs/changelog.md

20 KiB

업데이트 요약

v1.5.26

  • 관리자 사이트 설정의 게시물 Import/Export 영역을 기본적으로 접힌 액션 중심 UI로 정리했다.
  • Export 설정과 Import 안내는 각각 버튼을 눌렀을 때만 펼쳐지도록 개선했다.
  • 설정 화면 셀렉트 화살표 아이콘과 간격을 통일했다.

v1.5.25

  • 게시물 Export 분할을 고정 개수 대신 목표 ZIP 용량 기준으로 나누도록 개선했다.
  • Export 요청 시 목표 ZIP 용량과 ZIP당 최대 게시물 수를 지정할 수 있게 했다.
  • 실패한 Export 작업의 상세 오류를 관리자 화면에서 확인할 수 있게 했다.

v1.5.24

  • 게시물 Export 준비 완료 파일을 한 번에 순차 다운로드할 수 있게 개선했다.
  • 실패한 Export 작업은 이미 만들어진 파일을 유지하고 실패 지점부터 다시 생성할 수 있게 정리했다.
  • Export 완료 시 Resend 설정이 있으면 요청 관리자에게 이메일 알림을 보낸다.
  • 만료된 Export 백업 파일은 작업 목록 조회나 새 요청 시 자동으로 정리된다.

v1.5.23

  • 게시물 Export를 전체뿐 아니라 특정년, 특정월, 직접 지정 날짜 범위로 요청할 수 있게 개선했다.
  • 완료되었거나 실패한 Export 백업 파일을 관리자 화면에서 바로 삭제할 수 있게 정리했다.

v1.5.22

  • 게시물 Export가 실제 분할 ZIP 파일을 생성하고, 준비 완료된 파일을 관리자 화면에서 내려받을 수 있도록 개선했다.
  • Export 생성 중에는 새 요청 버튼이 비활성화되어 중복 작업을 만들지 않도록 정리했다.

v1.5.21

  • 게시물 Export 작업 카드에 진행 숫자와 진행률 바를 추가하고, 진행 중 작업이 있으면 자동으로 상태를 새로고침하도록 개선했다.

v1.5.20

  • 게시물 Export 작업을 관리자 설정에서 요청하고, 생성될 분할 zip 파일 계획을 확인할 수 있는 1차 기반을 추가했다.

v1.5.19

  • 게시물 Export를 대량 게시물에서도 안전하게 처리하도록 백그라운드 분할 생성과 다운로드 만료 정책 기준을 정리했다.

v1.5.18

  • 게시물 Import/Export 방향을 URL 유지 방식이 아니라 게시물별 폴더와 로컬 이미지·파일 폴더를 포함하는 백업 번들 구조로 정정했다.

v1.5.17

  • 사이트 설정 읽기 모드의 토글이 켜져 있어도 편집 전에는 조작 불가 상태처럼 보이도록 시각 톤을 낮췄다.
  • 게시물 Import/Export는 Obsidian에서 바로 읽기 쉬운 Markdown frontmatter 형식으로 진행할 수 있도록 구현 방향을 정리했다.

v1.5.16

  • 게시글을 직접 스크롤해도 오른쪽 TOC에서 현재 읽는 제목 위치가 강조되도록 개선했다.
  • TOC 항목이 많을 때 활성 항목을 따라 TOC 영역이 내부 스크롤되도록 정리했다.
  • 댓글과 답글 등록 버튼은 내용을 입력했을 때만 활성화되도록 정리했다.
  • 댓글 정렬 라벨을 한글 기준으로 정리하고 답글 입력 영역 스타일을 가볍게 맞췄다.

v1.5.15

  • 로그아웃 상태의 사용자 메뉴 버튼도 ? 대신 사람 아이콘으로 보이도록 수정했다.

v1.5.14

  • 모바일 게시글 화면에서는 하단으로 내려간 오른쪽 사이드바의 TOC를 숨겼다.
  • 로그인 회원의 기본 아바타를 사람 아이콘으로 바꿨다.
  • 미디어 라이브러리에서 파일을 직접 추가하고, 현재 검색·필터 결과를 전체 선택하거나 선택 삭제할 수 있게 했다.
  • 미디어 검색창을 글·멤버 검색창과 같은 스타일로 맞췄다.

v1.5.13

  • 게시글 목차 클릭 이동을 부드러운 스크롤로 바꿨다.
  • 목차 이동 시 제목이 고정 헤더에 걸리지 않도록 위치를 보정했다.

v1.5.12

  • 게시글 상세 오른쪽 사이드바에서 추천 사이트 대신 본문 목차를 보여주도록 바꿨다.
  • 본문 H1~H3 제목에 목차 이동용 앵커를 자동으로 부여했다.
  • 로컬 개발 DB의 소유자 계정을 zenn으로 보정했다.

v1.5.11

  • 멤버 상세 화면을 보기 모드와 수정 모드로 분리했다.
  • 멤버 상세 저장 버튼은 변경 사항이 있을 때만 활성화되도록 정리했다.
  • 멤버 상세 저장 결과를 우측 상단 토스트로 통일했다.
  • 멤버 목록 검색창을 글 목록 검색창과 같은 스타일로 맞췄다.

v1.5.10

  • 멤버 상세에서 변경할 수 없는 등급 셀렉트를 화면에서도 잠그도록 정리했다.
  • 글 목록에 검색과 작은 대표 이미지 썸네일을 추가했다.
  • 글 목록 필터 셀렉트 화살표 간격과 아이콘을 통일했다.
  • 페이지 HTML 문서 모드에서 빈 본문 또는 !+Tab으로 기본 HTML 골격을 자동 완성할 수 있게 했다.

v1.5.9

  • 관리자 대시보드에서 인기 페이지 통계를 볼 수 있게 했다.
  • HTML 문서 모드 페이지도 서버에서 조회수를 기록하도록 보강했다.
  • 추천 사이트에 대체 텍스트와 썸네일 URL을 추가하고, 공개 사이드바 표시에도 반영했다.

v1.5.8

  • 소유자가 본인 권한을 직접 낮춰 소유자가 사라지는 상황을 막았다.
  • 멤버 목록의 상태 열에 등급을 함께 표시하고, 비활성 회원만 보조 상태로 보이도록 정리했다.
  • 소유자가 없는 DB 상태를 복구하는 마이그레이션을 추가했다.

v1.5.7

  • 일반 텍스트 페이지에서도 페이지 형식 선택을 다시 HTML로 되돌릴 수 있게 수정했다.
  • 일반 텍스트 페이지에서는 HTML 자산 업로드 UI가 보이지 않도록 정리했다.
  • 멤버 접속 IP 기록이 프록시 헤더를 읽도록 보정했다.

v1.5.6

  • 멤버 등급 변경이 저장 버튼을 눌렀을 때만 반영되도록 수정했다.
  • 관리자 권한 변경 규칙을 강화해 관리자끼리 조작하거나 마지막 소유자를 없앨 수 없도록 막았다.

v1.5.5

  • 멤버 등급에 VIP를 추가하고, 멤버십 게시물은 VIP 이상 등급에게만 공개되도록 정리했다.
  • 관리자 멤버 상세에서 회원 등급을 직접 변경할 수 있게 했다.

v1.5.4

  • 게시물에 멤버십·비공개 상태를 추가하고, 공개 화면에서는 상태에 맞는 글만 보이도록 정리했다.
  • 페이지에도 초안·공개·비공개 상태를 추가하고, 공개 상태 페이지만 /pages/:slug에서 응답하도록 바꿨다.

v1.5.3

  • 페이지 작성 기본값을 HTML 문서 모드로 바꾸고, 페이지 슬러그도 한글 제목에서 영문으로 자동 생성되도록 개선했다.
  • 페이지 작성 화면에서 대표 이미지를 제거하고, HTML 자산 업로드 시 업로드 URL을 현재 커서 위치에 바로 넣을 수 있게 했다.

v1.5.2

  • 페이지 작성/수정 화면을 게시글 작성 화면처럼 전체 화면 에디터, 상단 저장 툴바, 오른쪽 설정 패널 구조로 변경했다.

v1.5.1

  • 고정 페이지에서 전체 HTML 문서를 붙여넣어 /pages/:slug에서 단일 랜딩 페이지처럼 보여줄 수 있는 HTML 문서 모드를 추가했다.

v1.5.0

  • 관리자 글쓰기 태그 입력을 검색형 선택으로 개선하고, 태그별 색상을 배지에 반영했다.
  • 관리자 글·페이지 목록의 더보기 메뉴가 테이블 밖에서 잘리지 않도록 수정했다.

v1.4.7

  • 글쓰기 라이브 모드에서 문단 이동 시 인라인 마크다운 서식이 사라지던 문제를 수정했다.
  • 인용 블록에서 > [!bg=yellow] 형식으로 배경색을 지정할 수 있다.
  • 소스 모드에서 라이브 모드로 전환할 때 현재 커서 줄 주변으로 스크롤되도록 보정했다.

v1.4.6

  • 관리자 사이트 설정에서 로고와 메인 커버 이미지가 저장 버튼을 통해 반영되도록 정리했다.
  • 홈 커버 이미지를 라이트모드·다크모드용으로 따로 등록할 수 있다.

v1.4.3

  • 관리자 화면이 공개 사이트 다크모드 영향을 받지 않도록 라이트 UI를 분리했다.
  • 관리자 미디어 라이브러리에 종류·미사용 필터와 비디오 썸네일 미리보기를 추가했다.

v1.4.2

  • 글쓰기 소스 모드에서 긴 줄이 자동 줄바꿈될 때 라인 번호가 실제 줄 높이와 어긋나던 문제를 수정했다.
  • 소스 모드에서 라이브 모드로 전환한 직후에도 현재 줄에 포커스가 유지되도록 보정했다.
  • 라이브 모드에서 소스 모드로 돌아올 때 현재 작성 위치와 가까운 줄로 커서·스크롤을 복원하도록 보정했다.
  • 이미지 파일 URL 한 줄을 입력했을 때 임베드가 아니라 이미지로 표시되도록 수정했다.
  • 라이브 모드 이미지 블록에 편집·삭제 버튼을 추가하고, 편집 버튼을 기존 이미지 설정 패널과 연결했다.
  • 잘못된 이미지 URL·로드 실패 시에도 최소 높이와 오류 안내 placeholder를 표시한다.
  • 라이브 모드에서 이미지 블록끼리 드래그해 갤러리로 합치고, 갤러리 이미지를 블록 사이에 드롭해 단일 이미지로 분리할 수 있다.
  • 단독 이미지 URL 줄도 드래그 갤러리 병합·추가 대상으로 처리한다.
  • 라이브 모드에서 단일 이미지를 기존 갤러리에 드래그로 추가할 수 있다.
  • 갤러리는 이미지 수와 실제 비율에 따라 행 너비를 자동 조정한다.
  • 라이브 모드 갤러리 블록도 키보드 이동과 편집·삭제 버튼 접근을 지원한다.
  • 라이브 모드 갤러리에서는 개별 이미지별 편집·삭제 버튼을 제공한다.
  • 갤러리 이미지 추가 모달을 열어도 오른쪽 블록 패널 상태가 유지되며, 패널 바깥 클릭 시 닫힌다.
  • 다크모드 기본 인용 블록과 공개 본문 리스트 마커 색상을 글쓰기 화면 기준으로 정리했다.
  • 다크모드에서 좌우 사이드바 배경이 본문 배경과 다르게 튀어 보이지 않도록 통일했다.

v1.4.1

  • 관리자에서 비디오 등 대용량 미디어 업로드 시 적용되던 10MB 공통 한도를 종류별로 분리했다(비디오 기본 200MB).
  • 새 임베드 저장 형식을 단독 URL 한 줄로 통일해 :::embed와 URL-only가 섞이는 문제를 줄였다.
  • 글쓰기 라이브 모드에서 임베드·업로드 미디어 카드를 바로 프리뷰로 표시하고 방향키 이동, 버튼/키보드 삭제를 할 수 있게 했다.
  • 글쓰기 라이브 모드에서 제목 입력 후 Enter가 원문 편집처럼 보이던 흐름을 수정했다.

v1.4.0

  • 본문에서 비디오, 오디오, 파일 다운로드 카드를 렌더링할 수 있도록 확장했다.
  • X/Twitter 임베드 카드 폭을 조정하고 Mastodon 공개 게시물 임베드의 높이 자동 조절을 추가했다.
  • 관리자 글쓰기에서 비디오·오디오·파일 업로드를 바로 연결하고, 단독 URL 한 줄을 자동 임베드로 표시한다.

v1.2.0

  • 관리자 글 목록 정렬·개수·추천 필터·별 표시, 슬러그·예약 시각 UX를 정리했다.

v1.1.19

  • 관리자 글쓰기 헤더에 작성/미리보기 전환, Update 시 발행일 유지, 미디어 검색.
  • 사이트 설정 기타·POST 카드를 섹션별 편집·저장으로 분리.
  • 본문 인용·인라인 코드 스타일과 블록 여백을 조정했다.

v1.1.18

  • 마크다운 에디터 이미지·갤러리 삽입을 단일 모달(미디어 라이브러리·업로드 탭)로 통합하고, 이미지 너비 툴바를 제거했다.
  • POST 설정에서 발행 후 수정일 표시를 켜고 끌 수 있으며, 관리자 글 목록·공개 상세에 반영된다.

v1.1.16

  • 게시 상태를 초안·발행·예약만 쓰도록 정리하고, 신규 초안 임시 슬러그·발행 UI·툴바 저장 동작을 맞췄다.

v1.1.15

  • 신규 초안 서버 자동 저장, 초안 이탈 확인 모달 제거, 글 목록 헤더 필터 배치를 정리했다.

v1.1.14

  • 관리자 글쓰기 상단을 Ghost에 가깝게 바꾸고, 초안 자동 저장은 서버 PUT만 쓰며 발행·예약 글은 Update로만 저장되게 정리했다.

v1.1.13

  • 상단 메뉴 깊이를 한 단계로 제한하고, 추천 사이트를 DB·관리자 탭·우측 Recommended 카드(외부 파비콘 프록시)로 연결했다.

v1.1.12

  • 관리자 상단 메뉴에서 드래그 시 형제 끼움과 하위 편입을 색·문구로 구분하고, 왼쪽 번호를 계층형 개요(2.1 등)로 바꿨다.

v1.1.11

  • 공개 사이드바 1차 네비 비활성 표시·하위 간격을 정리하고, 관리자 상단 메뉴는 추가 후 드래그만으로 형제 순서·하위 편입을 바꾸도록 단순화했다.

v1.1.10

  • 관리자 사이트 설정 화면을 Ghost형 전체 화면(좌측 내비·스크롤 스파이·ESC 닫기)으로 바꾸고, 블로그 제목·설명은 읽기 전용 + 편집 시에만 입력하도록 정리. 상단 헤더 없이 우측 상단 고정 닫기, 사이드·본문 중앙 정렬 레이아웃을 적용한다.

v1.1.9

  • 관리자 글 목록에 상태·태그·정렬 필터와 댓글 수 표시를 추가.
  • 글쓰기 사이드바에 추천 글 토글을 추가하고, 홈 Featured와 번개 표시는 실제 추천 글만 기준으로 표시.
  • 공개 헤더는 텍스트 사이트 이름만 사용하고, 사이드바의 Authors/About 영역은 숨김 처리.

v1.1.8

  • 로고·파비콘 파일명 접미사를 년월+랜덤 문자열로 줄임.
  • 태그 추가 버튼을 일반 태그 영역으로 옮기고, 메인 태그 순서는 드래그 후 자동 저장되도록 개선.

v1.1.7

  • 사이트 로고와 파비콘을 교체할 때 새 고유 URL로 저장해 운영 환경에서 이전 이미지가 캐시에 남는 문제를 줄임.
  • 현재 사이트 설정에서 사용 중인 로고·파비콘은 미디어 라이브러리에서 사용 중인 파일로 표시하고 삭제·파일명 변경을 차단하도록 보강.

v1.1.6

  • 관리자 태그 관리 화면에서 일반 태그도 검색 없이 배지형 전체 목록으로 확인하고, 최근 사용순·많이 사용순·이름순으로 정렬할 수 있도록 수정.

v1.1.5

  • 운영 Docker에서 새로 업로드한 로고·게시물 이미지·회원 썸네일이 재시작 전에도 바로 표시되도록 업로드 파일 제공 방식을 보강.

v1.1.4

  • 관리자 멤버 썸네일 업로드가 회원 전용 /uploads/members/avatars 경로를 사용하도록 수정.
  • 관리자 계정과 일반 회원 모두 같은 회원 썸네일 저장 규칙(WebP 변환, 1:1 크롭)을 쓰도록 정리.
  • 태그 목록 카드 그리드 여백 수정 반영.

v1.0.19

  • Shift+Enter 줄바꿈이 수정 모드에서도 보이도록 줄끝 백슬래시 hard break 방식으로 변경.
  • 기존 공백 2개 hard break도 계속 렌더링되도록 호환 처리.

v1.0.18

  • 여러 줄을 비워둔 경우 미리보기와 공개 본문에서도 비운 만큼 공백이 보이도록 보강.
  • 미리보기 모드에서 편집 툴바와 카드형 패널 외곽을 숨겨 본문만 보이게 정리.
  • 줄 번호 영역의 스크롤바를 숨겨 작성 화면을 더 차분하게 정리.

v1.0.17

  • 글쓰기 영역의 보더와 카드형 배경을 제거해 본문 편집 화면을 더 가볍게 정리.
  • 줄 번호를 본문 바깥에 띄우고 현재 줄 액센트 배경을 제거.
  • Enter는 한 줄만 내려가는 새 문단으로, Shift+Enter는 같은 문단 안 줄바꿈으로 동작하도록 조정.
  • 문단과 제목 아래 기본 간격을 10px 기준으로 정리.

v1.0.16

  • 글쓰기에서 Enter는 새 문단, Shift+Enter는 같은 문단 안 줄바꿈으로 동작하도록 정리.
  • 미리보기 전환 후 작성 모드로 돌아오면 기존 커서 위치에서 계속 입력할 수 있도록 개선.
  • 공개 본문과 관리자 미리보기의 문단 간격을 24px 기준으로 통일.

v1.0.15

  • 본문 중간의 빈 줄이 공개 화면과 관리자 미리보기에서 사라지지 않도록 간격 보존을 보강.

v1.0.14

  • Markdown-first 전환 후 레거시 블록 본문이나 기존 자동 저장본 때문에 게시물 발행이 막히는 문제를 보강.

v1.0.13

  • 관리자 글쓰기에서 외부 웹 글 붙여넣기를 기본 마크다운으로 정리하고, 커서가 위치한 이미지·갤러리 블록을 바로 편집할 수 있도록 개선.

v1.0.11

  • 관리자 글쓰기 본문을 Markdown-first 에디터로 교체해 범위 선택, 복사/붙여넣기, 미디어 이미지·갤러리 삽입 흐름을 단순화.

v1.0.5

  • Docker 운영 컨테이너가 빌드 시점 설정 대신 .env.production의 런타임 환경 변수를 우선 읽도록 보강.

v1.0.4

  • owner/admin 계정이 없는 운영 DB에서도 환경 변수 관리자 계정으로 첫 owner를 생성하거나 기존 일반 회원을 승격할 수 있도록 보강.

v1.0.3

  • NAS에서 Postgres 초기 마이그레이션 디렉터리 권한 문제로 DB 컨테이너가 재시작될 때 확인할 배포 절차를 정리.

v1.0.2

  • 운영 DB 최초 상태에서 환경 변수 관리자 계정으로 첫 owner 계정을 만들고 로그인할 수 있도록 보강.
  • 배포 문서의 운영 환경 변수 생성 안내를 정리.

v1.0.1

  • Docker Compose 네트워크 충돌 대응을 위해 전용 브리지 네트워크와 DOCKER_SUBNET 설정 추가.

v1.0.0

  • 운영 시작 기준 버전.
  • 운영 환경 DB 설정 누락 시 샘플 콘텐츠 대신 즉시 실패하도록 보강.
  • 회원 세션 비밀값을 관리자 비밀번호와 분리.
  • JavaScript 문법 점검과 프로덕션 빌드를 묶은 검증 스크립트 추가.
  • Nitro 보안 권고 반영 및 취약점 0건 확인.
  • Docker compose 설정과 앱 이미지 빌드 검증 완료.

v0.0.6

  • .env.example을 실제 비밀값이 없는 공유 템플릿으로 정리.
  • 로컬 개발 전용 .env.development를 생성하고 개발 DB/관리자 비밀번호를 랜덤 값으로 분리.
  • 개발/운영 환경 변수 파일 관리 기준을 문서화.
  • 패키지 버전을 0.0.6으로 갱신.

v0.0.5

  • PostgreSQL 초기 스키마와 개발용 시드 데이터를 추가.
  • Nuxt 서버 API에 DB 저장소 계층을 추가.
  • DB 연결이 없을 때는 샘플 데이터로 동작하도록 fallback 구조를 추가.
  • Docker Compose에 PostgreSQL 서비스를 추가.

v0.0.4

  • 헤더 좌측 아이콘을 사이드바 메뉴 토글 버튼으로 수정.
  • 좌측 사이드바 열림 상태를 저장하고 복원하는 기능 추가.
  • Nuxt/Vue 방식으로 원본 테마의 Alpine식 메뉴 토글 동작을 구현.

v0.0.3

  • 공개 화면의 라이트/다크 색상 토큰을 추가.
  • 좌우 사이드바가 헤더 아래 전체 높이를 차지하도록 레이아웃 보정.
  • Thred 참고 화면에 가깝게 헤더, 히어로, 사이드바 임시 콘텐츠를 보강.

v0.0.2

  • Nuxt 3 기반 프로젝트 실행 구조를 추가.
  • Tailwind CSS, Zod, Nuxt 서버 API 초기 골격을 추가.
  • 공개 화면, 관리자 화면, 콘텐츠 컴포넌트의 기본 파일 구조를 생성.
  • Docker 기반 NAS 배포 초안을 추가.
  • 프로젝트 전용 개발/운영 포트 기준을 추가.

v0.0.1

  • sori.studio 개인 블로그/CMS 초기 방향 정리.
  • Ghost 스타일 관리자와 Thred 스타일 공개 화면을 기준 참조로 확정.
  • Nuxt SSR, JavaScript, JSDoc, Zod, Tailwind CSS 기반 개발 원칙 정리.
  • Git 원격 저장소와 작성자 정보를 프로젝트 기준으로 명시.
  • 로컬 개발 DB와 NAS 운영 DB를 분리하는 원칙 추가.
  • NAS 배포 시 운영 환경 변수와 운영 DB를 사용하도록 배포 기준 보강.

공개 플랫폼에 공유할 주요 변경사항은 사용자가 요청한 시점에 별도 문장으로 정리한다.