1. 14 Sep, 2011 19 commits
  2. 13 Sep, 2011 7 commits
    • Mike Samuel's avatar
      exp/template/html: escape {{template}} calls and sets of templates · 4c6454ae
      Mike Samuel authored
      This adds support for {{template "callee"}} calls.
      It recognizes that calls can appear in many contexts.
      
      {{if .ImageURL}}
          <img src="{{.ImageURL}}" alt="{{template "description"}}">
      {{else}}
          <p>{{template "description"}}</p>
      {{end}}
      
      calls a template in two different contexts, first in an HTML attribute
      context, and second in an HTML text context.
      
      Those two contexts aren't very different, but when linking text
      to search terms, the escaping context can be materially different:
      
      <a href="/search?q={{template "tags"}}">{{template "tags"}}</a>
      
      This adds API:
      EscapeSet(*template.Set, names ...string) os.Error
      
      takes a set of templates and the names of those which might be called
      in the default context as starting points.
      
      It changes the escape* functions to be methods of an object which
      maintains a conceptual mapping of
      (template names*input context) -> output context.
      
      The actual mapping uses as key a mangled name which combines the
      template name with the input context.
      
      The mangled name when the input context is the default context is the
      same as the unmangled name.
      
      When a template is called in multiple contexts, we clone the template.
      
      {{define "tagLink"}}
        <a href="/search?q={{template "tags"}}">{{template "tags"}}</a>
      {{end}}
      {{define "tags"}}
        {{range .Tags}}{{.}},{{end}}
      {{end}}
      
      given []string{ "foo", "O'Reilly", "bar" } produces
      
        <a href="/search?q=foo,O%27Reilly,bar">foo,O&#39;Reilly,bar</a>
      
      This involves rewriting the above to something like
      
      {{define "tagLink"}}
        <a href="/search?q={{template "tags$1"}}">{{template "tags"}}</a>
      {{end}}
      {{define "tags"}}
        {{range .Tags}}{{. | html}},{{end}}
      {{end}}
      {{define "tags$1"}}
        {{range .Tags}}{{. | urlquery}},{{end}}
      {{end}}
      
      clone.go provides a mechanism for cloning template "tags" to produce
      "tags$1".
      
      changes to escape.go implement the new API and context propagation
      around the call graph.
      
      context.go includes minor changes to support name mangling and
      context_test.go tests those.
      
      js.go contains a bug-fix.
      
      R=nigeltao, r
      CC=golang-dev
      https://golang.org/cl/4969072
      4c6454ae
    • Ian Lance Taylor's avatar
      http: Alphabetize imports. · 9377b288
      Ian Lance Taylor authored
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/5002043
      9377b288
    • Ian Lance Taylor's avatar
      os: Fix comment in generated signal_unix.go file. · 096f3a29
      Ian Lance Taylor authored
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/5013042
      096f3a29
    • Marcel van Lohuizen's avatar
    • Nigel Tao's avatar
      net: add a LookupTXT function. · 40d85fb0
      Nigel Tao authored
      This CL only supports Unix, not Plan 9 or Windows.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4996048
      40d85fb0
    • Alex Brainman's avatar
      time: another attempt to fix windows build · cd269b0c
      Alex Brainman authored
      R=bradfitz
      CC=golang-dev
      https://golang.org/cl/4967067
      cd269b0c
    • Brad Fitzpatrick's avatar
      time: fix Windows build after ceeedb519c4a · 29d5d9a5
      Brad Fitzpatrick authored
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/4983060
      29d5d9a5
  3. 12 Sep, 2011 12 commits
  4. 09 Sep, 2011 2 commits