diff --git a/.gitignore b/.gitignore
index 6a81cd9..23e2e33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@ docs/
README.html
README_files
.Rhistory
+.DS_Store
\ No newline at end of file
diff --git a/R/organizers.R b/R/organizers.R
index 683fdfa..38a9aa1 100644
--- a/R/organizers.R
+++ b/R/organizers.R
@@ -7,36 +7,73 @@ create_organizer_table <- function(table.path = file.path("..", "data", "organiz
img.path = file.path("..", "images", "organizers"),
ncol = 5L,
align = "l") {
- # Read organizer table
- organizers <- read.csv(table.path, stringsAsFactors = FALSE)
- organizers[["img_path"]] <- file.path(img.path, organizers[["img_path"]])
+ # Read the combined organizers table
+ organizers <- read.csv(table.path, stringsAsFactors = FALSE)
- # Normalize order: if missing/blank, treat as Inf
- organizers <- organizers |>
- mutate(order = ifelse(is.na(order) | order == "", Inf, as.numeric(order)))
+ # Add full image paths (handle missing paths)
+ organizers[["full_img_path"]] <- ifelse(
+ !is.na(organizers[["img_path"]]) & organizers[["img_path"]] != "",
+ file.path(img.path, organizers[["img_path"]]),
+ ""
+ )
- # Add organizer group
- df <- organizers |>
- arrange(order, name) |>
+ # Normalize order: if missing/blank, treat as Inf
+ organizers <- organizers |>
+ mutate(order = ifelse(is.na(order) | order == "", Inf, as.numeric(order)))
+
+ # Get unique committees (excluding NA/empty)
+ committees <- unique(organizers$committee)
+ committees <- committees[!is.na(committees) & committees != ""]
+
+ # Sort committees: Local first, then others
+ if ("Local" %in% committees) {
+ committees <- c("Local", setdiff(committees, "Local"))
+ }
+
+ # Process each committee
+ for(committee_name in committees) {
+ cat(paste0("\n## ", committee_name, "\n\n"))
+
+ # Filter for current committee
+ df_comm <- organizers |>
+ filter(committee == committee_name) |>
+ arrange(order, name)
+
+ # Format each member with image, name, and role
+ df_comm <- df_comm |>
mutate(
- img = sprintf("{height=150}", img_path),
- label = name
+ img = ifelse(
+ full_img_path != "",
+ sprintf("{height=150}", full_img_path),
+ ""
+ ),
+ label = ifelse(
+ !is.na(role) & role != "",
+ paste0("**", name, "**
*", role, "*"),
+ paste0("**", name, "**")
+ )
)
- n_missing <- ncol - (nrow(df) %% ncol)
+
+ # Pad to multiple of ncol
+ n_missing <- ncol - (nrow(df_comm) %% ncol)
if (n_missing < ncol) {
- df <- bind_rows(df, data.frame(
+ df_comm <- bind_rows(df_comm, data.frame(
name = rep("", n_missing),
+ committee = rep("", n_missing),
+ role = rep("", n_missing),
local = rep(FALSE, n_missing),
order = rep(Inf, n_missing),
img_path = rep("", n_missing),
+ full_img_path = rep("", n_missing),
img = rep("", n_missing),
label = rep("", n_missing),
stringsAsFactors = FALSE
))
}
+
# Make matrix with alternating rows (image row, name row)
- img_mtx <- matrix(df$img, ncol = ncol, byrow = TRUE)
- name_mtx <- matrix(df$label, ncol = ncol, byrow = TRUE)
+ img_mtx <- matrix(df_comm$img, ncol = ncol, byrow = TRUE)
+ name_mtx <- matrix(df_comm$label, ncol = ncol, byrow = TRUE)
ij <- rep(seq_len(nrow(img_mtx)), each = 2) + c(0, nrow(img_mtx))
tbl <- data.frame(rbind(img_mtx, name_mtx)[ij, ])
@@ -47,4 +84,5 @@ create_organizer_table <- function(table.path = file.path("..", "data", "organiz
print()
cat("\n\n")
+ }
}
diff --git a/data/organizers.csv b/data/organizers.csv
index cd13a6d..e62f4df 100644
--- a/data/organizers.csv
+++ b/data/organizers.csv
@@ -1,29 +1,28 @@
-name,local,order,img_path
-Helena Crowell,FALSE,,Helena Crowell.png
-Maria Doyle,FALSE,,Maria Doyle.jpeg
-James Dalgleish,FALSE,,James Dalgleish.png
-Michael Stadler,FALSE,,Michael Stadler.jpg
-Annekathrin Nedwed,FALSE,,Annekathrin Nedwed.png
-Juan Ramon Gonzalez,FALSE,,Juan Ramon Gonzalez.jpg
-Mireia Ramos,FALSE,,Mireia Ramos.jpg
-Kevin Rue-Albrecht,FALSE,,Kevin Rue-Albrecht.jpg
-Najla Abassi,FALSE,,Najla Abassi.jpg
-Charlotte Soneson,FALSE,,Charlotte Soneson.jpg
-Laurent Gatto,FALSE,,Laurent Gatto.jpg
-Robert Castelo,FALSE,,Robert Castelo.jpeg
-Dario Righelli,FALSE,,Dario Righelli.jpg
-Lena Morrill Gavarro,FALSE,,Lena Morrill Gavarro.jpg
-Robert Ivánek,FALSE,,Robert Ivanek.jpg
-Davide Risso,FALSE,,Davide Risso.jpg
-Leo Lahti,TRUE,1,Leo Lahti.jpg
-Simone Bell,FALSE,,Simone Bell.jpg
-Eliana Ibrahimi,FALSE,,Eliana Ibrahimi.png
-Lieven Clement,FALSE,,Lieven Clement.jpeg
-Tuomas Borman,TRUE,2,Tuomas Borman.jpeg
-Federico Marini,FALSE,,Federico Marini.png
-Lluis Revilla,FALSE,,Lluis Revilla.png
-Wolfgang Huber,FALSE,,Wolfgang Huber.png
-Dania Machlab,FALSE,,Dania Machlab.jpg
-Teemu Daniel Laajala,FALSE,,TDLaajala.jpg
-Julia Mathlin,FALSE,,julia_mathlin.jpeg
-Anna Kaisanlahti,FALSE,,anna_kaisanlahti.jpg
+name,committee,role,local,order,img_path
+Leo Lahti,Community,Chair,TRUE,1,Leo Lahti.jpg
+Tuomas Borman,Community,Coordinator,TRUE,2,Tuomas Borman.jpeg
+Annekathrin Nedwed,Community,General member,FALSE,NA,Annekathrin Nedwed.png
+Charlotte Soneson,Community,Scientific program,FALSE,NA,Charlotte Soneson.jpg
+Dania Machlab,Community,Scientific Program,FALSE,NA,Dania Machlab.jpg
+Dario Righelli,Community,General member,FALSE,NA,Dario Righelli.jpg
+Eliana Ibrahimi,Community,"Scientific program, reviewer",FALSE,NA,Eliana Ibrahimi.png
+Federico Marini,Community,General member,FALSE,NA,Federico Marini.png
+Helena Crowell,Community,General member,FALSE,NA,Helena Crowell.png
+James Dalgleish,Community,"Partnerships, reviewer ",FALSE,NA,James Dalgleish.png
+Kevin Rue-Albrecht,Community,General member,FALSE,NA,Kevin Rue-Albrecht.jpg
+Laurent Gatto,Community,General member,FALSE,NA,Laurent Gatto.jpg
+Lena Morrill Gavarro,Community,General member,FALSE,NA,Lena Morrill Gavarro.jpg
+Lieven Clement,Community,General member,FALSE,NA,Lieven Clement.jpeg
+Maria Doyle,Community,Communications,FALSE,NA,Maria Doyle.jpeg
+Michael Stadler,Community,"Scientific program, reviewer",FALSE,NA,Michael Stadler.jpg
+Najla Abassi,Community,General member,FALSE,NA,Najla Abassi.jpg
+Nyasita Laurah Ondari,Community,Communications,NA,NA,NA
+Robert Castelo,Community,Partnerships,FALSE,NA,Robert Castelo.jpeg
+Robert Ivánek,Community,General member,FALSE,NA,Robert Ivanek.jpg
+Leo Lahti,Local,Chair,TRUE,1,Leo Lahti.jpg
+Tuomas Borman,Local,Co-chair,TRUE,2,Tuomas Borman.jpeg
+Julia Mathlin,Local,"Partnerships, Communications",FALSE,NA,julia_mathlin.jpeg
+Teemu Daniel Laajala,Local,Partnerships,FALSE,NA,TDLaajala.jpg
+Anna Kaisanlahti,Local,Partnerships,FALSE,NA,anna_kaisanlahti.jpg
+Davide Risso,Community,General member,FALSE,NA,Davide Risso.jpg
+Lluis Revilla,Community,General member,FALSE,NA,Lluis Revilla.png
diff --git a/index.qmd b/index.qmd
index 5862aa7..7c0fe28 100644
--- a/index.qmd
+++ b/index.qmd
@@ -46,8 +46,8 @@ technologies impacting computational biology.
:::
- **November 24**: Call for abstracts opens
-- **January 30**: Call for abstracts closes
-- **January 31**: Sticker Design Contest deadline
+- January 30: Call for abstracts closes
+- January 31: Sticker Design Contest deadline
- **June 1-2**: Bioconductor Carpentry Workshops
- **June 3-5**: The EuroBioC2026 Conference!
diff --git a/pages/sticker-contest.qmd b/pages/sticker-contest.qmd
index 99fccef..759b981 100644
--- a/pages/sticker-contest.qmd
+++ b/pages/sticker-contest.qmd
@@ -18,7 +18,7 @@ and licensed under the CC0 1.0 Universal (CC0 1.0) Public Domain License.
- The EuroBioC2026 organising committee will vote for the winning design based
on relevance and creativity.
- All non-winning designs relevant to the conference may be displayed on the
-Gallery page (should we create one) of the EuroBioC2025 website with
+Gallery page of the EuroBioC2026 website with
attributions to the submitter. All participants have the opportunity to opt out
of their submissions being shared in the Gallery.
- As part of our collaborative process, if your design is selected, we may
@@ -47,6 +47,11 @@ from the top of the image.
- Some suggestions for color definitions:
[http://www.flatuicolorpicker.com/category/all](http://www.flatuicolorpicker.com/category/all).
+::: {.callout-tip icon=false}
+## Submit your sticker here!
+[Open the submission form](https://forms.gle/PJKJfLFAgbN7nskB7)
+:::
+
## Stickers from previous conferences