>  Q&A  >  본문

Javascript는 Markdown/Textile을 HTML로 변환합니다(이상적으로는 Markdown/Textile 반환).

<p>Markdown/텍스타일을 위한 몇 가지 좋은 Javascript <strong>편집기</strong>가 있습니다(예: http://attacklab.net/showdown/, 제가 지금 사용하고 있는 것). 하지만 제가 필요한 것은 Markdown / Textile -> HTML 간 문자열을 변환하는 Javascript 함수입니다. </p> <p>가장 좋은 접근 방식은 무엇인가요? (이상적으로는 jQuery 친화적이어야 합니다. 예: <code>$("#editor").markdown_to_html()</code>)</p> <p><strong>편집: </strong>이를 표현하는 또 다른 방법은 Rails의 <code>textilize()</code> 및 <code>markdown()< /코드> 자바스크립트 구현>
P粉295616170P粉295616170422일 전558

모든 응답(2)나는 대답할 것이다

  • P粉403821740

    P粉4038217402023-08-25 17:37:48

    여기에 JavaScript 솔루션의 축소된(압축되지 않은) 크기와 장단점을 나열하는 것이 가치가 있다고 생각했습니다. 축소된 코드의 압축된 크기는 압축되지 않은 크기의 약 50%입니다. 요약하자면:

    • 완전한 지원을 원하고 사용자가 필요한 경우 편집이나 임의 문서에 markdown-it(104KB)을 사용하세요. 단, 크기/대역폭에는 크게 신경 쓰지 마세요.
    • 상당히 높은 품질과 테이블 지원이 필요하지만 가볍고 변환 이외의 기능이 필요하지 않거나 모든 극단적인 경우를 해결하려면 내 자체 drawdown(1.3KB)을 사용하세요.
    • 보안이나 확장성과 같은 고유한 기능이 필요한 경우 다른 기능 중 하나를 사용하세요.

    모두 MIT 라이센스를 사용하며 대부분은 npm에 있습니다.

    • markdown-it: 104KB. CommonMark 마이그레이션 이후 StackExchange 지원. CommonMark 사양을 따르며 이제 기본적으로 구문 확장을 지원합니다. 신속하게, Showdown만큼 강력하지만 규모가 훨씬 더 큽니다. 동기화된 스크롤과 같은 수많은 기능이 있습니다. http://dillinger.io/의 기반이기도 합니다.

    • Showdown: 28KB. CommonMark를 완벽하게 지원하며 Markdown-It보다 훨씬 작지만 속도가 느립니다. 페이지다운의 기본이 됩니다.

    • 페이지 아래: 8KB. CommonMark 마이그레이션에 앞서 StackExchange에 대한 지원을 제공합니다. 매우 강력하지만 표, 정의 목록, 각주 등이 부족합니다. 8KB 변환기 스크립트 외에도 편집기 및 클리너 스크립트도 제공합니다.

    • Reduced: 1.3KB. 전체공개, 제가 썼습니다. 다른 경량 변환기보다 더 넓은 기능으로 CommonMark 사양의 전부는 아니지만 대부분을 처리합니다. 사용자 편집에는 권장되지 않지만 웹 애플리케이션에 정보를 표시하는 데 유용합니다. 인라인 HTML이 없습니다.

    • 태그 : 19KB. 포괄적이며 단위 테스트 모음에 대해 테스트되었으며 사용자 정의 어휘 분석기 규칙을 지원합니다.

    • micromarkdown: 5KB. 많은 기능이 지원되지만 * 을 사용하는 순서가 지정되지 않은 목록과 같은 일부 일반적인 기능과 격리된 코드 블록과 같이 사양의 일부가 아닌 일부 일반적인 기능이 누락되었습니다. 오류가 많아 대부분의 긴 문서에서 예외가 발생합니다. 나는 그것을 실험적이라고 생각합니다.

    • nano-markdown: 1.9KB. 기능 범위는 대부분의 문서에서 사용하는 것으로 제한됩니다. 마이크로 마크다운보다 강력하지만 자체적인 매우 기본적인 단위 테스트를 사용하는 것은 완벽하지 않습니다. 매우 강력하지만 많은 경우에 문제가 있습니다.

    • mmd.js: 800바이트. 여전히 사용할 수 있는 가장 작은 파서를 만들기 위해 노력한 결과입니다. 작은 하위 집합이 지원됩니다. 이에 맞게 문서를 조정해야 합니다.

    • markdown-js: 54KB(축소된 버전을 다운로드할 수 없으며 축소될 수 있음) ~ 20KB). 포괄적인 것처럼 보이고 테스트도 포함되어 있지만 그다지 익숙하지는 않습니다.

    • meltdown: 41KB(축소하면 다운로드할 수 없으며 약 15KB로 줄어들 수 있습니다). jQuery 플러그인; Markdown Extra(테이블, 정의 목록, 각주).

    • unified.js: 다양함, 5-100KB. HTML, 마크다운, 산문 간의 변환을 위한 플러그인 기반 시스템입니다. 필요한 플러그인(맞춤법 검사, 구문 강조, 입력 정리)에 따라 파일 크기가 달라집니다. 아마도 클라이언트 측보다 서버 측을 더 많이 사용할 것입니다.

    회신하다
    0
  • P粉592085423

    P粉5920854232023-08-25 09:13:59

    Markdown -> HTML의 경우 Showdown

    이 있습니다.

    StackOverflow 자체는 Q&A에 Markdown 언어를 사용합니다. 어떻게 작동하는지 확인해 보셨나요?

    글쎄요, MIT 라이센스에 따라 사용 가능한 PageDown을 사용하고 있는 것 같습니다

    질문좋은 Markdown Javascript 라이브러리나 컨트롤이 있나요? 그리고 그 답변도 도움이 될 수 있습니다 :-)


    물론 전체 편집기는 정확히 원하는 것은 아니지만 Markdown 코드를 HTML로 변환하려면 일부 기능을 사용해야 하며 해당 편집기의 라이센스에 따라 해당 기능을 재사용할 수 있습니다. ...

    사실 Showdown을 자세히 살펴보면 코드 소스 (showdown.js 파일) 댓글에서 다음 부분을 찾을 수 있습니다.

    으아악

    jQuery 구문은 아니지만 애플리케이션에 쉽게 통합할 수 있어야 합니다 ;-)


    텍스타일에 관해서는 유용한 것을 찾기 힘든 것 같습니다 :-(


    HTML -> 마크다운은 반면에 좀 더 어려울 수도 있겠네요...

    내가 할 일은 마크다운과 HTML을 모두 내 앱의 데이터 저장소(데이터베이스?)에 저장하고 하나는 편집용으로, 다른 하나는 렌더링용으로 사용하는 것입니다... 더 많은 공간을 차지하지만 "해독"보다 더 나은 것 같습니다 덜 위험함 "HTML ...

    회신하다
    0
  • 취소회신하다