(defun dwexport () (let ((org-export-with-author 'nil) (org-export-with-creator 'nil) (org-export-with-date 'nil) (org-export-with-section-numbers 'nil) (org-export-time-stamp-file 'nil) (org-export-with-toc 'nil) (org-html-validation-link 'nil)) (org-html-export-to-html)) (defvar oldname (concat (file-name-base) ".org")) (defvar newname (concat (file-name-base) ".html")) (find-file-noselect newname) (with-current-buffer newname (goto-line 1) (delete-region (line-beginning-position) (line-end-position)) (goto-line 2) (delete-region (line-beginning-position) (line-end-position)) (goto-line 3) (delete-region (line-beginning-position) (line-end-position)) (write-file newname))) (defun dwdraft () (interactive) (dwexport) (with-current-buffer newname (kill-ring-save (point-min) (point-max))) (kill-buffer newname) (with-current-buffer oldname (delete-file newname))) (defun dwpost (psubject tags icon location) (interactive (list (read-string "Post title (REQUIRED): ") (read-string "Tags (comma-separated): ") (read-string "Icon: ") (read-string "Location: " "🏠"))) (setq security (completing-read-multiple "Security (public, access, private): " '("public" "access" "private"))) (if (not security) (setq security "xpublicx")) (setq mood (completing-read-multiple "Mood: " '("accomplished" "aggravated" "amused" "angry" "annoyed" "anxious" "apathetic" "artistic" "awake" "bitchy" "blah" "blank" "bored" "bouncy" "busy" "calm" "cheerful" "chipper" "cold" "complacent" "confused" "contemplative" "content" "cranky" "crappy" "crazy" "creative" "crushed" "curious" "cynical" "depressed" "determined" "devious" "dirty" "disappointed" "discontent" "distressed" "ditzy" "dorky" "drained" "drunk" "ecstatic" "embarrassed" "energetic" "enraged" "enthralled" "envious" "exanimate" "excited" "exhausted" "flirty" "frustrated" "full" "geeky" "giddy" "giggly" "gloomy" "good" "grateful" "groggy" "grumpy" "guilty" "happy" "high" "hopeful" "horny" "hot" "hungry" "hyper" "impressed" "indescribable" "indifferent" "infuriated" "intimidated" "irate" "irritated" "jealous" "jubilant" "lazy" "lethargic" "listless" "lonely" "loved" "melancholy" "mellow" "mischievous" "moody" "morose" "naughty" "nauseated" "nerdy" "nervous" "nostalgic" "numb" "okay" "optimistic" "peaceful" "pensive" "pessimistic" "pissed off" "pleased" "predatory" "productive" "quixotic" "recumbent" "refreshed" "rejected" "rejuvenated" "relaxed" "relieved" "restless" "rushed" "sad" "satisfied" "scared" "shocked" "sick" "silly" "sleepy" "sore" "stressed" "surprised" "sympathetic" "thankful" "thirsty" "thoughtful" "tired" "touched" "uncomfortable" "weird" "working" "worried"))) (if (not mood) (setq mood "xnonex")) (dwexport) (kill-buffer newname) (compose-mail "tobli+0397@post.dreamwidth.org" psubject) (with-current-buffer "*unsent mail to tobli*" (insert (concat "post-tags: org-export, "tags "\n\n")) (insert (concat "post-security: " (let* ((stringjunk (format "%S" security)) (end (- (length stringjunk) 2))) (substring stringjunk 2 end))"\n\n")) (insert (concat "post-icon: "icon "\n\n")) (insert (concat "post-mood: " (let* ((moodjunk (format "%S" mood)) (end (- (length moodjunk) 2))) (substring moodjunk 2 end))"\n\n")) (insert (concat "post-location: "location "\n\n")) (setq music (lastfm-user-get-recent-tracks :user "litrovers" :from 1 :to 1)) (setq music (replace-regexp-in-string (regexp-quote "\" \"") " – " (format "%S" music) nil 'literal)) (insert (concat "post-music: " (let* ((musicjunk (format "%S" music)) (end (- (length musicjunk) 4))) (substring musicjunk 4 end))"\n\n")) (insert-file-contents newname) (message-send-and-exit)) (kill-buffer "*sent mail to tobli*") (with-current-buffer oldname (delete-file newname)))