P粉4038217402023-08-25 17:37:48
여기에 JavaScript 솔루션의 축소된(압축되지 않은) 크기와 장단점을 나열하는 것이 가치가 있다고 생각했습니다. 축소된 코드의 압축된 크기는 압축되지 않은 크기의 약 50%입니다. 요약하자면:
모두 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, 마크다운, 산문 간의 변환을 위한 플러그인 기반 시스템입니다. 필요한 플러그인(맞춤법 검사, 구문 강조, 입력 정리)에 따라 파일 크기가 달라집니다. 아마도 클라이언트 측보다 서버 측을 더 많이 사용할 것입니다.
P粉5920854232023-08-25 09:13:59
Markdown -> HTML의 경우 Showdown
이 있습니다.StackOverflow 자체는 Q&A에 Markdown 언어를 사용합니다. 어떻게 작동하는지 확인해 보셨나요?
글쎄요, MIT 라이센스에 따라 사용 가능한 PageDown을 사용하고 있는 것 같습니다 p>
질문좋은 Markdown Javascript 라이브러리나 컨트롤이 있나요? 그리고 그 답변도 도움이 될 수 있습니다 :-)
물론 전체 편집기는 정확히 원하는 것은 아니지만 Markdown 코드를 HTML로 변환하려면 일부 기능을 사용해야 하며 해당 편집기의 라이센스에 따라 해당 기능을 재사용할 수 있습니다. ...
사실 Showdown을 자세히 살펴보면 코드 소스 (showdown.js 파일) 댓글에서 다음 부분을 찾을 수 있습니다.
으아악jQuery 구문은 아니지만 애플리케이션에 쉽게 통합할 수 있어야 합니다 ;-)
텍스타일에 관해서는 유용한 것을 찾기 힘든 것 같습니다 :-(
HTML -> 마크다운은 반면에 좀 더 어려울 수도 있겠네요...
내가 할 일은 마크다운과 HTML을 모두 내 앱의 데이터 저장소(데이터베이스?)에 저장하고 하나는 편집용으로, 다른 하나는 렌더링용으로 사용하는 것입니다... 더 많은 공간을 차지하지만 "해독"보다 더 나은 것 같습니다 덜 위험함 "HTML ...