diff --git a/R/register.R b/R/register.R index 28f7506..4629f1d 100644 --- a/R/register.R +++ b/R/register.R @@ -1,27 +1,3 @@ -CONFIG <- new.env() -# Registers can be further divided into filter subgroups -# For cases where an entry does not fall into any subgroup, it's rendered files -# are stored in a folder with its own name -CONFIG$FILTER_SUB_GROUPS <- list( - venues = list("community", "journal", "conference") -) -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 #' #' NOTE: You should put a GitHub API token inth the environment variable `GITHUB_PAT` to fix rate limits. Acquire one at see https://github.com/settings/tokens. @@ -45,10 +21,14 @@ 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") + # Loading config.R file + source(system.file("extdata", "config.R", package = "codecheck")) register_table <- preprocess_register(register, filter_by) + + # Setting number of codechecks now for later use. This is done to avoid double counting codechecks + # done by multiple authors. + CONFIG$NO_CODECHECKS <- nrow(register_table) # Creating list of of register tables with indices being the filter types list_register_tables <- c() @@ -65,7 +45,7 @@ register_render <- function(register = read.csv("register.csv", as.is = TRUE), } # Rendering files - # if ("md" %in% outputs) render_register_mds(list_register_tables) + if ("md" %in% outputs) render_register_mds(list_register_tables) if ("html" %in% outputs) { render_register_htmls(list_register_tables) @@ -74,11 +54,11 @@ register_render <- function(register = read.csv("register.csv", as.is = TRUE), } } if ("json" %in% outputs) { - # render_register_jsons(list_register_tables) + render_register_jsons(list_register_tables) + for (filter in filter_by){ render_non_register_jsons(list_register_tables[[filter]], page_type = filter) } - } return(register_table) diff --git a/R/utils_create_filtered_register_csvs.R b/R/utils_create_filtered_register_csvs.R index 400fe24..a021fd6 100644 --- a/R/utils_create_filtered_register_csvs.R +++ b/R/utils_create_filtered_register_csvs.R @@ -115,7 +115,7 @@ get_output_dir <- function(filter, column_value) { #' @param venue_name The venue_name obtained from the "Type" column of the register #' @return The venue category. If the venue does not belong to any category NULL is returned determine_venue_category <- function(venue_name){ - list_venue_categories <- CONFIG$FILTER_SUB_GROUPS[["venues"]] + list_venue_categories <- CONFIG$FILTER_SUBCATEGORIES[["venues"]] for (category in list_venue_categories){ if (grepl(category, venue_name, ignore.case=TRUE)) { return(category) diff --git a/R/utils_render_register_mds.R b/R/utils_render_register_mds.R index ea0c544..1c81390 100644 --- a/R/utils_render_register_mds.R +++ b/R/utils_render_register_mds.R @@ -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$TEMPLATE_DIR[["reg"]][["md_template"]]) markdown_content <- capture.output(kable(register_table, format = "markdown")) md_table <- add_markdown_title(filter, md_table, register_table_name) diff --git a/R/utils_render_reigster_html.r b/R/utils_render_reigster_html.r index 49beca0..501d09c 100644 --- a/R/utils_render_reigster_html.r +++ b/R/utils_render_reigster_html.r @@ -60,16 +60,17 @@ generate_html_document_yml <- function(output_dir) { #' #' @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 + + # When we have register table names, we are handling the case of reg tables if (!is.null(register_table_name)){ - postfix_template <- readLines(paste0(getwd(), "/docs/templates/reg_tables/index_postfix_template.html"), warn = FALSE) + postfix_template <- readLines(CONFIG$TEMPLATE_DIR[["reg"]][["postfix"]], 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) + postfix_template <- readLines(CONFIG$TEMPLATE_DIR[["non_reg"]][["postfix"]], warn = FALSE) hrefs <- list( json_href = paste0("https://codecheck.org.uk/register/", filter, "/index.json") ) @@ -84,7 +85,7 @@ create_index_postfix_html <- function(output_dir, filter, register_table_name = #' @param output_dir The output directory create_index_prefix_html <- function(output_dir){ # Using the index_prefix_template - prefix_template <- readLines(paste0(getwd(), "/docs/templates/general/index_prefix_template.html"), warn = FALSE) + prefix_template <- readLines(CONFIG$TEMPLATE_DIR[["reg"]][["prefix"]], warn = FALSE) writeLines(prefix_template, paste0(output_dir, "index_prefix.html")) } @@ -93,7 +94,7 @@ create_index_prefix_html <- function(output_dir){ #' @param output_dir The output directory create_index_header_html <- function(output_dir){ # Using the index_header_template - header_template <- readLines(paste0(getwd(), "/docs/templates/general/index_header_template.html"), warn = FALSE) + header_template <- readLines(CONFIG$TEMPLATE_DIR[["reg"]][["header"]], warn = FALSE) writeLines(header_template, paste0(output_dir, "index_header.html")) } diff --git a/R/utils_render_table_codecheckers.R b/R/utils_render_table_codecheckers.R index df71c0b..c840ef7 100644 --- a/R/utils_render_table_codecheckers.R +++ b/R/utils_render_table_codecheckers.R @@ -3,28 +3,28 @@ #' @param list_codechecker_reg_tables The list of codechecker register tables. The indices are the ORCID IDs. render_table_codecheckers_json <- function(list_codechecker_reg_tables){ list_orcid_ids <- names(list_codechecker_reg_tables) - # Check.names arg is set to FALSE so that column "ORCID ID" has the space - table_codecheckers <- data.frame(`ORCID ID`= list_orcid_ids, stringsAsFactors = FALSE, check.names = FALSE) + table_codecheckers <- data.frame(matrix(ncol=0, nrow = length(list_orcid_ids)), stringsAsFactors = FALSE) + col_names <- CONFIG$NON_REG_TABLE_COL_NAMES[["codechecker_table"]] + # Column- codechecker names - table_codecheckers$`Codechecker name` <- sapply( - X = table_codecheckers$`ORCID ID`, + table_codecheckers[[col_names[["codechecker"]]]] <- sapply( + X = list_orcid_ids, FUN = function(orcid_id) { - paste0(CONFIG$DICT_ORCID_ID_NAME[orcid_id]) + paste0(CONFIG$DICT_ORCID_ID_NAME[[orcid_id]]) } ) + table_codecheckers[[col_names[["orcid"]]]] <- list_orcid_ids + # Column- No. of codechecks - table_codecheckers$`No. of codechecks` <- sapply( - X = table_codecheckers$`ORCID ID`, + table_codecheckers[[col_names[["no_codechecks"]]]] <- sapply( + X = list_orcid_ids, FUN = function(orcid_id) { paste0(nrow(list_codechecker_reg_tables[[orcid_id]])) } ) - # Arranging the column names - table_codecheckers <- table_codecheckers[, c("Codechecker name", "ORCID ID", "No. of codechecks")] - return(table_codecheckers) } @@ -36,23 +36,27 @@ render_table_codecheckers_json <- function(list_codechecker_reg_tables){ render_table_codecheckers_html <- function(list_codechecker_reg_tables){ list_orcid_ids <- names(list_codechecker_reg_tables) - table_codecheckers <- data.frame(ORCID_ID = list_orcid_ids, stringsAsFactors = FALSE) + col_names <- CONFIG$NON_REG_TABLE_COL_NAMES[["codechecker_table"]] + + no_rows <- length(list_orcid_ids) + + # Initializing the table + table_codecheckers <- data.frame(matrix(ncol= 0, nrow = no_rows), stringsAsFactors = FALSE) # Column- codechecker names # Each codechecker name will be a hyperlink to the register table # with all their codechecks - table_codecheckers$`Codechecker name` <- sapply( - X = table_codecheckers$ORCID_ID, + table_codecheckers[col_names[["codechecker"]]] <- sapply( + X = list_orcid_ids, FUN = function(orcid_id) { - codechecker_name <- CONFIG$DICT_ORCID_ID_NAME[orcid_id] + codechecker_name <- CONFIG$DICT_ORCID_ID_NAME[[orcid_id]] paste0("[", codechecker_name, "](https://codecheck.org.uk/register/codecheckers/", orcid_id, "/)") } ) - - # Column- ORCID ID link - table_codecheckers$ORCID_ID_Link <- sapply( - X = table_codecheckers$ORCID_ID, + # Column- ORCID ID + table_codecheckers[col_names[["orcid"]]] <- sapply( + X = list_orcid_ids, FUN = function(orcid_id) { paste0("[", orcid_id, "](https://orcid.org/", orcid_id, ")") } @@ -60,8 +64,8 @@ render_table_codecheckers_html <- function(list_codechecker_reg_tables){ # Column- No. of codechecks # Shown as "no_codechecks (sell all checks)" where "see all checks" links to the checks by # the codechecker - table_codecheckers$`No. of codechecks` <- sapply( - X = table_codecheckers$ORCID_ID, + table_codecheckers[col_names[["no_codechecks"]]] <- sapply( + X = list_orcid_ids, FUN = function(orcid_id) { no_codechecks <- nrow(list_codechecker_reg_tables[[orcid_id]]) paste0(nrow(list_codechecker_reg_tables[[orcid_id]])," [(see all checks)](https://codecheck.org.uk/register/codecheckers/", @@ -69,11 +73,6 @@ render_table_codecheckers_html <- function(list_codechecker_reg_tables){ } ) - # Drop the original ORCID_ID column and rename ORCID_ID_Link to ORCID_ID - table_codecheckers <- table_codecheckers[, c("Codechecker name", "ORCID_ID_Link", "No. of codechecks")] - names(table_codecheckers)[names(table_codecheckers) == "ORCID_ID_Link"] <- "ORCID ID" - - table_codecheckers <- kable(table_codecheckers) return(table_codecheckers) } diff --git a/R/utils_render_table_non_registers.R b/R/utils_render_table_non_registers.R index 7a3a706..7bd4eab 100644 --- a/R/utils_render_table_non_registers.R +++ b/R/utils_render_table_non_registers.R @@ -3,28 +3,37 @@ #' @param list_reg_tables The list of register tables to link to in this html page render_non_register_htmls <- function(list_reg_tables, page_type){ output_dir <- paste0("docs/", page_type, "/") + extra_text <- "" - no_codechecks <- sum(sapply(list_reg_tables, nrow)) if (page_type == "codecheckers"){ table <- render_table_codecheckers_html(list_reg_tables) # Counting number of codecheckers based of number of codechecker reg tables # The table is a kable table and hence we cannot count rows no_codecheckers <- length(list_reg_tables) - subtext <- paste("In total,", no_codecheckers, "codecheckers contributed", no_codechecks, "codechecks") + # Using number of codechecks from CONFIG instead of "no. of codechecks" column to avoid double count + subtext <- paste("In total,", no_codecheckers, "codecheckers contributed", CONFIG$NO_CODECHECKS, "codechecks*") + + # Extra text to explain why total_codechecks != SUM(no.of codechecks) + extra_text <- "\\*Note that the total codechecks is less than the collective sum of + individual codecheckers' number of codechecks. + This is because some codechecks involved more than one codechecker." } - else if (page_type == "venues"){ + else if (page_type == "venues") { table <- render_table_venues_html(list_reg_tables) no_venues <- length(list_reg_tables) - subtext <- paste("In total,", no_codechecks, "codechecks were completed for", no_venues, "venues") + subtext <- paste("In total,", CONFIG$NO_CODECHECKS, "codechecks were completed for", no_venues, "venues") } + # Creating and adjusting the markdown table - md_table <- load_md_template(CONFIG$MD_NON_REG_TEMPLATE) + table <- kable(table) + md_table <- load_md_template(CONFIG$TEMPLATE_DIR[["non_reg"]][["md_template"]]) title <- paste0("CODECHECK List of ", page_type) md_table <- gsub("\\$title\\$", title, md_table) md_table <- gsub("\\$subtitle\\$", subtext, md_table) md_table <- gsub("\\$content\\$", paste(table, collapse = "\n"), md_table) + md_table <- gsub("\\$extra_text\\$", extra_text, md_table) # Saving the table to a temp md file temp_md_path <- paste0(output_dir, "temp.md") @@ -61,13 +70,14 @@ render_non_register_htmls <- function(list_reg_tables, page_type){ render_non_register_jsons <- function(list_reg_tables, page_type){ output_dir <- paste0("docs/", page_type, "/") - if (page_type == "codeheckers"){ + if (page_type == "codecheckers"){ table <- render_table_codecheckers_json(list_reg_tables) } - else if (page_type == "venues") { + else if (page_type == "venues"){ table <- render_table_venues_json(list_reg_tables) } + jsonlite::write_json( table, path = paste0(output_dir, "index.json"), diff --git a/R/utils_render_table_venues.r b/R/utils_render_table_venues.r index 6244383..129e9e1 100644 --- a/R/utils_render_table_venues.r +++ b/R/utils_render_table_venues.r @@ -2,21 +2,29 @@ #' #' @param list_venue_reg_tables The list of venue register tables. The indices are the venue names. render_table_venues_json <- function(list_venue_reg_tables){ + col_names <- CONFIG$NON_REG_TABLE_COL_NAMES[["venues_table"]] list_venue_names <- names(list_venue_reg_tables) - # Check.names arg is set to FALSE so that column "Venue name" has the space - table_venues <- data.frame(`Venue name`= list_venue_names, stringsAsFactors = FALSE, check.names = FALSE) + + # Create initial data frame + table_venues <- data.frame( + matrix(ncol=0, nrow = length(list_venue_names)), + stringsAsFactors = FALSE, + check.names = FALSE + ) + + table_venues[[col_names[["venue_name"]]]] <- list_venue_names # Column- No. of codechecks - table_venues$`No. of codechecks` <- sapply( - X = table_venues$`Venue name`, + table_venues[[col_names[["no_codechecks"]]]] <- sapply( + X = list_venue_names, FUN = function(venue_name) { paste0(nrow(list_venue_reg_tables[[venue_name]])) } ) # Column- Venue type - table_venues$`Venue type` <- sapply( - X = table_venues$`Venue name`, + table_venues[[col_names[["venue_type"]]]] <- sapply( + X = table_venues[[col_names[["venue_name"]]]], FUN = function(venue_name){ venue_type <- determine_venue_category(venue_name) stringr::str_to_title(venue_type) @@ -24,13 +32,18 @@ render_table_venues_json <- function(list_venue_reg_tables){ ) # Column- venue names - table_venues$`Venue name` <- sapply( - X = table_venues$`Venue name`, + # Using the full names of the venues + table_venues[[col_names[["venue_name"]]]] <- sapply( + X = table_venues[[col_names[["venue_name"]]]], FUN = function(venue_name){ CONFIG$DICT_VENUE_NAMES[[venue_name]] } ) + # Reordering the table + desired_order_cols <- unlist(col_names) + table_venues <- table_venues[, desired_order_cols] + return(table_venues) } @@ -40,14 +53,21 @@ render_table_venues_json <- function(list_venue_reg_tables){ #' #' @param list_venue_reg_tables The list of venue register tables. The indices are the ORCID IDs. render_table_venues_html <- function(list_venue_reg_tables){ + col_names <- CONFIG$NON_REG_TABLE_COL_NAMES[["venues_table"]] list_venue_names <- names(list_venue_reg_tables) - # Check.names arg is set to FALSE so that column "Venue name" has the space - table_venues <- data.frame(`Venue name`= list_venue_names, stringsAsFactors = FALSE, check.names = FALSE) + # Create initial data frame + table_venues <- data.frame( + matrix(ncol=0, nrow = length(list_venue_names)), + stringsAsFactors = FALSE, + check.names = FALSE + ) + + table_venues[[col_names[["venue_name"]]]] <- list_venue_names # Column- Venue type - table_venues$`Venue type` <- sapply( - X = table_venues$`Venue name`, + table_venues[[col_names[["venue_type"]]]] <- sapply( + X = list_venue_names, FUN = function(venue_name){ venue_type <- determine_venue_category(venue_name) stringr::str_to_title(venue_type) @@ -55,7 +75,7 @@ render_table_venues_html <- function(list_venue_reg_tables){ ) # Column- No. of codechecks - table_venues$`No. of codechecks` <- mapply( + table_venues[[col_names[["no_codechecks"]]]] <- mapply( FUN = function(venue_name, venue_type) { no_codechecks <- nrow(list_venue_reg_tables[[venue_name]]) formatted_venue_type <- stringr::str_to_lower(venue_type) @@ -63,29 +83,30 @@ render_table_venues_html <- function(list_venue_reg_tables){ paste0(no_codechecks," [(see all checks)](https://codecheck.org.uk/register/venues/", formatted_venue_type, "/", formatted_venue_name, "/)") }, - venue_name = table_venues$`Venue name`, - venue_type = table_venues$`Venue type` + venue_name = table_venues[[col_names[["venue_name"]]]], + venue_type = table_venues[[col_names[["venue_type"]]]] ) # Column- venue names # Each venue name will be a hyperlink to the register table # with all their codechecks - table_venues$`Venue name` <- mapply( + table_venues[[col_names[["venue_name"]]]] <- mapply( FUN = function(venue_name, venue_type){ if (is.null(CONFIG$DICT_VENUE_NAMES[[venue_name]])) { - return(NA) # Handle cases where venue_name is not in CONFIG$DICT_VENUE_NAMES + return(venue_name) # Handle cases where venue_name is not in CONFIG$DICT_VENUE_NAMES } formatted_venue_type <- stringr::str_to_lower(venue_type) formatted_venue_name <- determine_venue_name(venue_name, venue_type) paste0("[", CONFIG$DICT_VENUE_NAMES[[venue_name]], "](https://codecheck.org.uk/register/venues/", formatted_venue_type, "/", formatted_venue_name, "/)") }, - venue_name = table_venues$`Venue name`, - venue_type = table_venues$`Venue type` + venue_name = table_venues[[col_names[["venue_name"]]]], + venue_type = table_venues[[col_names[["venue_type"]]]] ) - table_venues <- table_venues[, c("Venue type", "Venue name", "No. of codechecks")] + # Reordering the table + desired_order_cols <- unlist(col_names) + table_venues <- table_venues[, desired_order_cols] - table_venues <- kable(table_venues, align = "lll") return(table_venues) } diff --git a/README.md b/README.md index c11fb44..e780bc7 100644 --- a/README.md +++ b/README.md @@ -50,5 +50,5 @@ build_install_test(".") ## License -Copyright 2022 S. Eglen & D. Nüst. The `codecheck` package is published +Copyright 2024 S. Eglen & D. Nüst. The `codecheck` package is published under the MIT license, see file `LICENSE`. diff --git a/inst/extdata/config.R b/inst/extdata/config.R new file mode 100644 index 0000000..eceef3f --- /dev/null +++ b/inst/extdata/config.R @@ -0,0 +1,60 @@ +CONFIG <- new.env() + +# REGISTER TABLE +CONFIG$MD_COLUMNS_WIDTHS <- "|:-------|:--------------------------------|:------------------|:---|:--------------------------|:----------|" +CONFIG$REGISTER_COLUMNS <- list("Certificate", "Repository", "Type", "Issue", "Report", "Check date") +CONFIG$DIR_TEMP_REGISTER_CODECHECKER <- "docs/temp_register_codechecker.csv" + +# NON-REGISTER_TABLE +# Note that the order of the names in the list will be the order of table columns in html and json +CONFIG$NON_REG_TABLE_COL_NAMES <- list( + "codechecker_table" = list( + "codechecker" = "Codechecker name", + "orcid" = "ORCID ID", + "no_codechecks" = "No. of codechecks" + ), + + "venues_table" = list( + "venue_type" = "Venue type", + "venue_name" = "Venue name", + "no_codechecks" = "No. of codechecks" + ) +) + +# REGISTER FILTER SUBCATEGORIES +# Each filter can be further divided into each of these subgroups +CONFIG$FILTER_SUBCATEGORIES <- list( + venues = list("community", "journal", "conference") +) + +# OTHERS +CONFIG$DICT_ORCID_ID_NAME <- list() + +# DIRECTORIES +CONFIG$TEMPLATE_DIR<- list( + "non_reg" = list( + "postfix" = system.file("extdata", "templates/non_reg_tables/index_postfix_template.html", package = "codecheck"), + "header" = system.file("extdata", "templates/general/index_header_template.html", package = "codecheck"), + "prefix" = system.file("extdata", "templates/general/index_prefix_template.html", package = "codecheck"), + "md_template" = system.file("extdata", "templates/non_reg_tables/template.md", package = "codecheck") + ), + "reg" = list( + "postfix" = system.file("extdata", "templates/reg_tables/index_postfix_template.html", package = "codecheck"), + "header" = system.file("extdata", "templates/general/index_header_template.html", package = "codecheck"), + "prefix" = system.file("extdata", "templates/general/index_prefix_template.html", package = "codecheck"), + "md_template" = system.file("extdata", "templates/reg_tables/template.md", package = "codecheck") + ) +) + +# DICT OF VENUE NAMES +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" +) \ No newline at end of file diff --git a/inst/extdata/templates/general/index_header_template.html b/inst/extdata/templates/general/index_header_template.html new file mode 100644 index 0000000..75b30c8 --- /dev/null +++ b/inst/extdata/templates/general/index_header_template.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/inst/extdata/templates/general/index_prefix_template.html b/inst/extdata/templates/general/index_prefix_template.html new file mode 100644 index 0000000..e69de29 diff --git a/inst/extdata/templates/non_reg_tables/index_postfix_template.html b/inst/extdata/templates/non_reg_tables/index_postfix_template.html new file mode 100644 index 0000000..3e3dc4a --- /dev/null +++ b/inst/extdata/templates/non_reg_tables/index_postfix_template.html @@ -0,0 +1,32 @@ +

+ JSON +

+ +
+ + +
+

https://codecheck.org.uk/ | + GitHub + + + codecheckers

+ +

© Stephen Eglen & Daniel + Nüst

+ +

Published under CC BY-SA 4.0
+

+ +

DOI of Zenodo Deposit

+ +

CODECHECK is a process for independent execution of + computations underlying scholarly research articles.

+
\ No newline at end of file diff --git a/inst/extdata/templates/template_non_register.md b/inst/extdata/templates/non_reg_tables/template.md similarity index 80% rename from inst/extdata/templates/template_non_register.md rename to inst/extdata/templates/non_reg_tables/template.md index ed3048f..0e63ca3 100644 --- a/inst/extdata/templates/template_non_register.md +++ b/inst/extdata/templates/non_reg_tables/template.md @@ -3,3 +3,4 @@ title: $title$ subtitle: $subtitle$ --- $content$ +$extra_text$ diff --git a/inst/extdata/templates/reg_tables/index_postfix_template.html b/inst/extdata/templates/reg_tables/index_postfix_template.html new file mode 100644 index 0000000..1c177f8 --- /dev/null +++ b/inst/extdata/templates/reg_tables/index_postfix_template.html @@ -0,0 +1,37 @@ +

+ CSV source | searchable CSV | JSON | Markdown +

+ +
+ + +
+

https://codecheck.org.uk/ | + GitHub + + + codecheckers

+ +

© Stephen Eglen & Daniel + Nüst

+ +

Published under CC BY-SA 4.0
+

+ +

DOI of Zenodo Deposit

+ +

CODECHECK is a process for independent execution of + computations underlying scholarly research articles.

+
diff --git a/inst/extdata/templates/template_register.md b/inst/extdata/templates/reg_tables/template.md similarity index 100% rename from inst/extdata/templates/template_register.md rename to inst/extdata/templates/reg_tables/template.md