[R-pkg-devel] HTML validation error in roxygen2 generated documentation

Nikos Bosse n|ko@bo@@e @end|ng |rom gm@||@com
Thu Oct 31 18:04:47 CET 2024


Dear list,

I'm trying to submit an updated version of R package scoringutils to CRAN (https://github.com/epiforecasts/scoringutils). I built the package using `R CMD build` with Roxygen2 7.3.2 both on Mac and on Ubuntu.

I'm seeing a NOTE related to several HTML validation problems (see below).

These are some of the offending Rd files and corresponding source files:

• https://github.com/epiforecasts/scoringutils/blob/main/man/ae_median_quantile.Rd, https://github.com/epiforecasts/scoringutils/blob/efb41afd9925ffc4b62963abc0642cc1f7447c22/R/metrics-quantile.R#L559https://github.com/epiforecasts/scoringutils/blob/main/man/dss_sample.Rd, https://github.com/epiforecasts/scoringutils/blob/efb41afd9925ffc4b62963abc0642cc1f7447c22/R/metrics-sample.R#L224https://github.com/epiforecasts/scoringutils/blob/main/man/interpolate_median.Rd, https://github.com/epiforecasts/scoringutils/blob/efb41afd9925ffc4b62963abc0642cc1f7447c22/R/metrics-quantile.R#L530


I suspect the issue might be related to images that get added using the following code (https://github.com/epiforecasts/scoringutils/blob/efb41afd9925ffc4b62963abc0642cc1f7447c22/R/documentation-templates.R#L106):

```
#' Illustration of required inputs for sample-based forecasts
#' @details # Input format
#' \if{html}{
#'   \out{<div style="text-align: left">}
#'   \figure{metrics-sample.png}{options: style="width:750px;max-width:100\%;"}
#'   \out{</div>}
#' }
#' \if{latex}{
#'   \figure{metrics-sample.png}
#' }
#' @name illustration-input-metric-sample
#' @keywords internal
NULL
```

I've tried changing @details to @section, tried adding linebreaks, but that didn't help, unfortunately.
Any help would be much appreciated, thank you!

Best wishes,
Nikos


CRAN Note:

Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64
Check: HTML version of manual, Result: NOTE
 Found the following HTML validation problems:
 ae_median_quantile.html:79:1 (ae_median_quantile.Rd:41): Warning: inserting implicit <p>
 ae_median_quantile.html:79:1 (ae_median_quantile.Rd:41): Warning: trimming empty <p>
 ae_median_sample.html:71:1 (ae_median_sample.Rd:35): Warning: inserting implicit <p>
 ae_median_sample.html:71:1 (ae_median_sample.Rd:35): Warning: trimming empty <p>
 bias_quantile.html:133:1 (bias_quantile.Rd:85): Warning: inserting implicit <p>
 bias_quantile.html:133:1 (bias_quantile.Rd:85): Warning: trimming empty <p>
 bias_sample.html:94:1 (bias_sample.Rd:56): Warning: inserting implicit <p>
 bias_sample.html:94:1 (bias_sample.Rd:56): Warning: trimming empty <p>
 crps_sample.html:107:1 (crps_sample.Rd:73): Warning: inserting implicit <p>
 crps_sample.html:107:1 (crps_sample.Rd:73): Warning: trimming empty <p>
 dss_sample.html:70:1 (dss_sample.Rd:35): Warning: inserting implicit <p>
 dss_sample.html:70:1 (dss_sample.Rd:35): Warning: trimming empty <p>
 get_metrics.forecast_binary.html:82:1 (get_metrics.forecast_binary.Rd:39): Warning: inserting implicit <p>
 get_metrics.forecast_binary.html:82:1 (get_metrics.forecast_binary.Rd:39): Warning: trimming empty <p>
 get_metrics.forecast_point.html:92:1 (get_metrics.forecast_point.Rd:50): Warning: inserting implicit <p>
 get_metrics.forecast_point.html:92:1 (get_metrics.forecast_point.Rd:50): Warning: trimming empty <p>
 get_metrics.forecast_quantile.html:104:1 (get_metrics.forecast_quantile.Rd:52): Warning: inserting implicit <p>
 get_metrics.forecast_quantile.html:104:1 (get_metrics.forecast_quantile.Rd:52): Warning: trimming empty <p>
 get_metrics.forecast_sample.html:100:1 (get_metrics.forecast_sample.Rd:44): Warning: inserting implicit <p>
 get_metrics.forecast_sample.html:100:1 (get_metrics.forecast_sample.Rd:44): Warning: trimming empty <p>
 get_pairwise_comparisons.html:43:1 (get_pairwise_comparisons.Rd:74): Warning: inserting implicit <p>
 get_pairwise_comparisons.html:43:1 (get_pairwise_comparisons.Rd:74): Warning: trimming empty <p>
 illustration-input-metric-binary-point.html:35:1 (illustration-input-metric-binary-point.Rd:17): Warning: inserting implicit <p>
 illustration-input-metric-binary-point.html:35:1 (illustration-input-metric-binary-point.Rd:17): Warning: trimming empty <p>
 illustration-input-metric-nominal.html:35:1 (illustration-input-metric-nominal.Rd:17): Warning: inserting implicit <p>
 illustration-input-metric-nominal.html:35:1 (illustration-input-metric-nominal.Rd:17): Warning: trimming empty <p>
 illustration-input-metric-quantile.html:35:1 (illustration-input-metric-quantile.Rd:17): Warning: inserting implicit <p>
 illustration-input-metric-quantile.html:35:1 (illustration-input-metric-quantile.Rd:17): Warning: trimming empty <p>
 illustration-input-metric-sample.html:35:1 (illustration-input-metric-sample.Rd:17): Warning: inserting implicit <p>
 illustration-input-metric-sample.html:35:1 (illustration-input-metric-sample.Rd:17): Warning: trimming empty <p>
 interpolate_median.html:67:1 (interpolate_median.Rd:34): Warning: inserting implicit <p>
 interpolate_median.html:67:1 (interpolate_median.Rd:34): Warning: trimming empty <p>
 interval_coverage.html:83:1 (interval_coverage.Rd:46): Warning: inserting implicit <p>
 interval_coverage.html:83:1 (interval_coverage.Rd:46): Warning: trimming empty <p>
 logs_sample.html:81:1 (logs_sample.Rd:46): Warning: inserting implicit <p>
 logs_sample.html:81:1 (logs_sample.Rd:46): Warning: trimming empty <p>
 mad_sample.html:77:1 (mad_sample.Rd:42): Warning: inserting implicit <p>
 mad_sample.html:77:1 (mad_sample.Rd:42): Warning: trimming empty <p>
 pit_histogram_sample.html:120:32 (pit_histogram_sample.Rd:84): Warning: trimming empty <code>
 pit_histogram_sample.html:127:32 (pit_histogram_sample.Rd:90): Warning: trimming empty <code>
 quantile_score.html:119:1 (quantile_score.Rd:76): Warning: inserting implicit <p>
 quantile_score.html:119:1 (quantile_score.Rd:76): Warning: trimming empty <p>
 scoring-functions-binary.html:112:1 (scoring-functions-binary.Rd:78): Warning: inserting implicit <p>
 scoring-functions-binary.html:112:1 (scoring-functions-binary.Rd:78): Warning: trimming empty <p>
 scoring-functions-nominal.html:73:1 (scoring-functions-nominal.Rd:38): Warning: inserting implicit <p>
 scoring-functions-nominal.html:73:1 (scoring-functions-nominal.Rd:38): Warning: trimming empty <p>
 se_mean_sample.html:64:1 (se_mean_sample.Rd:34): Warning: inserting implicit <p>
 se_mean_sample.html:64:1 (se_mean_sample.Rd:34): Warning: trimming empty <p>
 wis.html:210:1 (wis.Rd:169): Warning: inserting implicit <p>
 wis.html:210:1 (wis.Rd:169): Warning: trimming empty <p>








R version 4.3.1 (2023-06-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so;  LAPACK version 3.10.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: Etc/UTC
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.3.1 tools_4.3.1

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list