anchor.diff:  ;; -*- coding:utf-8 -*-
   (in-package :net.ignorama.web)
   
  -(defun site-name-to-fontawesome-class (site-name)
  +(defun site-symbol-to-fontawesome-class (site-symbol)
     (concatenate 'string
                  "fa fa-"
  -               (string-downcase (symbol-name site-name))))
  -
  -(defmacro sociallink (site url)
  +               (string-downcase (symbol-name site-symbol))))
  +
  +(defun site-symbol-to-name (site-symbol custom)
  +  (if custom
  +      custom
  +      (string-capitalize (symbol-name site-symbol))))
  +
  +(defmacro sociallink (site url &optional custom-name)
     `(with-html (:a :class "header rightlink"
                     :target "_blank"
                     :href ,url
  -                  (:span :class ,(site-name-to-fontawesome-class site)))))
  +                  :title ,(site-symbol-to-name site custom-name)
  +                  (:span :class ,(site-symbol-to-fontawesome-class site)))))
   
   (defmacro rightlink (label)
     `(with-html (:a :class "header rightlink"
  
positive.code: (defun generate-sociallinks (sites)
    (let ((result '(progn)))
      (dolist (site sites)
        (setf result (append result (list `(sociallink ,(first site) ,(second site))))))
      result))
  
  (defun generate-dropdown-links (links)
  
negative.code:       (destructuring-bind (type url &optional name) site
          (setf result (append result (list `(progn (:a :class "dropdown-item"
                                                        :href ,url
                                                        ,(site-symbol-to-name type
                                                                              name))
                                                    (:br)))))))
      result))
  
  