From 797c0883c84fe9a5e2a37202d19dbdead9bd3d12 Mon Sep 17 00:00:00 2001 From: JK Date: Thu, 19 Feb 2026 16:37:40 +0900 Subject: [PATCH 1/5] core.py --- confluence-mdx/bin/converter/core.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/confluence-mdx/bin/converter/core.py b/confluence-mdx/bin/converter/core.py index d5e097a18..bd306700a 100644 --- a/confluence-mdx/bin/converter/core.py +++ b/confluence-mdx/bin/converter/core.py @@ -176,10 +176,7 @@ def convert_recursively(self, node): """Recursively convert child nodes to Markdown.""" if isinstance(node, NavigableString): text = navigable_string_as_markdown(node) - if node.parent.name in ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']: - self.markdown_lines.append(text.strip()) - else: - self.markdown_lines.append(text) + self.markdown_lines.append(text) return logging.debug(f"SingleLineParser: type={type(node).__name__}, name={node.name}, value={repr(node.text)}") From 0cb36c9169748e9b7e31f937a811069734cdec6e Mon Sep 17 00:00:00 2001 From: JK Date: Thu, 19 Feb 2026 16:37:54 +0900 Subject: [PATCH 2/5] fix test fixture --- confluence-mdx/tests/testcases/544112828/expected.mdx | 2 +- confluence-mdx/tests/testcases/544384417/expected.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/confluence-mdx/tests/testcases/544112828/expected.mdx b/confluence-mdx/tests/testcases/544112828/expected.mdx index 8620c5653..e76b0ea4e 100644 --- a/confluence-mdx/tests/testcases/544112828/expected.mdx +++ b/confluence-mdx/tests/testcases/544112828/expected.mdx @@ -132,7 +132,7 @@ Agent > Server > Select a Role 역할이 두 개 이상이라면, Agent 로그인 후 Server 기능 사용을 위해 역할 선택을 먼저 완료해야 합니다. -####
2.Agent로 서버 접속하기 +####
2. Agent로 서버 접속하기 * 접속할 서버를 우클릭 후 Open Connection with 메뉴를 선택하여, 사용하려는 터미널 툴을 선택합니다. diff --git a/confluence-mdx/tests/testcases/544384417/expected.mdx b/confluence-mdx/tests/testcases/544384417/expected.mdx index 155f0520b..ec166d803 100644 --- a/confluence-mdx/tests/testcases/544384417/expected.mdx +++ b/confluence-mdx/tests/testcases/544384417/expected.mdx @@ -797,7 +797,7 @@ Administrator > Audit > Reports > Reports > Create `Save` 버튼을 클릭하여 보고서 태스크를 저장하고 목록으로 돌아갑니다. -### 보고서 복제하기10.2.2 +### 보고서 복제하기 10.2.2
Administrator > Audit > Reports > Reports - Duplicate Task From 2f80bea84a36705fe0b9d27785363785e654fc52 Mon Sep 17 00:00:00 2001 From: JK Date: Thu, 19 Feb 2026 16:38:56 +0900 Subject: [PATCH 3/5] roundtrip_verifier.py --- .../bin/reverse_sync/roundtrip_verifier.py | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/confluence-mdx/bin/reverse_sync/roundtrip_verifier.py b/confluence-mdx/bin/reverse_sync/roundtrip_verifier.py index c20f5962f..23bcbff3c 100644 --- a/confluence-mdx/bin/reverse_sync/roundtrip_verifier.py +++ b/confluence-mdx/bin/reverse_sync/roundtrip_verifier.py @@ -119,26 +119,6 @@ def _normalize_table_cell_lines(text: str) -> str: return '\n'.join(result) -def _normalize_heading_ws(text: str) -> str: - """Heading 행의 공백을 정규화한다. - - Forward converter가 heading 내 텍스트 노드를 .strip()하므로, - 인라인 요소(, 등) 경계의 공백이 제거된다. - 비교 시 이 차이를 무시하기 위해 heading 내용의 공백을 제거하여 비교한다. - """ - lines = text.split('\n') - result = [] - for line in lines: - m = re.match(r'^(#{2,6})\s', line) - if m: - prefix = m.group(1) - content = line[len(prefix):].lstrip() - content = re.sub(r'\s+', '', content) - result.append(prefix + ' ' + content) - else: - result.append(line) - return '\n'.join(result) - def _normalize_sentence_breaks(text: str) -> str: """Forward converter의 split_into_sentences()에 의한 줄바꿈을 정규화한다. @@ -203,7 +183,6 @@ def _apply_normalizations(text: str) -> str: text = _normalize_table_cell_lines(text) text = _normalize_html_entities_in_code(text) text = _normalize_inline_code_boundaries(text) - text = _normalize_heading_ws(text) text = _normalize_sentence_breaks(text) text = _normalize_quotes(text) return text From f5a8b1e5d8bbb7eff2d4681f494dabf6e19c1a62 Mon Sep 17 00:00:00 2001 From: JK Date: Thu, 19 Feb 2026 17:00:14 +0900 Subject: [PATCH 4/5] fix test fixture --- confluence-mdx/tests/testcases/544112828/expected.html | 2 +- confluence-mdx/tests/testcases/544384417/expected.html | 2 +- confluence-mdx/tests/testcases/544384417/expected.skel.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/confluence-mdx/tests/testcases/544112828/expected.html b/confluence-mdx/tests/testcases/544112828/expected.html index cd0d3f5d3..41cda7b51 100644 --- a/confluence-mdx/tests/testcases/544112828/expected.html +++ b/confluence-mdx/tests/testcases/544112828/expected.html @@ -122,7 +122,7 @@

1. 서버 역할 선택하기

역할이 두 개 이상이라면, Agent 로그인 후 Server 기능 사용을 위해 역할 선택을 먼저 완료해야 합니다.

-


2.Agent로 서버 접속하기

+


2. Agent로 서버 접속하기

  • 접속할 서버를 우클릭 후 Open Connection with 메뉴를 선택하여, 사용하려는 터미널 툴을 선택합니다.
  • diff --git a/confluence-mdx/tests/testcases/544384417/expected.html b/confluence-mdx/tests/testcases/544384417/expected.html index ac58332be..32dd9300d 100644 --- a/confluence-mdx/tests/testcases/544384417/expected.html +++ b/confluence-mdx/tests/testcases/544384417/expected.html @@ -497,7 +497,7 @@

    보고서 생성하기

    Save 버튼을 클릭하여 보고서 태스크를 저장하고 목록으로 돌아갑니다.

    -

    보고서 복제하기10.2.2

    +

    보고서 복제하기 10.2.2

    Administrator > Audit > Reports > Reports - Duplicate Task

    Administrator > Audit > Reports > Reports - Duplicate Task

    diff --git a/confluence-mdx/tests/testcases/544384417/expected.skel.mdx b/confluence-mdx/tests/testcases/544384417/expected.skel.mdx index 821458c6e..437bd6e89 100644 --- a/confluence-mdx/tests/testcases/544384417/expected.skel.mdx +++ b/confluence-mdx/tests/testcases/544384417/expected.skel.mdx @@ -797,7 +797,7 @@ _TEXT_ `_TEXT_` _TEXT_ `_TEXT_` -_TEXT__TEXT_ +_TEXT_ _TEXT_
    _TEXT_ From f309f60f106e05631a815f808c3c4cff979b8dd1 Mon Sep 17 00:00:00 2001 From: JK Date: Thu, 19 Feb 2026 17:08:01 +0900 Subject: [PATCH 5/5] =?UTF-8?q?confluence-mdx:=20heading=20strip=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=EC=97=90=20=EB=94=B0=EB=A5=B8=20roundtrip=20?= =?UTF-8?q?sidecar=20=EC=9E=AC=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 두 테스트 케이스(544112828, 544384417)의 expected.roundtrip.json을 expected.mdx 변경에 맞춰 재생성합니다. Co-Authored-By: Claude Opus 4.6 --- .../tests/testcases/544112828/expected.roundtrip.json | 4 ++-- .../tests/testcases/544384417/expected.roundtrip.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/confluence-mdx/tests/testcases/544112828/expected.roundtrip.json b/confluence-mdx/tests/testcases/544112828/expected.roundtrip.json index eddee7a34..f5dd8bda0 100644 --- a/confluence-mdx/tests/testcases/544112828/expected.roundtrip.json +++ b/confluence-mdx/tests/testcases/544112828/expected.roundtrip.json @@ -1,7 +1,7 @@ { "schema_version": "2", "page_id": "544112828", - "mdx_sha256": "515b770c71d516d432e7c7f5aad5047dc985f1d0b4ec1608ce29391cdffff6d0", + "mdx_sha256": "d00db1b0aabbe8136bff8ba7fa23884a02a9e9d20d057ebd4afece764be056c9", "source_xhtml_sha256": "b31f4552fd924f4299dfd7dc6edea8f00bfefbf403f5f96011e17a553b24ff67", "blocks": [ { @@ -404,7 +404,7 @@ "block_index": 36, "xhtml_xpath": "h3[2]", "xhtml_fragment": "


    2. Agent로 서버 접속하기

    ", - "mdx_content_hash": "48fdfe9f603875e8150faeb15e7bb62d52ef9e6eaae0da72bb11f37780265cae", + "mdx_content_hash": "19c5273fdb5291eb07fcdd53579b840c7ee7cae628a313b3e1231bcd543b6768", "mdx_line_range": [ 135, 135 diff --git a/confluence-mdx/tests/testcases/544384417/expected.roundtrip.json b/confluence-mdx/tests/testcases/544384417/expected.roundtrip.json index f1777efb9..94c72f38a 100644 --- a/confluence-mdx/tests/testcases/544384417/expected.roundtrip.json +++ b/confluence-mdx/tests/testcases/544384417/expected.roundtrip.json @@ -1,7 +1,7 @@ { "schema_version": "2", "page_id": "544384417", - "mdx_sha256": "2aa3d2cfb9df8f558ebe0fa569a42c7ae4fa6d26ff9c4223ab51f376c0dc37c1", + "mdx_sha256": "4b96a4535c91347c0855f4564fe7034161b5eb987cc05939cfa8b025220e530b", "source_xhtml_sha256": "a4e2f99d4cec940a78d4fec41ca182195bcca8a70edd3085f72d5e778c47d4c0", "blocks": [ { @@ -338,7 +338,7 @@ "block_index": 30, "xhtml_xpath": "ac:image[4]", "xhtml_fragment": "

    Administrator > Audit > Reports > Reports - Duplicate Task

    ", - "mdx_content_hash": "ab1da70db6eada1e421ce73dba7703c6e331ce9c30412c1f17ae8addf08af6c8", + "mdx_content_hash": "4717dbed3a74575da20a27f83fd83c6c78af7e7d218051cf7428d1cecc1ea32a", "mdx_line_range": [ 800, 800