2016-06-26 8 views
2

markdown-clj scheint gut zu funktionieren, aber nicht umwandeln Tabellen. Ich verstehe, dass Tabellen kein offizieller Bestandteil der Abschriftenspezifikation sind.konvertieren von Markdown zu HTML mit Clojure oder ClojureScript, einschließlich Tabellen

So bin ich jetzt Showdown über CLJSJS mit, für die gibt es eine bequeme example, hier wiederholt:

(defn convert-to-html [markdown] 
    (let [converter (js/Showdown.converter.)]  
    (.makeHtml converter markdown))) 

Aus der Showdown Dokumentation, was Sie tun müssen, um Tabellen zu haben, umgewandelt wird und zu wiederum auf die Option tables. Wie würde ich das im obigen ClojureScript-Code tun?

BEARBEITEN Beachten Sie, dass die obige Syntax zum Zeitpunkt dieser Frage korrekt war. Jedoch Sie jetzt müssen:

(js/showdown.Converter.) 

Beachten Sie, dass beide showdown und Converter haben ihre Kapitalisierung geändert.

Antwort

5

Lesen Sie auf JavaScript interop.

Mit Blick auf den Showdown docs haben Sie ein paar Möglichkeiten, um das Parsen von Tabellen zu aktivieren.

Weltweit:

showdown.setOption('optionKey', 'value');

(.setOption js/showdown "tables" true) 

Lokal:

var converter = new showdown.Converter({optionKey: 'value'});

(let [converter (js/showdown.Converter. #js {:tables true})] 
    ..) 

Notiere die #js, eine kurze Hand für clj->js, die Pflege ClojureScript Werte JavaScript der Umwandlung stattfindet.

var converter = new showdown.Converter(); converter.setOption('optionKey', 'value');

(let [converter (js/showdown.Converter.) 
     _ (.setOption converter "tables" true)] 
    ..) 
+0

Einstellung im Konstruktor scheint keine Wirkung zu haben. Und für die '.setOption' bekomme ich" Uncaught TypeError: converter.setOption ist keine Funktion ". –

+0

Anscheinend ist die Showdown-Version im cljsjs Repo ziemlich alt. 0.4.0 vs 1.4.2. [Update] (https://github.com/cljsjs/packages/wiki/Creating-Packages) Ein cljsjs-Paket ist normalerweise ziemlich einfach. –

+0

1.4.2 sollte in den nächsten Tagen in den Cljsjs Repo sein, sehen Sie sich diese [PR] (https://github.com/cljsjs/packages/pull/625/commits/152978c1f35ee9d5a1d13f967a8fc4cd91da29d1). Die Antwort wurde aktualisiert, da sich der Namespace leicht veränderte. –

Verwandte Themen