github에 커밋하기 전에 readme.md 파일이 어떻게 보이는지 어떻게 테스트합니까?


234

github 프로젝트에 대한 readme를 .md 형식으로 작성 중입니다. github에 커밋하기 전에 readme.md 파일이 어떻게 보이는지 테스트 할 수있는 방법이 있습니까?


4
스레드가 닫히고 github과 같은 방식으로 파이프 테이블을 렌더링하는 솔루션이 없기 때문에 이것을 주석으로 대답하고 있습니다. 가장 가까운 웹 솔루션은 다음과 같습니다. pandao.github.io/editor.md/en.html
Donnie D' Amato

GitLab 13.0 (2020 년 5 월)과 함께 GitLab의 정적 사이트 편집기에는 WYSIWYG 편집기가 있습니다. 아래 내 답변을 참조하십시오 .
VonC

답변:


149

여러 가지 방법 : Mac을 사용하는 경우 Mou를 사용하십시오 .

브라우저에서 테스트하려는 경우, 당신은 시도 할 수 StackEdit을 @Aaron 또는 가리키는 아웃로, 딜 린저 이후 Notepag가 지금 내려 것 같다. 개인적으로 Dillinger는 브라우저의 로컬 데이터베이스에 모든 문서를 작동하고 저장하기 때문에 Dillinger를 사용합니다.


5
dillinger.io도 지금 다운 된 것 같습니다. 비록 구글 "markdown online viewer"에 처음 올렸지 만, 저일 수도 있습니다. readit.md 를 미리보고 편집하기 위해 stackedit.io 를 성공적으로 사용 했습니다.
Aaron

딜 린저는 괜찮습니다. 대부분 괜찮 았습니다.
3

1
StackEdit은 훌륭한 도구입니다. 감사합니다!
Olkunmustafa

StackEdit 형식은 "정의 목록"이며, github은 그렇지 않습니다. StackEdit은 3 개의 백틱 코드 블록을 자체 줄에 넣습니다 (번호 매기기 목록에 유용) .github은 그렇지 않습니다. 다른 차이점이 있습니다. 유일한 안전한 내기는 요점으로 시행 착오를하고 완료되면 삭제하는 것입니다.
Bruno Bronosky

1
불행히도 Mou는 MacOS Mojave (10.14)를 지원하지 않는 것 같습니다.
Chris Priest

78

Atom 은 상자에서 잘 작동합니다. Markdown 파일을 열고 Ctrl + Shift + M 누르면 옆에있는 Markdown 미리보기 패널이 전환됩니다. HTML과 이미지도 처리합니다.

원자 스크린 샷


2
앱의 스크린 샷과 같은 로컬 리소스가 있었 으므로이 솔루션이 가장 효과적입니다. 감사!
Emadpres

6
나는 지금 1 년 동안 원자를 사용해 왔으며 그렇게 할 수 있다는 것을 몰랐습니다! 부끄러운 수녀를
데리고

맥주 통 설치 원자
jmgarnier

perfs는 이미 Atom을 설치 atom .하고 readme를 마우스 오른쪽 버튼으로 클릭했습니다.Markdown Preview
Austin

원자는 휴식처를 지배합니다. HTML <details>태그 를 통해 stackit, Dillinger 또는 typora는 접을 수있는 섹션을 지원하지 않았습니다 . Atom은 부팅하기 위해 나머지보다 더 잘 보입니다.
David Parks


35

이것은 꽤 오래된 질문이지만 인터넷을 검색하는 동안 비틀 거리기 때문에 내 대답이 다른 사람들에게 유용 할 수 있습니다. 방금 GitHub 플레이 버드 마크 다운 : grip 을 렌더링하는 데 매우 유용한 CLI 도구를 찾았습니다 . GitHub의 API를 사용하므로 상당히 잘 렌더링됩니다.

솔직하게 grip 개발자는 이와 비슷한 질문들에 대해 더 정교하게 대답했습니다.


2
감사합니다! 그것의 좋은 다른 웹 사이트에 내 워크 플로우를 중단하고 다른 편집기를 열거 나 가야하지
oneWorkingHeadphone

1
이것은 받아 들일만한 대답이어야합니다-완벽합니다! 에디터와 브라우저 사이를 alt-tab하면 마크 다운이 자동으로 다시 렌더링되며 GitHub에서와 똑같이 보입니다. 마지막으로 수용 가능한 솔루션입니다.
Upio

30

나는 보통 GitHub 웹 사이트에서 직접 편집하고 편집 창 바로 위의 "미리보기"를 클릭합니다.

아마도 이것은이 포스트가 작성된 이후에 추가 된 새로운 기능 일 것입니다.


8
이 솔루션의 문제점은 GitHub (지금까지)가 변경 사항의 인라인 차이를 표시하여 변경 사항이 실제로 어떻게 바뀌 었는지 아닌지에 대한 인상을 얻으려면 미리보기를 사용할 수 없게 만드는 것입니다.
B12Toaster

2
@ B12Toaster GitHub 웹 사이트를 사용하여 저장소에 새 파일을 작성하고 (저장하지 않고) 이름을 지정 xxx.md하고 코드를 붙여 넣을 수 있습니다. 파일 확장자는 .md변경 사항을 미리 볼 수 있도록합니다. 완료 한 유틸리티를 업데이트 한 다음 파일 내용을 복사하여 원본 readme.md파일에 붙여 넣습니다 .
Mahmoud

또 다른 문제는 모든 것이 정확하게 표시되지 않는다는 것입니다. 구체적인 예 : 이미지를 사용하여 맨 위에 이미지를 <div align='center'><img ...></div>중앙에 배치하면 미리보기의 중앙에 이미지 가 표시되지 않고 왼쪽으로 정렬됩니다. 정확하게 보려면보기를 저장해야하므로 미리보기를 신뢰할 수 없습니다.
AFOC

28

Visual Studio Code 에는 md 파일 변경 사항을 편집하고 미리 볼 수있는 옵션이 있습니다. VS Code는 플랫폼에 독립적이므로 Windows, Mac 및 Linux에서 작동합니다.

보기를 전환하려면 편집기에서 Ctrl + Shift + V 를 누르십시오 . 편집중인 파일을 사용 하여 미리보기를 나란히 볼 수 있으며 (Ctrl + KV) 변경 사항이 실시간으로 반영되는 것을 볼 수 있습니다.

또한...

Q : VS 코드는 GitHub Flavored Markdown을 지원합니까?

A : 아니요, VS Code는 markdown-it 라이브러리를 사용하여 CommonMark Markdown 사양을 대상으로합니다. GitHub는 CommonMark 사양으로 이동하고 있습니다.

자세한 내용은 여기


3
좋은!! 아톰을 설치할 필요가 없습니다 !!
Aerin

1
그건 그렇고, GitHub ( stackoverflow.com/a/45860695/5362795 )에서 사용하는 제목에 대한 링크를 테스트하고 VS 코드에서도 지원한다는 것을 알았습니다!
Nagev


5

로컬로 호스팅 된 HTML 파일을 사용하여 GitHub 추가 정보를 미리 봅니다.

몇 가지 기존 옵션을 살펴 보았지만 다음 요구 사항을 충족시키기 위해 직접 롤하기로 결정했습니다.

  • 하나의 파일
  • 로컬로 호스팅 된 (인트라넷) URL
  • 브라우저 확장이 필요하지 않습니다
  • 로컬로 호스팅 된 서버 측 처리 없음 (예 : PHP 없음)
  • 경량 (예 : jQuery 없음)
  • 충실도 : GitHub를 사용하여 마크 다운 및 동일한 CSS를 렌더링

내 GitHub 리포지토리의 로컬 사본을 "github"디렉토리 아래의 형제 디렉토리에 보관합니다.

각 repo 디렉토리에는 README.md 파일이 있습니다.

.../github/
           repo-a/
                  README.md
           repo-b/
                  README.md
           etc.

github 디렉토리는 "미리보기"HTML 파일을 포함합니다 :

.../github/
           readme.html

읽어보기를 미리보기 위해 쿼리 문자열에 repo를 지정하여 github / readme.html을 찾아보십시오.

http://localhost/github/readme.html?repo-a

또는 readme.html을 README.md와 동일한 디렉토리에 복사하고 쿼리 문자열을 생략 할 수 있습니다.

http://localhost/github/repo-a/readme.html

readme.html이 README.md와 동일한 디렉토리에 있으면 HTTP를 통해 readme.html을 제공 할 필요조차 없습니다. 파일 시스템에서 직접 열 수 있습니다.

HTML 파일은 GitHub API 를 사용하여 README.md 파일에서 마크 다운을 렌더링합니다. 있다 속도 제한 : 글을 쓰는 시점에서 시간 당 60 개 요청 .

Windows 7의 현재 프로덕션 버전의 Chrome, IE 및 Firefox에서 작동합니다.

출처

HTML 파일 (readme.html)은 다음과 같습니다.

<!DOCTYPE html>
<!--
     Preview a GitHub README.md.

     Either:

     -  Copy this file to a directory that contains repo directories,
        and then specify a repo name in the query string.

        For example:

          http://localhost/github/readme.html?myrepo

     or

     -  Copy this file to the directory that contains a README.md,
        and then browse to this file without specifying a query string.

        For example:

          http://localhost/github/myrepo/readme.html

        (or just open this file in your browser directly from
        your file system, without HTTP)
-->
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta name="author" content="Graham Hannington"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GitHub readme preview</title>
<link rel="stylesheet" type="text/css" href="http://primercss.io/docs.css"/>
<script type="text/javascript">
//<![CDATA[
var HTTP_STATUS_OK = 200;
var URL_API_GITHUB_RENDER_MARKDOWN = "https://api.github.com/markdown/raw";
var README_FILE_NAME = "README.md";

var readmeURL;

var queryString = location.search.substring(1);

if (queryString.length > 0) {
  readmeURL = queryString + "/" + README_FILE_NAME;
} else {
  readmeURL = README_FILE_NAME;
}

// Get Markdown, then render it as HTML
function getThenRenderMarkdown(markdownURL) {
  var xhr = new XMLHttpRequest();
  xhr.open("GET", markdownURL, true);
  xhr.responseType = "text";
  xhr.onload = function(e) {
    if (this.status == HTTP_STATUS_OK) {
     // Response text contains Markdown
      renderMarkdown(this.responseText);
    }
  }
  xhr.send();
}

// Use the GitHub API to render Markdown as HTML
function renderMarkdown(markdown) {
  var xhr = new XMLHttpRequest();
  xhr.open("POST", URL_API_GITHUB_RENDER_MARKDOWN, true);
  xhr.responseType = "html";
  xhr.onload = function(e) {
    if (this.status == HTTP_STATUS_OK) {
      document.getElementById("readme").innerHTML = this.response;
    }
  }
  xhr.send(markdown);
}

window.onload = function() {
  getThenRenderMarkdown(readmeURL);
}
//]]>
</script>
</head>
<body>
<header class="masthead">
<div class="container">
<span class="masthead-logo"><span class="mega-octicon
octicon-mark-github"></span>GitHub readme preview</span>
</div>
</header>
<div class="container">
<div id="readme" class="markdown-body">
<p>Rendering markdown, please wait...</p>
</div>
<footer class="footer">Rendering by
<a href="https://developer.github.com/v3/markdown/">GitHub</a>,
styling by <a href="http://primercss.io/">Primer</a>.</footer>
</div>
</body>
</html>

개발자 노트

  • 일반적으로 코드를 IIFE로 래핑하지만이 경우 필요성을 보지 못했고 간결하게 유지하겠다고 생각했습니다.
  • 백 레벨 IE 지원에 신경 쓰지 않았습니다.
  • 간결성을 위해 오류 처리 코드를 생략했습니다 (나를 믿습니까?!)
  • JavaScript 프로그래밍 팁을 환영합니다

아이디어

  • 이 HTML 파일 용 GitHub 리포지토리를 생성하고 파일을 gh-pages 브랜치에 배치하여 GitHub가 "정상"웹 페이지로 사용하도록 고려하고 있습니다. README (또는 다른 Markdown 파일)의 전체 URL을 쿼리 문자열로 허용하도록 파일을 조정했습니다. GitHub에 의해 호스팅되는 것이 GitHub API 요청 한도를 회피 할 것인지, 교차 도메인 문제를 무시할 것인지 궁금합니다. .

원본 버전 (더 이상 사용되지 않음)

호기심 가치를 위해 원본 버전의이 레코드를 보존했습니다. 이 버전에는 현재 버전에서 해결 된 다음과 같은 문제가 있습니다.

  • 일부 관련 파일을 다운로드해야했습니다.
  • README.md와 동일한 디렉토리에 놓는 것을 지원하지 않았습니다.
  • HTML은 더 부서지기 쉽다. GitHub의 변경에 더 취약

github 디렉토리는 "미리보기"HTML 파일과 관련 파일을 포함합니다 :

.../github/
           readme-preview.html
           github.css
           github2.css
           octicons.eot
           octicons.svg
           octicons.woff

GitHub에서 CSS 및 octicons 글꼴 파일을 다운로드했습니다.

https://assets-cdn.github.com/assets/github- ... .css
https://assets-cdn.github.com/assets/github2- ... .css
https://github.com/static/fonts/octicons/octicons.* (eot, woff, svg)

원래 이름에서 긴 16 진수 문자열을 생략하도록 CSS 파일의 이름을 변경했습니다.

octicons 글꼴 파일의 로컬 사본을 참조하도록 github.css를 편집했습니다.

나는 GitHub 페이지의 HTML을 검사하고 readme 컨텐츠를 둘러싼 HTML 구조를 충분히 재현하여 합리적인 충실도를 제공했습니다. 예를 들어, 제한된 너비입니다.

readme 컨텐츠에 대한 GitHub CSS, octicons 글꼴 및 HTML "컨테이너"는 이동하는 대상입니다. 정기적으로 새 버전을 다운로드해야합니다.

다양한 GitHub 프로젝트에서 CSS를 사용하여 놀았습니다. 예를 들면 다음과 같습니다.

<link rel="stylesheet" type="text/css"
      href="http://rawgit.com/sindresorhus/github-markdown-css/gh-pages/github-markdown.css">

그러나 결국 GitHub 자체의 CSS를 사용하기로 결정했습니다.

출처

HTML 파일 (readme-preview.html)은 다음과 같습니다.

<!DOCTYPE html>
<!-- Preview a GitHub README.md.
     Copy this file to a directory that contains repo directories.
     Specify a repo name in the query string. For example:

     http://localhost/github/readme-preview.html?myrepo
-->
<html>
<head>
<title>Preview GitHub readme</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<!-- Downloaded copies of the CSS files served by GitHub.
     In github.css, the @font-face for font-family:'octicons'
     has been edited to refer to local copies of the font files -->
<link rel="stylesheet" type="text/css" href="github.css"/>
<link rel="stylesheet" type="text/css" href="github2.css"/>
<style>
body {
  margin-top: 1em;
}
</style>
<script type="text/javascript">
//<![CDATA[
var HTTP_STATUS_OK = 200;
var URL_API_GITHUB_RENDER_MARKDOWN = "https://api.github.com/markdown/raw";
var README_FILE_NAME = "README.md";

var repo = location.search.substring(1);

// Get Markdown, then render it as HTML
function getThenRenderMarkdown() {
  var xhr = new XMLHttpRequest();
  xhr.open("GET", repo + "/" + README_FILE_NAME, true);
  xhr.responseType = "text";
  xhr.onload = function(e) {
    if (this.status == HTTP_STATUS_OK) {
     // Response text contains Markdown
      renderMarkdown(this.responseText);
    }
  }
  xhr.send();
}

// Use the GitHub API to render Markdown as HTML
function renderMarkdown(markdown) {
  var xhr = new XMLHttpRequest();
  xhr.open("POST", URL_API_GITHUB_RENDER_MARKDOWN, true);
  xhr.responseType = "html";
  xhr.onload = function(e) {
    if (this.status == HTTP_STATUS_OK) {
      document.getElementById("readme-content").innerHTML = this.response;
    }
  }
  xhr.send(markdown);
}

window.onload = getThenRenderMarkdown;
//]]>
</script>
</head>
<body>
<!-- The following HTML structure was copied from live GitHub page on 2015-12-01,
     except for the "readme-content" id of the article element,
     which was coined for this preview page.-->
<div class="main-content" role="main">
<div class="container repo-container new-discussion-timeline experiment-repo-nav">
<div class="repository-content">
<div id="readme" class="boxed-group flush clearfix announce instapaper_body md">
<h3><span class="octicon octicon-book"></span>README.md</h3>
<article class="markdown-body entry-content"
         itemprop="mainContentOfPage"
         id="readme-content"><p>Rendering markdown...</p></article>
</div>
</div>
</div>
</div>
</body>
</html>





2

이전 주석에서 언급 한 Sublime Text 용 플러그인 인 MarkdownPreview 는 더 이상 ST2와 호환되지 않지만 Sublime Text 3 (2018 년 봄 이후)만 지원합니다.

깔끔한 점 : GFM ( GitHub Flavored Markdown )을 지원 하여 일반 Markdown보다 약간 더 많은 기능을 수행 할 수 있습니다. .mdGH에서 당신 의 모습이 정확히 무엇인지 알고 싶다면 이것은 관련이 있습니다 . OP가 GFM 태그를 직접 추가하지 않았기 때문에이 정보를 포함하면 솔루션을 찾는 다른 사람들도이를 인식하지 못할 수 있습니다.

온라인 상태 인 경우 GitHub API와 함께 사용할 수 있지만 인증이없는 API 호출은 제한되어 있으므로이 용도 로 개인 액세스 토큰 을 가져와야합니다. 플러그인 문서에 GFM 구문 분석에 대한 자세한 정보가 있습니다 .


1

Pycharm (또는 Intellij, RubyMine, PHPStorm 등과 같은 다른 Jetbrains IDE)을 사용하는 경우 편집 중에 실시간 미리보기를 허용하는 Markdown 지원을위한 여러 무료 플러그인이 IDE에 있습니다. Markdown Navigator 플러그인은 매우 좋습니다. IDE에서 .md 파일을 열면 최신 버전에서 지원되는 플러그인을 설치하고 목록을 표시합니다.


1

SublimeText 2/3

패키지 설치 : Markdown Preview

옵션 :

  • 브라우저에서 미리보기.
  • html로 내 보냅니다.
  • 클립 보드에 복사.

이것은 github, gitlab 및 일반 마크 다운을 지원하기 때문에 잘 작동합니다. 설치하기는 어렵지만
Abel Callejo

0

Jupyter Lab을 사용하십시오 .

Jupyter Lab을 설치하려면 사용자 환경에서 다음을 입력하십시오.

pip install jupyterlab

설치 후 마크 다운 파일의 위치로 이동하여 파일을 마우스 오른쪽 버튼으로 클릭하고 "연결 프로그램"을 선택한 다음 "마크 다운 미리보기"를 클릭하십시오.





0

MarkdownViewerPlusPlus 는 "[...] 메모장 ++ 플러그인으로 즉석에서 렌더링되는 Markdown 파일을 볼 수 있습니다

  • 현재 선택된 파일 / 탭의 렌더링 된 HTML이있는 고정 가능한 패널 (토글)
  • CommonMark 호환 (0.28)
  • 동기화 된 스크롤
  • 커스텀 CSS 통합
  • HTML 및 PDF 내보내기
  • 메모장 ++ 유니 코드 플러그인 [...] "

0

정적 사이트 편집기를 사용할 수 있습니다 : GitLab 13.0 (2020 년 5 월) 에는 WYSIWYG 패널이 있습니다.

정적 사이트 편집 기용 WYSIWYG

Markdown은 웹 컨텐츠 제작을위한 강력하고 효율적인 구문이지만, 노련한 Markdown 컨텐츠 제작자들도 자주 사용하지 않는 서식 옵션 중 일부를 기억하거나 다소 복잡한 테이블을 처음부터 작성하는 데 어려움을 겪을 수 있습니다.
서식있는 텍스트“WYSIWYG (편집 한 내용)”를 사용하여 더 잘 수행 할 수있는 작업이 있습니다.

GitLab 13.0은 WYSIWYG Markdown 저작 환경을 정적 사이트 편집기에 제공하여 헤더, 굵은 체, 이탤릭체, 링크, 목록, 블록 인용 부호 및 코드 블록과 같은 일반적인 형식 지정 옵션에 대한 형식 지정 옵션을 제공합니다.

https://about.gitlab.com/images/13_0/wysiwyg-markdow-in-sse.png

또한 WYSIWYG 편집기는 스프레드 시트를 편집 할 때와 같은 방식으로 테이블 행, 열 및 셀을 시각적으로 편집 할 수 있도록하여 Markdown에서 테이블을 편집하는 번거로운 작업을 제거합니다. 원시 마크 다운으로보다 편안하게 작성하기 위해 WYSIWYG와 일반 텍스트 편집 모드 사이를 전환하기위한 탭도 있습니다.

설명서문제를 참조하십시오 .

다시, 당신은 단지 당신의 글을 쓸 때만 사용할 것입니다 README: 일단 좋아 보인다면, 당신은 그것을 원래의 프로젝트에 다시보고 할 수 있습니다.
그러나 요점은 더 이상 타사 마크 다운 미리보기 플러그인이 필요하지 않습니다.


-1

iPad로 개발하고 싶은 사람들에게는 Textastic이 좋습니다. 클라우드에서 문서를 다운로드 한 후 인터넷에 연결하지 않고도 README.md 파일을 편집하고 미리 볼 수 있습니다.

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