Create 1.1-indev branch, list of updates in README
This commit is contained in:
parent
8ca4aa4327
commit
3f27bfdbdf
45 changed files with 16057 additions and 11847 deletions
|
|
@ -1,6 +1,44 @@
|
|||
extends layout.pug
|
||||
|
||||
block content
|
||||
//
|
||||
fore.st is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
fore.st is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with fore.st. If not, see < http://www.gnu.org/licenses/ >.
|
||||
(C) 2022- by rainbownapkin, <ourforest@420blaze.it>
|
||||
|
||||
//
|
||||
Original cytube license:
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2022 Calvin Montgomery
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
.col-md-8.col-md-offset-2
|
||||
.aboutText
|
||||
h1 Welcome to ourfore.st!
|
||||
|
|
@ -19,4 +57,4 @@ block content
|
|||
| No spamming submit channel or chat
|
||||
p.
|
||||
Comments? Questions? Feature requests? DMCA Notices? <a href="mailto:ourforest@420blaze.it">Email us!</a>
|
||||
h4 fore.st version: Panama Red (v1)
|
||||
h4 fore.st version: Pineapple Express (v1.1-INDEV)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,42 @@
|
|||
//
|
||||
fore.st is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
fore.st is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with fore.st. If not, see < http://www.gnu.org/licenses/ >.
|
||||
(C) 2022- by rainbownapkin, <ourforest@420blaze.it>
|
||||
|
||||
//
|
||||
Original cytube license:
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2022 Calvin Montgomery
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
doctype html
|
||||
html(lang="en")
|
||||
head
|
||||
|
|
@ -27,17 +66,22 @@ html(lang="en")
|
|||
#motd
|
||||
.clear
|
||||
#announcements.row
|
||||
#drinkbarwrap.row
|
||||
#drinkbar.col-lg-12.col-md-12
|
||||
h1#drinkcount
|
||||
#main.row
|
||||
#videowrap.col-lg-7.col-md-7
|
||||
p#videowrap-header
|
||||
span#resize-video-larger.glyphicon.glyphicon-plus.pointer(title="Make the video larger")
|
||||
span#resize-video-smaller.glyphicon.glyphicon-minus.pointer(title="Make the video smaller")
|
||||
span#mediarefresh.playercont.glyphicon.glyphicon-retweet.pointer(title="Reload the video player")
|
||||
span#flipx-video.playercont.glyphicon.glyphicon-resize-horizontal.pointer(title="Flip Player Horizontally",onclick='javascript:$("#ytapiplayer").toggleClass("mirx")')
|
||||
span#flipy-video.playercont.glyphicon.glyphicon-resize-vertical.pointer(title="Flip Player Vertically",onclick='javascript:$("#ytapiplayer").toggleClass("miry")')
|
||||
span#showplaylist.playercont.glyphicon.glyphicon-list.pointer(style="display: none;", title="Show playlist")
|
||||
span#resize-video-larger.playercont.glyphicon.glyphicon-plus.pointer(title="Make the video larger")
|
||||
span#resize-video-smaller.playercont.glyphicon.glyphicon-minus.pointer(title="Make the video smaller")
|
||||
span#latchvid.label.label-default.pull-right.pointer(style="display: none;") Sync
|
||||
span#currenttitle Nothing Playing
|
||||
.embed-responsive.embed-responsive-16by9
|
||||
#ytapiplayer.embed-responsive-item
|
||||
div#subliminaltoke
|
||||
img(src="/img/tokeleaf.png")
|
||||
h3 Take a <a onclick="chatsmack('!toke')">Toke!</a>
|
||||
#chatwrap.col-lg-5.col-md-5
|
||||
#chatheader
|
||||
span#modflair.label.label-default.pull-right.pointer Name Color
|
||||
|
|
@ -46,9 +90,16 @@ html(lang="en")
|
|||
i#userlisttoggle.glyphicon.glyphicon-chevron-down.pull-left.pointer(title="Show/Hide Userlist")
|
||||
#chatmain
|
||||
#userlist
|
||||
#fpaneldiv.fpanel(style="display: none;")
|
||||
#fptitlediv.fptitlebar.fpanel
|
||||
p#fptitle.fptitlebar.fpanel null
|
||||
p#closefpanel.fptitlebar.fpanel.glyphicon.glyphicon-remove.pointer(onclick="javascript:closeFPanel()", title="Close null panel.")
|
||||
#fpcontdiv.fpcont.fpanel
|
||||
#messagebuffer.linewrap
|
||||
#chatbar(style="display: flex;")
|
||||
button#emotelistbtn.btn.btn-sm.btn-default(title="emotes") ;)
|
||||
button#pollopenbtn.btn.btn-sm.btn-default.glyphicon.glyphicon-ok.chatbtn(onclick="javascript:panelbtn(fpoll)",style="display: none;", title="Poll")
|
||||
button#prefopenbtn.btn.btn-sm.btn-default.glyphicon.glyphicon-cog.chatbtn(onclick="javascript:panelbtn(fpset)",title="Quick Settings")
|
||||
button#emoteopenbtn.btn.btn-sm.btn-default.chatbtn(onclick="javascript:panelbtn(fpemote)",title="Emotes") ;)
|
||||
form(action="javascript:void(0)" style="display: flex; flex-grow: 1;")
|
||||
input#chatline.form-control(type="text", maxlength="320", style="display: none")
|
||||
#guestlogin.input-group
|
||||
|
|
@ -57,32 +108,37 @@ html(lang="en")
|
|||
button#chatsend.btn.btn-sm.btn-default Send
|
||||
#rightcontrols.col-lg-7.col-md-7
|
||||
#plcontrol.btn-group
|
||||
button#showsearch.btn.btn-sm.btn-default(title="Search for a video", data-toggle="collapse", data-target="#searchcontrol")
|
||||
span.glyphicon.glyphicon-search
|
||||
button#showmediaurl.btn.btn-sm.btn-default(title="Add video from URL", data-toggle="collapse", data-target="#addfromurl")
|
||||
span.glyphicon.glyphicon-plus
|
||||
button#showcustomembed.btn.btn-sm.btn-default(title="Embed a custom frame", data-toggle="collapse", data-target="#customembed")
|
||||
span.glyphicon.glyphicon-th-large
|
||||
button#showsearch.btn.btn-sm.btn-default(title="Channel History + Video Search", data-toggle="collapse", data-target="#searchcontrol")
|
||||
span.glyphicon.glyphicon-search
|
||||
button#showplaylistmanager.btn.btn-sm.btn-default(title="Manage playlists", data-toggle="collapse", data-target="#playlistmanager")
|
||||
span.glyphicon.glyphicon-list
|
||||
button#clearplaylist.btn.btn-sm.btn-default(title="Clear the playlist")
|
||||
span.glyphicon.glyphicon-trash
|
||||
button#shuffleplaylist.btn.btn-sm.btn-default(title="Shuffle the playlist")
|
||||
span.glyphicon.glyphicon-sort
|
||||
button#qlockbtn.btn.btn-sm.btn-danger(title="Playlist locked")
|
||||
span.glyphicon.glyphicon-lock
|
||||
#videocontrols.btn-group.pull-right
|
||||
button#mediarefresh.btn.btn-sm.btn-default(title="Reload the video player")
|
||||
span.glyphicon.glyphicon-retweet
|
||||
button#fullscreenbtn.btn.btn-sm.btn-default(title="Make the video player fullscreen")
|
||||
span.glyphicon.glyphicon-fullscreen
|
||||
button#scrollitm.btn.btn-sm.btn-default(title="Scroll to Current Item",onclick="javascript:scrollQueue()")
|
||||
span.glyphicon.glyphicon-hand-right
|
||||
button#getplaylist.btn.btn-sm.btn-default(title="Retrieve playlist links")
|
||||
span.glyphicon.glyphicon-link
|
||||
button#voteskip.btn.btn-sm.btn-default(title="Voteskip")
|
||||
span.glyphicon.glyphicon-step-forward
|
||||
#leftcontrols.col-lg-5.col-md-5
|
||||
button#shuffleplaylist.btn.btn-sm.btn-default(title="Shuffle the playlist")
|
||||
span.glyphicon.glyphicon-sort
|
||||
button#clearplaylist.btn.btn-sm.btn-default(title="Clear the playlist")
|
||||
span.glyphicon.glyphicon-trash
|
||||
button#qlockbtn.btn.btn-sm.btn-danger(title="Playlist locked")
|
||||
span.glyphicon.glyphicon-lock
|
||||
#playlistauxcont
|
||||
span#hideplaylist.glyphicon.glyphicon-remove.pointer(title="Close Playlist")
|
||||
span#blindItems.glyphicon.glyphicon-resize-small.pointer(title="Collapse All Items")
|
||||
#plmeta
|
||||
span#plcount 0 items
|
||||
br
|
||||
span#pllength 00:00:00
|
||||
//#videocontrols.btn-group.pull-right
|
||||
//button#fullscreenbtn.btn.btn-sm.btn-default(title="Make the video player fullscreen")This makes no sense, all supported players already have a full screen button. Not a fan of the placement of this anywho
|
||||
//span.glyphicon.glyphicon-fullscreen
|
||||
//button#voteskip.btn.btn-sm.btn-default(title="Voteskip") I don't like the way this is implemented, I think a poll based voteskip feature would be better, though I think it'd be better to not do a full rip-out
|
||||
//span.glyphicon.glyphicon-step-forward
|
||||
//this is being removed in favor of better UI
|
||||
#leftcontrols.col-lg-5.col-md-5
|
||||
button#newpollbtn.btn.btn-sm.btn-default New Poll
|
||||
|
||||
#playlistrow.row
|
||||
#rightpane.col-lg-7.col-md-7
|
||||
#rightpane-inner.row
|
||||
|
|
@ -107,6 +163,9 @@ html(lang="en")
|
|||
button#queue_next.btn.btn-default Queue next
|
||||
span.input-group-btn
|
||||
button#queue_end.btn.btn-default Queue last
|
||||
span.input-group-btn#showcustomembed
|
||||
button#showcustomembed.btn.btn-default(title="Embed a custom frame", data-toggle="collapse", data-target="#customembed")
|
||||
span.glyphicon.glyphicon-th-large
|
||||
.checkbox
|
||||
label
|
||||
input.add-temp(type="checkbox")
|
||||
|
|
@ -139,12 +198,8 @@ html(lang="en")
|
|||
| Add as temporary
|
||||
ul#userpl_list.videolist
|
||||
#queuefail.col-lg-12.col-md-12
|
||||
.vertical-spacer
|
||||
.col-lg-12.col-md-12
|
||||
ul#queue.videolist
|
||||
#plmeta
|
||||
span#plcount 0 items
|
||||
span#pllength 00:00:00
|
||||
#leftpane.col-lg-5.col-md-5
|
||||
#leftpane-inner.row
|
||||
#pollwrap.col-lg-12.col-md-12
|
||||
|
|
@ -238,6 +293,7 @@ html(lang="en")
|
|||
include footer
|
||||
+footer()
|
||||
script(id="socketio-js", src=sioSource)
|
||||
script(src="/js/fpanel.js")
|
||||
script(src="/js/data.js")
|
||||
script(src="/js/fembed.js")
|
||||
script(src="/js/fchat.js")
|
||||
|
|
|
|||
|
|
@ -1,3 +1,43 @@
|
|||
//
|
||||
fore.st is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
fore.st is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with fore.st. If not, see < http://www.gnu.org/licenses/ >.
|
||||
(C) 2022- by rainbownapkin, <ourforest@420blaze.it>
|
||||
|
||||
//
|
||||
Original cytube license:
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2022 Calvin Montgomery
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
mixin lcheckbox(id, label)
|
||||
.form-group
|
||||
label.control-label.col-sm-4(for=id)= label
|
||||
|
|
|
|||
|
|
@ -1,6 +1,44 @@
|
|||
extends layout.pug
|
||||
|
||||
block content
|
||||
//
|
||||
fore.st is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
fore.st is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with fore.st. If not, see < http://www.gnu.org/licenses/ >.
|
||||
(C) 2022- by rainbownapkin, <ourforest@420blaze.it>
|
||||
|
||||
//
|
||||
Original cytube license:
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-2022 Calvin Montgomery
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
.col-lg-9.col-md-9
|
||||
h3 Public Channels
|
||||
table.table.table-bordered.table-striped
|
||||
|
|
|
|||
|
|
@ -31,11 +31,12 @@ mixin us-general
|
|||
.col-sm-8
|
||||
select#us-theme.form-control
|
||||
option(value="/css/themes/fore.st.css") fore.st
|
||||
option(value="/css/themes/light.css") Light
|
||||
option(value="/css/themes/bootstrap-theme.min.css") Bootstrap
|
||||
option(value="/css/themes/slate.css") Slate
|
||||
option(value="/css/themes/cyborg.css") Cyborg
|
||||
option(value="/css/themes/modern.css") Modern
|
||||
//
|
||||
option(value="/css/themes/light.css") Light
|
||||
option(value="/css/themes/slate.css") Slate
|
||||
option(value="/css/themes/bootstrap-theme.min.css") Bootstrap
|
||||
option(value="/css/themes/cyborg.css") Cyborg
|
||||
option(value="/css/themes/modern.css") Modern
|
||||
.col-sm-4
|
||||
.col-sm-8
|
||||
p.text-danger Changing layouts may require refreshing to take effect.
|
||||
|
|
@ -67,7 +68,8 @@ mixin us-playback
|
|||
p.text-info Setting <code>wmode=transparent</code> allows objects to be displayed above the video player, but may cause performance issues on some systems.
|
||||
+rcheckbox("us-hidevideo", "Remove the video player")
|
||||
+rcheckbox("us-playlistbuttons", "Hide playlist buttons by default")
|
||||
+rcheckbox("us-oldbtns", "Old style playlist buttons")
|
||||
+rcheckbox("us-oldbtns", "Compact playlist buttons")
|
||||
+rcheckbox("us-video-orientation", "Show video orientation buttons above player")
|
||||
.form-group
|
||||
label.control-label.col-sm-4(for="#us-default-quality") Quality Preference
|
||||
.col-sm-8
|
||||
|
|
@ -91,6 +93,7 @@ mixin us-chat
|
|||
+rcheckbox("us-chat-timestamp", "Show timestamps in chat")
|
||||
+rcheckbox("us-sort-rank", "Sort userlist by rank")
|
||||
+rcheckbox("us-sort-afk", "Sort AFKers to bottom")
|
||||
+rcheckbox("us-legacy-emote", "Use legacy Cytube emote menu")
|
||||
.col-sm-4
|
||||
.col-sm-8
|
||||
p.text-info The following 3 options apply to how and when you will be notified if a new chat message is received while CyTube is not the active window.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue