From 573294ba752823d2fb6a708acf2533a6e14752c9 Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Sun, 15 Mar 2015 01:37:15 -0400 Subject: 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. --- src/pronouns/pages.clj | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/pronouns/pages.clj') 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 -- cgit