@@ -32,9 +32,10 @@ add_repository_links_html <- function(register_table) {
32
32
# ' Dynamically generates a html_document.yml with the full paths to the index header, prefix
33
33
# ' and postfix.html files.
34
34
# '
35
- # ' @param output_dir The output directory where the html_document needs to be saved.
36
- generate_html_document_yml <- function (output_dir ) {
37
- output_dir <- paste0(getwd(), " /" , output_dir )
35
+ # ' @param filter The filter name
36
+ # ' @param register_table_name The register table name
37
+ generate_html_document_yml <- function (filter , register_table_name ) {
38
+ dir <- paste0(getwd(), " /" , get_output_dir(filter , register_table_name ))
38
39
39
40
yaml_content <- sprintf(
40
41
" # DO NOT EDIT THIS FILE MANUALLY
@@ -47,62 +48,54 @@ generate_html_document_yml <- function(output_dir) {
47
48
highlight: null
48
49
self_contained: false
49
50
lib_dir: libs" ,
50
- output_dir , output_dir , output_dir
51
+ dir , dir , dir
51
52
)
52
- writeLines(yaml_content , paste0(output_dir , " html_document.yml" ))
53
+ writeLines(yaml_content , paste0(dir , " html_document.yml" ))
53
54
}
54
55
55
56
# ' Dynamically generates the index_postfix.html from a template file
56
57
# '
57
- # ' @param output_dir The output directory
58
58
# ' @param filter The filter name
59
- # ' @param register_table_name The register table name. If this is NULL we are generating list of venues/ codecheckers
59
+ # ' @param register_table_name The register table name
60
60
# '
61
61
# ' @importFrom whisker whisker.render
62
- create_index_postfix_html <- function (output_dir , filter , register_table_name = NULL ){
63
- # When we have a reg table name, we adjusting the hrefs of the postfix
64
- if (! is.null(register_table_name )){
65
- postfix_template <- readLines(paste0(getwd(), " /docs/templates/reg_tables/index_postfix_template.html" ), warn = FALSE )
66
- # Render the template with the correct hrefs
67
- hrefs <- generate_html_postfix_hrefs_reg(filter , register_table_name )
68
- }
69
-
70
- # Generating the postfix for non-register table pages (e.g. list of venues and codecheckers)
71
- else {
72
- postfix_template <- readLines(paste0(getwd(), " /docs/templates/codecheckers_venues_list/index_postfix_template.html" ), warn = FALSE )
73
- hrefs <- list (
74
- json_href = paste0(" https://codecheck.org.uk/register/" , filter , " /index.json" )
75
- )
76
- }
62
+ create_index_postfix_html <- function (filter , register_table_name ){
63
+ hrefs <- generate_html_postfix_hrefs(filter , register_table_name )
77
64
65
+ # Using the index_postfix_template
66
+ postfix_template <- readLines(paste0(getwd(), " /docs/index_postfix_template.html" ), warn = FALSE )
67
+ # Render the template with the correct hrefs
78
68
output <- whisker.render(postfix_template , hrefs )
79
- writeLines(output , paste0(output_dir , " index_postfix.html" ))
69
+ writeLines(output , paste0(get_output_dir( filter , register_table_name ) , " index_postfix.html" ))
80
70
}
81
71
82
72
# ' Dynamically generates the index_prefix.html from a template file
83
73
# '
84
- # ' @param output_dir The output directory
85
- create_index_prefix_html <- function (output_dir ){
74
+ # ' @param filter The filter name
75
+ # ' @param register_table_name The register table name
76
+ create_index_prefix_html <- function (filter , register_table_name ){
86
77
# Using the index_prefix_template
87
- prefix_template <- readLines(paste0(getwd(), " /docs/templates/general/index_prefix_template.html" ), warn = FALSE )
88
- writeLines(prefix_template , paste0(output_dir , " index_prefix.html" ))
78
+ prefix_template <- readLines(paste0(getwd(), " /docs/index_prefix_template.html" ), warn = FALSE )
79
+
80
+ writeLines(prefix_template , paste0(get_output_dir(filter , register_table_name ), " index_prefix.html" ))
89
81
}
90
82
91
83
# ' Dynamically generates the index_header.html from a template file
92
84
# '
93
- # ' @param output_dir The output directory
94
- create_index_header_html <- function (output_dir ){
85
+ # ' @param filter The filter name
86
+ # ' @param register_table_name The register table name
87
+ create_index_header_html <- function (filter , register_table_name ){
95
88
# Using the index_header_template
96
- header_template <- readLines(paste0(getwd(), " /docs/templates/general/ index_header_template.html" ), warn = FALSE )
89
+ header_template <- readLines(paste0(getwd(), " /docs/index_header_template.html" ), warn = FALSE )
97
90
98
- writeLines(header_template , paste0(output_dir , " index_header.html" ))
91
+ writeLines(header_template , paste0(get_output_dir( filter , register_table_name ) , " index_header.html" ))
99
92
}
100
93
101
- # ' Generates the hrefs to set in the postfix.html file for the rendering of register tables .
94
+ # ' Generates the hrefs to set in the postfix.html file.
102
95
# '
103
96
# ' @param filter The filter name
104
97
# ' @param register_table_name The register table name
105
- generate_html_postfix_hrefs_reg <- function (filter , register_table_name ) {
98
+ generate_html_postfix_hrefs <- function (filter , register_table_name ) {
106
99
hrefs <- list (
107
100
csv_source_href = generate_href(filter , register_table_name , " csv_source" ),
108
101
searchable_csv_href = generate_href(filter , register_table_name , " searchable_csv" ),
@@ -162,15 +155,14 @@ generate_href <- function(filter, register_table_name, href_type) {
162
155
}
163
156
}
164
157
165
- # ' Creates index postfix, prefix and the header
158
+ # ' Creates html files for each index section- the index postfix, prefix and the header
166
159
# '
167
- # ' @param output_dir The output directory of the section files
168
160
# ' @param filter The filter name
169
161
# ' @param register_table_name The register table name
170
- create_index_section_files <- function (output_dir , filter , register_table_name = NULL ) {
171
- create_index_postfix_html(output_dir , filter , register_table_name )
172
- create_index_prefix_html(output_dir )
173
- create_index_header_html(output_dir )
162
+ create_index_section_files <- function (filter , register_table_name ) {
163
+ create_index_postfix_html(filter , register_table_name )
164
+ create_index_prefix_html(filter , register_table_name )
165
+ create_index_header_html(filter , register_table_name )
174
166
}
175
167
176
168
# ' Renders register html for a single register_table
@@ -179,14 +171,14 @@ create_index_section_files <- function(output_dir, filter, register_table_name =
179
171
# ' @param register_table The register table
180
172
# ' @param register_table_name The register table name
181
173
render_register_html <- function (filter , register_table , register_table_name ){
182
-
183
- output_dir <- get_output_dir(filter , register_table_name )
174
+ # Add icons to the Repository column for HTML output, use a copy of the register.md
184
175
register_table <- add_repository_links_html(register_table )
185
176
186
177
# Dynamically create the index header, prefix and postfix files
187
- create_index_section_files(output_dir , filter , register_table_name )
188
- generate_html_document_yml(output_dir )
178
+ create_index_section_files(filter , register_table_name )
179
+ generate_html_document_yml(filter , register_table_name )
189
180
181
+ output_dir <- get_output_dir(filter , register_table_name )
190
182
# Capture the HTML output from a markdown file
191
183
# Note that the temp md file must be created even if a md exists because the register table
192
184
# now has different icons under "Repository" column
@@ -222,10 +214,8 @@ render_register_html <- function(filter, register_table, register_table_name){
222
214
render_register_htmls <- function (list_register_tables ) {
223
215
# Loop over each register table
224
216
for (filter in names(list_register_tables )){
225
- list_filtered_reg_tables <- list_register_tables [[filter ]]
226
-
227
- for (register_table_name in names(list_filtered_reg_tables )) {
228
- register_table <- list_filtered_reg_tables [[register_table_name ]]
217
+ for (register_table_name in names(list_register_tables [[filter ]])) {
218
+ register_table <- list_register_tables [[filter ]][[register_table_name ]]
229
219
render_register_html(filter , register_table , register_table_name )
230
220
}
231
221
}
0 commit comments