A clean, Markdown-based publishing platform made for writers. Write together, and build a community. https://writefreely.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

95 lines
3.8 KiB

  1. {{define "base"}}<!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. {{ template "head" . }}
  5. <link rel="stylesheet" type="text/css" href="{{.Host}}/css/{{.Theme}}.css" />
  6. {{if .CustomCSS}}<link rel="stylesheet" type="text/css" href="{{.Host}}/local/custom.css" />{{end}}
  7. <link rel="shortcut icon" href="{{.Host}}/favicon.ico" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  9. <meta name="application-name" content="{{.SiteName}}">
  10. <meta name="application-url" content="{{.Host}}">
  11. <meta property="og:site_name" content="{{.SiteName}}" />
  12. </head>
  13. <body {{template "body-attrs" .}}>
  14. <div id="overlay"></div>
  15. <header>
  16. {{ if .Chorus }}<nav id="full-nav">
  17. <div class="left-side">
  18. <h2><a href="/">{{.SiteName}}</a></h2>
  19. </div>
  20. {{ else }}
  21. <h2><a href="/">{{.SiteName}}</a></h2>
  22. {{ end }}
  23. {{if not .SingleUser}}
  24. <nav id="user-nav">
  25. {{if .Username}}
  26. <nav class="dropdown-nav">
  27. <ul><li class="has-submenu"><a>{{.Username}}</a> <img class="ic-18dp" src="/img/ic_down_arrow_dark@2x.png" /><ul>
  28. {{if .IsAdmin}}<li><a href="/admin">Admin dashboard</a></li>{{end}}
  29. <li><a href="/me/settings">Account settings</a></li>
  30. <li><a href="/me/export">Export</a></li>
  31. {{if .CanInvite}}<li><a href="/me/invites">Invite people</a></li>{{end}}
  32. <li class="separator"><hr /></li>
  33. <li><a href="/me/logout">Log out</a></li>
  34. </ul></li>
  35. </ul>
  36. </nav>
  37. {{end}}
  38. <nav class="tabs">
  39. {{ if and .SimpleNav (not .SingleUser) }}
  40. {{if and (and .LocalTimeline .CanViewReader) .Chorus}}<a href="/"{{if eq .Path "/"}} class="selected"{{end}}>Home</a>{{end}}
  41. {{ end }}
  42. {{if or .Chorus (not .Username)}}<a href="/about"{{if eq .Path "/about"}} class="selected"{{end}}>About</a>{{end}}
  43. {{ if not .SingleUser }}
  44. {{ if .Username }}
  45. {{if or (not .Chorus) (gt .MaxBlogs 1)}}<a href="/me/c/"{{if eq .Path "/me/c/"}} class="selected"{{end}}>Blogs</a>{{end}}
  46. {{if and (and .Chorus (eq .MaxBlogs 1)) .Username}}<a href="/{{.Username}}/"{{if eq .Path (printf "/%s/" .Username)}} class="selected"{{end}}>My Posts</a>{{end}}
  47. {{if not .DisableDrafts}}<a href="/me/posts/"{{if eq .Path "/me/posts/"}} class="selected"{{end}}>Drafts</a>{{end}}
  48. {{ end }}
  49. {{if and (and .LocalTimeline .CanViewReader) (not .Chorus)}}<a href="/read"{{if eq .Path "/read"}} class="selected"{{end}}>Reader</a>{{end}}
  50. {{if eq .SignupPath "/signup"}}<a href="/signup"{{if eq .Path "/signup"}} class="selected"{{end}}>Sign up</a>{{end}}
  51. {{if and (not .Username) (not .Private)}}<a href="/login"{{if eq .Path "/login"}} class="selected"{{end}}>Log in</a>{{else if .SimpleNav}}<a href="/me/logout">Log out</a>{{end}}
  52. {{ end }}
  53. </nav>
  54. {{if .Chorus}}{{if .Username}}<div class="right-side" style="font-size: 0.86em;">
  55. <a class="simple-btn" href="/new">New Post</a>
  56. </div>{{end}}
  57. </nav>
  58. {{end}}
  59. </nav>
  60. {{end}}
  61. </header>
  62. <div id="official-writing">
  63. {{ template "content" . }}
  64. </div>
  65. {{ template "footer" . }}
  66. {{if not .JSDisabled}}
  67. <script type="text/javascript" src="/js/menu.js"></script>
  68. <script type="text/javascript">
  69. {{if .WebFonts}}
  70. try { // Google Fonts
  71. WebFontConfig = {
  72. custom: { families: [ 'Lora:400,700:latin', 'Open+Sans:400,700:latin' ], urls: [ '/css/fonts.css' ] }
  73. };
  74. (function() {
  75. var wf = document.createElement('script');
  76. wf.src = '/js/webfont.js';
  77. wf.type = 'text/javascript';
  78. wf.async = 'true';
  79. var s = document.getElementsByTagName('script')[0];
  80. s.parentNode.insertBefore(wf, s);
  81. })();
  82. } catch (e) { /* ¯\_(ツ)_/¯ */ }
  83. {{end}}
  84. </script>
  85. {{else}}
  86. {{if .WebFonts}}<link href="{{.Host}}/css/fonts.css" rel="stylesheet" type="text/css" />{{end}}
  87. {{end}}
  88. </body>
  89. </html>{{end}}
  90. {{define "body-attrs"}}{{end}}