This repository contains material for the Bioconductor annual conference. View the example at https://bioc2022.bioconductor.org/ and the corresponding GitHub repo
Make sure Hugo is installed. Check Hugo version
hugo version
- master branch contains a minimal set of files to create the conference website.
- master-full contains additional files in subfolders content/abstracts, content/news, data/abstracts with additional files (mirror from the BioC2022 repository).
-
Create a new repository in https://github.com/Bioconductor using this template.
-
Clone the new repository and switch to it. For example:
git clone git@github.com:Bioconductor/BioC_template.git
cd BioC_template/
- Edit the site
- config.toml
- Adjust color style: style = "blue" (default), light-blue), green, marsala, pink, red, turquoise, violet
- Edit "defaultKeywords", to make the site findable via Google. These keywords are used in
themes/hugo-universal-theme/layouts/partials/head.html
- .md files in the content folder
- .yaml files in data/carousel (create a new hex logo, open an issue on BiocStickers)
- rename data/committee.all folder to
committee
and adjust committee members - add data/speakers
- add sponsors to data/clients and static/img/clients (take logos from Google Drive)
- Edit the front page news.html
- Run Hugo to preview the webpage locally.
rm -rf public; hugo --verbose; hugo server --disableFastRender --verbose
View the results at http://localhost:1313/
-
Host your site on Netlify, as described here. Use build command
hugo
, publish directorypublic
, and set advanced variableHUGO_VERSION
to yourhugo version
number, e.g., 0.105.0 -
To add an official URL/domain, e.g., bioc2023.bioconductor.org, first, contact Lori to create it. Second, login to Netlify, select the site, click "Domain settings" button, then "Add custom domain". Add the official URL when prompted and click "Verify". You'll get a message "bioconductor.org is already registered. If you registered this domain name through a different registrar, select Add subdomain to begin delegating it to Netlify." Click "Add subdomain", and the official domain will be added. Click "Check DNS configuration" and check how to update the CNAME recors. It'll take up to 24 hours before the changes will take effect.
- Make changes in the "schedule table" spreadsheet https://docs.google.com/spreadsheets/d/1tGtGffcbCRxQFjE3ej42IcWlN4FJCsuQeZvETt9g0oA/edit#gid=0. NOTE - For the "time" column, set the format to custom "hh:mm" (IMPORTANT)
- Run the following command in the terminal in the base directory:
Rscript --vanilla 1_create_yaml.R; bash 2_create_abstracts.sh; bash 3_create_tracks.sh
- Data for the abstracts and other elements for the schedule table should be located in
data/abstracts/
. This folder is populated by1_create_yaml.R
from the "schedule table" spreadsheet.
There are three types of abstracts.
- papers. Name format: day1_1315_longWorkshop_paper25.yaml.
- tracks. Name format: day1_0900_shortTalksSysEpi_track.yaml.
- All other elements that will be added to the schedule.
Abstract file name format: day[1-3]_HHMM_type_paper/track#.yaml. The abstracts should all contain these fields. If any field isn't used, it should remain blank.
title: "" # A string with the full title.
paper: "" # Number of paper or track. Valid options: paper# or track#. For example, paper2, track1, etc. track is only used for the short talks tracks. There is no defined track number as in the case of the papers, they should be added in order of appearance in the document.
session_type: "" # String with the type. Valid options: "Short talk", "Short talks track", "Package demo", "Workshop".
authors: "" # String with the authors separated by comma.
presenting_author: "" # Author who will present. The first author by default.
affiliation: "" # String with the affiliation.
abstract: "" # String with the abstract. Sometimes there are quotes in the text which should be escaped.
time: "" # The time in 24h format. Example: 1300 for 1 PM.
github: "" # Haven't used this field. Not sure if this has been provided.
twitter: "" # Twitter handle without the @.
youtube: "" # Link to youtube video when available.
day: "" # Valid options: day1, day2, day3.
talks: "" # This field is only for the short talk tracks. This should list the number of papers under this track. This should be a YAML array. Example: ["paper10", "paper20"]
- The
content/abstracts/
directory contains the individual pages for the abstracts. This directory could be ignored as it will be updated with the2_create_abstracts.sh
and3_create_tracks.sh
bash scripts. These scripts convert the elements in data to content pages.
======
YAML files that need to be adjusted for each conference.
YAML files for every event. Workshop_paper
are processed by content/workshops.md and layouts/shortcodes/workshops.html. All events are processed by layouts/shortcodes/schedule.html.
YAML files for the carousel panels. Processed by the main theme.
YAML files for sponsors. Processed by the main theme and layouts/shortcodes/sponsors.html
YAML files for co-chairs and committee. Processed by content/organizers.md, layouts/shortcodes/cochairs.html and layouts/shortcodes/committee.html.
YAML files for each speaker. Processed by layouts/partials/speakers.html.
This template was created using the modified. hugo-universal-theme. See the demo web site, the original github repository and the exampleSite files. Template by Bootstrapious. Ported to Hugo by DevCows. The theme is added as selected files, not as a submodule, for easier modification.