Github'a geçmeden önce readme.md dosyamın nasıl görüneceğini nasıl test edebilirim?


234

Github projem için .md biçiminde bir benioku yazıyorum. Github'a geçmeden önce readme.md dosyamın nasıl görüneceğini test edebilmemin bir yolu var mı?


4
Ben bir yorum olarak bu konu kapalı ve çözümlerin hiçbiri github olduğu gibi boru tabloları render çünkü bu cevap. En yakın görünen web çözümü burada: pandao.github.io/editor.md/en.html
Donnie D'Amato

GitLab 13.0 (Mayıs 2020) ile GitLab'ın statik site düzenleyicisinin bir WYSIWYG düzenleyicisi vardır. Bkz aşağıda Cevabımı .
VonC

Yanıtlar:


149

Birçok yol: Mac kullanıyorsanız, Mou kullanın .

Bir tarayıcıda testine isterseniz, deneyebilirsin StackEdit @Aaron veya tarafından sivri dışarı olarak, Dillinger beri Notepag şimdi aşağı gibi görünüyor. Şahsen Dillinger'ı kullanıyorum, çünkü sadece çalışıyor ve tüm belgelerimi tarayıcımın yerel veritabanına kaydediyor.


5
dillinger.io da şimdi aşağı gibi görünüyor, ancak google "markdown çevrimiçi görüntüleyici" ne zaman hala ilk listelenen, bu yüzden sadece ben olabilir. Benioku.md önizleme ve düzenlemek için başarıyla stackedit.io kullandım .
Aaron

Dillinger ist tamam. Çoğu zaman ok oldu.
Üç

1
StackEdit harika bir araçtır. Teşekkür ederim!
Olkunmustafa

StackEdit biçimleri "tanım listeleri", github değil. StackEdit, kendi satırına üçlü backtick kod blokları koyar (numaralı listelerde kullanım için yararlıdır), github yapmaz. Başka farklılıklar da var. Tek güvenli bahis, bir özü denemek ve hata yapmak ve işiniz bittiğinde silmek.
Bruno Bronosky

1
Ne yazık ki Mou MacOS Mojave'yi destekliyor gibi görünmüyor (10.14)
Chris Priest

78

Atom kutudan çıkar çıkmaz çalışır - Markdown dosyasını açmanız veyanındaki Markdown önizleme panelini değiştirmek için Ctrl + Shift + M tuşlarına basmanız yeterlidir. HTML ve görüntüleri de işler.

Atom ekran görüntüsü


2
Uygulamanın ekran görüntüleri gibi yerel kaynaklara sahip olduğum için, bu çözüm en iyi sonucu verir. Teşekkürler!
Emadpres

6
Bir yıldır atom kullanıyorum ve bunu yapabileceğine dair hiçbir fikrim yoktu! Utanç Rahibesini Getir ...
PaulB

demlemek fıçı yüklemek atom
jmgarnier

perfs zaten Atom yüklü atom .ve benioku sağ tıkladı>Markdown Preview
austin

Atom, tünele hükmeder. Stackedit, Dillinger veya typora'dan hiçbiri HTML <details>etiketleri yoluyla daraltılabilir bölümleri desteklemedi . Atom, önyükleme yapmak için diğerlerinden daha iyi görünüyor ve daha iyi görünüyor.
David Parks


35

Bu oldukça eski bir soru, ancak internette arama yaparken tökezlediğimden beri cevabım başkaları için yararlı olabilir. GitHub aromalı markdown oluşturmak için çok kullanışlı bir CLI aracı buldum: kavrama . GitHub'ın API'sını kullanır, bu nedenle oldukça iyi sonuç verir.

Açıkçası, kavrama geliştiricisi , bu çok benzer sorular üzerinde daha ayrıntılı bir cevaba sahiptir:


2
Teşekkür ederim! İş
akışımı

1
Bu kabul edilen cevap olmalı - mükemmel! Sadece düzenleyiciniz ve tarayıcınız arasında alt-sekme yapın, işaretlemeyi otomatik olarak yeniden oluşturur ve GitHub'da olduğu gibi görünür. Sonunda kabul edilebilir bir çözüm.
Ağustos'ta Upio

30

Genellikle doğrudan GitHub web sitesinde düzenlerim ve düzenleme penceresinin hemen üstündeki "Önizle" yi tıklarım.

Belki de bu yazı yapıldığından beri eklenen yeni bir özellik.


8
Bu çözümdeki sorun, GitHub'un (şimdiye kadar) değişikliklerin satır içi farklarını göstermesidir; bu, değişikliklerin gerçekte neyin değiştiğine değil, nasıl göründüğüne dair bir izlenim edinmek istiyorsanız, önizlemeyi oldukça kullanılamaz hale getirir.
B12Toaster

2
@ B12Toaster GitHub web sitesini (kaydetmeden) kullanarak depoda yeni bir dosya oluşturabilir ve adlandırıp xxx.mdkodunuzu buraya yapıştırabilirsiniz. Dosya uzantısı, .mddeğişikliklerinizin önizlemesini yapabilirsiniz. Bitirdiğinizde güncelleme yapacak, daha sonra dosya içeriğini kopyalayıp orijinal readme.mddosyanın üzerine yapıştıracaksınız .
Mahmoud

Ek bir sorun, her şeyi doğru bir şekilde görüntülememesidir. Somut bir örnek: görüntüyü kullanarak üstte <div align='center'><img ...></div>ortalarsanız, önizlemede ortalanmış olarak gösterilmez, sola hizalanır. Doğru bir şekilde görmek için kaydetmeniz gerekiyor, bu da önizlemeyi bence güvenilmez yapıyor.
AFOC

28

Visual Studio Code md dosya değişikliklerini düzenleme ve önizleme seçeneğine sahiptir. VS Code platformdan bağımsız olduğu için, bu Windows, Mac ve Linux için işe yarar.

Görünümler arasında geçiş yapmak için düzenleyicide Ctrl + Üst Karakter + V tuşlarına basın . Önizlemeyi , düzenlediğiniz dosyayla yan yana (Ctrl + KV) görüntüleyebilir ve düzenlerken değişiklikleri gerçek zamanlı olarak yansıtabilirsiniz.

Ayrıca...

S: VS Kodu GitHub Aromalı İşaretlemeyi destekliyor mu?

Y: Hayır, VS Kodu, markdown-it kitaplığını kullanarak CommonMark Markdown spesifikasyonunu hedefler. GitHub, CommonMark spesifikasyonuna doğru ilerliyor.

Daha fazla ayrıntı burada


3
Güzel!! Atom yüklemem gerekmiyor !!
Aerin

1
Bu arada, GitHub ( stackoverflow.com/a/45860695/5362795 ) tarafından kullanılan başlıkların bağlantısını test etmek istedim ve bunun VS Code tarafından da desteklendiğini buldum!
Nagev


5

GitHub readmes'ı önizlemek için yerel olarak barındırılan bir HTML dosyası kullanıyorum.

Mevcut birkaç seçeneğe baktım, ancak aşağıdaki gereksinimleri karşılamak için kendime karar vermeye karar verdim:

  • Tek dosya
  • Yerel olarak barındırılan (intranet) URL
  • Tarayıcı uzantısı gerekmez
  • Yerel olarak barındırılan sunucu tarafı işleme yok (örneğin, PHP yok)
  • Hafif (örneğin, jQuery yok)
  • Yüksek doğruluk: Markdown'u ve aynı CSS'yi oluşturmak için GitHub'ı kullanın

GitHub veri havuzlarımın yerel kopyalarını kardeş dizinlerinde bir "github" dizini altında tutuyorum.

Her repo dizini bir README.md dosyası içerir:

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

Github dizini "önizleme" HTML dosyasını içerir:

.../github/
           readme.html

Benioku önizlemek için, sorgu dizesinde repo belirterek, github / readme.html göz atın:

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

Alternatif olarak, readme.html dosyasını README.md ile aynı dizine kopyalayabilir ve sorgu dizesini atlayabilirsiniz:

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

Readme.html dosyası README.md ile aynı dizindeyse, readme.html dosyasını HTTP üzerinden sunmanıza bile gerek yoktur: doğrudan dosya sisteminizden açabilirsiniz.

HTML dosyası GitHub API'sını kullanır , Markdown'ı bir README.md dosyasında oluşturmak . Bir ücret limiti vardır : yazma sırasında saatte 60 istek .

Windows 7'de Chrome, IE ve Firefox'un mevcut üretim sürümlerinde benim için çalışıyor.

Kaynak

HTML dosyası (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>

Geliştirici notları

  • Tipik olarak, kodumu bir IIFE'ye sarıyorum, ancak bu durumda, ihtiyacı görmedim ve kısa ve öz tutacağımı düşündüm
  • Geri seviye IE'yi desteklemekten rahatsız olmadım
  • Kısaca, hata işleme kodunu atladım (bana inanıyor musunuz ?!)
  • JavaScript programlama ipuçlarını memnuniyetle kabul ederim

fikirler

  • Bu HTML dosyası için bir GitHub havuzu oluşturmayı ve dosyayı gh-pages dalına koyarak GitHub'ın "normal" bir web sayfası olarak hizmet etmesini düşünüyorum. Sorgu dizesi olarak README'nin (veya başka bir Markdown dosyasının) tam bir URL'sini kabul etmek için dosyayı değiştiririm. GitHub tarafından barındırılmasının GitHub API istek sınırını kaldırıp kaldırmayacağını ve alanlar arası sorunlara karşı çok fazla çalışıp çalışmadığımı (Markdown'ı HTML sayfasını sunan alan adından farklı bir alan adından almak için bir Ajax isteği kullanarak) çalıştırıp çalıştırmadığımı merak ediyorum .

Orijinal sürüm (kullanımdan kaldırıldı)

Merak değeri için orijinal sürümün bu kaydını korudum. Bu sürüm, geçerli sürümde çözülen aşağıdaki sorunlara sahipti:

  • İlgili bazı dosyaların indirilmesi gerekiyordu
  • README.md ile aynı dizine bırakılmasını desteklemedi
  • HTML'si daha kırılgandı; GitHub'daki değişikliklere daha duyarlı

Github dizini "önizleme" HTML dosyasını ve ilgili dosyaları içerir:

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

GitHub'dan CSS ve octicons yazı tipi dosyalarını indirdim:

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)

Orijinal adlarda onaltılık basamakların uzun dizesini atlamak için CSS dosyalarını yeniden adlandırdım.

Octicons yazı tipi dosyalarının yerel kopyalarına başvurmak için github.css dosyasını düzenledim.

Bir GitHub sayfasının HTML kodunu inceledim ve makul doğruluk sağlamak için benioku içeriğini çevreleyen HTML yapısını yeterince çoğalttım; örneğin, sınırlandırılmış genişlik.

Benioku içeriği için GitHub CSS, octicons yazı tipi ve HTML "kapsayıcı" hareketli hedefler: Periyodik olarak yeni sürümler indirmem gerekecek.

Çeşitli GitHub projelerinden CSS kullanarak oynadım. Örneğin:

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

ancak sonunda GitHub'ın kendisinden CSS kullanmaya karar verdi.

Kaynak

HTML dosyası (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 ,önceki bir yorumda bahsedilen Sublime Text eklentisiartık ST2 ile uyumlu değil, sadece Sublime Text 3'ü (2018 baharından beri)destekliyor.

Neler düzgün: normal Markdown'dan biraz daha fazlasını yapabilen GFM, GitHub Aromalı Markdown'u destekliyor . .mdGH'nizde tam olarak nasıl görüneceğini bilmek istiyorsanız, bu önemlidir . (OP, GFM etiketini kendileri eklemediğinden ve bir çözüm arayan diğer kullanıcılar da bunun farkında olmayabilir.)

Çevrimiçi iseniz GitHub API ile kullanabilirsiniz, ancak kimlik doğrulama olmadan API çağrıları sınırlı olduğu için bu amaçla kişisel bir erişim belirteci almanız gerekir . Eklentinin belgelerinde GFM'yi Ayrıştırma hakkında daha fazla bilgi var.


1

Pycharm (veya Intellij, RubyMine, PHPStorm vb. Gibi başka bir Jetbrains IDE) kullanıyorsanız, doğrudan IDE'nizde düzenleme sırasında gerçek zamanlı önizlemeye izin veren birden fazla ücretsiz eklenti vardır. Markdown Navigator eklentisi oldukça iyi. IDE'de bir .md dosyası açarsanız, son sürümler destekleyici eklentiler yüklemeyi ve size listeyi göstermeyi önerir.


1

SublimeText 2/3

Kurulum paketi: Markdown Preview

Seçenekler:

  • Tarayıcıda önizleme.
  • Html'ye aktar.
  • Panoya kopyala.

Github, gitlab ve genel işaretlemeyi desteklediği için bu iyi çalışır. Her ne kadar kurulumu zor olsa da.
Abel Callejo

0

Jupyter Lab kullanın .

Jupyter Lab'ı kurmak için ortamınıza aşağıdakileri yazın:

pip install jupyterlab

Kurulumdan sonra, markdown dosyanızın konumuna göz atın, dosyayı sağ tıklayın, "Birlikte Aç" ı seçin ve "Markdown Önizleme" yi tıklayın.





0

MarkdownViewerPlusPlus anında bir Markdown dosyasını görüntülemek için bir "[...] Notepad ++ Eklentisi

  • Seçili dosyanın / sekmenin oluşturulmuş bir HTML'sine sahip yerleştirilebilir panel (geçiş)
  • CommonMark uyumlu (0.28)
  • Senkronize kaydırma
  • Özel CSS entegrasyonu
  • HTML ve PDF Dışa Aktarma
  • Notepad ++ Unicode Eklentisi [...] "

0

Statik site düzenleyicisini kullanabilirsiniz : GitLab 13.0 (Mayıs 2020) ile birlikte bir WYSIWYG paneli ile birlikte gelir.

Statik Site Editörü için WYSIWYG

Markdown, web içeriğini yazmak için güçlü ve verimli bir sözdizimidir, ancak Markdown içeriğinin deneyimli yazarları bile daha az kullanılan biçimlendirme seçeneklerinden bazılarını hatırlamak veya sıfırdan karmaşık olarak karmaşık tablolar yazmak için mücadele edebilir.
Zengin bir metin, “Ne Görüyorsanız Onu Alırsınız” (WYSIWYG) editörü ile daha iyi sonuç veren bazı işler vardır.

GitLab 13.0, üstbilgiler, kalın, italik, bağlantılar, listeler, blok alıntılar ve kod blokları gibi yaygın biçimlendirme seçenekleri için biçimlendirme seçenekleriyle birlikte bir WYSIWYG Markdown yazma deneyimi sunar.

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

WYSIWYG düzenleyicisi ayrıca, tablo satırlarını, sütunları ve hücreleri bir e-tabloyu düzenlediğiniz şekilde görsel olarak düzenlemenize izin vererek Markdown'daki tabloları düzenlemenin zahmetli görevini kaldırır. Ham Markdown'da daha rahat yazmak için, WYSIWYG ve düz metin düzenleme modları arasında geçiş yapmak için bir sekme bile var.

Belgelere ve konuya bakın .

Yine, sadece yazmak için kullanabilirsiniz README: iyi göründüğünde, orijinal projenize geri bildirebilirsiniz.
Ama asıl nokta şudur: artık üçüncü taraf markdown önizleme eklentisine ihtiyacınız yok.


-1

İPad'lerinde geliştirmek isteyenler için Textastic'i seviyorum. Belgeyi buluttan indirdikten sonra, İnternet bağlantısı olmadan README.md dosyalarını düzenleyebilir ve önizleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.