Skip to content

fix(ops): visual MDX editing and reliable CMS previews - #54

Merged
seoJing merged 2 commits into
mainfrom
fix/ops-mdx-rich-edit
Oct 6, 2026
Merged

seoJing merged 2 commits into
mainfrom
fix/ops-mdx-rich-edit

Conversation

@seoJing

@seoJing seoJing commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Replace the one-section MDX textarea with a visual editor for prose, headings, lists, code and tables, preserving original frontmatter and editing only selected source spans. Unsupported MDX components remain source-editable to avoid lossy conversion.
  • Separate CMS saved revision visual check, sandboxed backend saved HTML, sandboxed currently published API body, and existing static web post comparison. CMS-only slugs no longer point to a nonexistent /blog route.
  • Move the public edit shortcut from the sticky toolbar to a subtle link at the bottom of the article, labeled for administrators.

Validation

  • corepack pnpm --filter @app/web test — 318 passed
  • Ops editor smoke — 3 passed
  • corepack pnpm --filter @app/web lint — passed
  • corepack pnpm --filter @app/web build — passed
  • Worker upload size — 2304.58 KiB gzip, within budget (before final small API addition)
  • Independent read-only review — ACCEPT after corrections

Note

This improves editing of imported MDX without converting it to CMS blocks or publishing any article revision. Complex/unsupported components remain explicitly marked for source editing and comparison with the original live page.

Summary by CodeRabbit

  • 새로운 기능
    • 블로그 글 페이지에 관리자용 글 수정 링크가 추가되었습니다.
    • 글 편집기에서 제목, 문단, 목록, 표 등 지원되는 MDX 콘텐츠를 시각적으로 편집할 수 있습니다. 안전하게 변환할 수 없는 콘텐츠는 원문 편집으로 표시됩니다.
    • 저장한 CMS 글과 공개 HTML을 미리 볼 수 있으며, 해당하는 글은 정적 블로그 페이지와도 비교할 수 있습니다.
  • 개선 사항
    • 편집 중 오류가 있으면 안내가 표시되며, 오류가 해결될 때까지 수정본 저장이 제한됩니다.

Co-authored-by: seoJing <68586661+seoJing@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: seoJing/SEOJing/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0ae593c3-a4c0-4224-937c-552e5b0e6426
📥 Commits

Reviewing files that changed from the base of the PR and between 6371379 and 4762100.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (10)
  • apps/web/package.json
  • apps/web/src/app/api/ops/articles/route.ts
  • apps/web/src/app/blog/[...slug]/page.tsx
  • apps/web/src/widgets/article-toolbar/ArticleToolbar.tsx
  • apps/web/src/widgets/ops-articles/MdxRichEditor.test.tsx
  • apps/web/src/widgets/ops-articles/MdxRichEditor.tsx
  • apps/web/src/widgets/ops-articles/OpsArticleEditor.smoke.tsx
  • apps/web/src/widgets/ops-articles/OpsArticleEditor.tsx
  • apps/web/src/widgets/ops-articles/ops-article-editor.utils.test.ts
  • apps/web/src/widgets/ops-articles/ops-article-editor.utils.ts
 ______________________________________________________
< Your merge request walked so code reviews could run. >
 ------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Co-authored-by: seoJing <68586661+seoJing@users.noreply.github.com>
@seoJing
seoJing merged commit cca1258 into main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant