handle unicode hashtags better

Ted Unangst 2 years ago
parent 4a05a5b522
commit ae2a5d41ca

@ -2,11 +2,12 @@
<main>
<div class="info">
<p>ontologies of interest
{{ $firstrune := .FirstRune }}
{{ $letter := 0 }}
<ul>
{{ range .Onts }}
{{ if not (eq $letter (index .Name 0)) }}
{{ $letter = (index .Name 0) }}
{{ if not (eq $letter (call $firstrune .Name)) }}
{{ $letter = (call $firstrune .Name) }}
<li><p>
{{ end }}
<span style="white-space: nowrap;"><a href="/o/{{ .Name }}">#{{ .Name }}</a> ({{ .Count }})</span>

@ -32,6 +32,7 @@ import (
"strings"
"syscall"
"time"
"unicode/utf8"
"github.com/gorilla/mux"
"humungus.tedunangst.com/r/webs/cache"
@ -855,7 +856,7 @@ func thelistingoftheontologies(w http.ResponseWriter, r *http.Request) {
elog.Printf("error scanning ont: %s", err)
continue
}
if len(o.Name) > 24 {
if utf8.RuneCountInString(o.Name) > 24 {
continue
}
o.Name = o.Name[1:]
@ -869,6 +870,7 @@ func thelistingoftheontologies(w http.ResponseWriter, r *http.Request) {
}
templinfo := getInfo(r)
templinfo["Onts"] = onts
templinfo["FirstRune"] = func(s string) rune { r, _ := utf8.DecodeRuneInString(s); return r }
err = readviews.Execute(w, "onts.html", templinfo)
if err != nil {
elog.Print(err)

Loading…
Cancel
Save