code: func (s *state) renderBlock(node ast.Node) []byte {
  	var buf bytes.Buffer
  	origWriter := s.wr
  	s.wr = &buf
  	s.walk(node)
  	s.wr = origWriter
  	return buf.Bytes()
  }
docs: // renderBlock is a helper that renders the given node to a temporary output
  // buffer and returns that result.  nothing is written to the main output.