summary refs log tree commit diff
path: root/emacs.d/custom/fcuny-defuns.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/custom/fcuny-defuns.el')
-rw-r--r--emacs.d/custom/fcuny-defuns.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/emacs.d/custom/fcuny-defuns.el b/emacs.d/custom/fcuny-defuns.el
index 47d0a00..40bd4ce 100644
--- a/emacs.d/custom/fcuny-defuns.el
+++ b/emacs.d/custom/fcuny-defuns.el
@@ -49,4 +49,29 @@
           (message "Built check.pex successfully")
         (message (buffer-file-name output))))))
 
+;; from https://karl-voit.at/2014/08/10/bookmarks-with-orgmode/
+(defun fcuny/string-replace (this withthat in)
+  "replace THIS with WITHTHAT' in the string IN"
+  (with-temp-buffer
+    (insert in)
+    (goto-char (point-min))
+    (replace-string this withthat)
+    (buffer-substring (point-min) (point-max))))
+
+(defun fcuny/get-page-title (url)
+  "Make URL into an org-mode link."
+  (let ((title))
+    (with-current-buffer (url-retrieve-synchronously url)
+      (goto-char (point-min))
+      (re-search-forward "<title>\\([^<]*\\)</title>" nil t 1)
+      (setq title (match-string 1))
+      (goto-char (point-min))
+      (re-search-forward "charset=\\([-0-9a-zA-Z]*\\)" nil t 1)
+      (fcuny/string-replace "&nbsp;" " "
+                        ;;(decode-coding-string title (intern (match-string 1)))
+                        ;; following line fixes charset issues from
+                        ;; previous line:
+                            (decode-coding-string title 'utf-8))
+      (concat "[[" url "][" title "]]"))))
+
 (provide 'fcuny-defuns)