2012-07-19 16 views
8

GitHub utilizza qualcosa noto come "GitHub Flavored Markdown" per messaggi, problemi e commenti. Le mie domande sono:Sintassi della sintassi sul Wiki di GitHub: Specifica del linguaggio di programmazione

  • GitHub utilizza questa sintassi anche per il loro Wiki?
  • Da quello che ho capito si può specificare il linguaggio di programmazione per l'evidenziazione della sintassi con la seguente sintassi:

    ```ruby 
    require 'redcarpet' 
    markdown = Redcarpet.new("Hello World!") 
    puts markdown.to_html 
    ``` 
    

    Dove si può specificare il linguaggio di programmazione dopo la stringa ``` (ad es ```ruby)

    La mia domanda is: Come faccio a cercare l'identificatore per un linguaggio di programmazione? (ad esempio C non sembra funzionare per il linguaggio di programmazione C)

+0

provare 'minuscola' c ' – nulltoken

+0

Entrambi 'C' e' c' dovrebbero funzionare. – pchaigno

risposta

6

Per un elenco dei possibili lexer che github wiki può utilizzare vedere qui: http://pygments.org/docs/lexers/

Se si scopre che un certo lexer è non supportato, github raccomanda biforcano il loro codice e inviandolo tramite una richiesta di pull: https://github.com/blog/774-git-powered-wikis-improved

+1

GitHub utilizzava Pygments per evidenziare la sintassi alla volta, ma l'elenco di lexer da Pygments non corrispondeva mai completamente all'elenco dei lexer disponibili in GitHub. GitHub ora si basa sulle grammatiche Sublime Text, Atom e TextMate per l'evidenziazione della sintassi. Vedi la risposta di 3D1T0R per la lista dei lexer disponibili. – pchaigno

1

Come si cerca l'identificatore per un linguaggio di programmazione?

L'up-to-date elenco di identificatori di lingua può dedurre dal file di configurazione principale del the Linguist repository, languages.yml. Per ogni lingua in tale elenco, è possibile utilizzare come identificatori:

  1. Il nome della lingua
  2. Qualsiasi della lingua aliases
  3. Qualsiasi delle estensioni dei file, con o senza un leader ..

spazi bianchi devono essere sostituiti da trattini (ad esempio, emacs-lisp è uno specificatore per Emacs Lisp). Le lingue con una voce tm_scope: none non hanno una grammatica definita e non saranno evidenziate su github.com.

jmm ha fatto questo sforzo di reverse engineering e ha ricevuto conferma da uno degli ingegneri di GitHub. Ha aperto un problema con tutte le informazioni su Linguist e mantiene a wiki page with the specifiers for all languages (che potrebbe non essere aggiornato).

GitHub utilizza anche questa sintassi per il Wiki?

Sì, ma i wiki di github.com supportano anche molti altri formati. È possibile trovare l'elenco completo su the markup repository.