Skip to content

Templates and partials for generating a site for a specific satRday conference

License

Notifications You must be signed in to change notification settings

satRdays/satRday_site_template

Repository files navigation

satRday_site_template

How to get an official satRdays website

You can very easily fork this repo and work off of it

HOWEVER

If you are starting a satRdays event, then the best thing to do is join the slack R User Groups Workspace and go to the #satrdays-website channel and ask about setting up a website, tagging @DaveParr.

here is an EXAMPLE REQUEST that you can copy, edit, and paste into the channel:

Hi @DaveParr, I would like a website to promote my event in [your city] that will be held in [the year of the event]. My GitHub user name is [your username]. Thanks!

This will mean that:

  • we create a repo for you in the satRdays GitHub Organisation
  • we will set you up as a member of the satRdays GitHub Organisation
  • we will set up a GitHub Team in the GitHub Organisation for you to manage your new site
  • we will set up hosting for the repo in the satRdays organisation on netlify to a domain like this: myevent.satrdays.org

Support in slack

The #satrdays-website channel is now filled with people who have used this template. This is your best resource for asking questions about how to use and edit the template.

What I can do

I can give you most of a website for satRdays events, ready (almost) out of the box. I have a number of sections to help you out:

  • Event description
  • Event location
    • With map
  • Embedded tickets
    • Tito
    • Ticket Tailor
    • Eventbrite
  • Call for papers
    • Sessionize
  • Speaker Bios
  • Talk descriptions
  • Schedule
  • Important Dates
  • Links to satRdays Code of Conduct and Diversity materials

If you want to have a website set up, please request this in the #satrdays-website slack channel of the R User Group organizers Slack (rusergroups.slack.com), tagging @DaveParr.

Organiser tasks

Build locally

You can locally build your site using the shell command hugo serve in the working directory of the project, as long as you have it installed on your machine. You can then open you browser to the link that is listed in the message (probably localhost:1313), and see your changes. Hugo features fast builds and hot-reload so you should be able to see most changes simply after saving the relevant file.

Initialise the sub-modules

When you locally clone your events repo to your machine, the first time you build the project you might need to initialise the sub-modules which contain the theme. You can avoid this by cloning with the --recurse-submodules option, similar to this:

git clone --recurse-submodules https://github.com/satrdays/[my_conference_repo]

If you fogot that, you can always run this command after you cloned the repo normally:

git submodule update --init

Edit the base url in config.toml

Change

baseurl = "https://satrdays-event-template.netlify.com/"

to

baseurl = "https://yourcity20XX.satrdays.org/"

otherwise, images you upload to your site won't work.

Customise the config

The file config.toml gives you access to a number of points on the site, mostly using site params.

A high level overview of these features:

  • enable
    • boolean to render or hide that section
  • title/subtitle/description/button text/...
    • strings to display text in that position
  • bg
    • boolean to toggle lightly shaded backgrounds on or off for that section
  • eid/accountevent/eventviewid/CfSpage
    • strings that are part of a url (that are usually part of an iframe) to link to a service for tickets/Call for papers

Include a new speaker and talk

  • The information for talks and their speakers is linked in the single Talk0X.yaml files in data/schedule/
  • Each talk should have similar structures (some values may be missed or blank) based on the included examples, and be in its own file

What if I need even more customistation?

In the hopefully rare event that even more specific material is needed you can explore the following. Make use of the hugo inheritance method to override defaults where applicable, rather than modify the defaults in place.

CSS/style

  • Copy the base hugo-satrdays-theme/static/css/style.css into /static/css/style.css
    • This will now be the style sheet for your website, overriding the themes

New Section/Custom Section

  • Either
    • find a partial from /layouts/partials in the existing themes you want to base your work on, copy it to the project /layouts/partials, and modify the copy
    • write a new myfile.html from scratch and include it in the project /layouts/partials
  • then make sure that it is referenced in index.html

What I am

I am a Hugo website, with a theme sub-module. Agency used to provide a bunch of defaults that we built on-top of, but after this discussion we migrated the peices we needed, and now only rely on the satRday theme only.

More information on installing hugo, including setting it up for local previews can be found in the official docs.

Some notes and gotchas

As the design is strongly based on the hugo-agency-theme, naming conventions are not obvious in certain situations

  • The talks section of hugo-satrdays-theme is built from the portfolio section of the hugo-agency-theme
  • The important dates section of hugo-satrdays-theme is built from the about section of the hugo-agency-theme
  • The speakers section of hugo-satrdays-theme is built from the team section of the hugo-agency-theme
  • The sponsors section of hugo-satrdays-theme is built from the clients section of the hugo-agency-theme

Video documentation

Administrator tasks

Traditional method - Set the repo as a mirror the main repository

  1. Open Git Bash (or your command-line interpreter).

  2. Create a bare clone of the repository.

git clone --bare https://github.com/satRdays/satRday_site_template
  1. Make a GitHub Repo named [cityYEAR] in all lower case, no spaces. Don't initialize it with a README.

  2. Mirror-push to the new repository.

cd satRday_site_template.git
git push --mirror https://github.com/satRdays/[cityYEAR].git
  1. Remove the temporary local repository you created in step 1.
cd ..
rm -rf satRday_site_template.git
  1. Make a GitHub Team and add the conference organisers as members

  2. Add the GitHub Team to the repo you made as 'Admin'

New cool method - Set the repo up from template

  1. Press the 'Use this template' button

  2. Set the owner of the repo to be 'satrdays' organisation

  3. Set the repository name to be [cityYEAR]

  4. Set the repo to be 'Public'

  5. Create repository from template

  6. Make a GitHub Team and add the conference organisers as members

  7. Add the GitHub Team to the repo you made as 'Admin'

There is now WIP on automating deployment using the scripts in this repo

Netlify

  1. Make a new deploy from GitHub in the Satrdays Netlify Team

  2. The build command is hugo the build directory is public

  3. Rename the default domain to [cityYEAR].netlify.com

  4. Add the additional domain [cityYEAR].satrdays.com