Hello, John Kitchin <jkitc...@andrew.cmu.edu> writes:
> I have completed a draft of links-9.0 > (https://github.com/jkitchin/org-mode/tree/link-9.0). This centralizes > almost all link properties into a variable `org-link-parameters' and > makes it possible to customize almost everything in the link. Thank you. > which also fail for me on master. There are about 27 commits from this > branch to master I think. I didn't make patches for all of them yet, > since that seemed like a bunch of them. This branch doesn't fix anything > in contrib yet (except the manual). I'm surprised there are so many of them. Anyway, it would be nice to display them here, for review. > I am pretty sure all the previous link behavior has been preserved, and > a lot of new things are possible with this. Below are some example uses. > Let me know what you think! > > * Example links > ** A basic link > Predefined links work the same as before. > > A doi:10.1021 link and [[doi:10.1021][bracketed version]]. > > This should look and act like it did before. > #+BEGIN_SRC emacs-lisp > (org-add-link-type > "test" nil nil) > #+END_SRC > > #+RESULTS: > : Created test link. > > A test:link and [[test:link][bracketed form]] > > ** A colored link with a static tooltip. > #+BEGIN_SRC emacs-lisp > (org-add-link-type > "red" > ;; follow > (lambda (path) (message "You clicked me.")) > ;; export > (lambda (path desc backend) > (cond > ((eq 'html backend) > (format "<font color=\"red\">%s</font>" > (or desc path))))) > :face '(:foreground "red") > :help-echo "Click me for a message.") > #+END_SRC Please do not extend `org-add-link-type': you are conflating two ways to set the same thing. It is better to create a new function, e.g., `org-link-add' with the following signature (defun org-link-add (type &rest properties) ...) used like (org-link-add "red" :follow (lambda (path desc backend) ...) :export ....) and keep `org-add-link-type' as a _deprecated_ function basically calling the previous one: (defun org-add-link-type (type &optional follow export) (org-link-add type :follow follow :export export)) Otherwise, it looks good. Regards, -- Nicolas Goaziou