if err != nil {
                                return err
                        }
-                       if err := s.WriteDestAlias(a, template.HTML(plink)); err != nil {
+                       if err := s.WriteDestAlias(a, plink); err != nil {
                                return err
                        }
                }
 func (s *Site) setURLs(n *Node, in string) {
        n.URL = helpers.URLizeAndPrep(in)
        n.Permalink = s.permalink(n.URL)
-       n.RSSLink = s.permalink(in + ".xml")
+       n.RSSLink = template.HTML(s.permalink(in + ".xml"))
 }
 
-func (s *Site) permalink(plink string) template.HTML {
-       return template.HTML(s.permalinkStr(plink))
+func (s *Site) permalink(plink string) string {
+       return s.permalinkStr(plink)
 }
 
 func (s *Site) permalinkStr(plink string) string {
        return s.PageTarget().Publish(path, reader)
 }
 
-func (s *Site) WriteDestAlias(path string, permalink template.HTML) (err error) {
+func (s *Site) WriteDestAlias(path string, permalink string) (err error) {
        jww.DEBUG.Println("creating alias:", path)
        return s.AliasTarget().Publish(path, permalink)
 }
 
 
 type AliasPublisher interface {
        Translator
-       Publish(string, template.HTML) error
+       Publish(string, string) error
 }
 
 type HTMLRedirectAlias struct {
 }
 
 type AliasNode struct {
-       Permalink template.HTML
+       Permalink string
 }
 
-func (h *HTMLRedirectAlias) Publish(path string, permalink template.HTML) (err error) {
+func (h *HTMLRedirectAlias) Publish(path string, permalink string) (err error) {
        if path, err = h.Translate(path); err != nil {
                jww.ERROR.Printf("%s, skipping.", err)
                return nil