Skip to content

Commit e65b67d

Browse files
authored
Merge pull request #2225 fix-markdown-preview
fix markdown-preview
2 parents 27f5567 + b65af3f commit e65b67d

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

extensions/markdown-mode/preview/external-browser.lisp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ The WS connection is closed when the markdown file is closed."))
7171
(defun generate-html-and-preview (buffer)
7272
(let* ((port (setup-server buffer))
7373
(html-file (generate-html buffer port)))
74-
(trivial-open-browser:open-browser (namestring html-file))))
74+
(uiop:launch-program
75+
(list #+(or win32 mswindows windows) "explorer"
76+
#+(or macos darwin) "open"
77+
#-(or win32 mswindows macos darwin windows) "xdg-open"
78+
(namestring html-file)))))
7579

7680
(defun refresh (buffer)
7781
(alexandria:when-let ((server (get-buffer-server-or-make buffer)))
@@ -90,7 +94,7 @@ The WS connection is closed when the markdown file is closed."))
9094
(trivial-ws:stop handler)))
9195

9296
(defmethod lem-markdown-mode/internal:on-change (buffer (view-type (eql :external-browser)))
93-
)
97+
(refresh buffer))
9498

9599
(defmethod lem-markdown-mode/internal:preview (buffer (view-type (eql :external-browser)))
96100
"Render the markdown of the current buffer to a browser window. The preview is refreshed when the file is saved.

extensions/markdown-mode/preview/preview.lisp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@
33
(in-package :lem-markdown-mode/preview/preview)
44

55
(define-command markdown-preview () ()
6+
"Preview the current Markdown buffer as rendered HTML in an internal buffer."
67
(lem-markdown-mode/internal:preview (current-buffer) :html-buffer))
78

9+
(define-command markdown-preview-external-browser () ()
10+
"Preview the current Markdown buffer as rendered HTML in an external web browser."
11+
(lem-markdown-mode/internal:preview (current-buffer) :external-browser))
12+
813
(defun render (string)
914
(let ((3bmd-code-blocks:*code-blocks* t))
1015
(with-output-to-string (stream)

0 commit comments

Comments
 (0)