Як я можу перевірити, як буде виглядати мій файл readme.md, перш ніж перейти до github?


234

Я пишу readme для свого проекту github у форматі .md. Чи можна перевірити, як буде виглядати мій файл readme.md, перш ніж перейти до github?


4
Я відповідаю на це як коментар, оскільки нитка закрита, і жодне з рішень не відображало таблиці труб так само, як і github. Веб-рішення, яке здається найближчим, тут: pandao.github.io/editor.md/en.html
Донні Д'Амато

З GitLab 13.0 (травень 2020 р.) Редактор статичних сайтів для GitLab має редактор WYSIWYG. Дивіться мою відповідь нижче .
VonC

Відповіді:


149

Багато способів: якщо ви користуєтесь Mac, використовуйте Mou .

Якщо ви хочете протестувати в браузері, ви можете спробувати StackEdit , на що вказували @Aaron або Dillinger, оскільки, здається, Notepag зараз не працює. Особисто я використовую Dillinger, оскільки він просто працює і зберігає всі мої документи у локальній базі даних браузера.


5
dillinger.io також, здається, зараз не працює, хоча він все ще є першим у списку, коли ви перебуваєте в Google "відмітка онлайн-переглядача", тож це може бути я просто. Я успішно використовував stackedit.io для попереднього перегляду та редагування свого readme.md.
Аарон

Dillinger ist ok. Більшість часу було нормально.
три

1
StackEdit - чудовий інструмент. Дякую!
Олкунмустафа

StackEdit форматує "списки визначення", github не робить. StackEdit ставить потрійні блоки коду зворотного коду у свій власний рядок (корисно для використання у нумерованих списках), github не робить. Є й інші відмінності. Єдина безпечна ставка - це спроба та помилка із суттю та видалення її після завершення.
Бруно Броноський

1
На жаль, це не схоже на підтримку Mou MacOS Mojave (10.14)
Chris Priest

78

Atom прекрасно працює з вікна - просто відкрийте файл Markdown і натисніть Ctrl + Shift + M, щоб переключити панель попереднього перегляду Markdown поруч. Він також обробляє HTML і зображення.

Скріншот Atom


2
Оскільки у мене були місцеві ресурси, як скріншоти програми, це рішення працює найкраще. Дякую!
Емадпрес

6
Я використовую атом вже рік і не знаю, що це може зробити! Принеси монахиню сорому ...
PaulB


perfs вже було встановлено Atom, щойно набрав atom .і правою кнопкою миші натиснув на readme>Markdown Preview
austin

Атом править верхом. Жоден із складених розділів, Dillinger чи типових розділів не підтримується через <details>теги HTML . Atom робить і виглядає краще, ніж решта для завантаження.
Девід Паркс


35

Це досить старе питання, проте, оскільки я натрапив на нього під час пошуку в Інтернеті, можливо, моя відповідь корисна іншим. Щойно я знайшов дуже корисний інструмент CLI для надання GitHub ароматизованої відмітки: grip . Він використовує API GitHub, тому рендерується досить добре.

Чесно кажучи, розробник grip має більш детальну відповідь на ці дуже схожі питання:


2
Дякую! Приємно не переривати робочий процес і відкривати інший редактор чи перейти на інший веб-сайт
oneWorkingHeadphone

1
Це має бути прийнята відповідь - це ідеально! Просто клацніть альт-вкладку між вашим редактором та веб-переглядачем, і він автоматично повторно відобразить розмітку, і буде виглядати так, як це робиться на GitHub. Нарешті прийнятне рішення.
Упіо

30

Я зазвичай просто редагую його на веб-сайті GitHub безпосередньо та натискаю "Попередній перегляд" безпосередньо над вікном редагування.

Можливо, це нова функція, яка була додана з моменту створення цієї публікації.


8
Проблема цього рішення полягає в тому, що GitHub (поки що) показує вбудовані відмінності змін, що робить попередній перегляд досить непридатним, якщо ви хочете скласти враження про те, як виглядають зміни, а не те, що насправді змінилося.
B12Toaster

2
@ B12Toaster Ви можете створити новий файл у сховищі за допомогою веб-сайту GitHub (не зберігаючи його) та назвіть його xxx.mdта вставте туди свій код. Розширення файлу - .mdце можливість перегляду змін. Ви оновите утиліту, яку закінчите, потім скопіюйте вміст файлу та вставте його на вихідний readme.mdфайл.
Махмуд

Додатковим питанням є те, що він не відображає все точно. Один конкретний приклад: якщо ви <div align='center'><img ...></div>центруєте зображення вгорі, використовуючи його, воно не відображатиметься в центрі попереднього перегляду, воно буде вирівнюватися ліворуч. Ви повинні зберегти його, щоб точно його побачити, що робить попередній перегляд на мій погляд недостовірним.
AFOC

28

Visual Studio Code має можливість редагувати та переглядати зміни файлу md. Оскільки VS Code не залежить від платформи, це буде працювати для Windows, Mac та Linux.

Щоб переключитися між переглядами, натисніть Ctrl + Shift + V у редакторі. Ви можете переглянути попередній перегляд (Ctrl + KV) з файлом, який ви редагуєте, і побачити зміни, відображені в режимі реального часу під час редагування.

Також ...

Питання: Чи підтримує код VS GitHub Flavoured Markdown?

Відповідь: Ні, код VS орієнтований на специфікацію MarkMarkard CommonMark, використовуючи бібліотеку розмітки. GitHub рухається до специфікації CommonMark.

Детальніше тут


3
Приємно !! Мені не потрібно встановлювати атом !!
Ерін

1
До речі, я хотів перевірити посилання на заголовки, які використовує GitHub ( stackoverflow.com/a/45860695/5362795 ) і виявив, що він також підтримується кодом VS!
Нагев


5

Я використовую локально розміщений HTML-файл для перегляду readme GitHub.

Я переглянув декілька існуючих варіантів, але вирішив зробити свій власний, щоб відповідати наступним вимогам:

  • Один файл
  • Локально розміщена (інтранет) URL-адреса
  • Не потрібно розширення для браузера
  • Не використовується локальна обробка на сервері (наприклад, без PHP)
  • Легкий (наприклад, без jQuery)
  • Висока вірність: використовуйте GitHub для візуалізації Markdown та того ж CSS

Я зберігаю локальні копії моїх сховищ GitHub в каталогах братів і сестер у каталозі "github".

Кожен каталог репо містить файл README.md:

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

Каталог github містить HTML-файл "попереднього перегляду":

.../github/
           readme.html

Щоб переглянути readme, я переглядаю 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, вам навіть не потрібно обслуговувати readme.html через HTTP: ви можете просто відкрити його безпосередньо з вашої файлової системи.

HTML-файл використовує API GitHub для відображення відмітки у файлі README.md. Існує обмеження швидкості : на момент написання, 60 запитів на годину .

Для мене працює в поточних виробничих версіях Chrome, IE та Firefox в Windows 7.

Джерело

Ось файл 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

Ідеї

  • Я розглядаю можливість створити сховище GitHub для цього файлу HTML і розмістити файл у відділенні gh-pages, щоб GitHub слугував ним як "звичайна" веб-сторінка. Я налаштувати файл, щоб прийняти повну URL-адресу - README (або будь-який інший файл Markdown) - як рядок запиту. Мені цікаво дізнатись, чи буде розміщений GitHub розмір кроку на обмеження запиту API GitHub, і чи виявлятиму я проблеми з міждоменними (використовуючи запит Ajax, щоб отримати відмітку з іншого домену, ніж домен, що обслуговує сторінку HTML) .

Оригінальна версія (застаріла)

Я зберегла цей запис оригінальної версії за цінністю цікавості. У цій версії були такі проблеми, які вирішені в поточній версії:

  • Потрібно було завантажити деякі пов'язані файли
  • Він не підтримує потрапляння в той самий каталог, що і README.md
  • Її HTML був більш крихким; більш чутливі до змін у GitHub

Каталог github містить HTML-файл "попередній перегляд" та пов'язані з ним файли:

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

Я завантажив файли шрифтів CSS та octicons із 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)

Я перейменував файли CSS, щоб опустити довгий рядок шістнадцяткових цифр у оригінальних іменах.

Я відредагував github.css, щоб вказати на локальні копії файлів шрифтів octicons.

Я вивчив HTML сторінки GitHub і відтворив достатньо структури HTML, що оточує вміст readme, щоб забезпечити розумну вірність; наприклад, обмежена ширина.

CSS, шрифт GitHub, шрифт octicons та HTML-контейнер для вмісту readme є рухомими цілями: мені потрібно буде періодично завантажувати нові версії.

Я грав із використанням CSS у різних проектах GitHub. Наприклад:

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

але врешті-решт вирішив використовувати CSS від самого GitHub.

Джерело

Ось 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

Markdown Preview , плагін для Sublime Text, згаданий у попередньому коментарі, більше не сумісний зі ST2, але підтримує лише Sublime Text 3 (з весни 2018 року).

Що в цьому акуратно: він підтримує GFM, GitHub Flavored Markdown , який може зробити трохи більше, ніж звичайний Markdown. Це важливо, якщо ви хочете дізнатися, .mdяк саме виглядатиме ваш G на GH. (Включаючи цей трохи інформації, оскільки ОП не додав тег GFM самостійно, а інші, які шукають рішення, можуть не знати про це.)

Ви можете використовувати його з API GitHub, якщо ви перебуваєте в мережі, хоча вам слід отримати особистий маркер доступу для цієї мети, оскільки виклики API без автентифікації обмежені. Більше інформації про Parsing GFM в документах плагіна.


1

Якщо ви використовуєте Pycharm (або інший ID Jetbrains IDE, наприклад Intellij, RubyMine, PHPStorm тощо), у вашій IDE є кілька безкоштовних плагінів для підтримки Markdown, які дозволяють переглядати в режимі реального часу під час редагування. Плагін Markdown Navigator досить хороший. Якщо ви відкриєте .md файл у IDE, останні версії запропонують встановити підтримуючі плагіни та покажуть вам список.


1

SublimeText 2/3

Встановити пакет: Markdown Preview

Параметри:

  • Попередній перегляд у браузері.
  • Експорт у HTML.
  • Копіювати в буфер обміну.

Це добре працює, оскільки він підтримує github, gitlab та generic markdown. Хоча це важко встановити.
Abel Callejo

0

Використовуйте лабораторію Юпітера .

Щоб встановити лабораторію Юпітера, введіть у своєму оточенні наступне:

pip install jupyterlab

Після установки перейдіть до місця розташування файлу розмітки, клацніть правою кнопкою миші файл, виберіть "Відкрити за допомогою" та натисніть "Попередній перегляд розмітки".



0

ReText - це хороший переглядач / редактор легкої розмітки .

ReText з Live Preview
ReText з Live Preview (джерело: ReText; клацніть зображення для більшого варіанту)

Я знайшов це завдяки Іззі, яка відповіла /softwarerecs/17714/simple-markdown-viewer-for-ubuntu (в інших відповідях згадуються інші можливості)


Зауважте, що ReText не підтримує CommonMark, див. Github.com/retext-project/retext/isissue/253
dpi


0

MarkdownViewerPlusPlus - це "[...] плагін для блокнота ++ для перегляду файлу Markdown, відображеного під час руху

  • Док-панель (тумблер) з виведеним HTML поточно вибраного файлу / вкладки
  • Сумісність CommonMark (0,28)
  • Синхронізована прокрутка
  • Спеціальна інтеграція CSS
  • Експорт HTML і PDF
  • Плагін для блокнота ++ Unicode [...] "

0

Ви можете використовувати статичний редактор сайтів : з GitLab 13.0 (травень 2020 року) він постачається з панеллю WYSIWYG.

WYSIWYG для редактора статичного сайту

Markdown - це потужний і ефективний синтаксис для створення веб-контенту, але навіть досвідчені автори вмісту Markdown можуть з усіх сил запам'ятати деякі менш часто використовувані варіанти форматування або писати навіть помірно складні таблиці з нуля.
Деякі завдання краще виконати з насиченим текстом редактора "Що ти бачиш - те що отримуєш" (WYSIWYG).

GitLab 13.0 приносить досвід редагування WYSIWYG Markdown в Статичний редактор сайту з параметрами форматування для загальних параметрів форматування, таких як заголовки, жирний шрифт, курсив, посилання, списки, блок-котирування та блоки коду.

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

Редактор WYSIWYG також видаляє обтяжливе завдання редагування таблиць у Markdown, дозволяючи вам візуально редагувати рядки, стовпці та комірки таблиці так само, як ви редагували таблицю. Для тих, хто зручніше писати в сирому Markdown, є навіть вкладка для переключення між режимами WYSIWYG та звичайним редагуванням тексту.

Дивіться документацію та випуск .

Знову ж, ви б використали його лише для написання свого README: як тільки це виглядає добре, ви можете повідомити про це у своєму початковому проекті.
Але справа в тому, що вам більше не потрібен плагін для попереднього розмітки розмітки.


-1

Для тих, хто хоче розвиватися на своїх iPad, мені подобається Textastic. Ви можете редагувати та переглядати файли README.md без підключення до Інтернету, як тільки ви завантажили документ із хмари.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.