;;; fwoar-pastebin.el --- Save htmlized version of buffer to a server -*- lexical-binding: t; tab-width: 8; -*- ;; Copyright (C) 2017 Edward Langley ;; Author: Edward Langley ;; Keywords: lisp ;; Version: 0.0.1 ;; Package-Requires: (htmlize) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 2 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Put a description of the package here ;;; Code: ;; code goes here (defgroup fwoar-pastebin nil "Configuration for simple pastebin" :prefix "fwoar-pastebin-" :group 'application) (defcustom fwoar-pastebin-tramp-url nil "A tramp-writable url to the pastebin" :group 'fwoar-pastebin :type 'string) (defcustom fwoar-pastebin-web-url-pattern nil "An appropriate URL for viewing the uploaded files" :group 'fwoar-pastebin :type 'string) ;;;###autoload (defun pastebin-buffer () (interactive) (let* ((extension (file-name-extension (elt (split-string (buffer-name) "<") 0))) (htmlized-buffer (htmlize-buffer))) (with-current-buffer htmlized-buffer (let ((result-name-hash (sha1 (current-buffer)))) (write-file (format fwoar-pastebin-tramp-url result-name-hash extension)) (message "Wrote file to: %s.%s.html" result-name-hash extension) (browse-url (format fwoar-pastebin-web-url-pattern result-name-hash extension)))))) (provide 'fwoar-pastebin) ;;; fwoar-pastebin.el ends here