Jak mogę wyświetlać podgląd Markdown na żywo, gdy go piszę?


14

Jak mogę to zrobić albo w innym buforze, albo nawet w bieżącym buforze?

Próbuję wykonać Github README.md i inne renderowanie Markdown w Github (dla notatek itp.),


Na pierwszy rzut oka wydaje się to proste w użyciu przy użyciu markdown-exporti eww, zależnie od haka i timera powiadamiania o zmianie. Wygląda jednak na to, że interesującą częścią byłoby określenie, która część ewwbufora HTML odpowiada pointw buforze Markdown (aby mogli przewijać „w synchronizacji”).
Greg Hendershott

Odpowiedzi:


4

Oto dość długie, ale wydajne rozwiązanie.

  1. Zainstaluj simple-httpdi M-x httpd-start.
  2. Zainstaluj markdownz menedżera pakietów systemu.
  3. Otwórz bufor przecen i uruchom markdown-export . To tworzy plik HTML w tym samym katalogu.
  4. Otwórz ten plik HTML.
  5. Zainstaluj impatient-modeiM-x impatient-mode.
  6. Wróć do pliku przeceny.

Na koniec oceń ten kod:

(defun markdown-export-continuous (&optional output-file)
  (interactive)
  (let ((input-file (buffer-file-name))
        (output-file (markdown-export-file-name ".html")))
    (when output-file
      (with-current-buffer (find-file-noselect output-file)
        (erase-buffer)
        (insert
         (shell-command-to-string
          (format "markdown %s" input-file)))
        (save-buffer)))))
(add-hook 'after-save-hook 'markdown-export-continuous t t)

Zauważ, że add-hook instrukcja musi być lokalna dla Markdown, więc uruchom ją w tym buforze.

Po tym wszystkim otwórz przeglądarkę http://localhost:8080/imp/i będzie się odświeżać za każdym razem C-x C-s.


Widzę plik HTML w localhost: 8080 / imp, ale muszę go kliknąć, aby go zobaczyć, a Cx Cs nie wydaje się odświeżać. Czy to jest zamierzone?
CodeSammich

Ponadto, zamiast po prostu eksportowania przecen, czy istnieje sposób na eksport przeceny o smaku Github?
CodeSammich

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.