|
|
|
@ -40,11 +40,10 @@
|
|
|
|
|
:prefix "markdown-preview-"
|
|
|
|
|
:link '(url-link "https://github.com/ancane/markdown-preview-mode"))
|
|
|
|
|
|
|
|
|
|
(defcustom markdown-preview-host 'local
|
|
|
|
|
(defcustom markdown-preview-host "localhost"
|
|
|
|
|
"Markdown preview websocket server address."
|
|
|
|
|
:group 'markdown-preview
|
|
|
|
|
:type '(choice (const :tag "localhost" local)
|
|
|
|
|
(string :tag "Custom host")))
|
|
|
|
|
:type 'string)
|
|
|
|
|
|
|
|
|
|
(defcustom markdown-preview-port 7379
|
|
|
|
|
"Markdown preview websocket server port."
|
|
|
|
@ -71,9 +70,9 @@
|
|
|
|
|
(defvar markdown-preview--remote-clients nil
|
|
|
|
|
"List of `markdown-preview' websocket remote clients.")
|
|
|
|
|
|
|
|
|
|
(defvar markdown-preview--preview-url
|
|
|
|
|
(defvar markdown-preview--preview-template
|
|
|
|
|
(concat (file-name-directory load-file-name) "preview.html")
|
|
|
|
|
"Location of `markdown-preview' html.")
|
|
|
|
|
"Location of `markdown-preview' html template file.")
|
|
|
|
|
|
|
|
|
|
(defvar markdown-preview--idle-timer nil
|
|
|
|
|
"Preview idle timer.")
|
|
|
|
@ -87,8 +86,13 @@
|
|
|
|
|
"Open the markdown preview in the browser."
|
|
|
|
|
(let* ((dir-of-buffer-to-preview (file-name-directory (buffer-file-name)))
|
|
|
|
|
(preview-file (concat dir-of-buffer-to-preview markdown-preview-file-name)))
|
|
|
|
|
(if (not (file-exists-p preview-file))
|
|
|
|
|
(copy-file markdown-preview--preview-url preview-file))
|
|
|
|
|
(with-temp-file preview-file
|
|
|
|
|
(insert-file-contents markdown-preview--preview-template)
|
|
|
|
|
(if (search-forward "${WS_HOST}" nil t)
|
|
|
|
|
(replace-match markdown-preview-host t))
|
|
|
|
|
(if (search-forward "${WS_PORT}" nil t)
|
|
|
|
|
(replace-match (format "%s" markdown-preview-port) t))
|
|
|
|
|
(buffer-string))
|
|
|
|
|
(browse-url preview-file)))
|
|
|
|
|
|
|
|
|
|
(defun markdown-preview--stop-websocket-server ()
|
|
|
|
|