0001  (load "~/.emacs")
0002  
0003  (find-file (pop command-line-args-left))
0004  
0005  (let* ((folder (format-time-string "%Y-%m-%d"))
0006         (n (buffer-name)))
0007    (mkdir (concat "~/Public/paste/" folder) 't)
0008    (write-region (buffer-string) nil
0009                  (concat "~/Public/paste/"
0010                          folder
0011                          "/"
0012                          n))
0013    (font-lock-fontify-buffer)
0014    (rectangle-number-lines (point-min) (point-max) 1 "#%04d# ")
0015    (with-current-buffer (htmlize-buffer)
0016      (let ((b (generate-new-buffer (generate-new-buffer-name "paste"))))
0017        (copy-to-buffer b (point-min) (point-max))
0018        (switch-to-buffer b)
0019        (goto-char (point-min))
0020        (while (re-search-forward "^#\\([^#]+\\)#" nil t)
0021          (replace-match "<span id=\"L\\1\" style=\"width:4em;\">\\1</span> "))
0022        (goto-char (point-min))
0023        (search-forward "</pre>")
0024        (insert (concat
0025                 "<p>"
0026                 "Generated At "
0027                 (format-time-string "%Y-%m-%dT%H:%M:%S%z")
0028                 "&nbsp;<a class=\"keyword\" href=\"./"
0029                 n
0030                 "\">original</a>"
0031                 "</p>"))
0032        (write-region (buffer-string)
0033                      nil
0034                      (concat "~/Public/paste/"
0035                              folder
0036                              "/"
0037                              n
0038                              ".html"))))
0039  
0040    (append-to-file (concat "https://downey.family/p/"
0041                          folder
0042                          "/"
0043                          n
0044                          ".html"
0045                          "\n")
0046                    nil
0047                    "/dev/stdout"))
0048  
0049  (kill-emacs)
0050  
0051  

Generated At 2023-10-11T15:47:10-0700 original