The evolution of my academic career as seen through posters and talks thanks to hugo academic 4.1

[This article was first published on Fellgernon Bit - rstats, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

The hugo-academic theme which powers my website is active and frequently updated. I don’t update my website that frequently anymore, but I recently found about many of their changes when I made the CDSB website.

One of the new features that I liked quite a bit was the ability to have landing pages for each person in your team. I wanted to improve my website’s section describing the people I’ve mentored so I decided to update my personal website too. Once I started this process, I realized that talks and publications had drastically changed. You could now have an image per talk or publication, add tags to them and link them to projects. Furthermore, I noticed that I hadn’t uploaded all my posters nor the slides for all my talks. So this whole process of updating my website took quite a bit of time! All this new information is also reflected on my CV now.

The end result: alumni

First of all, I really like how the section describing the people I’ve mentored looks now. You can see the faces of the alumni and navigate to a page describing them in more detail.

For example, check Amy Peterson’s landing page which includes links to all her profiles I know about. I was also able to add some pictures of a key event with her: her MPH capstone final presentation.

My academic career

In this new version of my website you can also quickly take a look at my academic career by browsing through my talks and publications (papers, posters and a book chapter). The papers are fancier, but the posters and the talks tell you a more detailed story of how I’ve advanced through my career so far with in progress talks and posters showing some ideas, many of which we discareded in the end. For example, you can look at the poster I presented at BioC2010 which is when I met Rafa and Ingo from JHU Biostat. Through the posters and talks you can see how the derfinder project came to be and culminated in the publication describing the software, which was my main Ph.D. project. I like how all the talks and posters related to derfinder can easily be found through the project page. The talks now include my Ph.D. defense talk ????????✌????.

You can also see how the templates I used for making talks evolved through time starting with my joint undergrad project with Sur Herrera-Paredes. You can find some presentaitons made with Beamer, others with knitr (before rmarkdown existed), some with RStudio presentations, as well as different PowerPoint templates.

Overall, I’m very happy with my new website and I hope that you enjoy browsing through my academic career. I’ll use it to movitate others by showing them that we all start somewhere and it takes time and effort to grow.

Some code for udpating to hugo academic 4.1.0

If you are updating your hugo-academic website you should be prepared to spend a significant amount of time if you want to include all the details I included. It took me most of my Saturday, Monday afternoon, and several hours on Tuesday to update mine. Here’s some code I used in this process that might be helpful to you.

## I copied my lcolladotorsource/content/talk files to ~/Downloads/ugh-talks
## then I made a new directory named after the initial .md files
## I made this process easier when updating my publications
## (see further below)
p_ori <- '~/Downloads/ugh-talks/'
p_new <- '/users/lcollado/Dropbox/code/lcolladotorsource/content/talk'
f <- dir(p_ori)
ff <- gsub('.md', '', f)


## For testing
# i <- 1

for(i in seq_len(length(f))) {

    f_initial <- file.path(p_ori, f[i])
  f_new <- file.path(p_new, ff[i], 'index.md')
  
  initial <- readLines(f_initial)
  new <- readLines(f_new)
  
  ## For a set of tags present in the previous version of hugo-academic
  ## I was using and the latest one, I found the initial strings
  ## such that I could find and replace the text.
  ## I also made sure to delete that info on the previous version
  ## so I could inspect rapidly if there was any information
  ## on the old version that I hadn't transfered to the new version.
  ## This typically involved some custom urls whose syntax is now
  ## different.
  for(j in c('location', 'abstract ', 'event_url', 'url_video', 'url_slides', 'title', 'url_pdf', 'event ', 'math')) {
    ## for debugging:
    # print(j)
    patt <- paste0('^', j)
    cont <- initial[grep(patt, initial)]
    initial[grep(patt, initial)] <- ''
    stopifnot(length(grep(patt, new)) > 0)
    # print(length(cont))
    new[grep(patt, new)] <- cont
  }
  
  ## For times I had to do this manually
  ## since the names for these tags changed
  j <- 'time_start'
  patt <- paste0('^', j)
  cont <- initial[grep(patt, initial)]
  initial[grep(patt, initial)] <- ''
  new[grep('^date ', new)] <- gsub('time_start', 'date', cont)
  
  ## and the end time wasn't always there
  cont2 <- initial[grep('^time_end', initial)]
  cont2 <- gsub('time_end', 'date_end', cont2)
  if(length(cont2) == 0) cont2 <- gsub('time_start', 'date_end', cont) else initial[grep('^time_end', initial)] <- ""
  new[grep('^date_end ', new)] <- cont2
  
  ## Similarly, the short version of the abstract now has
  ## a different name
  j <- 'abstract_short'
  patt <- paste0('^', j)
  cont <- initial[grep(patt, initial)]
  initial[grep(patt, initial)] <- ''
  new[grep('^summary', new)] <- gsub('abstract_short', 'summary', cont)
  
  ## Replace the old and new files with the updated versions ^^
  writeLines(initial, f_initial)
  writeLines(new, f_new)
}




### Publications

## Again, I moved the original files elsewhere
## and I copied the exampleSite/content/publication/clothing-search
## directory

## I then edited the clothing-search/index.md file
## a little bit before copying it to all the new folders below

p_ori <- '~/Downloads/ugh/'
p_new <- '/users/lcollado/Dropbox/code/lcolladotorsource/content/publication'
f <- dir(p_ori)
ff <- gsub('.md', '', f)


for(i in seq_len(length(f))) {
  
  
  ## Create the new directories from R
  ## coping my modified template publication using the
  ## clothing-search example
  system(paste('cp -R', file.path(p_new, 'clothing-search'), file.path(p_new, ff[i])))
  
  
  
  f_initial <- file.path(p_ori, f[i])
  f_new <- file.path(p_new, ff[i], 'index.md')
  
  initial <- readLines(f_initial)
  new <- readLines(f_new)
  
  ## Update tags just like I did for the talks
  for(j in c('title ', 'date ', 'math ', 'publication ', 'abstract ', 'url_pdf', 'url_project', 'url_dataset', 'url_video', 'url_slides', 'url_code', 'authors ')) {
    #print(j)
    patt <- paste0('^', j)
    cont <- initial[grep(patt, initial)]
    initial[grep(patt, initial)] <- ''
    stopifnot(length(grep(patt, new)) > 0)
    #print(length(cont))
    new[grep(patt, new)] <- cont
  }
  
  writeLines(initial, f_initial)
  writeLines(new, f_new)

}
## I used imagemagick a few times to create the featured.jpg files
convert eurobioc2010-Bacterial-Collado.pdf[0] featured.jpg

## Other times I created those images by taking screenshots
## and then reducing the size to a max width/height of 1000 pixels
## to reduce the file sizes a bit

References

[1] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.8. 2017. URL: https://CRAN.R-project.org/package=knitcitations.

[2] G. Csárdi, R. core, H. Wickham, W. Chang, et al. sessioninfo: R Session Information. R package version 1.1.1. 2018. URL: https://CRAN.R-project.org/package=sessioninfo.

[3] A. Oleś, M. Morgan, and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.10.0. 2018. URL: https://github.com/Bioconductor/BiocStyle.

[4] Y. Xie, A. P. Hill, and A. Thomas. blogdown: Creating Websites with R Markdown. ISBN 978-0815363729. Boca Raton, Florida: Chapman and Hall/CRC, 2017. URL: https://github.com/rstudio/blogdown.

Reproducibility

## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
##  setting  value                                      
##  version  R version 3.5.2 Patched (2019-02-17 r76113)
##  os       macOS Mojave 10.14.4                       
##  system   x86_64, darwin15.6.0                       
##  ui       X11                                        
##  language (EN)                                       
##  collate  en_US.UTF-8                                
##  ctype    en_US.UTF-8                                
##  tz       America/New_York                           
##  date     2019-04-10                                 
## 
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
##  package       * version date       lib source                            
##  assertthat      0.2.1   2019-03-21 [1] CRAN (R 3.5.2)                    
##  bibtex          0.4.2   2017-06-30 [1] CRAN (R 3.5.0)                    
##  BiocManager     1.30.4  2018-11-13 [1] CRAN (R 3.5.0)                    
##  BiocStyle     * 2.10.0  2018-10-30 [1] Bioconductor                      
##  blogdown        0.11.1  2019-04-05 [1] Github (rstudio/blogdown@5179caf) 
##  bookdown        0.9     2018-12-21 [1] CRAN (R 3.5.0)                    
##  cli             1.1.0   2019-03-19 [1] CRAN (R 3.5.2)                    
##  colorout      * 1.2-0   2019-02-18 [1] Github (jalvesaq/colorout@cc5fbfa)
##  crayon          1.3.4   2017-09-16 [1] CRAN (R 3.5.0)                    
##  digest          0.6.18  2018-10-10 [1] CRAN (R 3.5.0)                    
##  evaluate        0.13    2019-02-12 [1] CRAN (R 3.5.2)                    
##  htmltools       0.3.6   2017-04-28 [1] CRAN (R 3.5.0)                    
##  httr            1.4.0   2018-12-11 [1] CRAN (R 3.5.0)                    
##  jsonlite        1.6     2018-12-07 [1] CRAN (R 3.5.0)                    
##  knitcitations * 1.0.8   2017-07-04 [1] CRAN (R 3.5.0)                    
##  knitr           1.22    2019-03-08 [1] CRAN (R 3.5.2)                    
##  lubridate       1.7.4   2018-04-11 [1] CRAN (R 3.5.0)                    
##  magrittr        1.5     2014-11-22 [1] CRAN (R 3.5.0)                    
##  plyr            1.8.4   2016-06-08 [1] CRAN (R 3.5.0)                    
##  R6              2.4.0   2019-02-14 [1] CRAN (R 3.5.2)                    
##  Rcpp            1.0.1   2019-03-17 [1] CRAN (R 3.5.2)                    
##  RefManageR      1.2.12  2019-04-03 [1] CRAN (R 3.5.2)                    
##  rmarkdown       1.12    2019-03-14 [1] CRAN (R 3.5.2)                    
##  sessioninfo   * 1.1.1   2018-11-05 [1] CRAN (R 3.5.0)                    
##  stringi         1.4.3   2019-03-12 [1] CRAN (R 3.5.2)                    
##  stringr         1.4.0   2019-02-10 [1] CRAN (R 3.5.2)                    
##  withr           2.1.2   2018-03-15 [1] CRAN (R 3.5.0)                    
##  xfun            0.6     2019-04-02 [1] CRAN (R 3.5.2)                    
##  xml2            1.2.0   2018-01-24 [1] CRAN (R 3.5.0)                    
##  yaml            2.2.0   2018-07-25 [1] CRAN (R 3.5.0)                    
## 
## [1] /Library/Frameworks/R.framework/Versions/3.5/Resources/library

To leave a comment for the author, please follow the link and comment on their blog: Fellgernon Bit - rstats.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)