** Messages for link at cursor
Here we setup code that shows you a context message for the element under the cursor when emacs is idle.
#+BEGIN_SRC emacs-lisp :tangle org-ref.el
+(defvar org-ref-message-timer nil
+ "Variable to store the link message timer in.")
-(when org-ref-show-citation-on-enter
- (setq org-ref-message-timer
- (run-with-idle-timer 0.5 t 'org-ref-link-message)))
(defun org-ref-show-link-messages ()
"Turn on link messages. You will see a message in the
minibuffer when on a cite, ref or label link."
(interactive)
- (setq org-ref-message-timer
- (run-with-idle-timer 0.5 t 'org-ref-link-message))
- )
+ (or org-ref-message-timer
+ (setq org-ref-message-timer
+ (run-with-idle-timer 0.5 t 'org-ref-link-message))))
+
+
(defun org-ref-cancel-link-messages ()
"Stop showing messages in minibuffer when on a link."
(interactive)
- (cancel-timer org-ref-message-timer))
+ (cancel-timer org-ref-message-timer)
+ (setq org-ref-message-timer nil))
+
+
+(when org-ref-show-citation-on-enter
+ (org-ref-show-link-messages))
;; this approach caused the selected region to not be highlighted any more.
; (add-hook 'post-command-hook 'org-ref-link-message))
(goto-char p)
(org-ref-link-message))))))
+
+(defvar org-ref-message-timer-mouse nil
+ "Store mouse timer.")
+
+
(defvar org-ref-mouse-message-interval 0.5
"How often to run the mouse message timer in seconds")
+
(defun org-ref-mouse-messages-on ()
"Turn on mouse messages."
(interactive)
- (setq org-ref-message-timer-mouse
- (run-at-time "0.5 sec" org-ref-mouse-message-interval 'org-ref-mouse-message)))
+ (or org-ref-message-timer-mouse
+ (setq org-ref-message-timer-mouse
+ (run-at-time "0.5 sec"
+ org-ref-mouse-message-interval
+ 'org-ref-mouse-message))))
(defun org-ref-mouse-messages-off ()
"Turn off mouse messages"
(interactive)
- (cancel-timer org-ref-message-timer-mouse))
+ (cancel-timer org-ref-message-timer-mouse)
+ (setq org-ref-message-timer-mouse nil)
+ (message "Mouse messages are off"))
#+END_SRC
#+RESULTS:
: org-ref-mouse-messages-off
+** Color-coded links
+Here we make the org-ref links a different color.
+
+citations are green
+refs are blue
+labels are black
+
+mailto:john
+
+cite:sokalski-2012-optim-ta,zhang-2011-spatial-tio2,li-2012-heter-ceram,li-2013-photoc
+
+cite*:sokalski-2012-optim-ta,zhang-2011-spatial-tio2,li-2012-heter-ceram,li-2013-photoc
+
+citenum:sokalski-2012-optim-ta,zhang-2011-spatial-tio2,li-2012-heter-ceram,li-2013-photoc
+
+#+BEGIN_SRC emacs-lisp
+(defcustom org-ref-colorize-links
+ nil
+ "When non-nil, change colors of links"
+ :group 'org-ref)
+
+(defcustom org-ref-cite-color
+ "forest green"
+ "Color of cite like links"
+ :group 'org-ref)
+
+(defcustom org-ref-ref-color
+ "royal blue"
+ "Color of ref like links"
+ :group 'org-ref)
+
+(defcustom org-ref-label-color
+ "black"
+ "Color of label links"
+ :group 'org-ref)
+
+(defvar org-ref-cite-re nil
+ "regexp for cite links")
+
+(setq org-ref-cite-re
+ (concat "\\(" (mapconcat 'identity org-ref-cite-types "\\|") "\\)"
+ ":\\([a-zA-Z0-9-_:]*,?\\)*"))
+
+(setq org-ref-cite-color "red" org-ref-colorize-links t)
+(defface org-ref-cite-face
+ `((t (:inherit org-link :foreground "red")))
+ "Color for cite links")
+
+(when org-ref-colorize-links
+ (highlight-regexp org-ref-cite-re 'org-ref-cite-face))
+#+END_SRC
+
+#+RESULTS:
+
+
* Links
Most of this library is the creation of functional links to help with references and citations.
** General utilities
*************** TODO document how to get the cookies
*************** END
-
-#+BEGIN_SRC python :tangle upload_bibtex_citeulike.py
+# :tangle upload_bibtex_citeulike.py
+#+BEGIN_SRC python
#!python
import pickle, requests, sys