Skip to content

Commit

Permalink
Merge pull request #51 from codecheckers/revert-49-create-page-list-v…
Browse files Browse the repository at this point in the history
…enues

Revert "Create page list venues"
  • Loading branch information
angelina-momin authored Aug 16, 2024
2 parents c103083 + 47a5e68 commit 6efab59
Show file tree
Hide file tree
Showing 20 changed files with 79 additions and 432 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: codecheck
Title: Helper Functions for CODECHECK Project
Version: 0.5.0
Version: 0.3.0
Authors@R:
c(person(given = "Stephen",
family = "Eglen",
Expand Down
35 changes: 5 additions & 30 deletions R/register.R
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,6 @@ CONFIG$MD_COLUMNS_WIDTHS <- "|:-------|:--------------------------------|:------
CONFIG$REGISTER_COLUMNS <- list("Certificate", "Repository", "Type", "Issue", "Report", "Check date")
CONFIG$DICT_ORCID_ID_NAME <- list()
CONFIG$DIR_TEMP_REGISTER_CODECHECKER <- "docs/temp_register_codechecker.csv"
CONFIG$DICT_VENUE_NAMES <- list(
"journal (GigaScience)" = "GigaScience",
"journal (J Geogr Syst)" = "Journal of Geographical Systems",
"journal (J Archaeol Sci)" = "Journal of Archaeological Science",
"journal (GigaByte)" = "GigaByte",
"conference (AGILEGIS)" = "AGILEGIS",
"community (codecheck)" = "Codecheck",
"community (codecheck NL)" = "Codecheck NL",
"community (in press)" = "In press",
"community (preprint)" = "Preprint"
)


#' Function for rendering the register into different view
#'
Expand All @@ -45,9 +33,8 @@ CONFIG$DICT_VENUE_NAMES <- list(
register_render <- function(register = read.csv("register.csv", as.is = TRUE),
filter_by = c("venues", "codecheckers"),
outputs = c("html", "md", "json")) {
CONFIG$MD_REG_TEMPLATE <- system.file("extdata", "templates/template_register.md", package = "codecheck")
CONFIG$MD_NON_REG_TEMPLATE <- system.file("extdata", "templates/template_non_register.md", package = "codecheck")

CONFIG$MD_TEMPLATE <- system.file("extdata", "templates/template_register.md", package = "codecheck")

register_table <- preprocess_register(register, filter_by)

# Creating list of of register tables with indices being the filter types
Expand All @@ -65,21 +52,9 @@ register_render <- function(register = read.csv("register.csv", as.is = TRUE),
}

# Rendering files
# if ("md" %in% outputs) render_register_mds(list_register_tables)
if ("html" %in% outputs) {
render_register_htmls(list_register_tables)

for (filter in filter_by){
render_non_register_htmls(list_register_tables[[filter]], page_type = filter)
}
}
if ("json" %in% outputs) {
# render_register_jsons(list_register_tables)
for (filter in filter_by){
render_non_register_jsons(list_register_tables[[filter]], page_type = filter)
}

}
if ("md" %in% outputs) render_register_mds(list_register_tables)
if ("html" %in% outputs) render_register_htmls(list_register_tables)
if ("json" %in% outputs) render_register_jsons(list_register_tables)

return(register_table)
}
Expand Down
13 changes: 2 additions & 11 deletions R/utils_create_filtered_register_csvs.R
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ get_output_dir <- function(filter, column_value) {
}

# Removing the venue category to obtain the venue name and replace the brackets
venue_name <- determine_venue_name(column_value, venue_category)
venue_name <- trimws(gsub("[()]", "", gsub(venue_category, "", column_value)))
venue_name <- gsub(" ", "_", venue_name)
return(paste0("docs/", filter, "/", venue_category, "/", venue_name, "/")) }

else if (filter=="codecheckers"){
Expand Down Expand Up @@ -124,13 +125,3 @@ determine_venue_category <- function(venue_name){
warning(paste("Register venue", venue_name, "does not fall into any of the following venue categories:", toString(list_venue_categories)))
return(NULL)
}

determine_venue_name <- function(unfiltered_venue_name, venue_category){
if (is.null(venue_category)){
return(NULL)
}

venue_name <- trimws(gsub("[()]", "", gsub(venue_category, "", unfiltered_venue_name, ignore.case = TRUE)))
venue_name <- gsub(" ", "_", venue_name)
return(venue_name)
}
2 changes: 1 addition & 1 deletion R/utils_render_register_mds.R
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ render_register_md <- function(filter, register_table, register_table_name, for_
register_table <- add_repository_links_md(register_table)
}
# Fill in the content
md_table <- load_md_template(CONFIG$MD_REG_TEMPLATE)
md_table <- load_md_template(CONFIG$MD_TEMPLATE)

markdown_content <- capture.output(kable(register_table, format = "markdown"))
md_table <- add_markdown_title(filter, md_table, register_table_name)
Expand Down
84 changes: 37 additions & 47 deletions R/utils_render_reigster_html.r
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ add_repository_links_html <- function(register_table) {
#' Dynamically generates a html_document.yml with the full paths to the index header, prefix
#' and postfix.html files.
#'
#' @param output_dir The output directory where the html_document needs to be saved.
generate_html_document_yml <- function(output_dir) {
output_dir <- paste0(getwd(), "/", output_dir)
#' @param filter The filter name
#' @param register_table_name The register table name
generate_html_document_yml <- function(filter, register_table_name) {
dir <- paste0(getwd(), "/", get_output_dir(filter, register_table_name))

yaml_content <- sprintf(
"# DO NOT EDIT THIS FILE MANUALLY
Expand All @@ -47,62 +48,54 @@ generate_html_document_yml <- function(output_dir) {
highlight: null
self_contained: false
lib_dir: libs",
output_dir, output_dir, output_dir
dir, dir, dir
)
writeLines(yaml_content, paste0(output_dir, "html_document.yml"))
writeLines(yaml_content, paste0(dir, "html_document.yml"))
}

#' Dynamically generates the index_postfix.html from a template file
#'
#' @param output_dir The output directory
#' @param filter The filter name
#' @param register_table_name The register table name. If this is NULL we are generating list of venues/ codecheckers
#' @param register_table_name The register table name
#'
#' @importFrom whisker whisker.render
create_index_postfix_html <- function(output_dir, filter, register_table_name = NULL){
# When we have a reg table name, we adjusting the hrefs of the postfix
if (!is.null(register_table_name)){
postfix_template <- readLines(paste0(getwd(), "/docs/templates/reg_tables/index_postfix_template.html"), warn = FALSE)
# Render the template with the correct hrefs
hrefs <- generate_html_postfix_hrefs_reg(filter, register_table_name)
}

# Generating the postfix for non-register table pages (e.g. list of venues and codecheckers)
else{
postfix_template <- readLines(paste0(getwd(), "/docs/templates/codecheckers_venues_list/index_postfix_template.html"), warn = FALSE)
hrefs <- list(
json_href = paste0("https://codecheck.org.uk/register/", filter, "/index.json")
)
}
create_index_postfix_html <- function(filter, register_table_name){
hrefs <- generate_html_postfix_hrefs(filter, register_table_name)

# Using the index_postfix_template
postfix_template <- readLines(paste0(getwd(), "/docs/index_postfix_template.html"), warn = FALSE)
# Render the template with the correct hrefs
output <- whisker.render(postfix_template, hrefs)
writeLines(output, paste0(output_dir, "index_postfix.html"))
writeLines(output, paste0(get_output_dir(filter, register_table_name), "index_postfix.html"))
}

#' Dynamically generates the index_prefix.html from a template file
#'
#' @param output_dir The output directory
create_index_prefix_html <- function(output_dir){
#' @param filter The filter name
#' @param register_table_name The register table name
create_index_prefix_html <- function(filter, register_table_name){
# Using the index_prefix_template
prefix_template <- readLines(paste0(getwd(), "/docs/templates/general/index_prefix_template.html"), warn = FALSE)
writeLines(prefix_template, paste0(output_dir, "index_prefix.html"))
prefix_template <- readLines(paste0(getwd(), "/docs/index_prefix_template.html"), warn = FALSE)

writeLines(prefix_template, paste0(get_output_dir(filter, register_table_name), "index_prefix.html"))
}

#' Dynamically generates the index_header.html from a template file
#'
#' @param output_dir The output directory
create_index_header_html <- function(output_dir){
#' @param filter The filter name
#' @param register_table_name The register table name
create_index_header_html <- function(filter, register_table_name){
# Using the index_header_template
header_template <- readLines(paste0(getwd(), "/docs/templates/general/index_header_template.html"), warn = FALSE)
header_template <- readLines(paste0(getwd(), "/docs/index_header_template.html"), warn = FALSE)

writeLines(header_template, paste0(output_dir, "index_header.html"))
writeLines(header_template, paste0(get_output_dir(filter, register_table_name), "index_header.html"))
}

#' Generates the hrefs to set in the postfix.html file for the rendering of register tables.
#' Generates the hrefs to set in the postfix.html file.
#'
#' @param filter The filter name
#' @param register_table_name The register table name
generate_html_postfix_hrefs_reg <- function(filter, register_table_name) {
generate_html_postfix_hrefs <- function(filter, register_table_name) {
hrefs <- list(
csv_source_href = generate_href(filter, register_table_name, "csv_source"),
searchable_csv_href = generate_href(filter, register_table_name, "searchable_csv"),
Expand Down Expand Up @@ -162,15 +155,14 @@ generate_href <- function(filter, register_table_name, href_type) {
}
}

#' Creates index postfix, prefix and the header
#' Creates html files for each index section- the index postfix, prefix and the header
#'
#' @param output_dir The output directory of the section files
#' @param filter The filter name
#' @param register_table_name The register table name
create_index_section_files <- function(output_dir, filter, register_table_name = NULL) {
create_index_postfix_html(output_dir, filter, register_table_name)
create_index_prefix_html(output_dir)
create_index_header_html(output_dir)
create_index_section_files <- function(filter, register_table_name) {
create_index_postfix_html(filter, register_table_name)
create_index_prefix_html(filter, register_table_name)
create_index_header_html(filter, register_table_name)
}

#' Renders register html for a single register_table
Expand All @@ -179,14 +171,14 @@ create_index_section_files <- function(output_dir, filter, register_table_name =
#' @param register_table The register table
#' @param register_table_name The register table name
render_register_html <- function(filter, register_table, register_table_name){

output_dir <- get_output_dir(filter, register_table_name)
# Add icons to the Repository column for HTML output, use a copy of the register.md
register_table <- add_repository_links_html(register_table)

# Dynamically create the index header, prefix and postfix files
create_index_section_files(output_dir, filter, register_table_name)
generate_html_document_yml(output_dir)
create_index_section_files(filter, register_table_name)
generate_html_document_yml(filter, register_table_name)

output_dir <- get_output_dir(filter, register_table_name)
# Capture the HTML output from a markdown file
# Note that the temp md file must be created even if a md exists because the register table
# now has different icons under "Repository" column
Expand Down Expand Up @@ -222,10 +214,8 @@ render_register_html <- function(filter, register_table, register_table_name){
render_register_htmls <- function(list_register_tables) {
# Loop over each register table
for (filter in names(list_register_tables)){
list_filtered_reg_tables <- list_register_tables[[filter]]

for (register_table_name in names(list_filtered_reg_tables)) {
register_table <- list_filtered_reg_tables[[register_table_name]]
for (register_table_name in names(list_register_tables[[filter]])) {
register_table <- list_register_tables[[filter]][[register_table_name]]
render_register_html(filter, register_table, register_table_name)
}
}
Expand Down
79 changes: 0 additions & 79 deletions R/utils_render_table_codecheckers.R

This file was deleted.

Loading

0 comments on commit 6efab59

Please sign in to comment.