좋은 Markdown Javascript 라이브러리 또는 컨트롤이 있습니까? [닫은]


89

사용자가 마크 다운에서 텍스트를 입력하고 서식을 지정할 수있는 사이트를 만들고 싶습니다. Javascript 솔루션을 원하는 이유는 StackOverflow에서와 같이 라이브 미리보기를 표시하고 싶기 때문입니다.

그러나 내 사이트는 개발자를 대상으로하지 않으므로 편집기 컨트롤이 이상적입니다.

StackOverflow에서 WMD 편집기가 사용 중임을 수집합니다.

Google에서 빠르게 검색하면 실제로 WMD에서 사용되고있는 Showdown 라이브러리가 표시됩니다.

다른 옵션이 있습니까? WMD / Showdown은 이미 훌륭한 도구입니까? 다양한 옵션에 대한 경험은 무엇입니까?

답변:


33

Ajax를 사용하여 라이브 미리보기를 생성하는 것을 싫어하지 않는다면 또 다른 옵션은 markItUp입니다! . markItUp! 범용 마크 업 편집기이며 매우 유연합니다. 마크 업 편집기를 만드는 쉬운 방법을 제공하지만 WMD와 달리 자체 라이브 미리보기를 제공하지 않습니다.

내 오픈 소스 프로젝트 중 하나 ( RollerMarkdown 플러그인 )를 위해 간단한 JSP ( MarkdownJ 사용 ) 와 함께 markItUp!을 사용했습니다 . 다른 서버 측 기술을 사용하는 경우 해당 간단한 JSP를 적절하게 교체하십시오.

나는 실제로 WMD를 발견하기 전에 이것을 사용하기 시작했습니다. 동의합니다. WMD는 훌륭하지만 오픈 소스 일 뿐이며이 단계에서는 동작을 사용자 지정하기가 더 어렵습니다.


MarkItUp! 토글 및 고정 선택을 처리하지 않습니다. 이것은 JavaScript 기반의 오픈 소스 Markdown 텍스트 편집기입니다. 이 키보드 단축키, 사용자 정의 대화 상자, 사용자 정의 방울을 지원하며 쓰는 사용자 장려하기 위해 일부 스마트 텍스트 선택 깔끔 지원 마크 다운의 좋은 형식으로 구문 : github.com/tovic/markdown-text-editor
타우 픽 Nurrohman

65

우리는 WMD에 매우 만족했습니다. 그러나 몇 가지 버그가 있습니다. 주요 아무것도,하지만 난 것이다 사랑하지 우리가 그 중 일부를 해결할 수 있도록 존 프레이저 (저자) 코드를 오픈 소스를 만든 경우. 그는 그렇게 할 것을 약속했지만 다른 실제 프로젝트가 방해를 받고 있습니다.

매주 John과 후속 조치를 취합니다. WMD 소스가 드디어 나오면 블로그에 게시하겠습니다. 지금까지 1 년 넘게 John Fraser와 연락 할 수 없었습니다.

우리는 JavaScript Markdown 라이브러리를 모두 오픈 소스했습니다.

http://code.google.com/p/pagedown/

및 서버 측 C # Markdown 라이브러리

http://code.google.com/p/markdownsharp/


대답 Jeff에 감사드립니다. WMD가 오픈 소스가 아니라는 것도 몰랐습니다. 계속 눈을 떼지 않겠습니다.
webmat

2
벌어진 보안 구멍에 대해 어떻게 했습니까? 예 : <div onmouseover = "alert ( 'hi');"> hi </ div> 위의 내용은 WMD 데모에서 작동합니다!
andrewrk

1
@ superjoe30 그 물건은 서버에서 필터링됩니다.
epochwolf 2011

@ superjoe30 : 참조 meta.stackexchange.com/questions/95821/...를 - 동일 자바 스크립트 버전에 적용
balpha

1
@DisgruntledGoat stackexchange.github.io 를 보면 목록에 있고 마지막 커밋이 6 개월 전 (2015 년 이미)임을 알 수 있습니다.
Loïc Faure-Lacroix

12

가볍고 효율적이며 사용하기 쉬우 며 GitHub Flavored Markdown (GFM)도 지원하는 표시를 권장 합니다. 서버 (nodejs) 또는 클라이언트 (브라우저) 측에서 사용할 수 있습니다.


표시는 아직 개발 중이며 최소화 된 버전은 23KB에 불과합니다.
Peter T.

7

내가 아는 한 Markdown을위한 다른 브라우저 기반 편집기는 적어도 WMD 편집기만큼 광범위하지 않습니다.

Showdown은 JS의 Markdown 변환기로 WMD의 HTML 미리보기의 기반을 형성합니다. 둘 다 http://attacklab.net/에 의해 만들어졌습니다 .

그리고 내가 아는 한 두 가지 모두에 대해 큰 불만은 없었습니다 (적어도 Markdown 메일 링리스트에는 없습니다). 그러니 그것을 위해 가십시오.



4

최근에 출시 된 Strapdown.js는 "우아한 Markdown 문서를 만드는 것을 당황스럽게도 간단하게 만듭니다. 서버 측 컴파일이 필요하지 않습니다."



3

이 질문은 지금은 훨씬 더 오래되었지만 언급 된 코드의 대부분이 몇 년이 지났기 때문에 훨씬 더 관련이 있습니다.

그러나 여전히 최신으로 보이는 몇 가지를 찾았습니다.

Jquery-Markedit- 이것은 꽤 오래 전에 wmd -edit에서 분기되었으며 jQuery를 사용하도록 리팩토링되었습니다. 첫눈에 잘 보인다.

EpicEditor- 또한 여전히 유지되고 있으며 유연한 파서가 있으며 아래에서 볼 수 있듯이 작성자는 매우 반응이 좋습니다 (아래 참조). IT 문서도 좋은 것 같습니다. 슬프게도 IE9에서는 작동하지 않습니다.

MarkdownDeep 은 여전히 ​​현재의 세 번째 옵션입니다. 이것의 흥미로운 점은 Markdown Extra에 대한 지원입니다. JQuery에 대한 종속성이 있습니다 (실제로 JQuery없이 구현할 수도 있음). .NET 버전을 기반으로하므로 문서는 JS 버전보다 더 적합합니다. 이것은 IE9에서도 작동합니다. 매우 사용하기 쉽고 (JQuery와 함께) 매우 간단합니다. 내가 볼 수있는 한 이것으로 중요한 발전이 일어나지 않았습니다.

js-markdown-extra 는 PHP 라이브러리의 상당히 정확한 포트이며 아직 유지 관리 중입니다. 물론 Markdown Extra를 지원합니다.


1
라이브 미리보기는 내 편집기에서 잘 작동합니다. :) 예제로 전체 화면을 열거 나 단순히 preview()keydown 또는 시간 초과시 실행 됩니다. 모든 종류의 사용자 지정을 위해 제작되었습니다.
Oscar Godson

1
그래서, 에디터 아래에 그것이 지금 어떻게 작동하는지입니다. 미리보기를 클릭하면 작성한 내용으로 업데이트되는 숨겨진 미리보기가 표시됩니다. 입력 할 때 전체 화면이 수행합니다 (정렬). 자신의 미리보기 프로그램을 만들려면 당신이 뭔가를 할 수 있습니다 : jsbin.com/otuyub/edit#javascript,html
오스카 대자

1
인터셉트? 당신은 할 수 있습니다 : editor.on('save', function(file) { console.log(file.content) })그것이 당신이 의미하는 바라면. 파일이 저장 될 때마다 파일 내용을 뱉어냅니다.
Oscar Godson

1
또한 on('update')저장 대신 사용할 수도 있습니다 . 자동 저장이 켜져 있으면 저장이 많이 실행됩니다. 업데이트는 무언가 변경 될 때만 실행됩니다. epiceditor.com/#events
Oscar Godson

1
이 글을 읽는 모든 사람에게 FYI : github.com/OscarGodson/EpicEditor/issues/137- 문제는 로컬에서 실행하려고했고 IE9에는 파일을 통해 로컬 스토리지 를 사용하는 것에 대한 보안 제한이 있다는 것입니다. \\\
Oscar Godson

2

질문은 오래되었지만 이것이 누군가를 도울 수 있기를 바랍니다. 최근에 내 Javascript 마크 다운 편집기 인 uedit 의 작동 버전을 게시했습니다 . 여기 에서 소스 코드를 찾을 수 있습니다 . 대부분의 브라우저 (IE6 + 포함)에서 작동하며 외부 JS 라이브러리에 의존하지 않습니다.


2

MarkDown seudo-WYSIWYG 제공에 대한 내 필요를 해결하기 위해 여러 플러그인을 시도한 후 내 자신의 플러그인 구현을 종료했습니다.

여기에 언급 된 모든 솔루션만큼 강력하지는 않지만 통합 및 사용자 정의가 간단하고 쉬운 솔루션은 없다고 생각합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.