Come posso verificare come sarà il mio file readme.md prima di impegnarmi su github?


235

Sto scrivendo un file Leggimi per il mio progetto github nel formato .md. C'è un modo per testare come sarà il mio file readme.md prima di impegnarmi su github?


4
Sto rispondendo a questo come un commento perché il thread è chiuso e nessuna delle soluzioni stava eseguendo il rendering delle tabelle di pipe allo stesso modo di Github. La soluzione web che sembra più vicina è qui: pandao.github.io/editor.md/en.html
Donnie D'Amato

Con GitLab 13.0 (maggio 2020), l'editor di siti statici per GitLab ha un editor WYSIWYG. Vedi la mia risposta qui sotto .
VonC

Risposte:


150

Molti modi: se sei su un Mac, usa Mou .

Se vuoi testare in un browser, puoi provare StackEdit , come sottolineato da @Aaron o Dillinger poiché Notepag sembra essere inattivo ora. Personalmente uso Dillinger poiché funziona e salva tutti i miei documenti nel database locale del mio browser.


5
Anche dillinger.io sembra essere inattivo ora, anche se è ancora il primo elencato quando si google "markdown online viewer", quindi potrei essere solo io. Ho usato con successo stackedit.io per visualizzare in anteprima e modificare il mio file readme.md.
Aaron,

Dillinger è ok. È andato tutto bene per la maggior parte del tempo.
tre

1
StackEdit è un ottimo strumento. Grazie!
Olkunmustafa,

StackEdit formati "elenchi di definizioni", github no. StackEdit inserisce blocchi di codice backtick tripli su una propria riga (utile per l'uso in elenchi numerati), github no. Ci sono altre differenze L'unica scommessa sicura è provare ed errore con una sintesi ed eliminarlo quando hai finito.
Bruno Bronosky,

1
Sfortunatamente non sembra che Mou supporti MacOS Mojave (10.14)
Chris Priest

79

Atom funziona alla perfezione: basta aprire il file Markdown e premere Ctrl + Maiusc + M per attivare o disattivare il pannello di anteprima di Markdown. Gestisce anche HTML e immagini.

Schermata Atom


2
Da quando ho avuto risorse locali, come screenshot di app, questa soluzione funziona meglio. Grazie!
Emadpres,

6
Uso Atom da un anno ormai e non avevo idea che potesse farlo!
Dai vita

brew cask install atom
jmgarnier

perfs aveva già installato Atom appena scritto atom .e fatto clic con il pulsante destro del mouse sul file readmeMarkdown Preview
austin il

Atom governa il posatoio. Nessuna di stackedit, Dillinger o typora supportava sezioni comprimibili tramite <details>tag HTML . Atom fa e sembra migliore del resto per l'avvio.
David Parks,


35

Questa è una domanda piuttosto vecchia, tuttavia dal momento che mi sono imbattuto in esso durante la ricerca su Internet, forse la mia risposta è utile per gli altri. Ho appena trovato uno strumento CLI molto utile per il rendering del markdown al gusto di GitHub: grip . Utilizza l'API di GitHub, quindi rende abbastanza bene.

Francamente, lo sviluppatore di grip , ha una risposta più elaborata su queste domande molto simili:


2
Grazie! È bello non dover interrompere il mio flusso di lavoro e aprire un editor diverso o visitare un sito Web diverso
oneWorkingHeadphone

1
Questa dovrebbe essere la risposta accettata - è perfetta! Basta fare alt-tab tra l'editor e il browser e ridistribuirà automaticamente il markdown e sembra esattamente come su GitHub. Finalmente una soluzione accettabile.
Upio,

30

Di solito lo modifico direttamente sul sito Web GitHub e faccio clic su "Anteprima" appena sopra la finestra di modifica.

Forse questa è una nuova funzionalità che è stata aggiunta da quando è stato pubblicato questo post.


8
Il problema con questa soluzione è che GitHub (finora) mostra differenze diff in linea delle modifiche che rendono un'anteprima piuttosto inutilizzabile se si desidera avere un'idea di come appaiono le modifiche e non di ciò che è effettivamente cambiato.
B12,

2
@ B12Toaster È possibile creare un nuovo file nel repository utilizzando il sito Web GitHub (senza salvarlo) e denominarlo xxx.mde incollare il codice lì. L'estensione del file .mdconsente di visualizzare in anteprima le modifiche. Aggiornerai dopo aver terminato, quindi copia il contenuto del file e incollalo sul readme.mdfile originale .
Mahmoud,

Un ulteriore problema è che non visualizza accuratamente tutto. Un esempio concreto: se stai centrando un'immagine in alto usando <div align='center'><img ...></div>questa non la mostrerai centrata nell'anteprima, sarà allineata a sinistra. Devi salvarlo per vederlo accuratamente, il che rende l'anteprima inaffidabile secondo me.
AFOC

28

Visual Studio Code ha la possibilità di modificare e visualizzare in anteprima le modifiche ai file md. Poiché VS Code è indipendente dalla piattaforma, questo funzionerebbe per Windows, Mac e Linux.

Per passare da una vista all'altra, premi Ctrl + Maiusc + V nell'editor. Puoi visualizzare l'anteprima fianco a fianco (Ctrl + KV) con il file che stai modificando e vedere le modifiche riflesse in tempo reale mentre modifichi.

Anche...

D: VS Code supporta GitHub Flavored Markdown?

A: No, VS Code ha come target la specifica Markdown CommonMark usando la libreria markdown-it. GitHub si sta muovendo verso le specifiche CommonMark.

Maggiori dettagli qui


3
Bello!! Non devo installare Atom !!
Aerin,

1
A proposito, volevo testare il link ai titoli usati da GitHub ( stackoverflow.com/a/45860695/5362795 ) e ho scoperto che è supportato anche da VS Code!
Nagev,


5

Uso un file HTML ospitato localmente per visualizzare l'anteprima dei readme di GitHub.

Ho esaminato diverse opzioni esistenti, ma ho deciso di creare il mio per soddisfare i seguenti requisiti:

  • File singolo
  • URL ospitato localmente (intranet)
  • Nessuna estensione del browser richiesta
  • Nessuna elaborazione lato server ospitata localmente (ad esempio, nessun PHP)
  • Leggero (ad esempio, no jQuery)
  • Alta fedeltà: usa GitHub per rendere Markdown e lo stesso CSS

Conservo copie locali dei miei repository GitHub nelle directory dei fratelli in una directory "github".

Ogni directory repo contiene un file README.md:

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

La directory github contiene il file HTML "preview":

.../github/
           readme.html

Per visualizzare l'anteprima di un file Leggimi, sfoglio github / readme.html, specificando il repository nella stringa di query:

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

In alternativa, è possibile copiare readme.html nella stessa directory di README.md e omettere la stringa di query:

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

Se readme.html si trova nella stessa directory di README.md, non è nemmeno necessario servire readme.html su HTTP: puoi semplicemente aprirlo direttamente dal tuo file system.

Il file HTML utilizza l' API GitHub per eseguire il rendering del markdown in un file README.md. C'è un limite di velocità : al momento della scrittura, 60 richieste all'ora .

Funziona per me nelle attuali versioni di produzione di Chrome, IE e Firefox su Windows 7.

fonte

Ecco il file 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>

Note per gli sviluppatori

  • In genere, avvolgo il mio codice in un IIFE, ma in questo caso non ho visto la necessità e ho pensato di mantenerlo conciso
  • Non mi sono preoccupato di supportare il backlevel IE
  • Per semplicità, ho omesso il codice di gestione degli errori (mi credi ?!)
  • Gradirei suggerimenti sulla programmazione JavaScript

idee

  • Sto prendendo in considerazione la creazione di un repository GitHub per questo file HTML e l'inserimento del file nel ramo gh-pages, in modo che GitHub funzioni come una pagina Web "normale". Modificherei il file per accettare un URL completo - del file README (o qualsiasi altro file Markdown) - come stringa di query. Sono curioso di vedere se essere ospitato da GitHub eviterebbe il limite di richieste API GitHub e se avrò problemi di interdominio (usando una richiesta Ajax per ottenere il Markdown da un dominio diverso rispetto al dominio che serve la pagina HTML) .

Versione originale (obsoleta)

Ho conservato questo record della versione originale per valore di curiosità. Questa versione presentava i seguenti problemi risolti nella versione corrente:

  • Richiedeva il download di alcuni file correlati
  • Non supportava il rilascio nella stessa directory di README.md
  • Il suo HTML era più fragile; più suscettibile ai cambiamenti in GitHub

La directory github contiene il file HTML "preview" e i file correlati:

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

Ho scaricato i file dei font CSS e octicons da 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)

Ho rinominato i file CSS per omettere la lunga stringa di cifre esadecimali nei nomi originali.

Ho modificato github.css per fare riferimento alle copie locali dei file dei font Octicons.

Ho esaminato l'HTML di una pagina GitHub e riprodotto abbastanza della struttura HTML che circonda il contenuto del readme per fornire una ragionevole fedeltà; ad esempio, la larghezza vincolata.

Il CSS GitHub, il font octicons e il "contenitore" HTML per il contenuto del file Leggimi sono obiettivi mobili: dovrò scaricare periodicamente nuove versioni.

Ho giocato con l'utilizzo dei CSS da vari progetti GitHub. Per esempio:

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

ma alla fine decise di usare il CSS dallo stesso GitHub.

fonte

Ecco il file 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 , il plugin per Sublime Text menzionato in un commento precedente non è più compatibile con ST2, ma supporta solo Sublime Text 3 (dalla primavera 2018).

Cosa c'è di bello al riguardo: supporta GFM, GitHub Flavored Markdown , che può fare un po 'più del normale Markdown. Questo è rilevante se vuoi sapere .mdesattamente come appariranno i tuoi messaggi su GH. (Incluso questo bit di informazioni perché l'OP non ha aggiunto il tag GFM da solo, e anche altri che cercano una soluzione potrebbero non esserne consapevoli.)

Puoi usarlo con l'API GitHub se sei online, anche se a questo scopo dovresti ottenere un token di accesso personale perché le chiamate API senza autenticazione sono limitate. Ulteriori informazioni sull'analisi di GFM nei documenti del plug-in.


1

Se stai usando Pycharm (o un altro IDE Jetbrains come Intellij, RubyMine, PHPStorm, ecc.), Ci sono più plug-in gratuiti per il supporto Markdown proprio nel tuo IDE che consentono l'anteprima in tempo reale durante la modifica. Il plug-in Markdown Navigator è abbastanza buono. Se apri un file .md nell'IDE, le versioni recenti offriranno di installare plug-in di supporto e mostrarti l'elenco.


1

SublimeText 2/3

Installa pacchetto: Markdown Preview

Opzioni:

  • Anteprima nel browser.
  • Esporta in html.
  • Copia negli appunti.

Funziona bene perché supporta github, gitlab e markdown generico. Sebbene sia difficile da installare.
Abel Callejo,

0

Usa Jupyter Lab .

Per installare Jupyter Lab, digitare quanto segue nel proprio ambiente:

pip install jupyterlab

Dopo l'installazione, individuare il percorso del file markdown, fare clic con il tasto destro del mouse sul file, selezionare "Apri con", quindi fare clic su "Anteprima markdown".





0

MarkdownViewerPlusPlus è un plugin [...] Notepad ++ per visualizzare un file Markdown reso al volo Funzionalità

  • Pannello agganciabile (attiva / disattiva) con un HTML renderizzato del file / scheda attualmente selezionato
  • Conforme CommonMark (0.28)
  • Scorrimento sincronizzato
  • Integrazione CSS personalizzata
  • Esportazione HTML e PDF
  • Notepad ++ Unicode Plugin [...] "

0

È possibile utilizzare l' editor del sito statico : con GitLab 13.0 (maggio 2020) , viene fornito con un pannello WYSIWYG.

WYSIWYG per l'Editor sito statico

Markdown è una sintassi potente ed efficiente per la creazione di contenuti Web, ma anche autori esperti di contenuti Markdown possono avere difficoltà a ricordare alcune delle opzioni di formattazione utilizzate meno frequentemente o scrivere da zero anche tabelle moderatamente complesse.
Ci sono alcuni lavori meglio realizzati con un rich text, l'editor "What You See Is What You Get" (WYSIWYG).

GitLab 13.0 offre un'esperienza di authoring Markdown WYSIWYG all'editor di siti statici con opzioni di formattazione per opzioni di formattazione comuni come intestazioni, grassetto, corsivo, collegamenti, elenchi, blocchi e codici.

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

L'editor WYSIWYG rimuove anche l'onerosa attività di modifica delle tabelle in Markdown, consentendo di modificare visivamente righe, colonne e celle della tabella nello stesso modo in cui si modifica un foglio di calcolo. Per quelle più comode nella scrittura di Markdown non elaborato, c'è anche una scheda per passare tra le modalità di modifica del testo in chiaro e WYSIWYG.

Vedi documentazione e problema .

Ancora una volta, lo useresti solo per scrivere il tuo README: una volta che sembra buono, puoi riportarlo al tuo progetto originale.
Ma il punto è: non è più necessario alcun plug-in di anteprima di markdown di terze parti.


-1

Per coloro che desiderano svilupparsi sul proprio iPad, mi piace Textastic. È possibile modificare e visualizzare in anteprima i file README.md senza una connessione Internet, dopo aver scaricato il documento dal cloud.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.