Skip to content

Commit 64e9dfd

Browse files
authored
Merge pull request #1035 from ccoenen/feature/global-site-layout-vars
removing global site layout vars from individual routers
2 parents 637f955 + 44ffc56 commit 64e9dfd

File tree

12 files changed

+103
-128
lines changed

12 files changed

+103
-128
lines changed

app.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,29 @@ app.set('views', config.viewPath)
175175
app.engine('ejs', ejs.renderFile)
176176
// set view engine
177177
app.set('view engine', 'ejs')
178+
// set generally available variables for all views
179+
app.locals.useCDN = config.useCDN
180+
app.locals.serverURL = config.serverURL
181+
app.locals.allowAnonymous = config.allowAnonymous
182+
app.locals.allowAnonymousEdits = config.allowAnonymousEdits
183+
app.locals.allowPDFExport = config.allowPDFExport
184+
app.locals.authProviders = {
185+
facebook: config.isFacebookEnable,
186+
twitter: config.isTwitterEnable,
187+
github: config.isGitHubEnable,
188+
gitlab: config.isGitLabEnable,
189+
mattermost: config.isMattermostEnable,
190+
dropbox: config.isDropboxEnable,
191+
google: config.isGoogleEnable,
192+
ldap: config.isLDAPEnable,
193+
ldapProviderName: config.ldap.providerName,
194+
saml: config.isSAMLEnable,
195+
oauth2: config.isOAuth2Enable,
196+
oauth2ProviderName: config.oauth2.providerName,
197+
openID: config.isOpenIDEnable,
198+
email: config.isEmailEnable,
199+
allowEmailRegister: config.allowEmailRegister
200+
}
178201

179202
app.use(require('./lib/web/baseRouter'))
180203
app.use(require('./lib/web/statusRouter'))

lib/response.js

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,10 @@ var response = {
5555

5656
function responseError (res, code, detail, msg) {
5757
res.status(code).render('error.ejs', {
58-
url: config.serverURL,
5958
title: code + ' ' + detail + ' ' + msg,
6059
code: code,
6160
detail: detail,
62-
msg: msg,
63-
useCDN: config.useCDN
61+
msg: msg
6462
})
6563
}
6664

@@ -69,26 +67,6 @@ function showIndex (req, res, next) {
6967
var deleteToken = ''
7068

7169
var data = {
72-
url: config.serverURL,
73-
useCDN: config.useCDN,
74-
allowAnonymous: config.allowAnonymous,
75-
allowAnonymousEdits: config.allowAnonymousEdits,
76-
facebook: config.isFacebookEnable,
77-
twitter: config.isTwitterEnable,
78-
github: config.isGitHubEnable,
79-
gitlab: config.isGitLabEnable,
80-
mattermost: config.isMattermostEnable,
81-
dropbox: config.isDropboxEnable,
82-
google: config.isGoogleEnable,
83-
ldap: config.isLDAPEnable,
84-
ldapProviderName: config.ldap.providerName,
85-
saml: config.isSAMLEnable,
86-
oauth2: config.isOAuth2Enable,
87-
oauth2ProviderName: config.oauth2.providerName,
88-
email: config.isEmailEnable,
89-
allowEmailRegister: config.allowEmailRegister,
90-
allowPDFExport: config.allowPDFExport,
91-
openID: config.isOpenIDEnable,
9270
signin: authStatus,
9371
infoMessage: req.flash('info'),
9472
errorMessage: req.flash('error'),
@@ -124,27 +102,7 @@ function responseCodiMD (res, note) {
124102
'X-Robots-Tag': 'noindex, nofollow' // prevent crawling
125103
})
126104
res.render('codimd.ejs', {
127-
url: config.serverURL,
128-
title: title,
129-
useCDN: config.useCDN,
130-
allowAnonymous: config.allowAnonymous,
131-
allowAnonymousEdits: config.allowAnonymousEdits,
132-
facebook: config.isFacebookEnable,
133-
twitter: config.isTwitterEnable,
134-
github: config.isGitHubEnable,
135-
gitlab: config.isGitLabEnable,
136-
mattermost: config.isMattermostEnable,
137-
dropbox: config.isDropboxEnable,
138-
google: config.isGoogleEnable,
139-
ldap: config.isLDAPEnable,
140-
ldapProviderName: config.ldap.providerName,
141-
oauth2ProviderName: config.oauth2.providerName,
142-
saml: config.isSAMLEnable,
143-
oauth2: config.isOAuth2Enable,
144-
email: config.isEmailEnable,
145-
allowEmailRegister: config.allowEmailRegister,
146-
allowPDFExport: config.allowPDFExport,
147-
openID: config.isOpenIDEnable
105+
title: title
148106
})
149107
}
150108

@@ -254,16 +212,13 @@ function showPublishNote (req, res, next) {
254212
var updatetime = note.lastchangeAt
255213
var title = models.Note.decodeTitle(note.title)
256214
title = models.Note.generateWebTitle(meta.title || title)
257-
var origin = config.serverURL
258215
var data = {
259216
title: title,
260217
description: meta.description || (markdown ? models.Note.generateDescription(markdown) : null),
261218
viewcount: note.viewcount,
262219
createtime: createtime,
263220
updatetime: updatetime,
264-
url: origin,
265221
body: body,
266-
useCDN: config.useCDN,
267222
owner: note.owner ? note.owner.id : null,
268223
ownerprofile: note.owner ? models.User.getProfile(note.owner) : null,
269224
lastchangeuser: note.lastchangeuser ? note.lastchangeuser.id : null,
@@ -634,18 +589,15 @@ function showPublishSlide (req, res, next) {
634589
var updatetime = note.lastchangeAt
635590
var title = models.Note.decodeTitle(note.title)
636591
title = models.Note.generateWebTitle(meta.title || title)
637-
var origin = config.serverURL
638592
var data = {
639593
title: title,
640594
description: meta.description || (markdown ? models.Note.generateDescription(markdown) : null),
641595
viewcount: note.viewcount,
642596
createtime: createtime,
643597
updatetime: updatetime,
644-
url: origin,
645598
body: markdown,
646599
theme: meta.slideOptions && utils.isRevealTheme(meta.slideOptions.theme),
647600
meta: JSON.stringify(extracted.meta),
648-
useCDN: config.useCDN,
649601
owner: note.owner ? note.owner.id : null,
650602
ownerprofile: note.owner ? models.User.getProfile(note.owner) : null,
651603
lastchangeuser: note.lastchangeuser ? note.lastchangeuser.id : null,

public/views/codimd/foot.ejs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script src="<%= url %>/js/mathjax-config-extra.js"></script>
1+
<script src="<%= serverURL %>/js/mathjax-config-extra.js"></script>
22
<% if(useCDN) { %>
33
<script src="https://cdnjs.cloudflare.com/ajax/libs/spin.js/2.3.2/spin.min.js" integrity="sha256-PieqE0QdEDMppwXrTzSZQr6tWFX3W5KkyRVyF1zN3eg=" crossorigin="anonymous" defer></script>
44
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
@@ -21,7 +21,7 @@
2121
<script src="https://cdnjs.cloudflare.com/ajax/libs/abcjs/3.1.1/abcjs_basic-min.js" integrity="sha256-Sq1r2XXWXQoShQKsS0Wrf5r7fRkErd9Fat9vHYeU68s=" crossorigin="anonymous"></script>
2222
<%- include ../build/index-scripts %>
2323
<% } else { %>
24-
<script src="<%- url %>/build/MathJax/MathJax.js" defer></script>
25-
<script src="<%- url %>/build/MathJax/config/TeX-AMS-MML_HTMLorMML.js" defer></script>
24+
<script src="<%- serverURL %>/build/MathJax/MathJax.js" defer></script>
25+
<script src="<%- serverURL %>/build/MathJax/config/TeX-AMS-MML_HTMLorMML.js" defer></script>
2626
<%- include ../build/index-pack-scripts %>
2727
<% } %>

public/views/codimd/head.ejs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<meta name="apple-mobile-web-app-status-bar-style" content="black">
66
<meta name="mobile-web-app-capable" content="yes">
77
<title><%= title %></title>
8-
<link rel="icon" type="image/png" href="<%- url %>/favicon.png">
9-
<link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
8+
<link rel="icon" type="image/png" href="<%- serverURL %>/favicon.png">
9+
<link rel="apple-touch-icon" href="<%- serverURL %>/apple-touch-icon.png">
1010
<% if(useCDN) { %>
1111
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" />
1212
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.1.3/css/fork-awesome.min.css" integrity="sha256-ZhApazu+kejqTYhMF+1DzNKjIzP7KXu6AzyXcC1gMus=" crossorigin="anonymous" />
@@ -16,6 +16,6 @@
1616
<%- include ../build/index-header %>
1717
<%- include ../shared/polyfill %>
1818
<% } else { %>
19-
<link rel="stylesheet" href='<%- url %>/build/emojify.js/dist/css/basic/emojify.min.css'>
19+
<link rel="stylesheet" href='<%- serverURL %>/build/emojify.js/dist/css/basic/emojify.min.css'>
2020
<%- include ../build/index-pack-header %>
2121
<% } %>

public/views/codimd/header.ejs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<ul class="dropdown-menu list" role="menu" aria-labelledby="menu">
1414
</ul>
1515
</div>
16-
<a class="navbar-brand pull-left" href="<%- url %>/"><i class="fa fa-file-text"></i> CodiMD</a>
16+
<a class="navbar-brand pull-left" href="<%- serverURL %>/"><i class="fa fa-file-text"></i> CodiMD</a>
1717
<div class="nav-mobile pull-right visible-xs">
1818
<span class="btn btn-link btn-file ui-upload-image" title="Upload Image" style="display:none;">
1919
<i class="fa fa-camera"></i><input type="file" accept="image/*" name="upload" multiple>
@@ -22,7 +22,7 @@
2222
<i class="fa fa-caret-down"></i>
2323
</a>
2424
<ul class="dropdown-menu list" role="menu" aria-labelledby="menu">
25-
<li role="presentation"><a role="menuitem" class="ui-new" tabindex="-1" href="<%- url %>/new" target="_blank" rel="noopener"><i class="fa fa-plus fa-fw"></i> <%= __('New') %></a>
25+
<li role="presentation"><a role="menuitem" class="ui-new" tabindex="-1" href="<%- serverURL %>/new" target="_blank" rel="noopener"><i class="fa fa-plus fa-fw"></i> <%= __('New') %></a>
2626
</li>
2727
<li role="presentation"><a role="menuitem" class="ui-publish" tabindex="-1" href="#" target="_blank" rel="noopener"><i class="fa fa-share-square-o fa-fw"></i> <%= __('Publish') %></a>
2828
</li>
@@ -115,7 +115,7 @@
115115
</ul>
116116
<ul class="nav navbar-nav navbar-right" style="padding:0;">
117117
<li>
118-
<a href="<%- url %>/new" target="_blank" rel="noopener" class="ui-new">
118+
<a href="<%- serverURL %>/new" target="_blank" rel="noopener" class="ui-new">
119119
<i class="fa fa-plus"></i> <%= __('New') %>
120120
</a>
121121
</li>

public/views/error.ejs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44
<head>
55
<%- include codimd/head %>
6-
<link rel="stylesheet" href="<%- url %>/css/center.css">
6+
<link rel="stylesheet" href="<%- serverURL %>/css/center.css">
77
</head>
88

99
<body>
1010
<%- include codimd/header %>
1111
<div class="container-fluid text-center">
1212
<div class="vertical-center-row">
13-
<h1><%- code %> <%- detail %> <small><%- msg %></small></h1>
13+
<h1><%- code %> <%- detail %> <small><%- msg %></small></h1>
1414
</div>
1515
</div>
1616
<%- include codimd/footer %>

public/views/index/body.ejs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,24 @@
1212
<li class="ui-history<% if(signin) { %> active<% } %>"><a href="#"><%= __('History') %></a>
1313
</li>
1414
<div class="ui-signin" style="float: right; margin-top: 8px;<% if(signin) { %> display: none;<% } %>">
15-
<% if(allowAnonymous) { %>
16-
<a type="button" href="<%- url %>/new" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> <%= __('New guest note') %></a>
15+
<% if (allowAnonymous) { %>
16+
<a type="button" href="<%- serverURL %>/new" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> <%= __('New guest note') %></a>
1717
<% } %>
18-
<% if(facebook || twitter || github || gitlab || mattermost || dropbox || google || ldap || saml || oauth2 || email) { %>
18+
<% if (authProviders.facebook || authProviders.twitter || authProviders.github || authProviders.gitlab || authProviders.mattermost || authProviders.dropbox || authProviders.google || authProviders.ldap || authProviders.saml || authProviders.oauth2 || authProviders.email) { %>
1919
<button class="btn btn-sm btn-success ui-signin" data-toggle="modal" data-target=".signin-modal"><%= __('Sign In') %></button>
2020
<% } %>
2121
</div>
2222
<div class="ui-signout" style="float: right; margin-top: 8px;<% if(!signin) { %> display: none;<% } %>">
23-
<a type="button" href="<%- url %>/new" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> <%= __('New note') %></a>
23+
<a type="button" href="<%- serverURL %>/new" class="btn btn-sm btn-primary"><i class="fa fa-plus"></i> <%= __('New note') %></a>
2424
<span class="ui-profile dropdown pull-right">
2525
<button id="profileLabel" class="btn btn-sm btn-link ui-profile-label" style="padding-right: 0;" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2626
<img class="ui-avatar" width="20" height="20"><span class="hidden-xs hidden-sm">&ensp;<span class="ui-name"></span></span>&ensp;<i class="fa fa-caret-down"></i>
2727
</button>
2828
<ul class="dropdown-menu" aria-labelledby="profileLabel">
29-
<li><a href="<%- url %>/features"><i class="fa fa-dot-circle-o fa-fw"></i> <%= __('Features') %></a></li>
30-
<li><a href="<%- url %>/me/export"><i class="fa fa-cloud-download fa-fw"></i> <%= __('Export user data') %></a></li>
29+
<li><a href="<%- serverURL %>/features"><i class="fa fa-dot-circle-o fa-fw"></i> <%= __('Features') %></a></li>
30+
<li><a href="<%- serverURL %>/me/export"><i class="fa fa-cloud-download fa-fw"></i> <%= __('Export user data') %></a></li>
3131
<li><a class="ui-delete-user" data-toggle="modal" data-target=".delete-user-modal"><i class="fa fa-trash fa-fw"></i> <%= __('Delete user') %></a></li>
32-
<li><a href="<%- url %>/logout"><i class="fa fa-sign-out fa-fw"></i> <%= __('Sign Out') %></a></li>
32+
<li><a href="<%- serverURL %>/logout"><i class="fa fa-sign-out fa-fw"></i> <%= __('Sign Out') %></a></li>
3333
</ul>
3434
</span>
3535
</div>
@@ -50,34 +50,34 @@
5050
<% if (errorMessage && errorMessage.length > 0) { %>
5151
<div class="alert alert-danger" style="max-width: 400px; margin: 0 auto;"><%= errorMessage %></div>
5252
<% } %>
53-
<% if(facebook || twitter || github || gitlab || mattermost || dropbox || google || ldap || saml || oauth2 || email) { %>
53+
<% if (authProviders.facebook || authProviders.twitter || authProviders.github || authProviders.gitlab || authProviders.mattermost || authProviders.dropbox || authProviders.google || authProviders.ldap || authProviders.saml || authProviders.oauth2 || authProviders.email) { %>
5454
<span class="ui-signin">
5555
<br>
5656
<a type="button" class="btn btn-lg btn-success ui-signin" data-toggle="modal" data-target=".signin-modal" style="min-width: 200px;"><%= __('Sign In') %></a>
5757
</span>
5858
<span class="ui-or"><%= __('or') %></span>
5959
<% } %>
6060
<span class="ui-signin">
61-
<a type="button" href="<%- url %>/features" class="btn btn-lg btn-primary" style="min-width: 200px;"><%= __('Explore all features') %></a>
61+
<a type="button" href="<%- serverURL %>/features" class="btn btn-lg btn-primary" style="min-width: 200px;"><%= __('Explore all features') %></a>
6262
<br>
6363
<br>
64-
<img src="<%- url %>/screenshot.png" class="screenshot ui-signin">
64+
<img src="<%- serverURL %>/screenshot.png" class="screenshot ui-signin">
6565
</span>
6666
<div class="lead row" style="width: 90%; margin: 0 auto;">
6767
<div class="col-md-4 inner">
68-
<a href="<%- url %>/features#share-notes">
68+
<a href="<%- serverURL %>/features#share-notes">
6969
<i class="fa fa-bolt fa-3x"></i>
7070
<h4><%= __('Collaborate with URL') %></h4>
7171
</a>
7272
</div>
7373
<div class="col-md-4 inner">
74-
<a href="<%- url %>/features#mathjax">
74+
<a href="<%- serverURL %>/features#mathjax">
7575
<i class="fa fa-bar-chart fa-3x"></i>
7676
<h4><%= __('Support charts and MathJax') %></h4>
7777
</a>
7878
</div>
7979
<div class="col-md-4 inner">
80-
<a href="<%- url %>/features#slide-mode">
80+
<a href="<%- serverURL %>/features#slide-mode">
8181
<i class="fa fa-tv fa-3x"></i>
8282
<h4><%= __('Support slide mode') %></h4>
8383
</a>
@@ -150,7 +150,7 @@
150150
<option value="id">Bahasa Indonesia</option>
151151
</select>
152152
<p>
153-
Powered by <a href="https://codimd.org">CodiMD</a> | <a href="<%- url %>/s/release-notes" target="_blank" rel="noopener"><%= __('Releases') %></a><% if(privacyStatement) { %> | <a href="<%- url %>/s/privacy" target="_blank" rel="noopener"><%= __('Privacy') %></a><% } %><% if(termsOfUse) { %> | <a href="<%- url %>/s/terms-of-use" target="_blank" rel="noopener"><%= __('Terms of Use') %></a><% } %>
153+
Powered by <a href="https://codimd.org">CodiMD</a> | <a href="<%- serverURL %>/s/release-notes" target="_blank" rel="noopener"><%= __('Releases') %></a><% if(privacyStatement) { %> | <a href="<%- serverURL %>/s/privacy" target="_blank" rel="noopener"><%= __('Privacy') %></a><% } %><% if(termsOfUse) { %> | <a href="<%- serverURL %>/s/terms-of-use" target="_blank" rel="noopener"><%= __('Terms of Use') %></a><% } %>
154154
</p>
155155
<h6 class="social-foot">
156156
<%- __('Follow us on %s and %s.', '<a href="https://github.com/hackmdio/CodiMD" target="_blank" rel="noopener"><i class="fa fa-github"></i> GitHub</a>, <a href="https://riot.im/app/#/room/#codimd:matrix.org" target="_blank" rel="noopener"><i class="fa fa-comments"></i> Riot</a>', '<a href="https://translate.codimd.org" target="_blank" rel="noopener"><i class="fa fa-globe"></i> POEditor</a>') %>
@@ -195,7 +195,7 @@
195195
</div>
196196
<div class="modal-footer">
197197
<button type="button" class="btn btn-default ui-delete-user-modal-cancel" data-dismiss="modal"><%= __('Cancel') %></button>
198-
<a type="button" class="btn btn-danger" href="<%- url %>/me/delete/<%- deleteToken %>"><%= __('Yes, do it!') %></a>
198+
<a type="button" class="btn btn-danger" href="<%- serverURL %>/me/delete/<%- deleteToken %>"><%= __('Yes, do it!') %></a>
199199
</div>
200200
</div>
201201
</div>

public/views/index/head.ejs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<meta name="description" content="<%= __('Best way to write and share your knowledge in markdown.') %>">
88
<meta name="keywords" content="Collaborative, Markdown, Notes">
99
<title>CodiMD - <%= __('Collaborative markdown notes') %></title>
10-
<link rel="icon" type="image/png" href="<%- url %>/favicon.png">
11-
<link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
10+
<link rel="icon" type="image/png" href="<%- serverURL %>/favicon.png">
11+
<link rel="apple-touch-icon" href="<%- serverURL %>/apple-touch-icon.png">
1212
<% if(useCDN) { %>
1313
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" />
1414
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.1.3/css/fork-awesome.min.css" integrity="sha256-ZhApazu+kejqTYhMF+1DzNKjIzP7KXu6AzyXcC1gMus=" crossorigin="anonymous" />

0 commit comments

Comments
 (0)