github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/themes/default/views/partials/layout.jade (about) 1 include ./common.jade 2 doctype html 3 html(lang="en") 4 - var title = meta.GetTitle() 5 - var appName = config.Setting("app_name") 6 - var appLogo = config.Setting("app_logo") 7 head 8 meta(charset='utf-8') 9 meta(name='viewport' content='width=device-width, initial-scale=1.0, viewport-fit=cover') 10 title=title 11 12 meta(name='keywords' content='software development, devloper community') 13 link(rel='canonical' href=meta.Canonical) 14 15 meta(property='og:type' content=meta.Type) 16 meta(property='og:url' content=meta.Canonical) 17 meta(property='og:title' content=title) 18 meta(property='og:site_name' content=appName) 19 20 meta(name='twitter:site' content=config.Setting("twitter_site")) 21 meta(name='twitter:title' content=title) 22 meta(name='twitter:card' content='summary_large_image') 23 24 meta(name='apple-mobile-web-app-title' content=appName) 25 meta(name='application-name' content=appName) 26 link(rel='alternate' type='application/rss+xml' title=appName + ' Feed' href=utils.Url("/feed")) 27 28 if appLogo != "" 29 link(rel='icon' type='image/png' href=appLogo) 30 link(rel='apple-touch-icon' href=appLogo) 31 32 if meta.Description != "" 33 meta(name='description' content=meta.Description) 34 meta(property='og:description' content=meta.Description) 35 meta(name='twitter:description' content=meta.Description) 36 37 if meta.Image != "" 38 meta(property='og:image' content=meta.Image) 39 meta(name='twitter:image:src' content=meta.Image) 40 41 !=asset.CssFile('css/light.min.css') 42 block header 43 !=asset.CssFile('css/style.css') 44 !=config.Setting("inject_header") 45 46 body 47 header 48 nav.main.container 49 a.logo(href=utils.Url("") title='Home') 50 - var logoUrl = config.Setting("app_logo") 51 if logoUrl != "" 52 img(src=logoUrl alt=config.Setting("app_name")) 53 else 54 svg(viewBox='0 0 24 24') 55 path(fill='#164e63' d='M11,6.5V9.33L8.33,12L11,14.67V17.5L5.5,12M13,6.43L18.57,12L13,17.57V14.74L15.74,12L13,9.26M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z') 56 57 form.search-form(method='get' action='/search' accept-charset='UTF-8') 58 input.search-input(type='text' name='q' placeholder='Search...' autocomplete='off' value=meta.Query) 59 button.search-btn(type='submit' aria-label='Search') 60 svg(viewBox='0 0 24 24') 61 path(fill='currentColor' d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z') 62 63 ul 64 li.search-mobile 65 a(href=utils.Url("/search")) 66 svg(viewBox='0 0 24 24') 67 path(fill='currentColor' d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z') 68 if meta.User == nil || meta.User.ID == 0 69 li 70 a(href=utils.Url("/login")) Login 71 li 72 a(href=utils.Url("/register")) Register 73 else 74 li 75 a(href=utils.Url("/posts/new")) New 76 li 77 .user-menu 78 a(href=meta.User.Url() title=meta.User.Username) 79 if meta.User.AvatarImageUrl != "" 80 img.avatar(src=meta.User.AvatarImageUrl alt=meta.User.Username) 81 else 82 span.avatar.none 83 84 svg(viewBox='0 0 24 24') 85 path(fill='currentColor' d='M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z') 86 87 ul.sub 88 if meta.User != nil && meta.User.IsRoot() 89 li 90 a(href=utils.Url("/manage")) Manage 91 li 92 a(href=meta.User.Url()) Profile 93 li 94 a(href=utils.Url("/posts")) Posts 95 li 96 a(href=utils.Url("/settings")) Setting 97 li 98 a(href=utils.Url("/logout")) Logout 99 100 label.menu-trigger 101 svg(viewBox='0 0 24 24') 102 path(fill='currentColor' d='M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z') 103 .wrapper 104 block content 105 .mobile-menu 106 .menu-head 107 =config.Setting("app_name") 108 label.menu-trigger.menu-close 109 svg(viewBox='0 0 24 24') 110 path(fill='currentColor' d='M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z') 111 if meta.User == nil || meta.User.ID == 0 112 a(href=utils.Url("/login")) Login 113 a(href=utils.Url("/register")) Register 114 else 115 +userMenu() 116 if meta.User.IsRoot() 117 +manageMenu() 118 strong Topics 119 .menu-topics 120 each topic in cache.Topics 121 a(href=topic.Url() title=topic.Name)="#" + topic.Name 122 .overlay.menu-trigger 123 footer 124 .container 125 div 126 !=config.Setting("footer_content") 127 p 128 | Proudly powered by 129 a(href='https://tetua.net' title='Tetua - CMS Platform for Blogging') Tetua 130 !=config.Setting("inject_footer") 131 !=asset.JsFile('js/layout.js') 132 block footer