[dw-free] Some classes for the tags on the Tag Page
[commit: http://hg.dwscoalition.org/dw-free/rev/19a2914f670b]
http://bugs.dwscoalition.org/show_bug.cgi?id=985
Add tag visibility indicators as style classes in core2.
Patch by
foxfirefey.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=985
Add tag visibility indicators as style classes in core2.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- bin/upgrading/s2layers/core2.s2
-------------------------------------------------------------------------------- diff -r 229b842c341e -r 19a2914f670b bin/upgrading/s2layers/core2.s2 --- a/bin/upgrading/s2layers/core2.s2 Sat Aug 15 23:06:29 2009 -0500 +++ b/bin/upgrading/s2layers/core2.s2 Sat Aug 15 23:32:05 2009 -0500 @@ -3101,21 +3101,23 @@ function print_tag_manage_link() "Prints } function print_list_tags(TagDetail[] tagslist, string{} opts) "Prints out a list of tags. Takes as arguments the taglist and a hash with optional arguments 'list-class' and 'item-class'. 'print_uses' option can be 'number', 'text' or 'title' to determine whether to display the uses as a number, as full text, or in the link title. It defaults to full text" -{ +{ var string list_class = $opts{"list-class"} ? """class="$opts{"list-class"}" """ : ""; - var string item_class = $opts{"item-class"} ? """class="$opts{"item-class"}" """ : ""; + var string item_class = $opts{"item-class"} ? $opts{"item-class"} : ""; var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} : "text"; if (size $tagslist) { println """<ul $list_class>"""; + foreach var TagDetail t ($tagslist) { + var string tag_class = """class="visibility-$t.visibility $item_class" """; if ($print_uses == "title") { var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); - println """<li $item_class><a href="$t.url" title="$uses">$t.name</a></li>\n"""; + println """<li $tag_class><a href="$t.url" title="$uses">$t.name</a></li>\n"""; } elseif ($print_uses == "number") { - println """<li $item_class><a href="$t.url">$t.name</a> [$t.use_count]</li>\n"""; + println """<li $tag_class><a href="$t.url">$t.name</a> [$t.use_count]</li>\n"""; } else { var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); - println """<li $item_class><a href="$t.url">$t.name</a> - $uses</li>\n"""; + println """<li $tag_class><a href="$t.url">$t.name</a> - $uses</li>\n"""; } } println """</ul>"""; @@ -3125,7 +3127,7 @@ function print_cloud_tags(TagDetail[] ta function print_cloud_tags(TagDetail[] tagslist, string{} opts) "Prints out a list of tags in a cloud. Takes as arguments the taglist and a hash with optional arguments 'min_size' (minimum size in ems, times 10), 'maz_size' (maximum size in ems, times 10), 'list-class' and 'item-class'. 'print_uses' option can be 'number', 'text' or 'title' to determine whether to display the uses as a number, as full text, or in the link title. It defaults to the link title" { var string list_class = $opts{"list-class"} ? """class="$opts{"list-class"}" """ : ""; - var string item_class = $opts{"item-class"} ? """class="$opts{"item-class"}" """ : ""; + var string item_class = $opts{"item-class"} ? $opts{"item-class"}: ""; var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} : "title"; var int min_size = $opts{"min_size"} ? int($opts{"maz_size"}) : 9; @@ -3134,31 +3136,30 @@ function print_cloud_tags(TagDetail[] ta println """<div $list_class>"""; foreach var TagDetail t ($tagslist) - { - if ($t.use_count > $high_count) { $high_count = $t.use_count; } - } - - foreach var TagDetail t ($tagslist) + { + if ($t.use_count > $high_count) { $high_count = $t.use_count; } + } + + foreach var TagDetail t ($tagslist) + { + var string tag_size = string($min_size); + var string tag_class = """class="visibility-$t.visibility $item_class" """; + if ($t.use_count > 1) { - var string tag_size = string($min_size); - if ($t.use_count > 1) - { - $tag_size = string((($maz_size-$min_size)*$t.use_count)/$high_count + $min_size); - } - var string tag_size_em = $tag_size->substr(0,($tag_size->length())-1) + "." + $tag_size->substr(($tag_size->length())-1,1) + "em"; - if ($print_uses == "number") { - println """<span $item_class style="font-size: $tag_size_em;"><a href="$t.url">$t.name</a> [$t.use_count]</span>\n"""; - } elseif ($print_uses == "text") { - var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); - println """<span $item_class style="font-size: $tag_size_em;"><a href="$t.url">$t.name</a> - $uses</span>\n"""; - } else { - var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); - println """<span $item_class style="font-size: $tag_size_em;"><a href="$t.url" title="$uses">$t.name</a></span>\n"""; - } - - } + $tag_size = string((($maz_size-$min_size)*$t.use_count)/$high_count + $min_size); + } + var string tag_size_em = $tag_size->substr(0,($tag_size->length())-1) + "." + $tag_size->substr(($tag_size->length())-1,1) + "em"; + if ($print_uses == "number") { + println """<span $tag_class style="font-size: $tag_size_em;"><a href="$t.url">$t.name</a> [$t.use_count]</span>\n"""; + } elseif ($print_uses == "text") { + var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); + println """<span $tag_class style="font-size: $tag_size_em;"><a href="$t.url">$t.name</a> - $uses</span>\n"""; + } else { + var string uses = get_plural_phrase($t.use_count, "text_tag_uses"); + println """<span $tag_class style="font-size: $tag_size_em;"><a href="$t.url" title="$uses">$t.name</a></span>\n"""; + } + } println """</div>"""; - } function print_multilevel_tags(TagDetail[] tagslist, string{} opts) "Prints out a list of multilevel tags. Takes as arguments the taglist and a hash with optional arguments 'list-class' and 'item-class'. 'print_uses' option can be 'number', 'text' or 'title' to determine whether to display the uses as a number, as full text, or in the link title. It defaults to uses as a number" @@ -3166,7 +3167,7 @@ function print_multilevel_tags(TagDetail if (size($tagslist) < 1) { return; } var string list_class = $opts{"list-class"} ? """class="$opts{"list-class"}" """ : ""; - var string item_class = $opts{"item-class"} ? """class="$opts{"item-class"}" """ : ""; + var string item_class = $opts{"item-class"} ? $opts{"item-class"} : ""; var string print_uses = $opts{"print_uses"} ? $opts{"print_uses"} : "number"; var string[] closing_html; @@ -3178,6 +3179,7 @@ function print_multilevel_tags(TagDetail foreach var TagDetail t ($tagslist) { var string[] tags = $t.name->split($*text_tagsmultilevel_delimiter); + var string tag_class = """class="visibility-$t.visibility $item_class" """; var int pos = 0; var bool show_lower_tiers = false; @@ -3211,7 +3213,7 @@ function print_multilevel_tags(TagDetail # $prev_tags has fewer tiers than current tag. if ($prev_tags[$pos] == "") { - print """\n<ul $list_class><li $item_class>$tier_code"""; + print """\n<ul $list_class><li $tag_class>$tier_code"""; $closing_html[$pos] = "</li></ul>"; } elseif (($tags[$pos] != $prev_tags[$pos]) or ($show_lower_tiers)) { @@ -3235,12 +3237,12 @@ function print_multilevel_tags(TagDetail if ($closing_html[$pos] == "") { # This is the first tier at this level, so open list. - print """\n<ul $list_class><li $item_class>$tier_code"""; + print """\n<ul $list_class><li $tag_class>$tier_code"""; $closing_html[$pos] = "</li></ul>"; } else { # There have already been tiers added at this level - print """</li>\n<li $item_class>$tier_code"""; + print """</li>\n<li $tag_class>$tier_code"""; } } else { --------------------------------------------------------------------------------