diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..3550a30f --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index 1808dc61..95039b39 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ public/css/*.scss.css .myradio.key config.toml public/css/*.scss.css.map + +.direnv/ diff --git a/Dockerfile b/Dockerfile index 8038c880..ab3d9d7a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,16 +9,15 @@ RUN set -e && \ cp /usr/local/sassc-$SASS_VERSION/bin/sassc /usr/local/bin/sassc && \ rm -rf /usr/local/sassc-$SASS_VERSION /usr/local/libsass-$SASS_VERSION -RUN mkdir -p /go/src/github.com/UniversityRadioYork/2016-site -WORKDIR /go/src/github.com/UniversityRadioYork/2016-site +WORKDIR /usr/src/app -COPY . /go/src/github.com/UniversityRadioYork/2016-site +COPY . /usr/src/app/ -EXPOSE 3000 - -RUN go get -d -v +RUN go get ENV TZ "Europe/London" +EXPOSE 3000 + ENTRYPOINT echo "\033[0;31mWARNING: \033[0mRunning with Docker will change \"localhost\" to \"0.0.0.0\" in your config. Remember to change it back!" && \ sed -i 's/localhost/0.0.0.0/g' *.toml && make run diff --git a/Makefile b/Makefile index c030f1ef..d57adcf8 100644 --- a/Makefile +++ b/Makefile @@ -20,10 +20,10 @@ build-sass: $(SASS_SRC) $(SASS_COMPILER) $(MAIN_FILE) $(OUTPUT_FILE) -t compressed build-docker-image: - docker build -t 2016-site . + docker build -t 201623-site . docker: - docker run -it --rm -p 3000:3000 -v $$GOPATH/src/github.com/UniversityRadioYork/2016-site:/go/src/github.com/UniversityRadioYork/2016-site 2016-site + docker run -it --rm -p 3000:3000 -v .:/usr/src/app 201623-site clean: rm -f $(OUTPUT_FILE) $(BINARY) diff --git a/README.md b/README.md index 6c4fc569..3f5dbcfa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 2016-site # +# 201623-site # ## How to install ## Full instructions for installation are available in the USING.md file. diff --git a/USING.md b/USING.md index c72a833e..1633f657 100644 --- a/USING.md +++ b/USING.md @@ -38,9 +38,9 @@ export GOPATH=~/go #### Pulling from git * Make sure GOPATH is set (`echo $GOPATH`) -* `go get github.com/UniversityRadioYork/2016-site` - * This downloads 2016-site to ~/go/src/github.com/UniversityRadioYork/2016-site along with all necessary dependencies -* To update your working copy of the repo, running `go get` in the 2016-site directory, but you can also checkout to a specific branch if required: +* `go get github.com/UniversityRadioYork/201623-site` + * This downloads 201623-site to ~/go/src/github.com/UniversityRadioYork/201623-site along with all necessary dependencies +* To update your working copy of the repo, running `go get` in the 201623-site directory, but you can also checkout to a specific branch if required: * `git checkout this-is-a-branch-name` #### Running the server ===== @@ -51,7 +51,7 @@ export GOPATH=~/go ### Editing files #### Ubuntu -Trivial. Open a file editor and browse to ~/go/src/github.com/UniversityRadioYork/2016-site +Trivial. Open a file editor and browse to ~/go/src/github.com/UniversityRadioYork/201623-site #### Windows * Windows likes to hide the actual files for the Ubuntu subsystem. diff --git a/config.toml.example b/config.toml.example index 2fd36bb1..dc839cbe 100644 --- a/config.toml.example +++ b/config.toml.example @@ -64,7 +64,6 @@ [pageContext.youtube] APIKey = "AIzaSyCzI5Gvpq1hPlfjvB81EVc0vLv_11eW7NI" - sessionsPlaylistID = "PLsxUDJzU4VKDudlmlYb-ImFKreFKAfFln" cinPlaylistID = "PLsxUDJzU4VKAAH1pOogbzJx7pZgd-2zOx" channelURL = "//youtube.com/ury1350" diff --git a/controllers/about.go b/controllers/about.go new file mode 100644 index 00000000..197de76d --- /dev/null +++ b/controllers/about.go @@ -0,0 +1,43 @@ +package controllers + +import ( + "log" + "net/http" + + "github.com/UniversityRadioYork/2016-site/models" + "github.com/UniversityRadioYork/2016-site/structs" + "github.com/UniversityRadioYork/2016-site/utils" + "github.com/UniversityRadioYork/myradio-go" +) + +// AboutController is the controller for the about page. +type AboutController struct { + Controller +} + +// NewAboutController returns a new AboutController with the MyRadio session s +// and configuration context c. +func NewAboutController(s *myradio.Session, c *structs.Config) *AboutController { + return &AboutController{Controller{session: s, config: c}} +} + +// Get handles the HTTP GET request r for the about us page, writing to w. +func (aboutC *AboutController) Get(w http.ResponseWriter, r *http.Request) { + teamM := models.NewTeamModel(aboutC.session) + teams, err := teamM.GetAll() + if err != nil { + log.Println(err) + utils.RenderTemplate(w, aboutC.config.PageContext, nil, "404.tmpl") + return + } + data := struct { + Teams []myradio.Team + }{ + Teams: teams, + } + err = utils.RenderTemplate(w, aboutC.config.PageContext, data, "about.tmpl") + if err != nil { + log.Println(err) + return + } +} diff --git a/controllers/index.go b/controllers/index.go index 5556659b..932adb26 100644 --- a/controllers/index.go +++ b/controllers/index.go @@ -19,7 +19,7 @@ type IndexController struct { type RenderData struct { CurrentAndNext *myradio.CurrentAndNext Banners []myradio.Banner - Teams []myradio.Team + Timeslots []myradio.Timeslot Podcasts []myradio.Podcast MsgBoxError bool ShowOnAir bool @@ -36,7 +36,7 @@ func (ic *IndexController) Get(w http.ResponseWriter, r *http.Request) { // This is where any form params would be parsed model := models.NewIndexModel(ic.session) - currentAndNext, banners, teams, podcasts, showOnAir, err := model.Get() + currentAndNext, banners, timeslots, podcasts, showOnAir, err := model.Get() if err != nil { log.Println(err) @@ -46,7 +46,7 @@ func (ic *IndexController) Get(w http.ResponseWriter, r *http.Request) { data := RenderData{ CurrentAndNext: currentAndNext, Banners: banners, - Teams: teams, + Timeslots: timeslots, Podcasts: podcasts, ShowOnAir: showOnAir, MsgBoxError: false, @@ -64,7 +64,7 @@ func (ic *IndexController) Post(w http.ResponseWriter, r *http.Request) { // Get all the data for the webpage model := models.NewIndexModel(ic.session) - currentAndNext, banners, teams, podcasts, showOnAir, err := model.Get() + currentAndNext, banners, timeslots, podcasts, showOnAir, err := model.Get() if err != nil { log.Println(err) @@ -74,7 +74,7 @@ func (ic *IndexController) Post(w http.ResponseWriter, r *http.Request) { data := RenderData{ CurrentAndNext: currentAndNext, Banners: banners, - Teams: teams, + Timeslots: timeslots, Podcasts: podcasts, ShowOnAir: showOnAir, MsgBoxError: false, diff --git a/controllers/static.go b/controllers/static.go index 5e914147..87e374c5 100644 --- a/controllers/static.go +++ b/controllers/static.go @@ -19,15 +19,6 @@ func NewStaticController(c *structs.Config) *StaticController { return &StaticController{Controller{config: c}} } -// GetAbout handles the HTTP GET request r for the About page, writing to w. -func (staticC *StaticController) GetAbout(w http.ResponseWriter, r *http.Request) { - err := utils.RenderTemplate(w, staticC.config.PageContext, nil, "about.tmpl") - if err != nil { - log.Println(err) - return - } -} - // GetContact handles the HTTP GET request r for the Contact page, writing to w. func (staticC *StaticController) GetContact(w http.ResponseWriter, r *http.Request) { err := utils.RenderTemplate(w, staticC.config.PageContext, nil, "contact.tmpl") diff --git a/controllers/team.go b/controllers/team.go index 278718d4..81cc1dfd 100644 --- a/controllers/team.go +++ b/controllers/team.go @@ -51,24 +51,3 @@ func (teamC *TeamController) Get(w http.ResponseWriter, r *http.Request) { return } } - -// GetAll handles the HTTP GET request r for the all teams page, writing to w. -func (teamC *TeamController) GetAll(w http.ResponseWriter, r *http.Request) { - teamM := models.NewTeamModel(teamC.session) - teams, err := teamM.GetAll() - if err != nil { - log.Println(err) - utils.RenderTemplate(w, teamC.config.PageContext, nil, "404.tmpl") - return - } - data := struct { - Teams []myradio.Team - }{ - Teams: teams, - } - err = utils.RenderTemplate(w, teamC.config.PageContext, data, "teams.tmpl") - if err != nil { - log.Println(err) - return - } -} diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..4361d4a3 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1696757521, + "narHash": "sha256-cfgtLNCBLFx2qOzRLI6DHfqTdfWI+UbvsKYa3b3fvaA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2646b294a146df2781b1ca49092450e8a32814e1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..b95c6cd6 --- /dev/null +++ b/flake.nix @@ -0,0 +1,25 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem(system: + let + pkgs = import nixpkgs { + inherit system; + }; + inherit (pkgs) lib; + in + { + devShells.default = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + sassc + gnumake + go + ]; + }; + } + ); +} diff --git a/models/index.go b/models/index.go index dd07e3d7..f826e209 100644 --- a/models/index.go +++ b/models/index.go @@ -19,7 +19,7 @@ func NewIndexModel(s *myradio.Session) *IndexModel { // // On success, it returns the current and next show, and nil. // Otherwise, it returns undefined data and the error causing failure. -func (m *IndexModel) Get() (currentAndNext *myradio.CurrentAndNext, banners []myradio.Banner, teams []myradio.Team, podcasts []myradio.Podcast, showOnAir bool, err error) { +func (m *IndexModel) Get() (currentAndNext *myradio.CurrentAndNext, banners []myradio.Banner, timeslots []myradio.Timeslot, podcasts []myradio.Podcast, showOnAir bool, err error) { currentAndNext, err = m.session.GetCurrentAndNext() if err != nil { return @@ -28,12 +28,14 @@ func (m *IndexModel) Get() (currentAndNext *myradio.CurrentAndNext, banners []my if err != nil { return } - - teams, err = m.session.GetCurrentTeams() + timeslots, err = m.session.GetPreviousTimeslots(11) if err != nil { return } - + // If show currently on air, remove it from previous timeslots + if currentAndNext.Current.Id != 0 { + timeslots = timeslots[1:11] + } //Get 10 podcasts from page 0 (the latest podcasts) allpodcasts, err := m.session.GetAllPodcasts(10, 0, false) if err != nil { diff --git a/models/on_demand.go b/models/on_demand.go index 6b19f4e9..292f8205 100644 --- a/models/on_demand.go +++ b/models/on_demand.go @@ -24,12 +24,12 @@ func (m *OnDemandModel) GetLastMixcloudTimeslots() (timeslots []myradio.Timeslot if err != nil { return } - currrentAndNext, err := m.session.GetCurrentAndNext() + currentAndNext, err := m.session.GetCurrentAndNext() if err != nil { return } // If show currently on air, remove it from previous timeslots - if currrentAndNext.Current.Id != 0 { + if currentAndNext.Current.Id != 0 { timeslots = timeslots[1:11] } return diff --git a/public/images/AboutUs.svg b/public/images/AboutUs.svg new file mode 100644 index 00000000..6d13f82f --- /dev/null +++ b/public/images/AboutUs.svg @@ -0,0 +1,132 @@ + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + diff --git a/public/images/ContactUs.svg b/public/images/ContactUs.svg new file mode 100644 index 00000000..7bbe6868 --- /dev/null +++ b/public/images/ContactUs.svg @@ -0,0 +1,141 @@ + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + + + diff --git a/public/images/GetInvolved.svg b/public/images/GetInvolved.svg new file mode 100644 index 00000000..1685dd8d --- /dev/null +++ b/public/images/GetInvolved.svg @@ -0,0 +1,138 @@ + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + + + + + diff --git a/public/images/OnTap.svg b/public/images/OnTap.svg new file mode 100644 index 00000000..b729fc30 --- /dev/null +++ b/public/images/OnTap.svg @@ -0,0 +1,124 @@ + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + diff --git a/public/images/Teams.svg b/public/images/Teams.svg new file mode 100644 index 00000000..55fda2c5 --- /dev/null +++ b/public/images/Teams.svg @@ -0,0 +1,124 @@ + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + + + URY-Plain-WithSpace-White + + + + + + + + + + + diff --git a/public/images/bg-banner-1.jpg b/public/images/bg-banner-1.jpg index d2db02ae..851dc681 100644 Binary files a/public/images/bg-banner-1.jpg and b/public/images/bg-banner-1.jpg differ diff --git a/public/images/bg-banner-2.jpg b/public/images/bg-banner-2.jpg index d91a75d3..8937299e 100644 Binary files a/public/images/bg-banner-2.jpg and b/public/images/bg-banner-2.jpg differ diff --git a/public/images/drone-banner.jpg b/public/images/drone-banner.jpg index cd86c671..125775fe 100644 Binary files a/public/images/drone-banner.jpg and b/public/images/drone-banner.jpg differ diff --git a/public/js/index.js b/public/js/index.js index f5a8eb65..eaeb41bc 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -52,30 +52,6 @@ function getYoutubeFeed(playlistid, results, htmlid) { "" ); } - if (isIndex && htmlid === "#sessions-videos") { - $(htmlid).append( - '
' + - "" + - '
' + - '
See more...
' + - "
" + - "
" + - "
" - ); - } - if (isOD && htmlid === "#sessions-videos") { - $(htmlid).append( - '
' + - '' + - '
' + - '
View more on Youtube...
' + - "
" + - "
" + - "
" - ); - } if (isIndex && htmlid === "#cin-videos") { $(htmlid).append( '
' + @@ -151,12 +127,6 @@ countdown(); //Youtube slideshow for index page function onGoogleLoad() { - if (isIndex) { - getYoutubeFeed(youtubeSessionsPlaylistID, 7, "#sessions-videos"); - } - if (isOD) { - getYoutubeFeed(youtubeSessionsPlaylistID, 15, "#sessions-videos"); - } if (isIndex) { getYoutubeFeed(youtubeCINPlaylistID, 7, "#cin-videos"); } diff --git a/sass/base/_backgrounds.scss b/sass/base/_backgrounds.scss index 8737aff4..7a004e57 100644 --- a/sass/base/_backgrounds.scss +++ b/sass/base/_backgrounds.scss @@ -49,11 +49,6 @@ background: none !important; } -.bg-sessions { - background: desaturate($music-purple, 20%); - color: $white; -} - .bg-podcasts { background: $computing-grey; color: $white; diff --git a/sass/base/_uryCard.scss b/sass/base/_uryCard.scss index 7596ac0c..bc901981 100644 --- a/sass/base/_uryCard.scss +++ b/sass/base/_uryCard.scss @@ -10,10 +10,11 @@ a.ury-card, background: $show-bg; color: $show-txt-color; transition: $transition-time; - + border-radius: $border-curve-radius; // Override the ancher tag defaults display: block; text-decoration: none; + padding: $internal-padding; &:hover { background: tint($show-bg, 70%); @@ -24,8 +25,7 @@ a.ury-card, padding-top: 100%; background-repeat: no-repeat; background-size: cover !important; //propotional resize - - + border-radius: $internal-curve-radius; } .ury-card-body { @@ -54,10 +54,6 @@ a.ury-card, } } - &.sessions { - background: $music-purple; - } - &.cin { color: $cin-background; background: $cin-primary; @@ -71,8 +67,6 @@ a.ury-card, flex-direction: column; } } - - .team-card { a.card-body { color: #343a40; diff --git a/sass/base/_variables.scss b/sass/base/_variables.scss index 6846a903..f712aacb 100644 --- a/sass/base/_variables.scss +++ b/sass/base/_variables.scss @@ -39,9 +39,9 @@ $mobile-font-size: 10px; $mobile-max-width: 770px; //Current and Next -$current-next-now-bg: #003367; -$current-next-next-bg: rgba(0, 51, 103, .85); -$current-next-txt-color: #ffffff; +$current-next-now-bg: #f3f3f3; +$current-next-next-bg: rgba(243, 243, 243, .85); +$current-next-txt-color: #002d5a; //Schedule block colours $blocks-sustainer-color: $secondary-color; $blocks-regular-color: $off-white-color; @@ -50,3 +50,7 @@ $blocks-regular-color: $off-white-color; $custom-scrollbar-color: #FFF; $transition-time: 350ms; + +$border-curve-radius: 1.25rem; +$internal-padding: 0.5rem; +$internal-curve-radius: calc(#{$border-curve-radius} - #{$internal-padding}); diff --git a/sass/elements/_currentAndNext.scss b/sass/elements/_currentAndNext.scss index d9da4409..7491c78a 100644 --- a/sass/elements/_currentAndNext.scss +++ b/sass/elements/_currentAndNext.scss @@ -23,18 +23,21 @@ } .current-next-container { max-width: 950px; + border-radius: $border-curve-radius; } .current-and-next { color: white; overflow: hidden; + border-radius: $border-curve-radius; .current-and-next-img { background: $current-next-now-bg; - + padding: 0.5rem; img { width: 100%; height: auto; + border-radius: 0.75rem; } } diff --git a/sass/elements/_navbar.scss b/sass/elements/_navbar.scss index 1745cb48..692b2c66 100644 --- a/sass/elements/_navbar.scss +++ b/sass/elements/_navbar.scss @@ -1,5 +1,5 @@ $nav-background: rgba(255, 255, 255, .97); -$nav-bottom-border: 1px solid rgba(2, 45, 89, .3); +$nav-bottom-border: .4rem solid rgba(0, 45, 90, .97); $nav-links-color: rgb(2, 45, 89); // How fast search expands and shrinks @@ -10,6 +10,8 @@ $nav-links-color: rgb(2, 45, 89); backdrop-filter: blur(5px); background: $nav-background; border-bottom: $nav-bottom-border; + border-radius: 0 0 $border-curve-radius $border-curve-radius; + background-clip: padding-box; a { color: $nav-links-color; diff --git a/sass/elements/_onDemand.scss b/sass/elements/_onDemand.scss index 81653a5a..46a0c83d 100644 --- a/sass/elements/_onDemand.scss +++ b/sass/elements/_onDemand.scss @@ -17,3 +17,6 @@ .view-more-link { font-size: 1.5rem; } +.podcasts-container{ + padding: 5rem 5rem 1rem 5rem; +} diff --git a/sass/elements/_schedule.scss b/sass/elements/_schedule.scss index 1d51b4a4..e5d0398f 100644 --- a/sass/elements/_schedule.scss +++ b/sass/elements/_schedule.scss @@ -200,8 +200,9 @@ $sustainer-color: tint($primary-color, 40%); margin: auto; margin-bottom: 10px; padding: 10px; - border-radius: 2px; - + border-radius: $border-curve-radius; + padding-bottom: 2rem; + padding-right: 2rem; tr { height: 70px; } diff --git a/sass/main.scss b/sass/main.scss index e14f73ee..b5f049af 100644 --- a/sass/main.scss +++ b/sass/main.scss @@ -42,6 +42,9 @@ footer { color: #646464; background: $off-white-color; + border-top: 2rem; + border-radius: $border-curve-radius $border-curve-radius 0 0; + margin-top: -2rem; a { color: $link-color-dark; @@ -49,6 +52,7 @@ footer { .row { min-height: 3em; + padding: 15px } } @@ -342,9 +346,10 @@ footer { .show-img { border: $off-white-color 7px solid; background-color: $primary-color; + border-radius: $border-curve-radius; @include media-breakpoint-up(md) { - margin-top: -3em; + margin-top: -7rem; } } @@ -396,4 +401,29 @@ body { .mainPageGrowingSpacer{ flex-grow: 1; background-color: $off-white-color; -} \ No newline at end of file +} + +.container-padded{ + border-bottom: 2rem solid transparent; + margin-top: -2rem; + border-radius: $border-curve-radius $border-curve-radius 0 0; + padding-top: 2rem; +} +.pageTitleImage{ + max-inline-size: 90%; + max-height: 15rem; +} +.teams-banner { + background: url("/images/drone-banner.jpg") center center no-repeat; + background-size: cover; + color: $white; + + // Padding for mobile + padding: calc(5em + 60px) 0 5em; + + // Padding for desktop + @include media-breakpoint-up(md) { + // Remove the height of the nav bar roughly 60px + padding: calc(5em + 60px) 0 5em; + } +} diff --git a/server.go b/server.go index a9af44b6..6127f5a4 100644 --- a/server.go +++ b/server.go @@ -108,7 +108,9 @@ func NewServer(c *structs.Config) (*Server, error) { getRouter.HandleFunc("/people/{id:[0-9]+}/", pc.Get) teamC := controllers.NewTeamController(session, c) - getRouter.HandleFunc("/teams/", teamC.GetAll) + getRouter.HandleFunc("/teams/", func(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "/about/", http.StatusFound) + }) getRouter.HandleFunc("/teams/{alias}/", teamC.Get) getinvolvedC := controllers.NewGetInvolvedController(session, c) @@ -117,8 +119,10 @@ func NewServer(c *structs.Config) (*Server, error) { signupC := controllers.NewSignUpController(session, c) postRouter.HandleFunc("/signup/", signupC.Post) + aboutC := controllers.NewAboutController(session, c) + getRouter.HandleFunc("/about/", aboutC.Get) + staticC := controllers.NewStaticController(c) - getRouter.HandleFunc("/about/", staticC.GetAbout) getRouter.HandleFunc("/contact/", staticC.GetContact) getRouter.HandleFunc("/competitions/", staticC.GetCompetitions) diff --git a/structs/config.go b/structs/config.go index 6afdb296..8d7a672f 100644 --- a/structs/config.go +++ b/structs/config.go @@ -93,7 +93,6 @@ type Page struct { type youtube struct { APIKey string `toml:"apiKey"` - SessionsPlaylistID string `toml:"sessionsPlaylistID"` CINPlaylistID string `toml:"cinPlaylistID"` ChannelURL string `toml:"channelURL"` } diff --git a/views/about.tmpl b/views/about.tmpl index 51c31b9f..673c3fbc 100644 --- a/views/about.tmpl +++ b/views/about.tmpl @@ -11,86 +11,119 @@ {{end}} {{define "content"}} -