about summary refs log tree commit diff
path: root/src/pronouns/pages.clj
diff options
context:
space:
mode:
authorErik Osheim <d_m@plastic-idolatry.com>2015-03-15 01:37:15 -0400
committerErik Osheim <d_m@plastic-idolatry.com>2015-03-15 01:37:15 -0400
commit573294ba752823d2fb6a708acf2533a6e14752c9 (patch)
tree0877789d068a84acd6845a8bb34d4c263310859e /src/pronouns/pages.clj
parent08cadfb6d3bf39d43a05db6e14d6b43bcad9ee60 (diff)
Add code to disambiguate pronouns dynamically.
This commit improves the display code so that the
smallest unambiguous abbreviation is calculated
based on the contents of pronouns.tab.
Diffstat (limited to 'src/pronouns/pages.clj')
-rw-r--r--src/pronouns/pages.clj12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/pronouns/pages.clj b/src/pronouns/pages.clj
index d7ef9fc..eb0253c 100644
--- a/src/pronouns/pages.clj
+++ b/src/pronouns/pages.clj
@@ -90,16 +90,14 @@
       (take 5 inputs)
       (u/table-lookup inputs pronouns-table))))
 
-;; we could choose to display the entire row for the label.
-;; currently the first two entries are enough to disambiguate the
-;; pronouns -- will that always be true?
-(defn make-link [row]
-  (let [link (str "/" (s/join "/" row))
-        label (str (first row) "/" (first (rest row)))]
+(defn make-link [pair]
+  (let [link (str "/" (s/join "/" (second pair)))
+        label (str (s/join "/" (first pair)))]
     [:li [:a {:href link} label]]))
 
 (defn front [pronouns-table]
-  (let [links (map make-link (sort pronouns-table))
+  (let [abbreviations (u/abbreviate (sort pronouns-table))
+        links (map make-link abbreviations)
         title "Pronoun Island"]
     (html
      [:html