Làm cách nào tôi có thể kiểm tra tệp readme.md của mình sẽ trông như thế nào trước khi cam kết với github?


232

Tôi đang viết một readme cho dự án github của tôi ở định dạng .md. Có cách nào để tôi có thể kiểm tra tệp readme.md của mình sẽ trông như thế nào trước khi cam kết với github không?


4
Tôi đang trả lời điều này như một bình luận vì luồng được đóng lại và không có giải pháp nào được kết xuất các bảng ống giống như cách mà github đã làm. Giải pháp web có vẻ gần nhất là ở đây: pandao.github.io/editor.md/en.html
Donnie D'Amato

Với GitLab 13.0 (tháng 5 năm 2020), trình chỉnh sửa trang tĩnh cho GitLab có trình soạn thảo WYSIWYG. Xem câu trả lời của tôi dưới đây .
VonC

Câu trả lời:


148

Nhiều cách: Nếu bạn đang dùng Mac, hãy sử dụng Mou .

Nếu bạn muốn thử nghiệm trên trình duyệt, bạn có thể thử StackEdit , như được chỉ ra bởi @Aaron hoặc DillingerNotepag dường như đã ngừng hoạt động. Cá nhân tôi sử dụng Dillinger vì nó chỉ hoạt động và lưu tất cả các tài liệu của tôi trong cơ sở dữ liệu cục bộ của trình duyệt.


5
dillinger.io dường như cũng ngừng hoạt động, mặc dù nó vẫn là danh sách đầu tiên được liệt kê khi bạn google "người xem trực tuyến markdown", vì vậy nó có thể chỉ là tôi. Tôi đã sử dụng thành công stackedit.io để xem trước và chỉnh sửa readme.md của mình.
Aaron

Dillinger ist ok. Đã được hầu hết thời gian.
ba

1
StackEdit là công cụ tuyệt vời. Cảm ơn bạn!
Olkunmustafa

Định dạng StackEdit "danh sách định nghĩa", github không. StackEdit đặt ba khối mã backtick trên dòng riêng (hữu ích để sử dụng trong danh sách được đánh số), github thì không. Có sự khác biệt khác. Đặt cược an toàn duy nhất là dùng thử và lỗi với ý chính và xóa nó khi bạn hoàn thành.
Bruno Bronosky

1
Thật không may, có vẻ như Mou không hỗ trợ MacOS Mojave (10.14)
Chris Priest

77

Atom hoạt động độc đáo ngoài hộp - chỉ cần mở tệp Markdown và nhấn Ctrl + Shift + M để chuyển bảng điều khiển xem trước Markdown bên cạnh. Nó xử lý HTML và hình ảnh cũng có.

Ảnh chụp màn hình nguyên tử


2
Vì tôi có tài nguyên cục bộ, như ảnh chụp màn hình của ứng dụng, giải pháp này hoạt động tốt nhất. Cảm ơn!
Emadpres

6
Tôi đã sử dụng nguyên tử trong một năm nay và không biết nó có thể làm điều đó! Mang đến sự xấu hổ ...
PaulB

ủ thùng cài đặt nguyên tử
jmgarnier

perfs đã cài đặt Atom vừa gõ atom .và nhấp chuột phải vào readme>Markdown Preview
austin 17/03

Nguyên tắc cai trị con gà trống. Không có phần stackedit, Dillinger hoặc typora nào hỗ trợ các phần có thể thu gọn thông qua <details>các thẻ HTML . Atom làm và trông tốt hơn so với phần còn lại để khởi động.
David park

35

Điều này đã được chứng minh đáng tin cậy trong một thời gian khá lâu: http://tmpvar.com/markdown.html


Đó là một khởi đầu tốt nhưng sau đó điều này không thể hiện các quy tắc theo chiều ngang ... bị bỏ rơi trước khi thử nghiệm thêm.
Ben

Đẹp cho một kiểm tra nhanh mặc dù.
Nikos Alexandris

34

Đây là một câu hỏi khá cũ, tuy nhiên vì tôi tình cờ tìm thấy nó trong khi tìm kiếm trên internet có lẽ câu trả lời của tôi hữu ích cho người khác. Tôi vừa tìm thấy một công cụ CLI rất hữu ích để hiển thị đánh dấu hương vị GitHub: grip . Nó sử dụng API của GitHub, do đó kết xuất khá tốt.

Thành thật mà nói, nhà phát triển của grip , có một câu trả lời phức tạp hơn về những câu hỏi rất giống nhau này:


2
Cảm ơn bạn! Thật tuyệt khi không phải phá vỡ quy trình làm việc của tôi và mở một trình soạn thảo khác hoặc truy cập một trang web khác
oneWorkingHeadphone

1
Đây phải là câu trả lời được chấp nhận - nó hoàn hảo! Chỉ cần tab giữa trình soạn thảo và trình duyệt của bạn và nó sẽ tự động hiển thị lại phần đánh dấu và nó trông giống hệt như trên GitHub. Cuối cùng là một giải pháp chấp nhận được.
Upio

30

Tôi thường chỉ cần chỉnh sửa trực tiếp trên trang web GitHub và nhấp vào "Xem trước" ngay phía trên cửa sổ chỉnh sửa.

Có lẽ đó là một tính năng mới được thêm vào kể từ khi bài đăng này được thực hiện.


7
Vấn đề với giải pháp này là GitHub (cho đến nay) hiển thị các khác biệt nội tuyến của các thay đổi khiến cho bản xem trước khá khó sử dụng nếu bạn muốn có ấn tượng về những thay đổi trông như thế nào và không thay đổi thực sự.
B12 Toaster

2
@ B12Toaster Bạn có thể tạo một tệp mới trên kho lưu trữ bằng trang web GitHub (không lưu nó) và đặt tên cho nó xxx.mdvà dán mã của bạn ở đó. Phần mở rộng tập tin là .mdđể bạn có thể xem trước các thay đổi của mình. Bạn sẽ cập nhật khi bạn hoàn thành, sau đó sao chép nội dung tệp và dán nó vào readme.mdtệp gốc .
Mahmoud

Một vấn đề khác là nó không hiển thị chính xác mọi thứ. Một ví dụ cụ thể: nếu bạn đang căn giữa một hình ảnh ở trên cùng bằng cách sử dụng <div align='center'><img ...></div>nó sẽ không hiển thị nó ở giữa trong bản xem trước, nó sẽ được căn trái. Bạn phải lưu nó để xem chính xác, điều này làm cho bản xem trước không đáng tin theo quan điểm của tôi.
AFOC

28

Visual Studio Code có tùy chọn chỉnh sửa và xem trước các thay đổi tập tin md. Vì VS Code là nền tảng độc lập, nên điều này sẽ hoạt động cho Windows, Mac và Linux.

Để chuyển giữa các chế độ xem, nhấn Ctrl + Shift + V trong trình chỉnh sửa. Bạn có thể xem bản xem trước cạnh nhau (Ctrl + KV) với tệp bạn đang chỉnh sửa và xem các thay đổi được phản ánh trong thời gian thực khi bạn chỉnh sửa.

Cũng thế...

Q: Mã VS có hỗ trợ Markit hương vị GitHub không?

Trả lời: Không, Mã VS nhắm mục tiêu đặc tả CommonMark Markdown bằng thư viện markdown-it. GitHub đang hướng tới đặc tả CommonMark.

Thêm chi tiết tại đây


3
Đẹp!! Tôi không phải cài đặt nguyên tử !!
Aerin

1
Nhân tiện, tôi muốn kiểm tra liên kết đến các tiêu đề được sử dụng bởi GitHub ( stackoverflow.com/a/45860695/5362795 ) và thấy rằng nó cũng được hỗ trợ bởi Mã VS!
Nagev


5

Tôi sử dụng tệp HTML được lưu trữ cục bộ để xem trước GmesHub readmes.

Tôi đã xem xét một số tùy chọn hiện có, nhưng quyết định tự lăn để đáp ứng các yêu cầu sau:

  • Tập tin duy nhất
  • URL được lưu trữ cục bộ (mạng nội bộ)
  • Không cần mở rộng trình duyệt
  • Không xử lý phía máy chủ được lưu trữ cục bộ (ví dụ: không có PHP)
  • Nhẹ (ví dụ: không có jQuery)
  • Độ trung thực cao: sử dụng GitHub để hiển thị Markdown và cùng CSS

Tôi giữ các bản sao cục bộ của kho GitHub của mình trong các thư mục anh chị em trong thư mục "github".

Mỗi thư mục repo chứa một tệp README.md:

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

Thư mục github chứa tệp HTML "xem trước":

.../github/
           readme.html

Để xem trước một readme, tôi duyệt github / readme.html, chỉ định repo trong chuỗi truy vấn:

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

Ngoài ra, bạn có thể sao chép readme.html vào cùng thư mục với README.md và bỏ qua chuỗi truy vấn:

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

Nếu readme.html nằm trong cùng thư mục với README.md, bạn thậm chí không cần cung cấp readme.html qua HTTP: bạn chỉ có thể mở nó trực tiếp từ hệ thống tệp của mình.

Tệp HTML sử dụng API GitHub để hiển thị Markdown trong tệp README.md. Có giới hạn tỷ lệ : tại thời điểm viết, 60 yêu cầu mỗi giờ .

Hoạt động với tôi trong các phiên bản sản xuất hiện tại của Chrome, IE và Firefox trên Windows 7.

Nguồn

Đây là tệp 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>

Ghi chú của nhà phát triển

  • Thông thường, tôi bọc mã của mình trong IIFE, nhưng trong trường hợp này, tôi đã không thấy sự cần thiết và nghĩ rằng tôi sẽ giữ nó ngắn gọn
  • Tôi không bận tâm đến việc hỗ trợ backlevel IE
  • Để đơn giản, tôi đã bỏ qua mã xử lý lỗi (bạn có tin tôi không?!)
  • Tôi hoan nghênh các mẹo lập trình JavaScript

Ý tưởng

  • Tôi đang xem xét việc tạo kho lưu trữ GitHub cho tệp HTML này và đặt tệp vào nhánh gh-page để GitHub phục vụ nó như một trang web "bình thường". Tôi muốn điều chỉnh tệp để chấp nhận một URL hoàn chỉnh - của README (hoặc bất kỳ tệp Markdown nào khác) - làm chuỗi truy vấn. Tôi tò mò muốn xem liệu được lưu trữ bởi GitHub có vượt qua giới hạn yêu cầu API GitHub hay không và liệu tôi có chạy các vấn đề liên tên miền hay không (sử dụng yêu cầu Ajax để lấy Markdown từ một tên miền khác với tên miền phục vụ trang HTML) .

Phiên bản gốc (không dùng nữa)

Tôi đã lưu giữ hồ sơ này của phiên bản gốc cho giá trị tò mò. Phiên bản này có các vấn đề sau được giải quyết trong phiên bản hiện tại:

  • Nó đòi hỏi một số tập tin liên quan để được tải xuống
  • Nó không hỗ trợ bị rơi vào cùng thư mục với README.md
  • HTML của nó dễ vỡ hơn; dễ bị thay đổi hơn trong GitHub

Thư mục github chứa tệp HTML "xem trước" và các tệp liên quan:

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

Tôi đã tải xuống các tệp phông chữ CSS và octicons từ GitHub:

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)

Tôi đã đổi tên các tệp CSS để bỏ qua chuỗi dài các chữ số hex trong tên gốc.

Tôi đã chỉnh sửa github.css để tham khảo các bản sao cục bộ của tệp phông chữ octicons.

Tôi đã kiểm tra HTML của trang GitHub và sao chép đủ cấu trúc HTML xung quanh nội dung readme để cung cấp độ trung thực hợp lý; ví dụ: chiều rộng bị ràng buộc.

GitHub CSS, phông chữ octicons và "thùng chứa" HTML cho nội dung readme đang di chuyển mục tiêu: Tôi sẽ cần định kỳ tải xuống các phiên bản mới.

Tôi đã sử dụng CSS từ các dự án GitHub khác nhau. Ví dụ:

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

nhưng cuối cùng đã quyết định sử dụng CSS từ chính GitHub.

Nguồn

Đây là tệp 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>



3

Đối với người dùng Visual Studio (không phải VS CODE).

Cài đặt tiện ích mở rộng Markdown EditorẢnh chụp màn hình

Bằng cách này, khi bạn mở README.md, bạn sẽ có bản xem trước trực tiếp ở bên phải.

nhập mô tả hình ảnh ở đây



2

Markdown Preview , plugin cho Sublime Text được đề cập trong một nhận xét trước đó không tương thích với ST2 nữa, nhưng chỉ hỗ trợ Sublime Text 3 (kể từ mùa xuân 2018).

Điều thú vị về nó: nó hỗ trợ GFM, GitHub Flavored Markdown , có thể làm được nhiều hơn một chút so với Markdown thông thường. Điều này có liên quan nếu bạn muốn biết chính xác bạn .mdsẽ trông như thế nào trên GH. (Bao gồm một chút thông tin này vì OP không tự thêm thẻ GFM và những người khác đang tìm giải pháp cũng có thể không biết về nó.)

Bạn có thể sử dụng nó với API GitHub nếu bạn trực tuyến, mặc dù bạn sẽ nhận được một mã thông báo truy cập cá nhân cho mục đích này vì các lệnh gọi API mà không cần xác thực bị hạn chế. Có thêm thông tin về Phân tích cú pháp GFM trong tài liệu của plugin.


1

Nếu bạn đang sử dụng Pycharm (hoặc IDE Jetbrains khác như Intellij, RubyMine, PHPStorm, v.v.), có nhiều plugin miễn phí hỗ trợ Markdown ngay trong IDE của bạn cho phép xem trước thời gian thực trong khi chỉnh sửa. Plugin Markdown Navigator khá tốt. Nếu bạn mở tệp .md trong IDE, các phiên bản gần đây sẽ cung cấp để cài đặt các plugin hỗ trợ và hiển thị cho bạn danh sách.


1

SublimeText 2/3

Cài đặt gói: Markdown Preview

Tùy chọn:

  • Xem trước trong trình duyệt.
  • Xuất sang html.
  • Sao chép vào clipboard.

Điều này hoạt động tốt bởi vì nó hỗ trợ github, gitlab và đánh dấu chung. Mặc dù rất khó để cài đặt.
Abel Callejo

0

Sử dụng phòng thí nghiệm Jupyter .

Để cài đặt Jupyter Lab, hãy nhập thông tin sau vào môi trường của bạn:

pip install jupyterlab

Sau khi cài đặt, duyệt đến vị trí tệp đánh dấu của bạn, nhấp chuột phải vào tệp, chọn "Mở bằng" sau đó nhấp vào "Xem trước đánh dấu".


0

Đối với Visual Studio Code, tôi sử dụng

Markdown Preview Phần mở rộng nâng cao.




0

MarkdownViewerPlusPlus là một "[...] Plugin Notepad ++ để xem tệp Markdown được hiển thị khi đang di chuyển

  • Bảng điều khiển có thể gắn (chuyển đổi) với HTML được hiển thị của tệp / tab hiện được chọn
  • Tuân thủ CommonMark (0,28)
  • Cuộn đồng bộ
  • Tích hợp CSS tùy chỉnh
  • Xuất HTML và PDF
  • Plugin Notepad ++ Unicode [...] "

0

Bạn có thể sử dụng trình chỉnh sửa trang tĩnh : với GitLab 13.0 (tháng 5 năm 2020) , nó đi kèm với bảng điều khiển WYSIWYG.

WYSIWYG cho Trình chỉnh sửa trang tĩnh

Markdown là một cú pháp mạnh mẽ và hiệu quả để soạn thảo nội dung web, nhưng ngay cả các tác giả dày dạn về nội dung Markdown cũng có thể đấu tranh để ghi nhớ một số tùy chọn định dạng ít được sử dụng hoặc viết các bảng thậm chí phức tạp vừa phải từ đầu.
Có một số công việc được hoàn thành tốt hơn với một văn bản phong phú, Trình biên tập những gì bạn thấy là những gì bạn nhận được (WYSIWYG).

GitLab 13.0 mang lại trải nghiệm tác giả Markdown của WYSIWYG cho Trình soạn thảo trang web tĩnh với các tùy chọn định dạng cho các tùy chọn định dạng phổ biến như tiêu đề, in đậm, in nghiêng, liên kết, danh sách, khối, và khối mã.

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

Trình soạn thảo WYSIWYG cũng loại bỏ nhiệm vụ khó khăn là chỉnh sửa các bảng trong Markdown bằng cách cho phép bạn chỉnh sửa trực quan các hàng, cột và ô của bảng theo cách bạn sẽ chỉnh sửa bảng tính. Để những người viết thoải mái hơn khi viết Markdown thô, thậm chí còn có một tab để chuyển đổi giữa WYSIWYG và chế độ chỉnh sửa văn bản thuần túy.

Xem tài liệuvấn đề .

Một lần nữa, bạn sẽ chỉ sử dụng nó để viết README: một khi nó có vẻ tốt, bạn có thể báo cáo lại cho dự án ban đầu của mình.
Nhưng vấn đề là: bạn không cần thêm bất kỳ plugin xem trước đánh dấu bên thrid nào.


-1

Đối với những người muốn phát triển trên iPad của họ, tôi thích Textastic. Bạn có thể chỉnh sửa và xem trước các tệp README.md mà không cần kết nối internet, sau khi bạn đã tải xuống tài liệu từ đám mây.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.