Allow channel path to be customizable

We now allow server operators to customize the /r/ part of the channel links
The new config option in the template is commented and the config module validates and will terminate with status 78 if an improper value is used.
We've also dropped some old cruft and uses a more elegant method to assign CHANNEL.name

Resolves #668
This commit is contained in:
Xaekai 2017-06-16 00:16:59 -07:00
parent 00a65a1584
commit 6d4558c978
18 changed files with 71 additions and 75 deletions

View file

@ -44,7 +44,7 @@ html(lang="en")
input(type="hidden", name="name", value=c.name)
button.btn.btn-xs.btn-danger(type="submit") Delete
span.glyphicon.glyphicon-trash
a(href="/r/"+c.name, style="margin-left: 5px")= c.name
a(href=`/${channelPath}/${c.name}`, style="margin-left: 5px")= c.name
.col-lg-6.col-md-6
h3 Register a new channel
if newChannelError
@ -57,7 +57,7 @@ html(lang="en")
.form-group
label.control-label(for="channelname") Channel URL
.input-group
span.input-group-addon #{baseUrl}/r/
span.input-group-addon #{baseUrl}/#{channelPath}/
input#channelname.form-control(type="text", name="name", maxlength="30", onkeyup="checkChannel()")
p#validate_channel.text-danger.pull-right
button#register.btn.btn-primary.btn-block(type="submit") Register

View file

@ -11,7 +11,7 @@ html(lang="en")
include nav
+navheader()
#nav-collapsible.collapse.navbar-collapse
- var cname = "/r/" + channelName
- var cname = `/${channelPath}/${channelName}`
ul.nav.navbar-nav
+navdefaultlinks(cname)
li: a(href="javascript:void(0)", onclick="javascript:showUserOptions()") Options

View file

@ -86,7 +86,7 @@ mixin adminoptions
#cs-adminoptions.tab-pane
h4 Admin-Only Settings
form.form-horizontal(action="javascript:void(0)")
- var defname = "CyTube - /r/" + channelName
- var defname = `CyTube - /${channelPath}/${channelName}`
+textbox-auto("cs-pagetitle", "Page title", defname)
+textbox-auto("cs-password", "Password", "leave blank to disable")
+textbox-auto("cs-externalcss", "External CSS", "Stylesheet URL")

View file

@ -11,8 +11,16 @@ mixin head()
link(href="/css/cytube.css", rel="stylesheet")
link(id="usertheme", href=DEFAULT_THEME, rel="stylesheet")
script(type="text/javascript").
var DEFAULT_THEME = '#{DEFAULT_THEME}';
if channelName
script(type="text/javascript").
var DEFAULT_THEME = '#{DEFAULT_THEME}';
var CHANNELPATH = '#{channelPath}';
var CHANNELNAME = '#{channelName}';
else
script(type="text/javascript").
var DEFAULT_THEME = '#{DEFAULT_THEME}';
var CHANNELPATH = '#{channelPath}';
script(src="/js/theme.js")
//[if lt IE 9]
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>

View file

@ -25,7 +25,7 @@ html(lang="en")
tbody
each chan in channels
tr
td: a(href="/r/"+chan.name) #{chan.pagetitle} (#{chan.name})
td: a(href=`/${channelPath}/${chan.name}`) #{chan.pagetitle} (#{chan.name})
td= chan.usercount
td= chan.mediatitle
.col-lg-3.col-md-3
@ -37,6 +37,6 @@ html(lang="en")
script(type="text/javascript").
$("#channelname").keydown(function (ev) {
if (ev.keyCode === 13) {
location.href = "/r/" + $("#channelname").val();
location.href = "/#{channelPath}/" + $("#channelname").val();
}
});