Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ko] convert html to markdown (1) /web/javascript #1698

Closed
wants to merge 33 commits into from
Closed

[ko] convert html to markdown (1) /web/javascript #1698

wants to merge 33 commits into from

Conversation

hochan222
Copy link
Member

@hochan222 hochan222 commented Jul 26, 2021

PR 목적

html을 markdown으로 변환하는 것에만 목적을 뒀습니다.

변환 방법 (yari)

yarn md h2m web/javascript/path --locale ko --mode keep

느낀점

  • 가독성이 좋아졌다.
    • 확실히 HTML 형식보다 markdown이 구조적으로 간단해서 유지보수에 쉬워보인다.
  • 변환 조건이 엄격해서 변환이 안되는 부분들이 너무 많았다.
    • 전체 문서를 한번에 명령어로 변환해서 반영하면, 여러 문서에서 깨질 위험성이 굉장히 크다는 것을 느꼈다. 당장의 closure 부분의 code 부분은 전부 변환이 되지않고 일반 text로 변환됐다.
  • 본문 중간에 맘대로 개행이 된다.
  • {{jsxref("Math")}}[Math](/ko/Core_JavaScript_1.5_Reference/Global_Objects/Math) 가 기준없이 무차별하게 쓰이고 있다.
    • 위 사례는 하나의 예시일 뿐이다.

목록

  • a_re-introduction_to_javascript (동기화 여부 x)
  • about_javascript (동기화 여부 o)
  • closures (동기화 여부 x)
  • data_structures (동기화 여부 x)
  • enumerability_and_ownership_of_properties (동기화 여부 x)
  • equality_comparisons_and_sameness (동기화 여부 x)
  • eventloop (동기화 여부 x)

참고

가독성 예시

  • before

  • after


변환 후 추가 변경사항

명령어 이후 아래는 추가적으로 진행한 정제작업을 나열했습니다. (중복된 작업은 작성하지 않았습니다.)

  • about_javascript

    • <sup>®</sup> 제거 (https://developer.mozilla.org/en-US/docs/MDN/Contribute/Markdown_in_MDN#superscript_and_subscript)
    • <span style="line-height: 1.5;">기본적인 문법은  언어 학습에 필요한 새로운 개념 을 줄이기 위해 Java와 C++의 if문, for와 while문, switch문과 try...catch 구문을 사용하는 언어구조를 사용하며, 그와 같은 (거의 가까운) 동작을 한다.</span> 에서 span tag 제거. (Strip tags/strip attribute)
    • <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px 0px 1.7em; padding-top: 0px;"> p tag 제거 GFM
      • 해당 경우는 style이 포함되어있기 때문에 자동으로 p tag를 삭제를 해주지 않았습니다. error 경우입니다.
    • <a class="external" href="http://www.instantweb.com/%7Efoldoc/foldoc.cgi?query=procedural&#x26;action=Search">[]()으로 변환 (GFM)
    • <ul><li>-로 변경 (GFM)
    • <strong>호스트 객체</strong>****로 변경 (GFM)
    • <dl><dt> (Description lists)
  • /web/javascript/closures

    > **Note:** 이런 방식으로 클로저를 사용하여 객체지향 프로그래밍의 정보 은닉과 캡슐화 같은 이
    점들을 얻을 수 있다.
    
  • /web/javascript/data_structures

  • /web/javascript/equality_comparisons_and_sameness

  • /web/javascript/eventloop

    • <img alt="Stack, heap, queue" src="/files/4617/default.svg" style="height: 270px; width: 294px;">
      • ![Stack, heap, queue](the_javascript_runtime_environment_example.svg) 로 변경
  • /web/javascript/a_re-introduction_to_javascript

    • <h2 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h2>
      • 유니코드 id, name으로인해 정상적인 변환이 이뤄지지않았다.

버그

@hochan222 hochan222 added the l10n-ko Issues related to Korean content. label Jul 26, 2021
@peterbe
Copy link
Contributor

peterbe commented Jul 26, 2021

@hochan222 There are currently not index.md files in the mdn/translated-content repo but, thanks to people like you, it's only a matter of time.
Once #1705 is merged and you merge in latest main into your branch, it should hopefully start building based on index.md files too.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 26, 2021

Preview URLs

Flaws

Note! 3 documents with no flaws that don't need to be listed. 🎉

URL: /ko/docs/Web/JavaScript/Equality_comparisons_and_sameness
Title: 동치 비교 및 동일성
on GitHub
Flaw count: 6

  • macros:
    • /ko/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2 does not exist but fallbacked on /en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2
  • broken_links:
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
  • heading_links:
    • h2 heading contains an <a> tag

URL: /ko/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Title: JavaScript 재입문하기 (JS ​튜토리얼)
on GitHub
Flaw count: 18

  • broken_links:
    • Can't resolve /ko/docs/docs/Web/JavaScript/Data_structures#bigint_type
    • Can't resolve /ko/docs/docs/Web/JavaScript/Data_structures#undefined_type
    • Can't resolve /ko/docs/docs/Web/JavaScript/Data_structures#null_type
    • Can't resolve /ko/docs/docs/Web/JavaScript/Data_structures#bigint_type
    • Can't resolve /ko/Core_JavaScript_1.5_Reference/Operators/Arithmetic_Operators
    • and 13 more flaws omitted

URL: /ko/docs/Web/JavaScript/EventLoop
Title: 동시성 모델과 이벤트 루프
on GitHub
Flaw count: 2

  • broken_links:
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback

URL: /ko/docs/Web/JavaScript/Data_structures
Title: 자바스크립트의 자료형
on GitHub
Flaw count: 19

  • macros:
    • /ko/docs/Web/JavaScript/Reference/Map does not exist
    • /ko/docs/Web/JavaScript/Reference/Int8Array does not exist
    • /ko/docs/Web/JavaScript/Reference/Uint8Array does not exist
    • /ko/docs/Web/JavaScript/Reference/Uint8ClampedArray does not exist
    • /ko/docs/Web/JavaScript/Reference/Int16Array does not exist
    • and 7 more flaws omitted
  • broken_links:
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • Can use the English (en-US) link as a fallback
    • and 2 more flaws omitted

External URLs

URL: /ko/docs/Web/JavaScript/Equality_comparisons_and_sameness
Title: 동치 비교 및 동일성
on GitHub


URL: /ko/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Title: JavaScript 재입문하기 (JS ​튜토리얼)
on GitHub


URL: /ko/docs/Web/JavaScript/EventLoop
Title: 동시성 모델과 이벤트 루프
on GitHub


URL: /ko/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
Title: Enumerability and ownership of properties
on GitHub

No new external URLs


URL: /ko/docs/Web/JavaScript/Closures
Title: 클로저
on GitHub


URL: /ko/docs/Web/JavaScript/Data_structures
Title: 자바스크립트의 자료형
on GitHub


URL: /ko/docs/Web/JavaScript/About_JavaScript
Title: JavaScript에 대하여
on GitHub

(this comment was updated 2021-07-26 19:20:39.418687)

@hochan222 hochan222 marked this pull request as ready for review July 26, 2021 19:03
@hochan222 hochan222 requested a review from a team as a code owner July 26, 2021 19:03
@hochan222 hochan222 requested review from yechoi42 and removed request for a team July 26, 2021 19:03
@hochan222
Copy link
Member Author

@mdn/yari-content-ko

html을 markdown으로 변환시키는 첫번째 예시입니다. yarn md h2m web/javascript/path --locale ko --mode keep 명령어로 모두 해결되면 좋겠지만, 많은 한국 문서에 레거시로 인해 변환이 잘 이뤄지지 않는 경우가 많습니다. (예: id, class 값이 있을 경우 변환을 하지 않고 그대로 놔둠). 리뷰를 할때, 변환이 잘 이뤄지지 않는 경우에 대해 알고있어야 합니다. 따라서, 해당 PR에 멘션했습니다.

@alattalatta
Copy link
Member

@hochan222 이 PR이 예시인지 실제로 병합될지는 모르겠지만 Git 히스토리가 날아가는 것은 좀 우려스럽습니다. mdn/content#6936 을 보시면

  1. .html->.md 이름만 변경
  2. 마크다운 커밋

의 형태로 되어있음을 볼 수 있습니다. 여타 html -> md 변환 PR의 경우에도 동일한 절차를 취해야 하지 않을까 해요. (#1763)

@hochan222
Copy link
Member Author

hochan222 commented Jul 28, 2021

@alattalatta 알려주셔서 감사합니다. 중요한 점을 놓치고 있었네요.

여타 html -> md 변환 PR의 경우에도 동일한 절차를 취해야 하지 않을까 해요.

동의합니다. 관련 지침은 따로 제가 만들겠습니다.

어쩌면 조금 성급했는지도 모르겠습니다. #1574 해당 PR처럼 관련 사전 작업도 시간을 내서 따로 해야겠네요.

@hochan222 hochan222 removed the request for review from yechoi42 July 28, 2021 14:03
@hochan222
Copy link
Member Author

hochan222 commented Jul 28, 2021

현재 PR의 작업은 #1769 로 이전되었습니다. #1769 을 참고해주세요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
l10n-ko Issues related to Korean content.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants