From 728359cd563565217e0cec4cc7e51b5d4b3d11c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= Date: Thu, 27 Jun 2024 14:36:06 +0200 Subject: [PATCH 01/61] Fix `deploy_to_branch()` for pristine repositories (#2674) --- R/clean.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/clean.R b/R/clean.R index 6c4ba235d..8f781e54e 100644 --- a/R/clean.R +++ b/R/clean.R @@ -15,8 +15,10 @@ clean_site <- function(pkg = ".", quiet = FALSE) { if (!dir_exists(pkg$dst_path)) return(invisible()) - check_dest_is_pkgdown(pkg) top_level <- dest_files(pkg) + if (length(top_level) > 0) { + check_dest_is_pkgdown(pkg) + } is_dir <- is_dir(top_level) dir_delete(top_level[is_dir]) From 982c207949800025ed6c392c620d7b0e69143fad Mon Sep 17 00:00:00 2001 From: olivroy <52606734+olivroy@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:06:35 -0400 Subject: [PATCH 02/61] Clarify that Quarto 1.5 is required for Quarto vignettes (#2676) * Clarify that Quarto 1.5 is required. * Fix condition * install quarto 1.5 in preview --- .github/workflows/netlify.yaml | 2 ++ NEWS.md | 2 +- R/build-quarto-articles.R | 6 ++++-- tests/testthat/helper.R | 1 + tests/testthat/test-figure.R | 1 + 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/netlify.yaml b/.github/workflows/netlify.yaml index 3bc4f8ebd..119b157ba 100644 --- a/.github/workflows/netlify.yaml +++ b/.github/workflows/netlify.yaml @@ -18,6 +18,8 @@ jobs: - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 + with: + version: pre-release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/NEWS.md b/NEWS.md index 9393e451e..05d0ba905 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,7 +3,7 @@ ## Major changes * Added @olivroy and @salim-b as pkgdown authors in recognition of their contributions. -* `build_articles()` and `build_article()` now support articles/vignettes written with quarto. Combining the disparate quarto and pkgdown templating systems is a delicate art, so while I've done my best to make it work, there may be some rough edges. So please file an issue you encounter quarto features that don't work quite right. Learn more in `vignette("quarto")`(#2210). +* `build_articles()` and `build_article()` now support articles/vignettes written with quarto (version 1.5 and above). Combining the disparate quarto and pkgdown templating systems is a delicate art, so while I've done my best to make it work, there may be some rough edges. So please file an issue you encounter quarto features that don't work quite right. Learn more in `vignette("quarto")`(#2210). * New light switch makes it easy for users to switch between light and dark themes for the website (based on work in bslib by @gadenbuie). For now this behaviour is opt-in with `template.light-switch: true` but in the future we may turn it on automatically. See the customization vignette for details (#1696). * New `vignette("translations")` that discusses non-English sites including how to submit new translations (#2605). * New `vignette("accessibility")` describes what manual tasks you need to perform to make your site as accessible as possible (#2344). diff --git a/R/build-quarto-articles.R b/R/build-quarto-articles.R index b50aa4171..806297641 100644 --- a/R/build-quarto-articles.R +++ b/R/build-quarto-articles.R @@ -1,5 +1,4 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { - check_required("quarto") pkg <- as_pkgdown(pkg) qmds <- pkg$vignettes[pkg$vignettes$type == "qmd", ] @@ -9,7 +8,10 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { if (nrow(qmds) == 0) { return() } - + check_installed("quarto") + if (quarto::quarto_version() < "1.5") { + cli::cli_abort("Quarto articles require version 1.5 and above.", call = NULL) + } # Let user know what's happening old_digest <- purrr::map_chr(path(pkg$dst_path, qmds$file_out), file_digest) for (file in qmds$file_in) { diff --git a/tests/testthat/helper.R b/tests/testthat/helper.R index 2362b0ae1..a01804101 100644 --- a/tests/testthat/helper.R +++ b/tests/testthat/helper.R @@ -4,6 +4,7 @@ skip_if_no_pandoc <- function(version = "1.12.3") { skip_if_no_quarto <- function() { skip_on_os("windows") # quarto set up currently broken? skip_if(is.null(quarto::quarto_path()), "quarto not available") + skip_if_not(quarto::quarto_version() >= "1.5", "quarto 1.5 not available") } # Simulate a package -------------------------------------------------------- diff --git a/tests/testthat/test-figure.R b/tests/testthat/test-figure.R index e79fdf417..5a9ffd207 100644 --- a/tests/testthat/test-figure.R +++ b/tests/testthat/test-figure.R @@ -1,5 +1,6 @@ test_that("can override defaults in _pkgdown.yml", { skip_if_no_pandoc() + skip_if_no_quarto() withr::local_temp_libpaths() pkg <- local_pkgdown_site(test_path("assets/figure")) From a98c134518cc9f5006f9ce17d4b6fc29ea37b56b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Fri, 28 Jun 2024 17:15:09 +0200 Subject: [PATCH 03/61] typo fix (#2680) --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 05d0ba905..604a3798a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -52,7 +52,7 @@ * `` tags now have their `srcref` attributes tweaked in the same way that the `src` attributes of `` tags are (#2402). * `as.pkgdown()` will no longer prompt you to install a missing template package from CRAN, since these are almost always found in GitHub (#2076). * `build_articles()` now recognises a new `external-articles` top-level field that allows you to define articles that live in other packages (#2028). -* `build_article()` no long has a `data` argument. This is technically a breaking change, but I can't figure out why anyone would have ever used it. +* `build_article()` no longer has a `data` argument. This is technically a breaking change, but I can't figure out why anyone would have ever used it. * `build_*()` (apart from `build_site()`) functions no longer default to previewing in interactive sessions since they now all emit specific links to newly generated files. * `build_article()` now translates the "Abstract" title if it's used. * `build_article()` now escapes html characters in the title (#2286). From 221a1e45cfd857c3b467a8c3ce2d1c0624563405 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 3 Jul 2024 08:53:04 -0500 Subject: [PATCH 04/61] Re-compile translations and add news bullet (#2684) Closes #2659 --- NEWS.md | 1 + inst/po/ca/LC_MESSAGES/R-pkgdown.mo | Bin 3779 -> 4494 bytes inst/po/es/LC_MESSAGES/R-pkgdown.mo | Bin 3893 -> 4374 bytes inst/po/fr/LC_MESSAGES/R-pkgdown.mo | Bin 3799 -> 4575 bytes inst/po/tr/LC_MESSAGES/R-pkgdown.mo | Bin 3519 -> 4437 bytes 5 files changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 604a3798a..0e168d365 100644 --- a/NEWS.md +++ b/NEWS.md @@ -35,6 +35,7 @@ * pkgdown no longer overrides the default selection colours. This improves accessibility for users who have set their own colours in their browser settings (#2139, @glin). * If you put a dropdown menu (e.g. articles) on the right hand side of the navbar, it will now be right aligned. This makes longer titles more likely to stay on the page (#2421). * BS5 templates no longer include empty link to logo when none exists (#2536). +* Updated translations from @jplecavalier, @dieghernan, @krlmlr, @LDalby, @rich-iannone, @jmaspons, and @mine-cetinkaya-rundel (#2659). ## `_pkgdown.yaml` diff --git a/inst/po/ca/LC_MESSAGES/R-pkgdown.mo b/inst/po/ca/LC_MESSAGES/R-pkgdown.mo index e5fb6fc9b77b77fb1cefeb65d139af5f3999771b..3a2a99f2ec1fa5257c9fe66c1a958c45e9cdfd4e 100644 GIT binary patch literal 4494 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 O^_Q(n%eB2}*?$3~sfphJ diff --git a/inst/po/es/LC_MESSAGES/R-pkgdown.mo b/inst/po/es/LC_MESSAGES/R-pkgdown.mo index a5b84d4a0b56172d462656d6a774f6a1ebe5d6a1..30ea82433e3039758489716222589e6743332026 100644 GIT binary patch delta 2124 zcmY+ETWnNC7{{mfMlV2Vp_R(z(26YV|lqT71;Bj z)-8rinO4YSR`Qw)lduH#Li~)Id+F3L5I{M|K{*(A_7iY6_F-qg0as(c2NlSVP!2D{ zD)=YlF~vBkgjJ69uo`=bvlDOz`n;U zt$!RUkt0xnz6$5Sw;Vr#JmxenRqhNNS0)$eh`&O8co`~?za2|4V-S`10KaW;Ye@#5?Ch~9=_EBfQ4-XX?a}3_dcn97T;9jW9 z)DLwzbIyJeveX=PoPb*Yk>d%dyL1ZbXuhqc{&Ms^11i-eD2F;AEtm@x(0r)zR!C9I zCb%1RLk0E{R3aZjT$tlf8Ga7s{~O1jp(=G1Dv-)?ylY`2RHV&NfwVy$vzeC`_Cj64 z2cgzSP)GJK)CP}0eg7hy4_|{iDQLueHr|bQEgE`u+Ey7IY`N z9W6v#Q4?B@lzlT&+cu5DnS1mVu$n5j3?)zpT8eg|CFo|Pwiazi{KNm(w7+R{rpnce zbb(sk*dnOv=$5ZU9GkfX=}fP0cVRT59jF~GMmmODk&b5*>O*&fgulyv6eFyCADX0e|g&i_{Sa?Q}b*z~4(d(lJbIJGbT zSoyZ9)UZEfz4T~c4@^##4;3{8b}VaCery9{4~*Gtdc=;#ekPx&STHAw{eg@%QI7G* z1~$m|R3uARC)yJm@=sN)p1F2K`}!5Dl3sgq5!c3UWU#Z?xck-E0oLKhAcw_$loQ>^d_sof+dEr15X4vTeDP5Y?QfpmK RS!+keGX6n7$k)wo`WN73`a}Q# delta 1647 zcmYM!OGs2v9LMo9zGj+n%q(rvvdL1j9Gw~S)x)$DD`=6mND9)-Akx4`w2&Hzg6Ktb zsf5TV7uhOEN+MTTP`ef_62WBz(L*XR3F-SAk93&-{hV{}dHnA=S8wM%%Z*KDB;7KU z24W>qpI}TYb|i73{75#&gH!0oS*s_-m_@X+P|t(N&lGWSV;GlV6=vXGOve_~xGrQ| z%=FnC7jQ8TuG{tiMrjYBCYV4UenTxVi(X8iA^n(&0o%?;B^E}ynri#J7B$b_cspiH zGnFiE97lfUEEitVT*OSgg39~>YEzzCM^FonqTci!>dhum34KP5`-w^t81{^|V+<}ZWJ-7t>tk+Nr-AC=rV^qSU)>o);Z&3@qw@#qu{e=9?S1vJi zn5LpFaWShB@LO|H14>c-Do_LKFb((E`^|XOWy~?u!c%l!ihoc$<7aY>&$EV5{i=MN zzbdud(An=o4LFE;<4)8>G1S&OsD=CO{YS`}<|Q`a8w_B8eb!b-xG3Qo)Vz(>!>AYS zN@f4G@Oj(uCMu!3s00R43qC{jdyV>5KAff-6&NURT&3_xJt|Hdid+Tuvkxl5Rb`ViQe*rpDZNI+yHH6Mu zMMtHgZ^YCc?Md$KZf)yzW>O9~``izm8F#-k=&2w6?K$Rhy1Y5gfVaXIDX9*J!|{tV z?v47Rp-3bYEe}S^HixT+1HM9+yQ#hBbZ7f1r#H358BZN|UiinHJ8Aoe=hB8;&S-jp IGo2p%2e(CtO8@`> diff --git a/inst/po/fr/LC_MESSAGES/R-pkgdown.mo b/inst/po/fr/LC_MESSAGES/R-pkgdown.mo index b954b747a2793cb370b8465ca400b5e9cd29f60e..7157e5d1a63cf9c7ef6f5b63a9a0477630782ca2 100644 GIT binary patch literal 4575 zcmaKuUu+yl9ml67Eyba<4Yah-mLY9$1G$T1k~DGBki^a(r*>j&C#oPXd$;4ejrVph z`^T}LT2L!hfK(L$5)l#zQ8h+IAQVx71P?h?c>*ECLmwg@3NIBB6sc8_c;WNio3ov$ zu=4LdGqW?Zzkl-^|7FXj?;4&t^ z!}FdO;78~$L(Tg-yc2#C@@Kxy&nMtzxC#CoYM-m{UU(g9{hLth-}3#x!+Yqz=lgf? za+Ll(Q0tFE?ROS#hF^h9H4AVECY~$sqx7Hm{g)ws<_G*p&sU({zXr9>uYLaw_yGMs zLGAlCl#Bl5-@otsn^69K#)qKnu~2&L^4trx{{bk!orLnoImn+` zLjKH(=krkez67P;_x$(|q4fGG)c1eodELK%6UvUiLal$tkG~JK&+RPM_-4qE*#bWX zAMyPiaP&4~o`j!a`~sUj1it~b{wKcwGbq1ahqCtul%4;8n)h$0@7zWZiaD^T|T1}aW}hKk<}h>7Mc-~T7H^xuPu^895^$VzYU4vTpd&r;p8$UJpt{>luvowD{ zlwD6l?K2By_gA6(mO{nr1<0Ryi680lBj0}w%HH2XefJIj{*O?4-hlef+faJ^2gSTD zEb;_0cx3bA$QKap_cU?_IgJb+>7hsZ9!IvS!=vx&kv&I|$B-#R&xiV`a%&gu-N-&a zru_aABD=qgsOBqIb|QMVA)iGQKRvn+~L(>6{HCvxstF1erz@-!Vkb4&Z$zFvllslJc%4Zbp9t0J&N(? zkUBDs=$SzXTNQW3_7Gwov)gjpaYZ`~?LwN_W*p?X9p07?^J>B^1Z7;TPccUtd65Op z!W;?1sEE=eh;8VKAc}KyB#!MunKU)r?=3~G#1)03m$k}{OA57$s2OXh&qmp+nH)pTk^#?N)~e)CAMfgn*>XZAgfnP zvZzs3o43jcZ6<weUSNCT(crQDoO3un&A4^eKrLCcw$pt%Tf zPUx2D(OmPPePZ{>?(JsQEx61jO}F04X;$tH*YxxQdecoabg_-HW#(LvHQP$aK{Jm~ zVa}m)oTp}v9up&S6Pw!hU|`#sTX<^gwtVZM?qVxUFC_3A-3mu#A-+4sC@rk!pSyNpIs9WU&zn#!}P-CfD55Vq4eWL_8)L8X6{iOdLHH*?KE z+2NMEE{l{5L2NjWn%@Z`x=}(ib4z@m2HAw2CNG(uyO5Qnc}{?Xa4E{!6HSsl4y3?L zmR@kpqBa@Uydh)OyV;J`N9z0Q`$tAbhWatAP3NsBtQ{>|d2K!&vqLjyYO{P*d0Cr4 z$1yuPGP=7qvbVNt56!XBeYKI@ET0PUqBg(w)iHajK2x_-&W;C5K^(cv9=yN-Y5Lyb zj;rIjL##_$B`&YcyPz{>7qYdHsxv(~eQaIrUGw%HDF zM)B0y`Qx>H>+_@&*<3r8P=2T?V|HI7Du$k^opAV6F2Wyak*0BON9v>X(IKkmbZ=E< z)e&f3mYI!-naZn1ZhaqQHtelZZVNNpTg}T(Z`Dk&fhwydM%}o#TE#TVTyEw$wl236 z3(m-(;xgDDqDuG@`+-&0l~vUR*Iv&k6W3m^s_(|WrP{0&QWat9QFM`XKCNR^5($oj zDzUH1gEY5QVct-Y`!#=UD;liD`f;u0k1P*M9qoQi#(eDVho_{t6j@p>DNXBk+GWki zhQk!zILa#xur{JNY9Cxnb*7@xUO%RFb3z5$f2in}ZHnVu+G%9e?Tsbd``T3Xy3i8h zQPt+IlNJB_1!3yX>#b58Glk8slZW%lzsHu{O|`u$&(&?laPJBZn8~opy2R?NnllY5 zPee{&+HjytW>7$waf@PpFEdUGXJ(S3mSttPP?)FWAJcozcC)mb%2OO~QfEWxRpe)4 zGAA4!itzie(hCHmpBD*+N{4<1c zO3(GIH2urNad`}a8YR6|{-1K@Y?a;pdx{H$Kq&<>S5Q9&vj@~Us%(|pvHllEPMTiWS!=UG{rA+4~Xet>(6l$(7mqUtn?+X7EaYN}Jy7is^ E3*4t@bpQYW delta 1687 zcmZwHTWm~09LMolmv+0`+t#%xTP<2_oh_?cZ7EH}B_W7V4OSCzsYSa@#Df*_Brb_T zT%t{cgy2Q{y0wQR;2M zh;xS0NK7JXhZz&c<`JAI??)Qr#}Al;pPfH2i|dSxq5gd2Fom2lF^r?J3=6Oh^KlJo zTpW3B%It9sNz9|;u)98mm0VvyJ>Urj@hxhC<dO&R>|#wVzJ4k3l6KM!HNns^3FB zrw+$5zgbR&!))WkOPQTG1{0`^kD(UhobwXuL0zafyp4LJhp364pvJvKCGZh-|Dfyt z<=Xvp&SriSqM`xys7zNQ_m~YB!Y$7IsELlER^$XK;V$QO)VN!yM7o{#QO|vh9H!s3 zzs8i7Vt|Sg7@4=O~uOeyAK#I@IAfzOy_uD^+!wIVI3#1A4}<~VBnS=4i{ zpg#4r0P8=IN)HX=upc$>6DqNvsDT+=$UIb{<5B(PoK|2A^~sL7_VcLwui|*T<$Q#i z_zjN2FG1E{H~RQM$}E6NAcWfOC0K}2)Y7g*E%`bO<0jOnID|aYoJ8%Fi>Q_A#IbnC z^*=%m)6Z!FzDZG00zXg_`GZskD4d-$=&cBmDz99MA@XDP5||W6TBhbSYoQi}-{z4a`@BebcP5P!>X zDpl@6tC^l(f4eIBuCvp%p(R&!E>YszW?&7WjiYbaKtu`caP0+scm4drgf^*)HlK?2 zhH2Q|o@|S^BuztWYj{UTq9wV@?#Ntjdor)u&Hml?nZMX(WHs82SKNzj3_B=0rvKxbyrO`;#i&R#HqtTjJRm6*VUSL(cJsDZw7EiRd#*_QnYQpwK z@VtL*@6Gm(y}dVWUv|PS&gru`xtHy|+^P0!Zj)`!J75R$>btA+OMJE?6tO*_S$_cV CXPhMf diff --git a/inst/po/tr/LC_MESSAGES/R-pkgdown.mo b/inst/po/tr/LC_MESSAGES/R-pkgdown.mo index 756dd3bf519ee8c55ce0467542a8a3216d8876e8..28a9893e4cfb5d2c86909bf5aa54ca3b0a4c42b7 100644 GIT binary patch literal 4437 zcmai$Uu+yl8Ni2<0(A?`9}0!0WtuikLUYd9q-lDN)7o(ohuBGook*Y}G`=0*O?Pki zvVWYcC8P?q5>g*Zi^xL&xe|g%fK*&n6-b7cyC_292??pZAVGx$;sFp;5if|}w>P#E z9$@9~elxQ(-+cdO*1y}nn=h5RO$H=6uqxPvG1xMUx8xR525V;j^|DP{#_`3ya#3d-~9M3D0=Q3NmHGjc_isV*_og5JEfjzM2xb0Xq3ruUl==Vm z{T(Dn^0*Vq`ce2GoPsj{%TVfJ5z4%;Lecw8cmaMF%KU#o@#j9A5Px<+S^o%>b$dL= zq1ZhKC4XOmqA!86zJ#*=Mc;n~N?u-vyWllH{&Ohx)`z0+mk<-wZ{QQ~Jt*gRh)pUx z;0NjNfujFONC?y+DE1$NGVggP`Ye?7m!R19vLAmHik@$KuK4lq!NZKd38fzX1o>0{ z;z#_the7dUD-=5)grffm-)}&%V;ahS2Fkh+%DNPa-OHXYL&@tmpv=GO$KQbB*N>p+ z|0$Gw{|ZVTeh9T$s$rryLf}(d16g@R4^BPd*oraX9`YiGsB9G{mTpUL< zvKLu@WUt4OClRs#G;$U>gRDOiCwU%5P9TzJc|JA3;NGMC7&7C>BnR?H%tnxdh{Ru> zhmdEH&mdnw<`D7e03y$B2>!i6C&fOJWo0z~;t9nVN_qy;#Ie86NbOTr0MDZt111qGRJ+TDfaRGE}f>>apI< zw21?K%;iS3$jd}crpe{Z>MSYJrq#_Pu2!+NFs#p2N_D}Gk&DAjyIALKt7EgYVAA1g zN$M7gN_nerSTkkPP)*sanYwOe_LPsvlwHzuxKd=iUeeh{6HB``&aQuGP-z z@vF1TE^oH!;Fg+AQmf5EQsmlHnaGBRhyAEekqn%%mos%H$*npoad4ULnwC}POf!T8 zC$LxO(cFlk-g~fqaGyGF7j0_errm61G^_9i8+Q5udDBf&Y|#rvOU+r6HrrB=>&?tz z!koqAC`;5FJtjJ86QA1ph|%rTE{^Zoo$Wf>4O>BSIX-g093}h1gUO`NwFX5s7rL&_ z6DbEtex~NC%JOKad9x6$*UMnSe9~$$beoQO3Nv-sqAtX~4mW+ekV%LxnyBE{=fhLV z@uIVrbrMT+5P8*1I$ampltx?~FZ`~WQfF1WTc%YC+es8KFEF{O?5`@38G-GlwrQj~ z?3J!fofLzK6z5UqcZ{R!Vw$O4Vt*P`6Mm|!V0vZ)R#N5}2{yr!%g~7>aTXad;9Q!# zV4HdER8aGdG_()19vOb7UaxQd3=J|_o6TA-s7)5FtTvxC^w7Dpwe##P)mfXu(uN+b zkB-zv>b23sx_-D(AFb7&s@I2ROqSQ?H}-C5xdb>5u4$sE)Gdn_;wTg2Rzaj|^VW14 z)L(2j#u_?Lhh|UB9^bTgWVk-$&wFjY?6QAuujB{15pfyQ&9)&5`S^wT6Sc#e^TZ6w zxOP0|-r+iF=)(&xA37HmsflWGP&0P!R^4oTbW9JL<9lQM=(rx)H#Ri5VO{S!_sH(* zs!f7|!Heu?%KmC(ZXfSmUADP89#)rX8JSc~_SW*=TFhDC)VeZ>Zy)TK&_o<5uF#l&a&nfs;=5n zERFlC)m=Mf`z!9oiVGtbGHor6dTafa-WneOuad7ve^rMAeJILun|9=$Tq2(R)f+21 zl=xv1`=3ra=#b;x|4HvUr5kdxBTVS@SIZj{q~xfa4!NMr z*Zru*s!E-fdkm8TClzc4Qj+8*!zLVD-T&iq*F>3G@X2yfXOOi!?);21Q>@n(K2y|$ zeNgNkjq0_0%fc#cCkNG4I!%NRgr>_m=w0ovq?TK#nz8Oe+>tV+px1pn?F+9%F-d^c zoKK#o-1;03lES%2RaqTSuIR{?s8(ffjdF>l85&6_!E16za(rCWgN%}vwp(zDPrc)i zZO)=#6#pSm)Eo65bxdhuJ`b@iGt2jY?@m^g3uzI>MA>h_HR4M?R+-_JQzaY3ReUM! V+%8i`)#>G$VI^mENe)P?{sW6!RP_J= delta 1609 zcmYk6S!|3^6vr=G(@xu&wrZ&wrY*JAQq)#dLy&l}#1>0@-7GU5v@@g<=0$k1CD#^_ z)C2J%k%{fek{BMui!GK1M0k?WmnKAl-+$Z*C*Qfhd(L<7x#ymHzwc$$y^7?!(wx%< zX+%e$W&MrW01IOU z#w5*GI+|EXv;sH-D&RushszvS!$RyW&W=DOwioi4B#qu5hKgh15ZD71?-pb!a~BSV zX;{qq<}Dp<_KRaLRG>as2KzHxI~fXf*?d%xQGx4>Hb+n~muf`l}e zA&LP)E=R z^?og6h>5~AaIc^GYv2_vGg0FB4fFGa&eS%8t8`S$e4w$YfftnbCN}$g98=&Sdb@p;N z8+#p8!Y82;y$E%bSD+HQmZYPAcbwxX)WYwfCVYpQ@Ea;IAG5?#s3QnLB~lGl`bkh{ z-UtO zfY?B3?X_PPKaB=0r3R^J4aPai|_oS2`8@=QZuS nV&N_?-4pe?)2Wtp%0zZ`Cb| Date: Wed, 3 Jul 2024 09:57:37 -0400 Subject: [PATCH 05/61] quarto 1.5 is released --- .github/workflows/netlify.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/netlify.yaml b/.github/workflows/netlify.yaml index 119b157ba..3bc4f8ebd 100644 --- a/.github/workflows/netlify.yaml +++ b/.github/workflows/netlify.yaml @@ -18,8 +18,6 @@ jobs: - name: Set up Quarto uses: quarto-dev/quarto-actions/setup@v2 - with: - version: pre-release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 47203ec06ec246a6d1927baf53471801818f4122 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 3 Jul 2024 09:10:42 -0500 Subject: [PATCH 06/61] Re-activate article navbar after building Rmd article (#2683) Fixes #2678 --- R/build-article.R | 4 ++++ R/render.R | 4 +--- R/tweak-navbar.R | 16 +++++++++------- tests/testthat/test-build-article.R | 14 ++++++++++++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/R/build-article.R b/R/build-article.R index c5dc5713a..05f6867fa 100644 --- a/R/build-article.R +++ b/R/build-article.R @@ -113,6 +113,10 @@ build_rmarkdown_article <- function(pkg, input_path = path_dir(input_path), pkg = pkg ) + # Need re-active navbar now that we now the target path + update_html(path, function(html) { + activate_navbar(html, path_rel(path, pkg$dst_path), pkg) + }) } if (digest != file_digest(output_path)) { writing_file(path_rel(output_path, pkg$dst_path), output_file) diff --git a/R/render.R b/R/render.R index 51fad944f..f4580ea60 100644 --- a/R/render.R +++ b/R/render.R @@ -29,9 +29,7 @@ render_page <- function(pkg = ".", name, data, path, depth = NULL, quiet = FALSE html <- render_page_html(pkg, name = name, data = data, depth = depth) tweak_page(html, name, pkg = pkg) - if (pkg$bs_version > 3) { - activate_navbar(html, data$output_file %||% path, pkg) - } + activate_navbar(html, data$output_file %||% path, pkg) rendered <- as.character(html, options = character()) write_if_different(pkg, rendered, path, quiet = quiet) diff --git a/R/tweak-navbar.R b/R/tweak-navbar.R index cb391490b..d0d96a2b3 100644 --- a/R/tweak-navbar.R +++ b/R/tweak-navbar.R @@ -1,19 +1,21 @@ -activate_navbar <- function(html, path, pkg = list()) { +activate_navbar <- function(html, path, pkg = list(bs_version = 5)) { + if (pkg$bs_version <= 3) { + return() + } + path <- remove_useless_parts(path, pkg = pkg) # Get nav items, their links, their similarity to the current path navbar_haystack <- navbar_links_haystack(html, pkg, path) - - # Nothing similar if (nrow(navbar_haystack) == 0) { return() } # Pick the most similar link, activate the corresponding nav item - tweak_class_prepend( - navbar_haystack$nav_item[which.max(navbar_haystack$similar)][[1]], - "active" - ) + best_match <- navbar_haystack[which.max(navbar_haystack$similar), ] + tweak_class_prepend(best_match$nav_item[[1]], "active") + + invisible() } navbar_links_haystack <- function(html, pkg, path) { diff --git a/tests/testthat/test-build-article.R b/tests/testthat/test-build-article.R index 61bd6bf42..e9b92d906 100644 --- a/tests/testthat/test-build-article.R +++ b/tests/testthat/test-build-article.R @@ -74,6 +74,20 @@ test_that("BS5 article laid out correctly with and without TOC", { expect_equal(xpath_length(toc_false, ".//aside"), 0) }) +test_that("BS5 article gets correctly activated navbar", { + pkg <- local_pkgdown_site() + pkg <- pkg_add_file(pkg, "vignettes/article.Rmd", pkg_vignette()) + suppressMessages(article_path <- build_article("article", pkg)) + + html <- xml2::read_html(article_path) + navbar <- xml2::xml_find_first(html, ".//div[contains(@class, 'navbar')]") + + expect_equal( + xpath_text(navbar,".//li[contains(@class, 'active')]//button"), + "Articles" + ) +}) + test_that("titles are escaped when needed", { pkg <- local_pkgdown_site() pkg <- pkg_add_file(pkg, "vignettes/test.Rmd", pkg_vignette(title = "a <-> b")) From 138a53ba77e2c601fe6c1125ba1259dc52f3b8d6 Mon Sep 17 00:00:00 2001 From: olivroy <52606734+olivroy@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:12:05 -0400 Subject: [PATCH 07/61] Quarto 1.5 is released (#2686) --- .github/workflows/R-CMD-check.yaml | 1 - .github/workflows/pkgdown.yaml | 1 - .github/workflows/test-coverage.yaml | 1 - 3 files changed, 3 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index cd91a64f1..7cfe84536 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -46,7 +46,6 @@ jobs: - uses: quarto-dev/quarto-actions/setup@v2 with: - version: pre-release tinytex: true env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 4bae74da9..45c5f8d02 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -26,7 +26,6 @@ jobs: - uses: quarto-dev/quarto-actions/setup@v2 with: - version: pre-release tinytex: true env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 2565dbe3e..c8ef29984 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -23,7 +23,6 @@ jobs: - uses: quarto-dev/quarto-actions/setup@v2 with: - version: pre-release tinytex: true env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 5c1d34d1950ff53d20a9a1d590a04c160bdb2099 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 3 Jul 2024 12:13:04 -0500 Subject: [PATCH 08/61] Safer unpacking of package timeline (#2688) Fixes #2687 --- NEWS.md | 1 + R/build-news.R | 4 ++-- tests/testthat/test-build-news.R | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 0e168d365..289f82ad0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -65,6 +65,7 @@ * `build_home()` now includes the contents of `inst/AUTHORS` on the authors page (#2506). * `build_home_index()` now reports when rendering the home page (#2544). * `build_home_index()` now renders math if you use it in your home page (#2263). +* `build_news()` now works if your package has been archived at some point (#2687). * `build_news()` only syntax highlights the page once, not twice, which prevents every block of R code getting a blank line at the start (#2630). ```R diff --git a/R/build-news.R b/R/build-news.R index 97b1ca46c..481b64d44 100644 --- a/R/build-news.R +++ b/R/build-news.R @@ -279,11 +279,11 @@ pkg_timeline <- function(package) { } content <- httr2::resp_body_json(resp) - timeline <- content$timeline + timeline <- unlist(content$timeline) data.frame( version = names(timeline), - date = as.Date(unlist(timeline)), + date = as.Date(timeline), stringsAsFactors = FALSE, row.names = NULL ) diff --git a/tests/testthat/test-build-news.R b/tests/testthat/test-build-news.R index 36e0777d5..6bae9fb5d 100644 --- a/tests/testthat/test-build-news.R +++ b/tests/testthat/test-build-news.R @@ -106,6 +106,11 @@ test_that("pkg_timeline fails cleanly for unknown package", { expect_null(pkg_timeline("__XYZ__")) }) +test_that("pkg_timeline works for package that have been archived", { + skip_on_cran() + expect_no_error(pkg_timeline("PF")) +}) + test_that("correct timeline for first ggplot2 releases", { skip_on_cran() From ae1d16c607827d23edf6d8629266abf22b66eaaa Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 3 Jul 2024 14:58:41 -0500 Subject: [PATCH 09/61] Forward compatibility with evaluate 1.0.0 (#2690) --- R/highlight.R | 18 ++++++++++++++++-- tests/testthat/test-highlight.R | 5 ++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/R/highlight.R b/R/highlight.R index 19ce4f061..07fb15288 100644 --- a/R/highlight.R +++ b/R/highlight.R @@ -28,8 +28,22 @@ highlight_examples <- function(code, topic, env = globalenv()) { do.call(fig_save, c(list(plot, name), fig_settings())) } - hide_dontshow <- function(src, call) { - if (is_call(call, c("DONTSHOW", "TESTONLY"))) NULL else src + hide_dontshow <- function(src, expr) { + if (is.expression(expr)) { + # evaluate 1.0.0 + if (length(expr) > 0) { + hide <- is_call(expr[[1]], c("DONTSHOW", "TESTONLY")) + } else { + hide <- FALSE + } + } else if (is.call(expr)) { + # evaluate 0.24.0 + hide <- is_call(expr, c("DONTSHOW", "TESTONLY")) + } else { + hide <- FALSE + } + + if (hide) NULL else src } handler <- evaluate::new_output_handler( value = pkgdown_print, diff --git a/tests/testthat/test-highlight.R b/tests/testthat/test-highlight.R index 90abbf56f..2611c494c 100644 --- a/tests/testthat/test-highlight.R +++ b/tests/testthat/test-highlight.R @@ -1,5 +1,5 @@ test_that("highlight_examples captures dependencies", { - withr::defer(file_delete(test_path("Rplot001.png"))) + withr::defer(try(file_delete(test_path("Rplot001.png")), TRUE)) dummy_dep <- htmltools::htmlDependency("dummy", "1.0.0", "dummy.js") widget <- htmlwidgets::createWidget("test", list(), dependencies = dummy_dep) @@ -9,14 +9,13 @@ test_that("highlight_examples captures dependencies", { expect_equal(attr(out, "dependencies")[-1], list(dummy_dep)) }) - test_that("highlight_examples runs and hides DONTSHOW calls()", { out <- highlight_examples("DONTSHOW(x <- 1)\nx") expect_snapshot(cat(strip_html_tags(out))) }) test_that("highlight_text & highlight_examples include sourceCode div", { - withr::defer(file_delete(test_path("Rplot001.png"))) + withr::defer(try(file_delete(test_path("Rplot001.png")), TRUE)) html <- xml2::read_html(highlight_examples("a + a", "x")) expect_equal(xpath_attr(html, "./body/div", "class"), "sourceCode") From c1485b494b9d669527cd342daf939aca6948c54f Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Wed, 3 Jul 2024 14:59:04 -0500 Subject: [PATCH 10/61] Navbar components shouldn't be merged recursively (#2689) * Add a test so I don't break it again! * Finish off passing around caller to get correct call in error Fixes #2673 --- R/navbar.R | 52 ++++++++++++++++++--------------- tests/testthat/_snaps/navbar.md | 2 +- tests/testthat/test-navbar.R | 13 +++++++++ 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/R/navbar.R b/R/navbar.R index d7064fac4..6e887a6cb 100644 --- a/R/navbar.R +++ b/R/navbar.R @@ -1,4 +1,4 @@ -data_navbar <- function(pkg = ".", depth = 0L) { +data_navbar <- function(pkg = ".", depth = 0L, call = caller_env()) { pkg <- as_pkgdown(pkg) navbar <- config_pluck(pkg, "navbar") @@ -13,7 +13,7 @@ data_navbar <- function(pkg = ".", depth = 0L) { ) } - links <- navbar_links(pkg, depth = depth) + links <- navbar_links(pkg, depth = depth, call = call) c(style, links) } @@ -43,12 +43,31 @@ navbar_structure <- function() { )) } -navbar_links <- function(pkg, depth = 0L) { - # Combine default components with user supplied - components <- modify_list( - navbar_components(pkg), - config_pluck(pkg, "navbar.components") +navbar_links <- function(pkg, depth = 0L, call = caller_env()) { + components <- navbar_link_components(pkg, call = call) + + list( + left = render_navbar_links( + components$left, + depth = depth, + pkg = pkg, + side = "left" + ), + right = render_navbar_links( + components$right, + depth = depth, + pkg = pkg, + side = "right" + ) ) +} + +navbar_link_components <- function(pkg, call = caller_env()) { + # Combine default components with user supplied: must not merge recursively + components <- navbar_components(pkg) + components_meta <- config_pluck(pkg, "navbar.components", default = list()) + components[names(components_meta)] <- components_meta + components <- purrr::compact(components) # Combine default structure with user supplied # (must preserve NULLs in yaml to mean display nothing) @@ -57,31 +76,18 @@ navbar_links <- function(pkg, depth = 0L) { config_pluck(pkg, "navbar.structure") ) right_comp <- intersect( - config_pluck_character(pkg, "navbar.structure.right"), + config_pluck_character(pkg, "navbar.structure.right", call = call), names(components) ) left_comp <- intersect( - config_pluck_character(pkg, "navbar.structure.left"), + config_pluck_character(pkg, "navbar.structure.left", call = call), names(components) ) # Backward compatibility left <- config_pluck(pkg, "navbar.left") %||% components[left_comp] right <- config_pluck(pkg, "navbar.right") %||% components[right_comp] - list( - left = render_navbar_links( - left, - depth = depth, - pkg = pkg, - side = "left" - ), - right = render_navbar_links( - right, - depth = depth, - pkg = pkg, - side = "right" - ) - ) + list(left = left, right = right) } render_navbar_links <- function(x, depth = 0L, pkg, side = c("left", "right")) { diff --git a/tests/testthat/_snaps/navbar.md b/tests/testthat/_snaps/navbar.md index 6ff6d41f5..06b98d626 100644 --- a/tests/testthat/_snaps/navbar.md +++ b/tests/testthat/_snaps/navbar.md @@ -170,7 +170,7 @@ Code data_navbar_(navbar = list(structure = list(left = 1))) Condition - Error in `navbar_links()`: + Error in `data_navbar_()`: ! In _pkgdown.yml, navbar.structure.left must be a character vector, not the number 1. Code data_navbar_(navbar = list(right = "github")) diff --git a/tests/testthat/test-navbar.R b/tests/testthat/test-navbar.R index 762e6f5df..4fb0aa28f 100644 --- a/tests/testthat/test-navbar.R +++ b/tests/testthat/test-navbar.R @@ -66,6 +66,19 @@ test_that("can control articles navbar through articles meta", { }) +test_that("can control articles navbar through navbar meta", { + pkg <- local_pkgdown_site(meta = list( + navbar = list( + components = list(articles = menu_submenu("Hi!", list(menu_heading("Hi")))) + ) + )) + pkg <- pkg_add_file(pkg, "vignettes/a.Rmd", pkg_vignette()) + pkg <- pkg_add_file(pkg, "vignettes/b.Rmd", pkg_vignette()) + + navbar <- navbar_link_components(pkg) + expect_equal(navbar$left$articles$text, "Hi!") +}) + test_that("data_navbar() works by default", { pkg <- local_pkgdown_site(meta = list( repo = list(url = list(home = "https://github.com/r-lib/pkgdown/")) From 812e8c81d2a550f11f1b9a5201aa7d9ab0e42cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= Date: Thu, 4 Jul 2024 13:39:20 +0200 Subject: [PATCH 11/61] paquetage -> paquet ? (#2672) --- po/R-fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/R-fr.po b/po/R-fr.po index 8baec8f9e..d9a31e603 100644 --- a/po/R-fr.po +++ b/po/R-fr.po @@ -171,7 +171,7 @@ msgstr "Version CRAN : %s" #: build-reference-index.R:22 msgid "Package index" -msgstr "Index du paquetage" +msgstr "Index du paquet" #: build-reference-index.R:158 msgid "All functions" From 31a6b7d7def56faeca435654b4e0b344eea275a7 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 5 Jul 2024 14:28:40 -0500 Subject: [PATCH 12/61] Fix r-devel failure (#2697) Fixes #2695 --- R/build-home-authors.R | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/R/build-home-authors.R b/R/build-home-authors.R index ad5e6c003..69a61d80e 100644 --- a/R/build-home-authors.R +++ b/R/build-home-authors.R @@ -272,10 +272,14 @@ citation_provided <- function(src_path) { } citation_auto <- function(pkg) { - cit_info <- utils::packageDescription( - path_file(pkg$src_path), - lib.loc = path_dir(pkg$src_path) - ) + desc <- read_desc(pkg$src_path) + cit_info <- as.list(desc$get(desc$fields())) + # utils::packageDescription( + # pkg$package, + # lib.loc = path_dir(pkg$src_path) + # ) + # browser() +# C cit_info$`Date/Publication` <- cit_info$`Date/Publication` %||% Sys.time() if (!is.null(cit_info$Title)) cit_info$Title <- str_squish(cit_info$Title) From 9a65582e5d870760483b79eb9450b0fb551a2094 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 5 Jul 2024 14:47:52 -0500 Subject: [PATCH 13/61] Update docs for branch setting (#2698) Fixes #2691 --- DESCRIPTION | 2 +- R/build.R | 22 ++++++++++++---------- man/build_site.Rd | 20 +++++++++++--------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index ba804ff60..a2addcac5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -73,5 +73,5 @@ Config/testthat/parallel: true Config/testthat/start-first: build-article, build-quarto-article, build-reference Encoding: UTF-8 Roxygen: list(markdown = TRUE) -RoxygenNote: 7.3.1 +RoxygenNote: 7.3.2 SystemRequirements: pandoc diff --git a/R/build.R b/R/build.R index 4870f6dfc..5ec3acd30 100644 --- a/R/build.R +++ b/R/build.R @@ -236,13 +236,24 @@ #' ``` #' #' * `home`: path to package home on source code repository. -#' * `source:`: path to source of individual file in default branch. +#' * `source`: path to source of individual file in default branch +#' (more on that below). #' * `issue`: path to individual issue. #' * `user`: path to user. #' #' The varying components (e.g. path, issue number, user name) are pasted on #' the end of these URLs so they should have trailing `/`s. #' +#' When creating the link to pacge source, we have to link to a specific +#' branch. The default behaviour is to use current branch when in GitHub +#' actions and `HEAD` otherwise. You can overide this default with +#' `repo.branch`: +#' +#' ```yaml +#' repo: +#' branch: devel +#' ``` +#' #' pkgdown can automatically link to Jira issues as well if specify both a #' custom `issue` URL as well Jira project names to auto-link in #' `jira_projects`. You can specify as many projects as you would like: @@ -254,15 +265,6 @@ #' issue: https://jira.organisation.com/jira/browse/ #' ``` #' -#' pkgdown defaults to using the "HEAD" branch for source file URLs. This can -#' be configured to use a specific branch when linking to source files by -#' specifying a branch name: -#' -#' ```yaml -#' repo: -#' branch: devel -#' ``` -#' #' # Deployment (`deploy`) #' There is a single `deploy` field #' diff --git a/man/build_site.Rd b/man/build_site.Rd index 4f5dd0918..ea56181c7 100644 --- a/man/build_site.Rd +++ b/man/build_site.Rd @@ -285,7 +285,8 @@ Otherwise, you can supply your own in the \code{repo} field: }\if{html}{\out{}} \itemize{ \item \code{home}: path to package home on source code repository. -\item \verb{source:}: path to source of individual file in default branch. +\item \code{source}: path to source of individual file in default branch +(more on that below). \item \code{issue}: path to individual issue. \item \code{user}: path to user. } @@ -293,6 +294,15 @@ Otherwise, you can supply your own in the \code{repo} field: The varying components (e.g. path, issue number, user name) are pasted on the end of these URLs so they should have trailing \code{/}s. +When creating the link to pacge source, we have to link to a specific +branch. The default behaviour is to use current branch when in GitHub +actions and \code{HEAD} otherwise. You can overide this default with +\code{repo.branch}: + +\if{html}{\out{
}}\preformatted{repo: + branch: devel +}\if{html}{\out{
}} + pkgdown can automatically link to Jira issues as well if specify both a custom \code{issue} URL as well Jira project names to auto-link in \code{jira_projects}. You can specify as many projects as you would like: @@ -302,14 +312,6 @@ custom \code{issue} URL as well Jira project names to auto-link in url: issue: https://jira.organisation.com/jira/browse/ }\if{html}{\out{}} - -pkgdown defaults to using the "HEAD" branch for source file URLs. This can -be configured to use a specific branch when linking to source files by -specifying a branch name: - -\if{html}{\out{
}}\preformatted{repo: - branch: devel -}\if{html}{\out{
}} } \section{Deployment (\code{deploy})}{ From 637c58595bcedccd8676de28304d298fcf7b69c0 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 5 Jul 2024 14:43:56 -0500 Subject: [PATCH 14/61] Fix urls --- vignettes/metadata.Rmd | 2 +- vignettes/translations.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/metadata.Rmd b/vignettes/metadata.Rmd index f7e81338d..79c74ad15 100644 --- a/vignettes/metadata.Rmd +++ b/vignettes/metadata.Rmd @@ -125,4 +125,4 @@ In articles, the `opengraph` section works in the same way as the site-wide `tem [ogp]: https://ogp.me/ [ogp-validator]: https://search.google.com/test/rich-results -[twitter-card]: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards +[twitter-card]: https://developer.x.com/en/docs/twitter-for-websites/cards/overview/abouts-cards diff --git a/vignettes/translations.Rmd b/vignettes/translations.Rmd index 394825b3f..ee39f62de 100644 --- a/vignettes/translations.Rmd +++ b/vignettes/translations.Rmd @@ -46,7 +46,7 @@ Translations are contributed by community members so if your language is not cur To get started, first check the [pkgdown issues](https://github.com/r-lib/pkgdown/issues) to see if anyone has filed an existing issue. If so, the person who filed the issue might make for a great collaborator 😀. -Next, install [potools](https://michaelchirico.github.io/potools) and [usethis](https://usethis.r-lib.org): +Next, install [potools](https://michaelchirico.github.io/potools/) and [usethis](https://usethis.r-lib.org): ```{r} #| eval: false From c7c4865d9ebd492010c99db13a3e377cd1d9ed34 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 5 Jul 2024 15:45:39 -0500 Subject: [PATCH 15/61] Check revdeps and update cran-comments --- cran-comments.md | 5 +- revdep/README.md | 25 +- revdep/cran.md | 11 +- revdep/failures.md | 624 +++++++++++---------------------------------- 4 files changed, 166 insertions(+), 499 deletions(-) diff --git a/cran-comments.md b/cran-comments.md index 8114d3191..e15572385 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -4,4 +4,7 @@ ## revdepcheck results -I checked all 139 revdeps and did not see any problems. \ No newline at end of file +We checked 144 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. + + * We saw 0 new problems + * We failed to check 3 packages: clusttree, multinma, and scDiffCom diff --git a/revdep/README.md b/revdep/README.md index 7a3e9ac96..97459a2eb 100644 --- a/revdep/README.md +++ b/revdep/README.md @@ -1,23 +1,10 @@ # Revdeps -## Failed to check (16) +## Failed to check (3) -|package |version |error |warning |note | -|:---------------------|:-------|:-----|:-------|:----| -|biocthis |? | | | | -|biscuiteer |? | | | | -|CiteFuse |? | | | | -|decoupleR |? | | | | -|dorothea |? | | | | -|GenomicSuperSignature |? | | | | -|lefser |? | | | | -|netZooR |? | | | | -|periodicDNA |? | | | | -|scClassify |? | | | | -|singscore |? | | | | -|SPIAT |? | | | | -|spicyR |? | | | | -|velociraptor |? | | | | -|vissE |? | | | | -|VplotR |? | | | | +|package |version |error |warning |note | +|:---------|:-------|:-----|:-------|:----| +|clustree |? | | | | +|multinma |0.7.1 |1 | | | +|scDiffCom |? | | | | diff --git a/revdep/cran.md b/revdep/cran.md index a4c3eda28..b6089a30f 100644 --- a/revdep/cran.md +++ b/revdep/cran.md @@ -1,7 +1,14 @@ ## revdepcheck results -We checked 155 reverse dependencies (139 from CRAN + 16 from Bioconductor), comparing R CMD check results across CRAN and dev versions of this package. +We checked 144 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. * We saw 0 new problems - * We failed to check 0 packages + * We failed to check 3 packages +Issues with CRAN packages are summarised below. + +### Failed to check + +* clustree (NA) +* multinma (NA) +* scDiffCom (NA) diff --git a/revdep/failures.md b/revdep/failures.md index 09cc30c36..39fb711e7 100644 --- a/revdep/failures.md +++ b/revdep/failures.md @@ -1,83 +1,14 @@ -# biocthis +# clustree
-* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/biocthis -* Number of recursive dependencies: 114 - -Run `revdepcheck::cloud_details(, "biocthis")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# biscuiteer - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/biscuiteer -* Number of recursive dependencies: 222 - -Run `revdepcheck::cloud_details(, "biscuiteer")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` +* Version: 0.5.1 +* GitHub: https://github.com/lazappi/clustree +* Source code: https://github.com/cran/clustree +* Date/Publication: 2023-11-05 19:10:02 UTC +* Number of recursive dependencies: 192 - - - - - -``` -# CiteFuse - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/CiteFuse -* Number of recursive dependencies: 182 - -Run `revdepcheck::cloud_details(, "CiteFuse")` for more info +Run `revdepcheck::cloud_details(, "clustree")` for more info
@@ -86,7 +17,27 @@ Run `revdepcheck::cloud_details(, "CiteFuse")` for more info ### Devel ``` - +* using log directory ‘/tmp/workdir/clustree/new/clustree.Rcheck’ +* using R version 4.3.1 (2023-06-16) +* using platform: x86_64-pc-linux-gnu (64-bit) +* R was compiled by + gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 + GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 +* running under: Ubuntu 22.04.4 LTS +* using session charset: UTF-8 +* using option ‘--no-manual’ +* checking for file ‘clustree/DESCRIPTION’ ... OK +... +* checking tests ... OK + Running ‘spelling.R’ + Running ‘testthat.R’ +* checking for unstated dependencies in vignettes ... OK +* checking package vignettes in ‘inst/doc’ ... OK +* checking running R code from vignettes ... OK + ‘clustree.Rmd’ using ‘UTF-8’... OK +* checking re-building of vignette outputs ... OK +* DONE +Status: 1 NOTE @@ -96,443 +47,122 @@ Run `revdepcheck::cloud_details(, "CiteFuse")` for more info ### CRAN ``` - +* using log directory ‘/tmp/workdir/clustree/old/clustree.Rcheck’ +* using R version 4.3.1 (2023-06-16) +* using platform: x86_64-pc-linux-gnu (64-bit) +* R was compiled by + gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 + GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 +* running under: Ubuntu 22.04.4 LTS +* using session charset: UTF-8 +* using option ‘--no-manual’ +* checking for file ‘clustree/DESCRIPTION’ ... OK +... +* checking tests ... OK + Running ‘spelling.R’ + Running ‘testthat.R’ +* checking for unstated dependencies in vignettes ... OK +* checking package vignettes in ‘inst/doc’ ... OK +* checking running R code from vignettes ... OK + ‘clustree.Rmd’ using ‘UTF-8’... OK +* checking re-building of vignette outputs ... OK +* DONE +Status: 1 NOTE ``` -# decoupleR +# multinma
-* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/decoupleR -* Number of recursive dependencies: 260 +* Version: 0.7.1 +* GitHub: https://github.com/dmphillippo/multinma +* Source code: https://github.com/cran/multinma +* Date/Publication: 2024-06-11 12:20:06 UTC +* Number of recursive dependencies: 152 -Run `revdepcheck::cloud_details(, "decoupleR")` for more info +Run `revdepcheck::cloud_details(, "multinma")` for more info
-## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - +## In both +* checking whether package ‘multinma’ can be installed ... ERROR + ``` + Installation failed. + See ‘/tmp/workdir/multinma/new/multinma.Rcheck/00install.out’ for details. + ``` - -``` -# dorothea - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/dorothea -* Number of recursive dependencies: 215 - -Run `revdepcheck::cloud_details(, "dorothea")` for more info - -
- -## Error before installation +## Installation ### Devel ``` +* installing *source* package ‘multinma’ ... +** package ‘multinma’ successfully unpacked and MD5 sums checked +** using staged installation +** libs +using C++ compiler: ‘g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’ +using C++17 - - +g++ -std=gnu++17 -I"/opt/R/4.3.1/lib/R/include" -DNDEBUG -I"../inst/include" -I"/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DBOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error -DUSE_STANC3 -D_HAS_AUTO_PTR_ETC=0 -I'/opt/R/4.3.1/lib/R/site-library/BH/include' -I'/opt/R/4.3.1/lib/R/site-library/Rcpp/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppEigen/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -I'/opt/R/4.3.1/lib/R/site-library/rstan/include' -I'/opt/R/4.3.1/lib/R/site-library/StanHeaders/include' -I/usr/local/include -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -D_REENTRANT -DSTAN_THREADS -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o +In file included from /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/Core:205, +... +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric::T(stan::mcmc::dense_e_point&) [with Model = model_survival_mspline_namespace::model_survival_mspline; BaseRNG = boost::random::additive_combine_engine, boost::random::linear_congruential_engine >]’ +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:21:10: required from here +/opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type’ {aka ‘__m128d’} [-Wignored-attributes] + 654 | return internal::first_aligned::alignment),Derived>(m); + | ^~~~~~~~~ +g++: fatal error: Killed signal terminated program cc1plus +compilation terminated. +make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_mspline.o] Error 1 +ERROR: compilation failed for package ‘multinma’ +* removing ‘/tmp/workdir/multinma/new/multinma.Rcheck/multinma’ ``` ### CRAN ``` +* installing *source* package ‘multinma’ ... +** package ‘multinma’ successfully unpacked and MD5 sums checked +** using staged installation +** libs +using C++ compiler: ‘g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’ +using C++17 - - - - -``` -# GenomicSuperSignature - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/GenomicSuperSignature -* Number of recursive dependencies: 272 - -Run `revdepcheck::cloud_details(, "GenomicSuperSignature")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# lefser - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/lefser -* Number of recursive dependencies: 214 - -Run `revdepcheck::cloud_details(, "lefser")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# netZooR - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/netZooR -* Number of recursive dependencies: 227 - -Run `revdepcheck::cloud_details(, "netZooR")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# periodicDNA - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/periodicDNA -* Number of recursive dependencies: 129 - -Run `revdepcheck::cloud_details(, "periodicDNA")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# scClassify - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/scClassify -* Number of recursive dependencies: 162 - -Run `revdepcheck::cloud_details(, "scClassify")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# singscore - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/singscore -* Number of recursive dependencies: 146 - -Run `revdepcheck::cloud_details(, "singscore")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# SPIAT - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/SPIAT -* Number of recursive dependencies: 184 - -Run `revdepcheck::cloud_details(, "SPIAT")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# spicyR - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/spicyR -* Number of recursive dependencies: 246 - -Run `revdepcheck::cloud_details(, "spicyR")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# velociraptor - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/velociraptor -* Number of recursive dependencies: 237 - -Run `revdepcheck::cloud_details(, "velociraptor")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - - - -``` -# vissE - -
- -* Version: NA -* GitHub: NA -* Source code: https://github.com/cran/vissE -* Number of recursive dependencies: 202 - -Run `revdepcheck::cloud_details(, "vissE")` for more info - -
- -## Error before installation - -### Devel - -``` - - - - - - -``` -### CRAN - -``` - - - - +g++ -std=gnu++17 -I"/opt/R/4.3.1/lib/R/include" -DNDEBUG -I"../inst/include" -I"/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DBOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error -DUSE_STANC3 -D_HAS_AUTO_PTR_ETC=0 -I'/opt/R/4.3.1/lib/R/site-library/BH/include' -I'/opt/R/4.3.1/lib/R/site-library/Rcpp/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppEigen/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -I'/opt/R/4.3.1/lib/R/site-library/rstan/include' -I'/opt/R/4.3.1/lib/R/site-library/StanHeaders/include' -I/usr/local/include -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -D_REENTRANT -DSTAN_THREADS -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o +In file included from /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/Core:205, +... +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric::T(stan::mcmc::dense_e_point&) [with Model = model_survival_mspline_namespace::model_survival_mspline; BaseRNG = boost::random::additive_combine_engine, boost::random::linear_congruential_engine >]’ +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:21:10: required from here +/opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type’ {aka ‘__m128d’} [-Wignored-attributes] + 654 | return internal::first_aligned::alignment),Derived>(m); + | ^~~~~~~~~ +g++: fatal error: Killed signal terminated program cc1plus +compilation terminated. +make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_mspline.o] Error 1 +ERROR: compilation failed for package ‘multinma’ +* removing ‘/tmp/workdir/multinma/old/multinma.Rcheck/multinma’ ``` -# VplotR +# scDiffCom
-* Version: NA +* Version: 1.0.0 * GitHub: NA -* Source code: https://github.com/cran/VplotR -* Number of recursive dependencies: 144 +* Source code: https://github.com/cran/scDiffCom +* Date/Publication: 2023-11-03 18:40:02 UTC +* Number of recursive dependencies: 259 -Run `revdepcheck::cloud_details(, "VplotR")` for more info +Run `revdepcheck::cloud_details(, "scDiffCom")` for more info
@@ -541,7 +171,27 @@ Run `revdepcheck::cloud_details(, "VplotR")` for more info ### Devel ``` +* using log directory ‘/tmp/workdir/scDiffCom/new/scDiffCom.Rcheck’ +* using R version 4.3.1 (2023-06-16) +* using platform: x86_64-pc-linux-gnu (64-bit) +* R was compiled by + gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 + GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 +* running under: Ubuntu 22.04.4 LTS +* using session charset: UTF-8 +* using option ‘--no-manual’ +* checking for file ‘scDiffCom/DESCRIPTION’ ... OK +... +* this is package ‘scDiffCom’ version ‘1.0.0’ +* package encoding: UTF-8 +* checking package namespace information ... OK +* checking package dependencies ... ERROR +Package required but not available: ‘Seurat’ +See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ +manual. +* DONE +Status: 1 ERROR @@ -551,7 +201,27 @@ Run `revdepcheck::cloud_details(, "VplotR")` for more info ### CRAN ``` +* using log directory ‘/tmp/workdir/scDiffCom/old/scDiffCom.Rcheck’ +* using R version 4.3.1 (2023-06-16) +* using platform: x86_64-pc-linux-gnu (64-bit) +* R was compiled by + gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 + GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 +* running under: Ubuntu 22.04.4 LTS +* using session charset: UTF-8 +* using option ‘--no-manual’ +* checking for file ‘scDiffCom/DESCRIPTION’ ... OK +... +* this is package ‘scDiffCom’ version ‘1.0.0’ +* package encoding: UTF-8 +* checking package namespace information ... OK +* checking package dependencies ... ERROR +Package required but not available: ‘Seurat’ +See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ +manual. +* DONE +Status: 1 ERROR From 66f740cea8b352fd00c469022024bd8322b7e667 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Sat, 6 Jul 2024 08:12:01 -0500 Subject: [PATCH 16/61] Increment version number to 2.1.0 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a2addcac5..2f025c7db 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: pkgdown Title: Make Static HTML Documentation for a Package -Version: 2.0.9.9000 +Version: 2.1.0 Authors@R: c( person("Hadley", "Wickham", , "hadley@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-4757-117X")), diff --git a/NEWS.md b/NEWS.md index 289f82ad0..e46288389 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# pkgdown (development version) +# pkgdown 2.1.0 ## Major changes From 0c36a6be9628553ae8197fc5d78028d8526850f2 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Sun, 7 Jul 2024 09:05:27 -0500 Subject: [PATCH 17/61] Increment version number to 2.1.0.9000 --- DESCRIPTION | 2 +- NEWS.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2f025c7db..474198131 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: pkgdown Title: Make Static HTML Documentation for a Package -Version: 2.1.0 +Version: 2.1.0.9000 Authors@R: c( person("Hadley", "Wickham", , "hadley@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-4757-117X")), diff --git a/NEWS.md b/NEWS.md index e46288389..dc25587c3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,5 @@ +# pkgdown (development version) + # pkgdown 2.1.0 ## Major changes From 0517c46034475f19825734c489498dada580467a Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 8 Jul 2024 09:17:48 +0200 Subject: [PATCH 18/61] Quarto 1.5 is now released so no need for pre-release (#2702) Fixes #2700 --- vignettes/quarto.qmd | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/vignettes/quarto.qmd b/vignettes/quarto.qmd index 5f64cf341..2e3afc24f 100644 --- a/vignettes/quarto.qmd +++ b/vignettes/quarto.qmd @@ -26,15 +26,11 @@ project: ### GitHub actions -Currently, you'll need to manually install the pre-release version of Quarto in your GitHub actions. ([Hopefully this will change in the future](https://github.com/r-lib/actions/issues/866)). Add the following lines to install quarto: +Currently, you'll need to manually install Quarto in your GitHub actions. ([Hopefully this will change in the future](https://github.com/r-lib/actions/issues/866)). Add the following lines to install quarto: ```yaml - name: Set up Quarto - uses: quarto-dev/quarto-actions/setup@v2 - with: - version: pre-release - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: quarto-dev/quarto-actions/setup@v2 ``` ## Limitations From f20a64976d359c3f763c34f92cae9c0bc87ba5be Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 8 Jul 2024 09:19:26 +0200 Subject: [PATCH 19/61] Add link to blog post --- pkgdown/_pkgdown.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgdown/_pkgdown.yml b/pkgdown/_pkgdown.yml index ce3a05f76..ef9b21dca 100644 --- a/pkgdown/_pkgdown.yml +++ b/pkgdown/_pkgdown.yml @@ -103,6 +103,8 @@ redirects: news: releases: + - text: "Version 2.1.0" + href: https://www.tidyverse.org/blog/2024/07/pkgdown-2-1-0/ - text: "Version 2.0.0" href: https://www.tidyverse.org/blog/2021/12/pkgdown-2-0-0/ - text: "Version 1.6.0" From 1407329e7a0027d6430684504c3d314fbc83b08f Mon Sep 17 00:00:00 2001 From: olivroy <52606734+olivroy@users.noreply.github.com> Date: Thu, 11 Jul 2024 08:48:47 -0400 Subject: [PATCH 20/61] Update customise.Rmd to advice for `search` on the right + note about pkgdown changing default navbar (#2710) --------- Co-authored-by: Hadley Wickham --- vignettes/customise.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vignettes/customise.Rmd b/vignettes/customise.Rmd index 104df56e3..44e5691ad 100644 --- a/vignettes/customise.Rmd +++ b/vignettes/customise.Rmd @@ -282,6 +282,8 @@ It makes use of the the following built-in components: - `github`, a link to the source repository (with an icon), if it can be automatically determined from the `DESCRIPTION`. - `lightswitch`, a ["light switch"](#light-switch) to select light mode, dark mode, or auto mode. +Note that customising `navbar` like this comes with a downside: if pkgdown later changes the defaults, you'll have to update your `_pkgdown.yml`. + [^dots]: Note that dots (`.`) in the package name need to be replaced by hyphens (`-`) in the vignette filename to be recognized as the intro. That means for a package `foo.bar` the intro needs to be named `foo-bar.Rmd`. @@ -333,7 +335,7 @@ For example, the following yaml adds a new "twitter" component that appears to t ``` yaml navbar: structure: - right: [twitter, github] + right: [search, twitter, github, lightswitch] components: twitter: icon: fa-twitter From 89c9e51b7a9c9082cc48fc73ec4b9743c07fb388 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth Date: Sat, 13 Jul 2024 14:20:59 -0600 Subject: [PATCH 21/61] Depend on R version >= 4.0.0 (#2717) Fixes #2714 --- DESCRIPTION | 2 +- NEWS.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 474198131..72d671059 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,7 +21,7 @@ License: MIT + file LICENSE URL: https://pkgdown.r-lib.org/, https://github.com/r-lib/pkgdown BugReports: https://github.com/r-lib/pkgdown/issues Depends: - R (>= 3.6) + R (>= 4.0.0) Imports: bslib (>= 0.5.1), callr (>= 3.7.3), diff --git a/NEWS.md b/NEWS.md index dc25587c3..01a508bd7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # pkgdown (development version) +* pkgdown now depends on R >= 4.0.0 (#2714) + # pkgdown 2.1.0 ## Major changes From 9779d2890d39c68d47f43a6514c565e394ce4c71 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth Date: Sun, 14 Jul 2024 11:45:48 -0600 Subject: [PATCH 22/61] Implement `clean_cache()` (#2719) Closes #2718 --- NAMESPACE | 1 + NEWS.md | 1 + R/clean.R | 27 ++++++++++++++++++++++++++- man/{clean_site.Rd => clean.Rd} | 5 +++++ 4 files changed, 33 insertions(+), 1 deletion(-) rename man/{clean_site.Rd => clean.Rd} (76%) diff --git a/NAMESPACE b/NAMESPACE index b5c4203db..6e2bdfb2f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -125,6 +125,7 @@ export(build_site) export(build_site_github_pages) export(build_tutorials) export(check_pkgdown) +export(clean_cache) export(clean_site) export(data_template) export(deploy_site_github) diff --git a/NEWS.md b/NEWS.md index 01a508bd7..6bd90a976 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ # pkgdown (development version) +* New `clean_cache()` function removes the contents of the cache directory (#2718). * pkgdown now depends on R >= 4.0.0 (#2714) # pkgdown 2.1.0 diff --git a/R/clean.R b/R/clean.R index 8f781e54e..b8472fb34 100644 --- a/R/clean.R +++ b/R/clean.R @@ -4,6 +4,7 @@ #' #' @param quiet If `TRUE`, suppresses a message. #' @inheritParams build_site +#' @rdname clean #' @export clean_site <- function(pkg = ".", quiet = FALSE) { @@ -27,6 +28,30 @@ clean_site <- function(pkg = ".", quiet = FALSE) { invisible(TRUE) } +#' Clean cache +#' +#' Delete all files in the pkgdown cache directory. +#' +#' @rdname clean +#' @export +clean_cache <- function(pkg = ".", quiet = FALSE) { + + pkg <- as_pkgdown(pkg) + cache_path <- tools::R_user_dir("pkgdown", "cache") + + if (dir_exists(cache_path)) { + if (!quiet) { + cli::cli_inform( + "Cleaning {.pkg {pkg$package}} cache files from {.path {cache_path}}" + ) + } + + dir_delete(cache_path) + } + + invisible(TRUE) +} + check_dest_is_pkgdown <- function(pkg) { if (file_exists(path(pkg$dst_path, "pkgdown.yml"))) { return() @@ -45,6 +70,6 @@ dest_files <- function(pkg) { character() } else { top_level <- dir_ls(pkg$dst_path) - top_level[!path_file(top_level) %in% c("CNAME", "dev")] + top_level[!path_file(top_level) %in% c("CNAME", "dev")] } } diff --git a/man/clean_site.Rd b/man/clean.Rd similarity index 76% rename from man/clean_site.Rd rename to man/clean.Rd index d8e73f3cf..b6d8b0710 100644 --- a/man/clean_site.Rd +++ b/man/clean.Rd @@ -2,9 +2,12 @@ % Please edit documentation in R/clean.R \name{clean_site} \alias{clean_site} +\alias{clean_cache} \title{Clean site} \usage{ clean_site(pkg = ".", quiet = FALSE) + +clean_cache(pkg = ".", quiet = FALSE) } \arguments{ \item{pkg}{Path to package.} @@ -13,4 +16,6 @@ clean_site(pkg = ".", quiet = FALSE) } \description{ Delete all files in \verb{docs/} (except for \code{CNAME}). + +Delete all files in the pkgdown cache directory. } From 2841c0f994fda7f7c7da94034bd24e3882fc7a37 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Tue, 16 Jul 2024 07:49:06 -0500 Subject: [PATCH 23/61] Bump httr2 dep (#2725) --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 72d671059..6a0a62f8a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -31,7 +31,7 @@ Imports: downlit (>= 0.4.4), fontawesome, fs (>= 1.4.0), - httr2 (>= 1.0.0), + httr2 (>= 1.0.2), jsonlite, openssl, purrr (>= 1.0.0), From 6f01c9267a1cee263216cec38eea10017d751dd8 Mon Sep 17 00:00:00 2001 From: Leonardo Collado-Torres Date: Tue, 23 Jul 2024 08:55:44 -0400 Subject: [PATCH 24/61] Parse symbolic usage Closes #2727 --- R/usage.R | 2 +- tests/testthat/test-usage.R | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/R/usage.R b/R/usage.R index 1c4631fa0..6ecc78e71 100644 --- a/R/usage.R +++ b/R/usage.R @@ -19,7 +19,7 @@ as_data.tag_usage <- function(x, ...) { lines <- strsplit(text, "\n", fixed = TRUE)[[1]] parsed <- lapply(lines, function(x) tryCatch(parse(text = x)[[1]], error = function(e) NULL)) needs_tweak <- function(x) { - is_call(x) && !is_call(x, "=") && !is_syntactic(x[[1]]) + is_call(x) && !is_call(x, "=") && (is_symbol(x[[1]]) && !is_syntactic(x[[1]])) } to_tweak <- vapply(parsed, needs_tweak, logical(1)) lines[to_tweak] <- vapply(parsed[to_tweak], deparse1, character(1)) diff --git a/tests/testthat/test-usage.R b/tests/testthat/test-usage.R index 776f7df50..97a00b83a 100644 --- a/tests/testthat/test-usage.R +++ b/tests/testthat/test-usage.R @@ -186,6 +186,10 @@ test_that("can parse dots", { expect_equal(usage$name, "f") }) +test_that("usage2text can parse symbols (#2727)", { + expect_no_error(usage2text("viridisLite::viridis(21)")) +}) + # short_name -------------------------------------------------------------- test_that("infix functions left as", { From 73dd873e9a422d638562b1fd93f877096a6d9ef3 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 2 Aug 2024 08:03:00 -0500 Subject: [PATCH 25/61] Update snapshot tests (#2744) Since bslib has now registered its url in a way that downlit recognises. --- tests/testthat/_snaps/build-reference-index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/_snaps/build-reference-index.md b/tests/testthat/_snaps/build-reference-index.md index 0f581dc75..22d449c14 100644 --- a/tests/testthat/_snaps/build-reference-index.md +++ b/tests/testthat/_snaps/build-reference-index.md @@ -142,7 +142,7 @@ - is_installed() - check_installed() icon: ~ - - path: https://rdrr.io/pkg/bslib/man/bs_bundle.html + - path: https://rstudio.github.io/bslib/reference/bs_bundle.html title: Add low-level theming customizations (from bslib) lifecycle: ~ aliases: From 502c3e2ce0df6c7236d87098637073eaba61c5f4 Mon Sep 17 00:00:00 2001 From: Henning Lorenzen <89191115+HenningLorenzen-ext-bayer@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:37:15 +0200 Subject: [PATCH 26/61] (Un)escape URLs when reading/writing `` attributes (#2711) Fixes #2705 --- R/check-built.R | 2 +- R/tweak-page.R | 12 +++++++++--- tests/testthat/test-build-article.R | 21 ++++++++++++++++++--- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/R/check-built.R b/R/check-built.R index 3f78e2a30..6c55eac1a 100644 --- a/R/check-built.R +++ b/R/check-built.R @@ -14,7 +14,7 @@ check_missing_images <- function(pkg, src_path, dst_path) { img <- xml2::xml_find_all(html, ".//img") src <- xml2::xml_attr(img, "src") - rel_src <- src[xml2::url_parse(src)$scheme == ""] + rel_src <- xml2::url_unescape(src[xml2::url_parse(src)$scheme == ""]) rel_path <- path_norm(path(path_dir(dst_path), rel_src)) exists <- file_exists(path(pkg$dst_path, rel_path)) diff --git a/R/tweak-page.R b/R/tweak-page.R index 3349dc469..b5e1cf74c 100644 --- a/R/tweak-page.R +++ b/R/tweak-page.R @@ -47,10 +47,16 @@ tweak_rmarkdown_html <- function(html, input_path, pkg = list(bs_version = 3)) { src <- xml2::xml_attr(img, "src") abs_src <- is_absolute_path(src) if (any(abs_src)) { + img_target_nodes <- img[abs_src] + img_src_real <- path_real(xml2::url_unescape(src[abs_src])) + input_path_real <- path_real(xml2::url_unescape(input_path)) + img_rel_paths <- path_rel(path = img_src_real, start = input_path_real) + img_rel_paths <- xml2::url_escape(img_rel_paths) + purrr::walk2( - img[abs_src], - path_rel(path_real(src[abs_src]), path_real(input_path)), - xml2::xml_set_attr, + .x = img_target_nodes, + .y = img_rel_paths, + .f = xml2::xml_set_attr, attr = "src" ) } diff --git a/tests/testthat/test-build-article.R b/tests/testthat/test-build-article.R index e9b92d906..5429d9251 100644 --- a/tests/testthat/test-build-article.R +++ b/tests/testthat/test-build-article.R @@ -81,7 +81,7 @@ test_that("BS5 article gets correctly activated navbar", { html <- xml2::read_html(article_path) navbar <- xml2::xml_find_first(html, ".//div[contains(@class, 'navbar')]") - + expect_equal( xpath_text(navbar,".//li[contains(@class, 'active')]//button"), "Articles" @@ -104,7 +104,7 @@ test_that("output is reproducible by default, i.e. 'seed' is respected", { r_code_block("runif(5L)") )) suppressMessages(path <- build_article("test", pkg)) - + html <- xml2::read_html(path) output <- xpath_text(html, "//main//pre")[[2]] expect_snapshot(cat(output)) @@ -133,7 +133,7 @@ test_that("can control math mode", { suppressMessages(path <- build_article("math", pkg)) html <- xml2::read_html(path) expect_equal(xpath_length(html, ".//span[contains(@class, 'math')]"), 1) - + pkg$meta$template$`math-rendering` <- "katex" suppressMessages(init_site(pkg)) suppressMessages(path <- build_article("math", pkg)) @@ -276,6 +276,21 @@ test_that("warns about missing images", { expect_snapshot(build_article("kitten", pkg)) }) +test_that("spaces in sorce paths do work", { + # create simulated package + pkg0 <- local_pkgdown_site() + pkg0 <- pkg_add_file(pkg0, "vignettes/kitten.Rmd", "![Kitten](kitten.jpg)") + pkg0 <- pkg_add_kitten(pkg0, "vignettes") + + # copy simulated pkg to path that contains spaces + pkg1 <- fs::dir_copy(pkg0$src_path, fs::file_temp(pattern = "beware of spaces-")) + + # check that pkgdown site builds anyways + expect_no_error(suppressMessages( + build_article("kitten", as_pkgdown(pkg1)) + )) +}) + test_that("warns about missing alt-text", { pkg <- local_pkgdown_site() pkg <- pkg_add_file(pkg, "vignettes/kitten.Rmd", "![](kitten.jpg)") From 1d40a80e6b3564a6d7da0ce467b0a4570aa5665e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Mon, 5 Aug 2024 14:25:40 +0200 Subject: [PATCH 27/61] Use latest GHA workflows (#2747) --- .github/workflows/R-CMD-check.yaml | 6 +++--- .github/workflows/pkgdown.yaml | 4 +++- .github/workflows/pr-commands.yaml | 6 +++++- .github/workflows/test-coverage.yaml | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 7cfe84536..c84c01f11 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -10,7 +10,7 @@ on: pull_request: branches: [main, master] -name: R-CMD-check +name: R-CMD-check.yaml permissions: read-all @@ -27,8 +27,8 @@ jobs: - {os: macos-latest, r: 'release'} - {os: windows-latest, r: 'release'} - # use 4.1 to check with rtools40's older compiler - - {os: windows-latest, r: '4.1'} + # use 4.0 or 4.1 to check with rtools40's older compiler + - {os: windows-latest, r: 'oldrel-4'} - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - {os: ubuntu-latest, r: 'release'} diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 45c5f8d02..bfe16f8de 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -3,11 +3,13 @@ on: push: branches: [main, master] + pull_request: + branches: [main, master] release: types: [published] workflow_dispatch: -name: pkgdown +name: pkgdown.yaml permissions: read-all diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml index d1f765096..2edd93f27 100644 --- a/.github/workflows/pr-commands.yaml +++ b/.github/workflows/pr-commands.yaml @@ -4,7 +4,7 @@ on: issue_comment: types: [created] -name: Commands +name: pr-commands.yaml permissions: read-all @@ -15,6 +15,8 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - uses: actions/checkout@v4 @@ -52,6 +54,8 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index c8ef29984..fc4241e93 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -6,7 +6,7 @@ on: pull_request: branches: [main, master] -name: test-coverage +name: test-coverage.yaml permissions: read-all From be2fd266a414086d5f39e5f51394cc4ea5f4cca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Catalina=20Ca=C3=B1izares?= <88352293+ccani007@users.noreply.github.com> Date: Thu, 15 Aug 2024 13:06:50 -0700 Subject: [PATCH 28/61] Eliminate `stringsAsFactors` (#2755) Fixes #2708 --- R/build-news.R | 3 +-- R/utils.R | 3 +-- tests/testthat/test-build-news.R | 7 +++---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/R/build-news.R b/R/build-news.R index 481b64d44..dff8a2300 100644 --- a/R/build-news.R +++ b/R/build-news.R @@ -192,7 +192,7 @@ data_news <- function(pkg, call = caller_env() ) { } else { timeline <- NULL } - + purrr::walk2( sections, versions, @@ -284,7 +284,6 @@ pkg_timeline <- function(package) { data.frame( version = names(timeline), date = as.Date(timeline), - stringsAsFactors = FALSE, row.names = NULL ) } diff --git a/R/utils.R b/R/utils.R index 7f84d5e5c..abd609dd3 100644 --- a/R/utils.R +++ b/R/utils.R @@ -109,7 +109,6 @@ re_match <- function(text, pattern, perl = TRUE, ...) { matchstr[ start == -1 ] <- NA_character_ res <- data.frame( - stringsAsFactors = FALSE, .text = text, .match = matchstr ) @@ -124,7 +123,7 @@ re_match <- function(text, pattern, perl = TRUE, ...) { groupstr[ gstart == -1 ] <- NA_character_ dim(groupstr) <- dim(gstart) - res <- cbind(groupstr, res, stringsAsFactors = FALSE) + res <- cbind(groupstr, res) } names(res) <- c(attr(match, "capture.names"), ".text", ".match") diff --git a/tests/testthat/test-build-news.R b/tests/testthat/test-build-news.R index 6bae9fb5d..ba548b5ab 100644 --- a/tests/testthat/test-build-news.R +++ b/tests/testthat/test-build-news.R @@ -23,8 +23,8 @@ test_that("news is syntax highlighted once", { pkg <- local_pkgdown_site() pkg <- pkg_add_file(pkg, "NEWS.md", c( "# testpackage 1.0.0.9000", - "```r", - "x <- 1", + "```r", + "x <- 1", "```" )) suppressMessages(build_news(pkg, preview = FALSE)) @@ -117,8 +117,7 @@ test_that("correct timeline for first ggplot2 releases", { timeline <- pkg_timeline("ggplot2")[1:3, ] expected <- data.frame( version = c("0.5", "0.5.1", "0.5.2"), - date = as.Date(c("2007-06-01", "2007-06-09", "2007-06-18")), - stringsAsFactors = FALSE + date = as.Date(c("2007-06-01", "2007-06-09", "2007-06-18")) ) expect_equal(timeline, expected) From 1a6c8b7bd52488651df0deaec51e5b39c4f0bcd5 Mon Sep 17 00:00:00 2001 From: catalamarti Date: Thu, 15 Aug 2024 17:20:34 -0700 Subject: [PATCH 29/61] Allow `BugReports` to be an email (#2758) Fixes #2275 --- NEWS.md | 3 +++ R/build-home-index.R | 15 ++++++++++----- tests/testthat/_snaps/build-home-index.md | 8 ++++++++ tests/testthat/test-build-home-index.R | 9 ++++++++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/NEWS.md b/NEWS.md index 6bd90a976..dcaf54600 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,9 @@ # pkgdown (development version) +* The `BugReports` field can now be an email (@catalamarti, #2275). + * New `clean_cache()` function removes the contents of the cache directory (#2718). + * pkgdown now depends on R >= 4.0.0 (#2714) # pkgdown 2.1.0 diff --git a/R/build-home-index.R b/R/build-home-index.R index d589970b4..70f2764bd 100644 --- a/R/build-home-index.R +++ b/R/build-home-index.R @@ -108,7 +108,7 @@ data_home_sidebar <- function(pkg = ".", call = caller_env()) { "home.sidebar.structure", default = default_sidebar_structure(), call = call - ) + ) # compute all default sections default_components <- list( @@ -122,7 +122,7 @@ data_home_sidebar <- function(pkg = ".", call = caller_env()) { ) needs_components <- setdiff(structure, names(default_components)) - custom_yaml <- config_pluck_sidebar_components(pkg, needs_components, call = call) + custom_yaml <- config_pluck_sidebar_components(pkg, needs_components, call = call) custom_components <- purrr::map(custom_yaml, function(x) { sidebar_section(x$title, markdown_text_block(pkg, x$text)) }) @@ -140,11 +140,11 @@ default_sidebar_structure <- function() { config_pluck_sidebar_components <- function(pkg, new_components, call = caller_env()) { base_path <- "home.sidebar.components" components <- config_pluck_list(pkg, base_path, has_names = new_components, call = call) - + for (name in names(components)) { component <- components[[name]] component_path <- paste0(base_path, ".", name) - + config_pluck_list(pkg, component_path, has_names = c("title", "text"), call = call) config_pluck_string(pkg, paste0(component_path, ".title"), call = call) config_pluck_string(pkg, paste0(component_path, ".text"), call = call) @@ -158,10 +158,15 @@ data_home_sidebar_links <- function(pkg = ".") { repo <- cran_link(pkg$package) links <- config_pluck(pkg, "home.links") + bug_reports <- pkg$desc$get_field("BugReports", default = NULL) + if (grepl("@", bug_reports) && !startsWith(bug_reports, "http")) { + bug_reports <- paste0("mailto:", bug_reports) + } + links <- c( link_url(sprintf(tr_("View on %s"), repo$repo), repo$url), link_url(tr_("Browse source code"), repo_home(pkg)), - link_url(tr_("Report a bug"), pkg$desc$get_field("BugReports", default = NULL)), + link_url(tr_("Report a bug"), bug_reports), purrr::map_chr(links, ~ link_url(.$text, .$href)) ) diff --git a/tests/testthat/_snaps/build-home-index.md b/tests/testthat/_snaps/build-home-index.md index 63e60799b..8de6d29e4 100644 --- a/tests/testthat/_snaps/build-home-index.md +++ b/tests/testthat/_snaps/build-home-index.md @@ -149,3 +149,11 @@ ! In _pkgdown.yml, home.sidebar.components.fancy must have components "title" and "text". 2 missing components: "title" and "text". +# allow email in BugReports + + Code + xpath_xml(html, ".//li/a") + Output + Report a bug + Citing testpackage + diff --git a/tests/testthat/test-build-home-index.R b/tests/testthat/test-build-home-index.R index 283b39126..d452b215f 100644 --- a/tests/testthat/test-build-home-index.R +++ b/tests/testthat/test-build-home-index.R @@ -30,7 +30,7 @@ test_that("math is handled", { expect_equal(xpath_length(html, ".//math"), 1) }) -test_that("data_home() validates yaml metadata", { +test_that("data_home() validates yaml metadata", { data_home_ <- function(...) { pkg <- local_pkgdown_site(meta = list(...)) data_home(pkg) @@ -153,3 +153,10 @@ test_that("cran_unquote works", { "Quoting is CRAN's thing." ) }) + +test_that("allow email in BugReports", { + # currently desc throws a warning if BugReports is an email + pkg <- local_pkgdown_site(desc = list(BugReports = "me@tidyverse.com")) + html <- xml2::read_html(data_home_sidebar(pkg)) + expect_snapshot(xpath_xml(html, ".//li/a")) +}) From f4e653aa08d3496a1b11d9a0cfddf447931c76bd Mon Sep 17 00:00:00 2001 From: Tan Ho <38083823+tanho63@users.noreply.github.com> Date: Fri, 16 Aug 2024 08:55:12 -0700 Subject: [PATCH 30/61] updated gha instructions/workflows for quarto (#2757) --- .github/workflows/R-CMD-check.yaml | 8 ++------ .github/workflows/lint.yaml | 4 +++- .github/workflows/netlify.yaml | 5 ----- .github/workflows/pkgdown.yaml | 8 ++------ .github/workflows/test-coverage.yaml | 8 ++------ NEWS.md | 1 + vignettes/quarto.qmd | 8 ++------ 7 files changed, 12 insertions(+), 30 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index c84c01f11..11411bea0 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -44,13 +44,9 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: quarto-dev/quarto-actions/setup@v2 - with: - tinytex: true - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-pandoc@v2 + + - uses: r-lib/actions/setup-tinytex@v2 - uses: r-lib/actions/setup-r@v2 with: diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index c3a09d8dc..f9fe26967 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -21,11 +21,13 @@ jobs: - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true - + - uses: r-lib/actions/setup-r-dependencies@v2 with: extra-packages: any::lintr, local::. needs: lint + + - uses: r-lib/actions/setup-tinytex@v2 - name: Lint run: lintr::lint_package() diff --git a/.github/workflows/netlify.yaml b/.github/workflows/netlify.yaml index 3bc4f8ebd..10c6fe1e0 100644 --- a/.github/workflows/netlify.yaml +++ b/.github/workflows/netlify.yaml @@ -16,11 +16,6 @@ jobs: - uses: r-lib/actions/setup-pandoc@v2 - - name: Set up Quarto - uses: quarto-dev/quarto-actions/setup@v2 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index bfe16f8de..0927d63fc 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -26,12 +26,6 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: quarto-dev/quarto-actions/setup@v2 - with: - tinytex: true - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 @@ -42,6 +36,8 @@ jobs: with: extra-packages: any::pkgdown, local::. needs: website + + - uses: r-lib/actions/setup-tinytex@v2 - name: Build site run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE) diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index fc4241e93..eb25110b7 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -21,12 +21,6 @@ jobs: - uses: r-lib/actions/setup-pandoc@v2 - - uses: quarto-dev/quarto-actions/setup@v2 - with: - tinytex: true - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true @@ -35,6 +29,8 @@ jobs: with: extra-packages: any::covr, any::xml2 needs: coverage + + - uses: r-lib/actions/setup-tinytex@v2 - name: Test coverage run: | diff --git a/NEWS.md b/NEWS.md index dcaf54600..39e2fd621 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,7 @@ * New `clean_cache()` function removes the contents of the cache directory (#2718). * pkgdown now depends on R >= 4.0.0 (#2714) +* Updated GitHub Actions advice and workflows around Quarto install (@tanho63, #2743) # pkgdown 2.1.0 diff --git a/vignettes/quarto.qmd b/vignettes/quarto.qmd index 2e3afc24f..dd95085dd 100644 --- a/vignettes/quarto.qmd +++ b/vignettes/quarto.qmd @@ -24,14 +24,10 @@ project: render: ['*.qmd'] ``` -### GitHub actions +### GitHub Actions -Currently, you'll need to manually install Quarto in your GitHub actions. ([Hopefully this will change in the future](https://github.com/r-lib/actions/issues/866)). Add the following lines to install quarto: +The `setup-r-dependencies` action will [automatically](https://github.com/r-lib/actions/tree/v2-branch/setup-r-dependencies#usage) install Quarto in your GitHub Actions if a .qmd file is present in your repository (see the `install-quarto` parameter for more details). -```yaml - - name: Set up Quarto - uses: quarto-dev/quarto-actions/setup@v2 -``` ## Limitations From 6ecf7666c05a728e6fea07301a07c33a6ffed784 Mon Sep 17 00:00:00 2001 From: "E. David Aja" Date: Fri, 16 Aug 2024 10:12:51 -0700 Subject: [PATCH 31/61] added keyboard shortcut to focus search" (#2760) Closes #2423 Co-authored-by: Melissa Van Bussel --- NEWS.md | 3 +-- inst/BS5/assets/pkgdown.js | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 39e2fd621..89d7eb4cd 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,9 +1,8 @@ # pkgdown (development version) +* Added keyboard shortcut, `/`, to focus search bar (#2423) * The `BugReports` field can now be an email (@catalamarti, #2275). - * New `clean_cache()` function removes the contents of the cache directory (#2718). - * pkgdown now depends on R >= 4.0.0 (#2714) * Updated GitHub Actions advice and workflows around Quarto install (@tanho63, #2743) diff --git a/inst/BS5/assets/pkgdown.js b/inst/BS5/assets/pkgdown.js index 9757bf9ef..1a99c65f5 100644 --- a/inst/BS5/assets/pkgdown.js +++ b/inst/BS5/assets/pkgdown.js @@ -152,3 +152,11 @@ async function searchFuse(query, callback) { }); }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); From 515efc4149b88d770f7cb236938b0689eb79a4db Mon Sep 17 00:00:00 2001 From: "J.P. Le Cavalier" Date: Sat, 17 Aug 2024 06:35:56 -0700 Subject: [PATCH 32/61] Use deparse1() instead of paste(deparse(), collapse = " "). (#2761) --- R/rd-example.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/rd-example.R b/R/rd-example.R index 134796633..62d2d56ca 100644 --- a/R/rd-example.R +++ b/R/rd-example.R @@ -63,7 +63,7 @@ process_conditional_examples <- function(rd) { if (isTRUE(cond)) { remove <- c(remove, idx, idx + 1L) } else { - cond_expr_str <- paste(deparse(cond_expr), collapse = " ") + cond_expr_str <- deparse1(cond_expr) is_false <- cond_expr_str == "FALSE" if (!is_false) { new_cond <- paste0("if (FALSE) { # ", cond_expr_str) From de3fe6d143d75782ef22078fb0ad34f830709f1e Mon Sep 17 00:00:00 2001 From: Victoria Catharine <105864528+vjcatharine@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:29:49 -0400 Subject: [PATCH 33/61] Proofread vignettes (#2754) Fixes #2707 --- vignettes/customise.Rmd | 46 +++++++++++------------ vignettes/how-to-update-released-site.Rmd | 16 ++++---- vignettes/linking.Rmd | 2 +- vignettes/metadata.Rmd | 8 ++-- vignettes/pkgdown.Rmd | 6 +-- 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/vignettes/customise.Rmd b/vignettes/customise.Rmd index 44e5691ad..095726b2b 100644 --- a/vignettes/customise.Rmd +++ b/vignettes/customise.Rmd @@ -21,7 +21,7 @@ We'll start by discussing two techniques that only require tweaks to your `_pkgd We'll then discuss how to add additional HTML and other files. Next, we'll discuss how to give multiple sites the same style using a package, then finish up with some workflow advice. -In terms of your `_pkgdown.yml`, this vignette focusses on the most important fields nested under `template` and `navbar`. To learn more about customising other aspect of the site, see the documentation for the indiviudal functions like `build_reference()`, `build_articles()`, `build_home()`, `build_redirects()`, and `init_site()`. To learn about less important fields nested under `template`, see `build_site()`. +In terms of your `_pkgdown.yml`, this vignette focusses on the most important fields nested under `template` and `navbar`. To learn more about customising other aspects of the site, see the documentation for the indiviudal functions like `build_reference()`, `build_articles()`, `build_home()`, `build_redirects()`, and `init_site()`. To learn about less important fields nested under `template`, see `build_site()`. ```{r setup} library(pkgdown) @@ -45,18 +45,18 @@ Upgrading to Bootstrap 5 has a low chance of breaking your site unless you were There are two ways to change the visual style of your site from `_pkgdown.yml`: using a pre-packaged bootswatch theme or customising theme variables with [bslib](https://rstudio.github.io/bslib/). The following sections show you how. -Please note that pkgdown's default theme has been carefully optimised to be accessible, so if you make changes, make sure that to also read `vignette("accessibility")` to learn about potential accessibility pitfalls. +Please note that pkgdown's default theme has been carefully optimised to be accessible, so if you make changes, make sure to also read `vignette("accessibility")` to learn about potential accessibility pitfalls. ### Light switch {#light-switch} -You can provide a "light switch" to allow your uses to switch between dark and light themes by setting the `light-switch` template option to true: +You can provide a "light switch" to allow your users to switch between dark and light themes by setting the `light-switch` template option to true: ```yaml template: light-switch: true ``` -This will add a `lightswitch` component to the navbar, which defaults to appearing at the far right. This allows the user to select light mode, dark mode, or auto mode (which follows the system setting). The modes are applied using Bootstrap 5.3's [colours modes](https://getbootstrap.com/docs/5.3/customize/color-modes/) so are not separate themes, but a thin layer of colour customisation applied via CSS. +This will add a `lightswitch` component to the navbar, which by default appears at the far right. This allows the user to select light mode, dark mode, or auto mode (which follows the system setting). The modes are applied using Bootstrap 5.3's [colours modes](https://getbootstrap.com/docs/5.3/customize/color-modes/) so are not separate themes, but a thin layer of colour customisation applied via CSS. ### Bootswatch themes @@ -109,7 +109,7 @@ template: You can customise other components by setting more specific bslib variables, taking advantage of inheritance where possible. For example, `table-border-color` defaults to `border-color` which defaults to `gray-300`. -If you want to change the colour of all borders, you can set `border-color`; if you just want to change the colour of table borders, you can set `table-border-color`. +If you want to change the colour of all borders, you can set `border-color` and if you just want to change the colour of table borders, you can set `table-border-color`. You can find a full list of variables in the [bslib docs](https://rstudio.github.io/bslib/articles/bs5-variables/index.html). If you're using the light switch, [many colours](https://getbootstrap.com/docs/5.3/customize/color-modes/#sass-variables) are available for customisation specifically for the dark theme. @@ -178,9 +178,9 @@ template: base_font: proxima-nova ``` -Depending on where the font is from (and if you paid money for it), you may need to take additional steps to ensure that it can only be used from your site, and/or make sure that it can still be used when you're previewing locally. If you're having problems getting a custom font to work, looking for errors in the [browser developer console](https://developer.mozilla.org/en-US/docs/Glossary/Developer_Tools) is a good place to start. +Depending on where the font is from (and if you purchased it), you may need to take additional steps to ensure that it can only be used from your site, and/or make sure that it can still be used when you're previewing locally. If you're having problems getting a custom font to work, looking for errors in the [browser developer console](https://developer.mozilla.org/en-US/docs/Glossary/Developer_Tools) is a good place to start. -When iterating on fonts, you'll need to run `build_home_index(); init_site()` then refresh you browser to see the update. +When iterating on fonts, you'll need to run `build_home_index(); init_site()` then refresh your browser to see the update. ### Syntax highlighting @@ -245,7 +245,7 @@ navbar: You generally don't need to set `bg` if you use a bootswatch theme, as pkgdown will pick the `bg` used on the [Bootstwatch preview](https://bootswatch.com/). Similarly, you don't usually need to set `type` because bootstrap will guess it for you. -If it guesses wrong, override with `type: light` or `type: dark` depending on whether the background colour is light (so you need dark text) or `type: dark` if the background is dark (so you need light text). +If the guess is wrong, you can override with `type: light` or `type: dark` depending on whether the background colour is light (so you need dark text) or `type: dark` if the background is dark (so you need light text). Unfortunately, these are defined relative to the page background, so if you have a dark site you'll need to flip `light` and `dark` (a little experimentation should quickly determine what looks best). Because the navbar is styled with HTML, you'll need to `build_home_index(); init_site()` to see the effect of changing this parameter. @@ -274,13 +274,13 @@ navbar: It makes use of the the following built-in components: - `intro`: "Get Started", which links to a vignette or article with the same name as the package[^dots]. -- `reference`, if there are any `.Rd` files. -- `articles`, if there are any vignettes or articles. -- `tutorials`, if there any tutorials. -- `news`, if `NEWS.md` exists. -- `search`, the search box (see `?build_search` for more details). -- `github`, a link to the source repository (with an icon), if it can be automatically determined from the `DESCRIPTION`. -- `lightswitch`, a ["light switch"](#light-switch) to select light mode, dark mode, or auto mode. +- `reference`: if there are any `.Rd` files. +- `articles`: if there are any vignettes or articles. +- `tutorials`: if there any tutorials. +- `news`: if `NEWS.md` exists. +- `search`: the search box (see `?build_search` for more details). +- `github`: a link to the source repository (with an icon), if it can be automatically determined from the `DESCRIPTION`. +- `lightswitch`; a ["light switch"](#light-switch) to select light mode, dark mode, or auto mode. Note that customising `navbar` like this comes with a downside: if pkgdown later changes the defaults, you'll have to update your `_pkgdown.yml`. @@ -353,7 +353,7 @@ template: after_navbar: ``` -These includes will appear on all screen sizes, and will not be collapsed into the the navbar drop down. +These inclusions will appear on all screen sizes, and will not be collapsed into the the navbar drop down. You can also customise the colour scheme of the navbar by using the `type` and `bg` parameters. See above for details. @@ -374,12 +374,12 @@ footer: Which uses two of the three built-in components: -- `developed_by`, a sentence describing the main authors of the package. (See `?build_home` if you want to tweak *which* authors appear in the footer.) -- `built_with`, a sentence advertising pkgdown. -- `package`, the name of the package. +- `developed_by`: a sentence describing the main authors of the package. (See `?build_home` if you want to tweak *which* authors appear in the footer.) +- `built_with`: a sentence advertising pkgdown. +- `package`: the name of the package. You can override these defaults with the `footer` field. -The example below puts the authors' information on the right along with a legal disclaimer, and puts the pkgdown link on the left. +The example below puts the author's information on the right along with a legal disclaimer, and puts the pkgdown link on the left. ``` yaml footer: @@ -409,7 +409,7 @@ template: You can include additional files by putting them in the right place: -- `pkgdown/extra.css` and `pkgdown/extra.js` will be copied in to rendered site and linked from `` (after the pkgdown defaults). +- `pkgdown/extra.css` and `pkgdown/extra.js` will be copied to the rendered site and linked from `` (after the pkgdown defaults). - `pkgdown/extra.scss` will be added to the scss ruleset used to generate the site CSS. @@ -440,7 +440,7 @@ template: package: theverybest ``` -You then also need to make sure it's available when your site is build. Typically, you won't want to publish this package to CRAN, but you will want to publish to GitHub. Once you've done that, and assuming you're using the [usethis workflow](https://usethis.r-lib.org/reference/use_pkgdown.html), add the following line to your `DESCRIPTION`: +You then also need to make sure it's available when your site is built. Typically, you won't want to publish this package to CRAN, but you will want to publish to GitHub. Once you've done that, and assuming you're using the [usethis workflow](https://usethis.r-lib.org/reference/use_pkgdown.html), add the following line to your `DESCRIPTION`: ```yaml Config/Needs/website: myorg/theverybest @@ -461,7 +461,7 @@ But please note that these templates aren't suitable for use with your own packa If you are updating a template package that works with pkgdown 1.0.0, create directories `inst/pkgdown/BS5/templates` and `inst/pkgdown/BS5/assets` (if you don't have any templates/assets make sure to a add dummy file to ensure that git tracks them). The `templates` and `assets` directories directly under `inst/pkgdown` will be used by pkgdown 1.0.0 and by pkgdown 2.0.0 if `boostrap: 3`. The directories under `inst/pkgdown/BS5/` will be used for pkgdown 2.0.0 with `boostrap: 5`. -This lets your package support both versions of bootstrap and pkgdown. +This lets your package support both versions of Bootstrap and pkgdown. ## PR previews diff --git a/vignettes/how-to-update-released-site.Rmd b/vignettes/how-to-update-released-site.Rmd index ed5513a98..353d25de9 100644 --- a/vignettes/how-to-update-released-site.Rmd +++ b/vignettes/how-to-update-released-site.Rmd @@ -20,7 +20,7 @@ knitr::opts_chunk$set( This vignette shows you how to update the released version of your site to match the dev version of the site, so the first step is to ensure that the dev site looks the way that you want it. -This site assumes that you're a using recent version of our recommend [pkgdown action](https://github.com/r-lib/actions/blob/HEAD/examples/pkgdown.yaml). If your workflow does not contain `workflow_dispatch`, you will need to update `.github/actions/pkgdown.yaml` by running `use_github_action("pkgdown")`. +This site assumes that you're using a recent version of our recommended [pkgdown action](https://github.com/r-lib/actions/blob/HEAD/examples/pkgdown.yaml). If your workflow does not contain `workflow_dispatch`, you will need to update `.github/actions/pkgdown.yaml` by running `use_github_action("pkgdown")`. ## Process @@ -36,13 +36,13 @@ gert::git_branch_checkout("main") gert::git_pull() ``` -Next figure out the released version that we're updating: +Next figure out the released version that you're updating: ```{r} ver <- desc::desc_get_version()[1, 1:3] ``` -We'll use this to create and checkout the branch that you'll work in: +You will use this to create and checkout the branch that you'll work in: ```{r} gert::git_branch_create(paste0("pkgdown-v", ver), paste0("v", ver)) @@ -76,7 +76,7 @@ If you backport `DESCRIPTION`, you'll also need undo the change to the `Version` desc::desc_set_version(ver) ``` -Now build the site locally and check that it looks as you expect: +Now build the site locally and check that it looks as expected: ```{r} pkgdown::build_site() @@ -123,7 +123,7 @@ This directs pkgdown to "generate different sites for the development and releas The readr package demonstrates what happens in automatic development mode: -[readr.tidyverse.org](https://readr.tidyverse.org) documents the released version, i.e. what `install.packages()` would deliver.\ +[readr.tidyverse.org](https://readr.tidyverse.org) documents the released version, i.e. what `install.packages()` will deliver.\ [readr.tidyverse.org/dev/](https://readr.tidyverse.org/dev/) documents the dev version, i.e. what you'd get by installing from GitHub. In this mode, `pkgdown::build_site()`, consults DESCRIPTION to learn the package's version number. @@ -131,13 +131,13 @@ For a development version number, the rendered site is written to `docs/dev/`. For a released version number, the site is written to `docs/`. (There are also other signals to alert users that they are reading documentation for a dev version vs. a released version.) -Automatic development mode is recommended for packages with a broad user base, because it maximizes the chance that a user will read web-based documentation that reflects the package version that is locally installed. +Automatic development mode is recommended for packages with a broad user base because it maximizes the chance that a user will read web-based documentation which reflects the package version that is locally installed. ### Publishing Now that we've established the meaning of a released (vs dev) site, we have to consider how the site is built (i.e. how the HTML is generated) and deployed (i.e. how the HTML is published to a website so people can see it.). -We recommend `usethis::use_pkgdown_github_pages()` to do basic pkgdown setup and configure a GitHub Actions (GHA) workflow to automatically render and publish the site to GitHub Pages. This function is bascially a shortcut for calling the following functions individually: +We recommend `usethis::use_pkgdown_github_pages()` to do basic pkgdown setup and configure a GitHub Actions (GHA) workflow to automatically render and publish the site to GitHub Pages. This function is basically a shortcut for calling the following functions individually: * `use_pkgdown()` * `use_github_pages()` @@ -235,7 +235,7 @@ In that case, we can cherry pick such a commit by its SHA: git cherry-pick SHA ``` -If that doesn't cover everything, for each file you want to update, identify a Git reference (meaning: a SHA, tag, or branch) where the file is in the desired state. +If that doesn't cover everything for each file you want to update, identify a Git reference (meaning: a SHA, tag, or branch) where the file is in the desired state. Checkout that specific file path from that specific ref: ``` diff --git a/vignettes/linking.Rmd b/vignettes/linking.Rmd index 75bda28e7..2c5d54479 100644 --- a/vignettes/linking.Rmd +++ b/vignettes/linking.Rmd @@ -51,7 +51,7 @@ If pkgdown can find a pkgdown site for the remote package, it will link to it; o url: https://dplyr.tidyverse.org ``` - When this field is defined, pkgdown generate a public facing + When this field is defined, pkgdown generates a public facing [`pkgdown.yml` file](https://dplyr.tidyverse.org/pkgdown.yml) that provides metadata about the site: diff --git a/vignettes/metadata.Rmd b/vignettes/metadata.Rmd index 79c74ad15..09edc6c80 100644 --- a/vignettes/metadata.Rmd +++ b/vignettes/metadata.Rmd @@ -20,9 +20,9 @@ Package authors can customize the metadata used by Twitter and the [Open Graph p You can preview and validate the appearance of the social media cards with online tools: -* [Google Rich Results Test][ogp-validator]; -* Drafting a tweet to yourself; -* Sending yourself a Slack message. +* [Google Rich Results Test][ogp-validator] +* Drafting a tweet to yourself +* Sending yourself a Slack message ## Necessary configuration @@ -78,7 +78,7 @@ The `template: opengraph` section allows you to further customize the social med * `site`: The Twitter handle of the organization affiliated with the package author or sponsoring the package development. - * If only one of `creator` or `site` is included, the provided value will + * If only one of either `creator` or `site` is included, the provided value will be used for both fields. * `card`: The [style of social media card][twitter-card] that Twitter will diff --git a/vignettes/pkgdown.Rmd b/vignettes/pkgdown.Rmd index 643dda46f..22af5467d 100644 --- a/vignettes/pkgdown.Rmd +++ b/vignettes/pkgdown.Rmd @@ -64,8 +64,8 @@ pkgdown's defaults work to ensure that your site is accessible to as many people ## Home page The contents of the home page are automatically generated from `index.md` or `README.md`. -pkgdown tries them in order, so it's possible to have a different display on GitHub and pkgdown by providing both files. -The homepage also includes a sidebar full of useful links; see `?build_home` for how these are generated and how you can customise them. +pkgdown tries to put them in order, so it's possible to have a different display on GitHub and pkgdown by providing both files. +The homepage also includes a sidebar full of useful links (see `?build_home` for how these are generated and how you can customise them). ## Reference @@ -116,7 +116,7 @@ It just re-builds the index page, making it faster to quickly change `_pkgdown.y ## Articles pkgdown will automatically build all vignettes found in `vignettes/`, translating them to HTML files in `articles/`. -It is recommended to name your intro article with your package name to generate a Get Started page automatically. +It is recommended to name your intro article with your package name to generate a "Get Started" page automatically. Due to the way that pkgdown has to integrate R Markdown generated HTML with its own HTML, relatively little control is available over the output format. You can see the details in `?build_articles`. From 0f565db6296b85cb6c8f06f2fc55a44b3391df1d Mon Sep 17 00:00:00 2001 From: "Lydia Gibson, MS, GStat" Date: Mon, 19 Aug 2024 08:30:01 -0700 Subject: [PATCH 34/61] Remove code needed for old R versions (#2759) --- R/rd.R | 10 +--------- tests/testthat/test-build-home-license.R | 2 -- tests/testthat/test-build-reference.R | 1 - tests/testthat/test-rd-html.R | 3 --- 4 files changed, 1 insertion(+), 15 deletions(-) diff --git a/R/rd.R b/R/rd.R index 91d03c1c0..c659761dd 100644 --- a/R/rd.R +++ b/R/rd.R @@ -6,15 +6,7 @@ rd_text <- function(x, fragment = TRUE) { } rd_file <- function(path, pkg_path = NULL) { - if (getRversion() >= "3.4.0") { - macros <- tools::loadPkgRdMacros(pkg_path) - set_classes(tools::parse_Rd(path, macros = macros, encoding = "UTF-8")) - } else if (getRversion() >= "3.2.0") { - macros <- tools::loadPkgRdMacros(pkg_path, TRUE) - set_classes(tools::parse_Rd(path, macros = macros, encoding = "UTF-8")) - } else { - set_classes(tools::parse_Rd(path, encoding = "UTF-8")) - } + set_classes(tools::parse_Rd(path, encoding = "UTF-8")) } #' Translate an Rd string to its HTML output diff --git a/tests/testthat/test-build-home-license.R b/tests/testthat/test-build-home-license.R index 5470e8179..285037043 100644 --- a/tests/testthat/test-build-home-license.R +++ b/tests/testthat/test-build-home-license.R @@ -1,6 +1,4 @@ test_that("link_license matchs exactly", { - # R 3.1 uses http url - skip_if_not(getRversion() >= "3.2.0") # Shouldn't match first GPL-2 expect_equal( diff --git a/tests/testthat/test-build-reference.R b/tests/testthat/test-build-reference.R index 848e477e0..9e66d796f 100644 --- a/tests/testthat/test-build-reference.R +++ b/tests/testthat/test-build-reference.R @@ -1,5 +1,4 @@ test_that("parse failures include file name", { - skip_if_not(getRversion() >= "4.0.0") pkg <- local_pkgdown_site(test_path("assets/reference-fail")) expect_snapshot(build_reference(pkg), error = TRUE) }) diff --git a/tests/testthat/test-rd-html.R b/tests/testthat/test-rd-html.R index 4aeed412f..c76b7288d 100644 --- a/tests/testthat/test-rd-html.R +++ b/tests/testthat/test-rd-html.R @@ -428,9 +428,6 @@ test_that("deqn", { }) test_that("special", { - # Fails due to a bug prior to R 4.0.0: - # https://bugs.r-project.org/show_bug.cgi?id=17727 - skip_if_not(getRversion() >= "4.0.0") out <- rd2html("\\special{( \\dots )}") expect_equal(out, "( ... )") }) From 020dc44c138193ad0a63a9778bb832ac7afed1f1 Mon Sep 17 00:00:00 2001 From: Zivan Karaman <30553159+zivankaraman@users.noreply.github.com> Date: Tue, 20 Aug 2024 21:05:07 +0200 Subject: [PATCH 35/61] Fixed 'Bootstwatch' typo in customise.Rmd (#2767) --- vignettes/customise.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vignettes/customise.Rmd b/vignettes/customise.Rmd index 095726b2b..7f671e656 100644 --- a/vignettes/customise.Rmd +++ b/vignettes/customise.Rmd @@ -243,7 +243,7 @@ navbar: bg: primary ``` -You generally don't need to set `bg` if you use a bootswatch theme, as pkgdown will pick the `bg` used on the [Bootstwatch preview](https://bootswatch.com/). +You generally don't need to set `bg` if you use a bootswatch theme, as pkgdown will pick the `bg` used on the [Bootswatch preview](https://bootswatch.com/). Similarly, you don't usually need to set `type` because bootstrap will guess it for you. If the guess is wrong, you can override with `type: light` or `type: dark` depending on whether the background colour is light (so you need dark text) or `type: dark` if the background is dark (so you need light text). Unfortunately, these are defined relative to the page background, so if you have a dark site you'll need to flip `light` and `dark` (a little experimentation should quickly determine what looks best). From ee72108bc3a9827dcf313817525652dbd9d4284d Mon Sep 17 00:00:00 2001 From: Jordan <36420801+jrdnbradford@users.noreply.github.com> Date: Sun, 25 Aug 2024 21:04:55 -0400 Subject: [PATCH 36/61] Fix typo in `build.R` docs (#2738) --- R/build.R | 2 +- man/build_site.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/build.R b/R/build.R index 5ec3acd30..5b7b4022a 100644 --- a/R/build.R +++ b/R/build.R @@ -244,7 +244,7 @@ #' The varying components (e.g. path, issue number, user name) are pasted on #' the end of these URLs so they should have trailing `/`s. #' -#' When creating the link to pacge source, we have to link to a specific +#' When creating the link to a package source, we have to link to a specific #' branch. The default behaviour is to use current branch when in GitHub #' actions and `HEAD` otherwise. You can overide this default with #' `repo.branch`: diff --git a/man/build_site.Rd b/man/build_site.Rd index ea56181c7..a0e52b6fa 100644 --- a/man/build_site.Rd +++ b/man/build_site.Rd @@ -294,7 +294,7 @@ Otherwise, you can supply your own in the \code{repo} field: The varying components (e.g. path, issue number, user name) are pasted on the end of these URLs so they should have trailing \code{/}s. -When creating the link to pacge source, we have to link to a specific +When creating the link to a package source, we have to link to a specific branch. The default behaviour is to use current branch when in GitHub actions and \code{HEAD} otherwise. You can overide this default with \code{repo.branch}: From 800340f4b1b6d5c8c0c3510ef34776436b14b298 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 13 Sep 2024 09:00:31 -0500 Subject: [PATCH 37/61] Don't purl vignette code either Needed for older versions of R on CRAN --- vignettes/how-to-update-released-site.Rmd | 27 ++++++++++++----------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/vignettes/how-to-update-released-site.Rmd b/vignettes/how-to-update-released-site.Rmd index 353d25de9..230361f76 100644 --- a/vignettes/how-to-update-released-site.Rmd +++ b/vignettes/how-to-update-released-site.Rmd @@ -14,7 +14,8 @@ vignette: > knitr::opts_chunk$set( collapse = TRUE, comment = "#>", - eval = FALSE + eval = FALSE, + purl = FALSE ) ``` @@ -55,14 +56,14 @@ Run this R code to generate the git code to pull changes for the most common loc ```{r} files <- c( - # overall site config + # overall site config "_pkgdown.yml", # the workflow that builds the site ".github/workflows/pkgdown.yaml", # readme and vignettes "README.md", "vignettes", # logo and favicon - "man/figures/", "pkgdown/", + "man/figures/", "pkgdown/", # Author metadata and Config/Needs/Website "DESCRIPTION" ) @@ -137,7 +138,7 @@ Automatic development mode is recommended for packages with a broad user base be Now that we've established the meaning of a released (vs dev) site, we have to consider how the site is built (i.e. how the HTML is generated) and deployed (i.e. how the HTML is published to a website so people can see it.). -We recommend `usethis::use_pkgdown_github_pages()` to do basic pkgdown setup and configure a GitHub Actions (GHA) workflow to automatically render and publish the site to GitHub Pages. This function is basically a shortcut for calling the following functions individually: +We recommend `usethis::use_pkgdown_github_pages()` to do basic pkgdown setup and configure a GitHub Actions (GHA) workflow to automatically render and publish the site to GitHub Pages. This function is basically a shortcut for calling the following functions individually: * `use_pkgdown()` * `use_github_pages()` @@ -159,16 +160,16 @@ on: release: types: [published] workflow_dispatch: - + - name: Build site run: Rscript -e 'pkgdown::build_site_github_pages(...)' - + - name: Deploy to GitHub pages 🚀 if: github.event_name != 'pull_request' uses: JamesIves/github-pages-deploy-action@4.1.4 - + ``` @@ -178,7 +179,7 @@ Altogether this means that we: * Build, but don't deploy, for pull requests against `main`. This reveals any pkgdown errors, but ensures the live site isn't - updated until the pull request is merged (because the code is + updated until the pull request is merged (because the code is pushed to `main`). * Build and deploy when we publish a GitHub release. @@ -203,13 +204,13 @@ The overall goal is to create a branch that combines some features of the releas For example, if readr's latest release is 2.1.1: -``` +``` git checkout -b update-pkgdown-2-1-1 v2.1.1 ``` And here is the general pattern: -``` +``` git checkout -b NEW-BRANCH-NAME NAME-OF-RELEASE-TAG ``` @@ -231,21 +232,21 @@ Here are some tips on backporting specific changes into this branch. If you are lucky, there are specific commits in your default branch that contain all the necessary changes. In that case, we can cherry pick such a commit by its SHA: -``` +``` git cherry-pick SHA ``` If that doesn't cover everything for each file you want to update, identify a Git reference (meaning: a SHA, tag, or branch) where the file is in the desired state. Checkout that specific file path from that specific ref: -``` +``` git checkout main -- path/to/the/file ``` For example, readr recently gained a new vignette that applies to the released version of readr, i.e. it does not document any dev-only features or functions. We can bring that into the current branch with: -``` +``` git checkout main -- vignettes/column-types.Rmd ``` From bbf246ea0e115fa39486bee5be80f91903c0081b Mon Sep 17 00:00:00 2001 From: Adrian Lison Date: Sun, 15 Sep 2024 15:51:05 +0200 Subject: [PATCH 38/61] Fix error on missing bug reports (#2781) --- R/build-home-index.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/build-home-index.R b/R/build-home-index.R index 70f2764bd..228dc7666 100644 --- a/R/build-home-index.R +++ b/R/build-home-index.R @@ -159,7 +159,7 @@ data_home_sidebar_links <- function(pkg = ".") { links <- config_pluck(pkg, "home.links") bug_reports <- pkg$desc$get_field("BugReports", default = NULL) - if (grepl("@", bug_reports) && !startsWith(bug_reports, "http")) { + if (!is.null(bug_reports) && grepl("@", bug_reports) && !startsWith(bug_reports, "http")) { bug_reports <- paste0("mailto:", bug_reports) } From 58679a1c6456dca6a26115f4cd11189e9a58d6ef Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Fri, 13 Sep 2024 09:19:17 -0500 Subject: [PATCH 39/61] Trim whitespace in NEWS --- NEWS.md | 516 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 258 insertions(+), 258 deletions(-) diff --git a/NEWS.md b/NEWS.md index 89d7eb4cd..ea13c8e5a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -89,7 +89,7 @@ * `build_reference()` matches usage for S3 and S4 methods to the style used by R 4.0.0 and later (#2187). * `build_reference_index()` now displays function lifecycle badges next to the function name (#2123). The badges are extracted only from the function description. You can now also use `has_lifecycle()` to select functions by their lifecycle status. * `build_redirects()` is now exported to make it easier to document (#2500). -* `build_redirects()` now automatically adds redirects for topic +* `build_redirects()` now automatically adds redirects for topic aliases. This matches the behaviour of `?` and will help keep links stable in the long term (#1876). * `build_redirects()` now reports which redirects it is generating. * `build_site()` automatically runs `pkgdown_sitrep()` at the start of the process (#2380). @@ -106,85 +106,85 @@ aliases. This matches the behaviour of `?` and will help keep links stable in th * Fixes for regressions in 2.0.8: * Output links generated when building the site work once again (#2435). - - * pkgdown once again uses Bootstrap version specified in a template + + * pkgdown once again uses Bootstrap version specified in a template package (@gadenbuie, #2443). * Front-end improvements: - * The skip link now becomes visible when focussed (#2138). Thanks to @glin + * The skip link now becomes visible when focussed (#2138). Thanks to @glin for the styles! - * The left and right footers no longer contain an extra empty paragraph tag - and the footer gains additional padding-top to keep the whitespace constant + * The left and right footers no longer contain an extra empty paragraph tag + and the footer gains additional padding-top to keep the whitespace constant (#2381). * Clipboard buttons report their action again ("Copied!") (#2462) -* It is now easier to preview parts of the website locally interactively. +* It is now easier to preview parts of the website locally interactively. `build_reference_index()` and friends will call `init_site()` automatically instead of erroring (@olivroy, #2329). * `build_article()` gains a new `new_process` argument which allows to build a - vignette in the current process for debugging purposes. We've also improved - the error messages and tracebacks if an article fails to build, hopefully + vignette in the current process for debugging purposes. We've also improved + the error messages and tracebacks if an article fails to build, hopefully also making debugging easier (#2438). -* `build_article_index()` and `build_reference_index()` use an improved BS5 - template that correctly wraps each section description in a `
`, rather - than a `

`. This eliminates an empty pargraph tag that preceded each section +* `build_article_index()` and `build_reference_index()` use an improved BS5 + template that correctly wraps each section description in a `

`, rather + than a `

`. This eliminates an empty pargraph tag that preceded each section description (#2352). * `build_home()` no longer errors when you have an empty `.md` file (#2309). - It alos no longer renders Github issue and pull request templates + It alos no longer renders Github issue and pull request templates (@hsloot, #2362) -* `build_news()` now warns if it doesn't find any version headings, suggesting +* `build_news()` now warns if it doesn't find any version headings, suggesting that that `NEWS.md` is structured incorrectly (#2213). -* `build_readme()` now correctly tweaks links to markdown files that use an +* `build_readme()` now correctly tweaks links to markdown files that use an anchor, e.g. `foo.md#heading-name` (#2313). -* `build_reference_index()` gives more informative errors if your `contents` +* `build_reference_index()` gives more informative errors if your `contents` field is malformed (#2323). -* `check_pkgdown()` no longer errors if your intro vignette is an article is +* `check_pkgdown()` no longer errors if your intro vignette is an article is not listed in `_pkgdown.yml` (@olivroy #2150). * `data_template()` gives a more informative error if you've misspecified the navbar (#2312). # pkgdown 2.0.8 -* pkgdown is now compatible with (and requires) bslib >= 0.5.1 - (@gadenbuie, #2395), including a fix to BS5 navbar template to get +* pkgdown is now compatible with (and requires) bslib >= 0.5.1 + (@gadenbuie, #2395), including a fix to BS5 navbar template to get `navbar.type: dark` to work with Bootstrap 5.3+ (@tanho63, #2388) -* Now uses [cli](https://github.com/r-lib/cli) to provide interactive feedback. +* Now uses [cli](https://github.com/r-lib/cli) to provide interactive feedback. * Avoid unwanted linebreaks from parsing `DESCRIPTION` (@salim-b, #2247). -* Translations - * New Catalan translation (@jmaspons, #2333). +* Translations + * New Catalan translation (@jmaspons, #2333). * Citation sections are correctly translated (@eliocamp, #2410). -* `build_article_index()` now sorts vignettes and non-vignette articles - alphabetically by their filename (literally, their `basename()`), by default +* `build_article_index()` now sorts vignettes and non-vignette articles + alphabetically by their filename (literally, their `basename()`), by default (@jennybc, #2253). * Deprecated `build_favicon()` was removed (`build_favicons()` remains). -* `build_articles()` now sets RNG seed by default. Use - `build_articles(seed = NULL)` for the old (unreproducible) behaviour. +* `build_articles()` now sets RNG seed by default. Use + `build_articles(seed = NULL)` for the old (unreproducible) behaviour. (@salim-b, #2354). * `build_articles()` will process `.qmd` articles with the quarto vignette builder (@rcannood, #2404). -* `build_articles()` and `build_reference()` now set RNG seed for htmlwidgets - IDs. This reduces noise in final HTML output, both for articles and examples +* `build_articles()` and `build_reference()` now set RNG seed for htmlwidgets + IDs. This reduces noise in final HTML output, both for articles and examples that contain htmlwidgets (@salim-b, #2294, #2354). -* `build_news()` correctly parses of github profiles and issues into links +* `build_news()` correctly parses of github profiles and issues into links when present at the beginning of list items (@pearsonca, #2122) * `build_reference()` sets `seed` correctly; it was previously reset too early @@ -195,16 +195,16 @@ aliases. This matches the behaviour of `?` and will help keep links stable in th * Correct usage for S3 methods with non-syntactic class names (#2384). * Preserve Markdown code blocks with class rmd from roxygen2 docs (@salim-b, #2298). -* `build_reference_index()` no longer generates redundant entries when multiple +* `build_reference_index()` no longer generates redundant entries when multiple explicit `@usage` tags are provided (@klmr, #2302) -* `build_reference_index()` correctly handles topic names that conflict with +* `build_reference_index()` correctly handles topic names that conflict with selector functions (@dmurdoch, #2397). # pkgdown 2.0.7 * Fix topic match selection when there is an unmatched selection followed by a matched selection (@bundfussr, #2234) -* Fix highlighting of nested not R code blocks (for instance, example of R +* Fix highlighting of nested not R code blocks (for instance, example of R Markdown code with chunks) (@idavydov, #2237). * Tweak German translation (@krlmlr, @mgirlich, @lhdjung, #2149, #2236) * Remove mention of (defunct) Twitter card validator, provide alternatives (@Bisaloo, #2185) @@ -220,23 +220,23 @@ Markdown code with chunks) (@idavydov, #2237). (#2150). * If there aren't any functions in the `\usage{}` block, then pkgdown will - now shows all aliases on the reference index, rather than just the topic + now shows all aliases on the reference index, rather than just the topic name (#1624). # pkgdown 2.0.5 -* Correctly generate downlit link targets for topics that have a file name +* Correctly generate downlit link targets for topics that have a file name ending in `.` (#2128). * `build_articles()`: if build fails because the index doesn't include all articles, you're now told what articles are missing (@zkamvar, #2121). * `build_home()` now escapes angle brackets in author comments(#2127). - + * `build_home()` will automatically render and link `.github/SUPPORT.md` (@IndrajeetPatil, #2124). -* `build_news()` once again fails to link `@username` at start of +* `build_news()` once again fails to link `@username` at start of bullet. I had to reverted #2030 because of #2122. * `build_reference()`: restore accidentally nerfed `has_keyword()` and @@ -244,25 +244,25 @@ Markdown code with chunks) (@idavydov, #2237). # pkgdown 2.0.4 -* New `check_pkgdown()` provides a lightweight way to check that your - `_pkgdown.yml` is valid without building the site (#2056). Invalid +* New `check_pkgdown()` provides a lightweight way to check that your + `_pkgdown.yml` is valid without building the site (#2056). Invalid `_pkgdown.yml` now consistently generates errors both locally and on CI (#2055). * `build_article()` now supports inline markdown in the `title` (#2039). -* `build_home()` no longer shows development status badges on the released +* `build_home()` no longer shows development status badges on the released version of the site (#2054). * `build_news()` support automated `@username` links in more places (#2030). -* `build_reference()`: +* `build_reference()`: - * You can once again exclude topics from the reference index with `-` (#2040). + * You can once again exclude topics from the reference index with `-` (#2040). - * Inline markdown in `title`s and `subtitle`s is now supported(#2039). + * Inline markdown in `title`s and `subtitle`s is now supported(#2039). - * Package logos will be automatically stripped from the `.Rd` you don't end + * Package logos will be automatically stripped from the `.Rd` you don't end up with two on one page. (#2083). * `\figure{file}{alternative text}` with multiline alt text is now parsed @@ -285,7 +285,7 @@ Markdown code with chunks) (@idavydov, #2237). * Navbar components now accept `target` argument (#2089, @JSchoenbachler). -* New syntax highlighting themes a11y-light, a11y-dark, monochrome-light, +* New syntax highlighting themes a11y-light, a11y-dark, monochrome-light, monochrome-dark, and solarized # pkgdown 2.0.3 @@ -297,8 +297,8 @@ Markdown code with chunks) (@idavydov, #2237). * New Korean (`ko`) translation thanks to @mrchypark and @peremen (#1944). New Danish (`dk`) translation thanks to @LDalby. -* `build_articles()` now adjusts the heading levels of vignettes/articles that - use `

` as section headings to ensure that there's one top-level heading +* `build_articles()` now adjusts the heading levels of vignettes/articles that + use `

` as section headings to ensure that there's one top-level heading (#2004). This ensures that there's one `

`, the title, on each page, and makes the TOC in the sidebar work correctly. @@ -308,11 +308,11 @@ Markdown code with chunks) (@idavydov, #2237). * `build_news()` once again works if `NEWS.md` uses `

` headings (#1947). -* `build_reference()` now correctly interprets `title: internal`: it removes - the section from the reference index _and_ it doesn't list the topics in that +* `build_reference()` now correctly interprets `title: internal`: it removes + the section from the reference index _and_ it doesn't list the topics in that section as missing (#1958). -* `build_reference()` now gives a correct hint when the reference index YAML +* `build_reference()` now gives a correct hint when the reference index YAML is not formatted correctly (e.g. empty item, or item such as "n" that needs to be escaped with quotes to not be interpreted as Boolean) (#1995). @@ -324,16 +324,16 @@ Markdown code with chunks) (@idavydov, #2237). * The navbar gets a little more space after the version number, and aligns the baseline with rest of the navbar (#1989). - * Long lines in code output once again scroll, rather than being wrapped. + * Long lines in code output once again scroll, rather than being wrapped. While this is different to what you'll see in the console, it's a better - fit for web pages where the available code width varies based on the + fit for web pages where the available code width varies based on the browser width (#1940). - - * scrollspy (which highlights the "active" heading in the sidebar) now - computes the offset dynamically which makes it work better on sites with + + * scrollspy (which highlights the "active" heading in the sidebar) now + computes the offset dynamically which makes it work better on sites with taller navbars (#1993). - * Fixed js issues that occurred on pages without a table of contents + * Fixed js issues that occurred on pages without a table of contents (@gadenbuie, #1998). * When htmlwidgets with jQuery or Bootstrap dependencies are used in examples or @@ -341,7 +341,7 @@ Markdown code with chunks) (@idavydov, #2237). the versions used by the htmlwidget (@gadenbuie, #1997). * pkgdown no longer includes bundled author metadata for Hadley Wickham, - RStudio, or the RConsortium, since there are now ways to include this + RStudio, or the RConsortium, since there are now ways to include this meta data in template packages, and special casing these three entities feels increasingly weird (#1952). @@ -365,111 +365,111 @@ Markdown code with chunks) (@idavydov, #2237). ## Bootstrap 5 * pkgdown can style your site with Bootstrap 5 (with help from @jayhesselberth, - @apreshill, @cpsievert). Opt-in by setting `boostrap` version in your + @apreshill, @cpsievert). Opt-in by setting `boostrap` version in your `_pkgdown.yml`: - + ```yaml template: bootstrap: 5 ``` -* We reviewed site accessibility and made a number of small improvements: +* We reviewed site accessibility and made a number of small improvements: (#782, #1553): * Default font is larger and links are always underlined. * Heading anchors use `aria-hidden` to reduce noise for screenreader users. * Navbar dropdowns has improved `aria-labelledby`. - * The default GitHub/GitLab links gain an `aria-label`; use for other + * The default GitHub/GitLab links gain an `aria-label`; use for other icons is now supported, and encouraged in the docs. * Syntax highlighting uses a new more - [accessible colour scheme](https://apreshill.github.io/rmda11y/arrow.html), + [accessible colour scheme](https://apreshill.github.io/rmda11y/arrow.html), designed by Alison Hill (#1536) * A skip link makes it easier to get directly to the page contents (#1827). -* In-line footnotes mean you can read asides next to the text they refer to. +* In-line footnotes mean you can read asides next to the text they refer to. * Articles support tabsets, [as in R Markdown](https://bookdown.org/yihui/rmarkdown-cookbook/html-tabs.html). (@JamesHWade, #1667). * Other minor styling improvements: - + * The active item in TOC is indicated with background colour, rather than a border. * If present, the package logo is shown on all pages near the header. - * Section anchors now appear on the right (making them usable on mobile + * Section anchors now appear on the right (making them usable on mobile phones) (#1782). * The TOC is scrollable independently of the main content. This makes it more useful on long pages with many headings (#1610). * The sidebar is shown at the bottom of the page on narrow screens. - * Function arguments and the reference index (#1822) use definition lists - (`
`) instead of tables. This gives more room for long argument - names/lists of function and detailed descriptions, and displays better + * Function arguments and the reference index (#1822) use definition lists + (`
`) instead of tables. This gives more room for long argument + names/lists of function and detailed descriptions, and displays better on mobile. * Links on the homepage no longer show the full url in the text. - * The default navbar no longer includes a home icon - this took up - precious horizontal space and wasn't very useful since there was already + * The default navbar no longer includes a home icon - this took up + precious horizontal space and wasn't very useful since there was already a link to the home page immediately to its left (#1383). ## Local search -* pkgdown now supports local searching (i.e. searching without an external - service), and is enabled by default for Bootstrap 5 sites since no set-up is - needed (#1629, with help from @gustavdelius in #1655 and @dieghernan & +* pkgdown now supports local searching (i.e. searching without an external + service), and is enabled by default for Bootstrap 5 sites since no set-up is + needed (#1629, with help from @gustavdelius in #1655 and @dieghernan & @GregorDeCillia in #1770). -* pkgdown builds a more exhaustive `sitemap.xml` even for websites built with - Bootstrap 3. This might change Algolia results if you use Algolia for search +* pkgdown builds a more exhaustive `sitemap.xml` even for websites built with + Bootstrap 3. This might change Algolia results if you use Algolia for search (#1629). ## Customisation -* New `vignette("customise")` documents all the ways you can customise your +* New `vignette("customise")` documents all the ways you can customise your site, including the new options described below (#1573). * Sites can be easily themed with either bootswatch themes or by selectively - overriding the `bslib` variables used to generate the CSS. pkgdown now uses - scss for its own Bootstrap css tweaks, which means that you can customise + overriding the `bslib` variables used to generate the CSS. pkgdown now uses + scss for its own Bootstrap css tweaks, which means that you can customise more of the site from within `_pkgdown.yml`. * You can pick from a variety of built-in syntax highlighting themes (#1823). These control the colours (and background) of code in `
` tags.
 
-* pkgdown can now translate all the text that it generates (#1446): this means 
-  that if you have a package where the docs are written in another language, you 
+* pkgdown can now translate all the text that it generates (#1446): this means
+  that if you have a package where the docs are written in another language, you
   can match all the pkgdown UI to provide a seamless experience to non-English
   speakers. Activate the translations by setting the `lang` in `_pkgdown.yml`:
-   
+
     ```yaml
     lang: fr
     ```
-    
+
     pkgdown includes translations for:
-    
+
     * `es`, Spanish, thanks to @edgararuiz-zz, @dieghernan, @rivaquiroga.
     * `de`, German, thanks to @hfrick.
     * `fr`, French, thanks to @romainfrancois, @lionel-, @jplecavalier, and @maelle.
     * `pt`, Portuguese, thanks to @rich-iannone.
     * `tr`, Turkish, thanks to @mine-cetinkaya-rundel.
     * `zh_CN`, simplified Chinese, thanks to @yitao.
-  
+
     If you're interested in adding translations for your language please file
     an issue and we'll help you get started.
-  
+
 * Template packages can now provide `inst/pkgdown/_pkgdown.yml` which is used
-  as a set of defaults for `_pkgdown.yml`. It can be used to (e.g.) provide 
-  author definitions, select Bootstrap version and define bslib variables, 
+  as a set of defaults for `_pkgdown.yml`. It can be used to (e.g.) provide
+  author definitions, select Bootstrap version and define bslib variables,
   and customise the sidebar, footer, navbar, etc. (#1499).
 
-* New `includes` parameters `in-header`, `before-body`, and `after-body` 
-  make it easy to add arbitrary HTML to every page. Their content will be 
-  placed at the end of the `` tag, right below the opening `` tag, 
-  and before the closing tag `` respectively (#1487). They match the 
+* New `includes` parameters `in-header`, `before-body`, and `after-body`
+  make it easy to add arbitrary HTML to every page. Their content will be
+  placed at the end of the `` tag, right below the opening `` tag,
+  and before the closing tag `` respectively (#1487). They match the
   bookdown options `in_header`, `before_body` and `after_body`.
-  
+
     Additionally, you can use `before_title`, `before_navbar`, and
     `after_navbar` to add arbitrary HTML into the navbar/page header; they
-    will appear to the left of the package name/version, and to the left and 
+    will appear to the left of the package name/version, and to the left and
     right of the navigation links respectively (#1882).
 
 * Authors configuration is more flexible (#1516). You can now:
@@ -485,14 +485,14 @@ Markdown code with chunks) (@idavydov, #2237).
     * Add custom sidebar sections (with Markdown/HTML `text`).
     * Add a table of contents to the home page.
     * Completely suppress the sidebar.
-    * Provide your own HTML for the navbar. 
+    * Provide your own HTML for the navbar.
 
 * Footer specification is more flexible (#1502). You can now:
-    
+
     * Change the placement of elements on the left and right.
     * Add text to the left and right (or even remove/replace default text)
-    
-* You can now exclude all default components from the navbar (#1517). 
+
+* You can now exclude all default components from the navbar (#1517).
 
 * Expert users can now override layout templates provided by pkgdown or template
   packages by placing template files in `pkgdown/templates` (@gadenbuie, #1897).
@@ -500,7 +500,7 @@ Markdown code with chunks) (@idavydov, #2237).
 ## New features
 
 * pkgdown now supports redirects (#1259, @lorenzwalthert). The following yaml
-  demonstrates the syntax, with old paths on the left and new paths/URLs on 
+  demonstrates the syntax, with old paths on the left and new paths/URLs on
   the right.
 
   ```yaml
@@ -510,9 +510,9 @@ Markdown code with chunks) (@idavydov, #2237).
     - ["articles/yet-another-old-vignette-name.html", "https://pkgdown.r-lib.org/dev"]
   ```
 
-* Use HTML classes `pkgdown-devel` or `pkgdown-release` to declare that certain 
+* Use HTML classes `pkgdown-devel` or `pkgdown-release` to declare that certain
   content should appear only on the devel or release site. Use the class
-  `pkgdown-hide` for content that should only appear only on GitHub/CRAN 
+  `pkgdown-hide` for content that should only appear only on GitHub/CRAN
   (#1299).
 
 * New `pkgdown_sitrep()` function reports whether the site is set up correctly;
@@ -520,34 +520,34 @@ Markdown code with chunks) (@idavydov, #2237).
 
 ## Code
 
-* Styling for errors, warnings, and messages has been tweaked. Messages 
+* Styling for errors, warnings, and messages has been tweaked. Messages
   are now displayed the same way as output, and warnings and errors are
   bolded, not coloured. This is part of a suite of changes that aim to
-  give package authors greater control over the appearance of messages, 
-  warnings, and errors. 
+  give package authors greater control over the appearance of messages,
+  warnings, and errors.
 
 * Long lines in code output are now wrapped, rather than requiring scrolling.
-  This better matches `rmarkdown::html_document()` and what you see in the 
+  This better matches `rmarkdown::html_document()` and what you see in the
   console.
-  
-* `build_reference()` now allows linking to topics from other packages (either 
-  function names e.g. `rlang::is_installed` or topic names e.g. 
+
+* `build_reference()` now allows linking to topics from other packages (either
+  function names e.g. `rlang::is_installed` or topic names e.g.
   `sass::font_face`). (#1664)
 
-* `build_reference()` now runs examples with 
-  `options(rlang_interactive = FALSE)` (ensuring non-interactive behaviour in 
-  functions that use `rlang::is_interactive()`), `options(cli.dynamic = FALSE)`, 
+* `build_reference()` now runs examples with
+  `options(rlang_interactive = FALSE)` (ensuring non-interactive behaviour in
+  functions that use `rlang::is_interactive()`), `options(cli.dynamic = FALSE)`,
   `Sys.setenv(RSTUDIO = NA)` and `Sys.setLocale("LC_COLLATE", "C")` (#1693).
-  It also runs `pkgdown/pre-reference.R` before and `pkgdown/post-reference.R` 
-  after examples. These allow you to do any setup or teardown operations you 
+  It also runs `pkgdown/pre-reference.R` before and `pkgdown/post-reference.R`
+  after examples. These allow you to do any setup or teardown operations you
   might need (#1602).
 
 * A reference index section with `title: internal` is now silently dropped,
   allowing you to suppress warnings about topics that are not listed in the
   index (#1716).
 
-* Code blocks are now highlighted according to their declared language 
-  (e.g. `yaml`) if the documentation was built with roxygen2 7.1.2 or later 
+* Code blocks are now highlighted according to their declared language
+  (e.g. `yaml`) if the documentation was built with roxygen2 7.1.2 or later
   (#1690, #1692).
 
 * New `pkgdown_print()` allows you to control how your objects are rendered in
@@ -558,7 +558,7 @@ Markdown code with chunks) (@idavydov, #2237).
 
 * You can globally set the `width` of code output (in reference and articles)
   with
-    
+
     ```yaml
     code:
       width: 50
@@ -571,18 +571,18 @@ Markdown code with chunks) (@idavydov, #2237).
 
 * Auto-linking improvements:
 
-  * Links to inherited R6 methods now work correctly for both internal 
+  * Links to inherited R6 methods now work correctly for both internal
     (#1173, @vandenman) and external (#1476) parent classes.
-    
+
   * Linking no longer fails if a package contains duplicated Rd aliases.
-  
+
   * Correctly link to reference pages when the `\name{}` entry doesn't match
     the file name (@dmurdoch, #1586; #1676).
 
 ## Articles
 
-* Article subtitle, author and date (specified in the YAML frontmatter) are now 
-  correctly omitted from the article table of contents in the sidebar 
+* Article subtitle, author and date (specified in the YAML frontmatter) are now
+  correctly omitted from the article table of contents in the sidebar
   (@maxheld83, #1428).
 
 * Support for `as_is: true` and non-default output formats for vignettes/
@@ -591,18 +591,18 @@ Markdown code with chunks) (@idavydov, #2237).
   know about, but it should be a little more reliable and a little better
   documented (#1757, #1764).
 
-* `build_articles()` no longer fails if you have a directory underneath 
+* `build_articles()` no longer fails if you have a directory underneath
   vignettes with a `.Rmd` extension (#1425).
 
 * `build_articles()` now correctly handles links to images in `man/figures`
   (which have the form `../man/figures`) (#1472).
 
-* `build_articles()` again sets the `theme` argument of the document format 
+* `build_articles()` again sets the `theme` argument of the document format
   to `NULL` when `as_is: true` but lets users override this via the `theme`
   argument of the output format.
 
-* `build_articles()` and `build_home()` now warn if you have images that 
-  won't render on the website because they're in unsupported directories 
+* `build_articles()` and `build_home()` now warn if you have images that
+  won't render on the website because they're in unsupported directories
   (#1810). Generally, it's only safe to refer to figures in `man/figures`
   and `vignettes`.
 
@@ -613,14 +613,14 @@ Markdown code with chunks) (@idavydov, #2237).
 
 ## HTML, CSS and JS
 
-* New `template` option `trailing_slash_redirect` that allows adding a script to 
-  redirect `your-package-url.com` to `your-package-url.com/` (#1439, @cderv, 
+* New `template` option `trailing_slash_redirect` that allows adding a script to
+  redirect `your-package-url.com` to `your-package-url.com/` (#1439, @cderv,
   @apreshill).
 
-* External links now get the class `external-link`. This makes them easier to 
+* External links now get the class `external-link`. This makes them easier to
   style with CSS (#881, #1491).
 
-* Duplicated section ids are now de-duplicated; this makes pkgdown work better 
+* Duplicated section ids are now de-duplicated; this makes pkgdown work better
   with the documentation of R6 classes.
 
 * Updated CSS styles from pandoc to improve styling of reference lists (#1469).
@@ -633,60 +633,60 @@ Markdown code with chunks) (@idavydov, #2237).
 
 * `deploy_to_branch()` now calls `git remote set-branches` with `--add` to avoid
   overwriting the existing `remote.{remote}.fetch` value (@kyleam, #1382).
-  It also now cleans out the website directory by default; revert to previous 
+  It also now cleans out the website directory by default; revert to previous
   behaviour with `clean = FALSE` (#1394).
 
 * `build_reference()` will error if envar `CI` is `true` and there are missing
   topics (@ThierryO, #1378).
 
-* You can override the `auto` development mode detected from the package 
+* You can override the `auto` development mode detected from the package
   version by setting env var `PKGDOWN_DEV_MODE` to `release` or `devel`.
   This is useful if your package uses a different convention to indicate
   development and release versions (#1081).
 
-## Other minor improvements and bug fixes 
+## Other minor improvements and bug fixes
 
 * `\special{}` tags with complex contents are rendered correctly (@klmr, #1744).
 
-* `\arguments{}` and `\value{}` do a better job of handling mingled items and 
-  text (#1479). The contents of `\value{}` are now shown immediately after 
+* `\arguments{}` and `\value{}` do a better job of handling mingled items and
+  text (#1479). The contents of `\value{}` are now shown immediately after
   `\arguments{}`.
 
-* The default "branch" for linking to the file sources is `HEAD`, which will 
+* The default "branch" for linking to the file sources is `HEAD`, which will
   work regardless of whether your default branch is called "main" or "master".
 
-* Non-ORCID comments in `Authors@R` are now more usable: if such comments 
-  exist, the sidebar gains a link to the authors page, where they are displayed 
+* Non-ORCID comments in `Authors@R` are now more usable: if such comments
+  exist, the sidebar gains a link to the authors page, where they are displayed
   (#1516).
 
-* Citations with and without text versions are better handled, and text 
+* Citations with and without text versions are better handled, and text
   citations are correctly escaped for HTML (@bastistician, #1507).
 
-* README badges in a single paragraph placed between ``and 
-  `` comments are again detected (#1603). 
+* README badges in a single paragraph placed between ``and
+  `` comments are again detected (#1603).
 
-* The 404 page (default or from `.github/404.md`) is no longer built in the 
-  development mode (see `?build_site`) as e.g. GitHub pages only uses the 
+* The 404 page (default or from `.github/404.md`) is no longer built in the
+  development mode (see `?build_site`) as e.g. GitHub pages only uses the
   `404.html` in the site root (#1622).
 
-* All links on the 404 pages (navbar, scripts, CSS) are now absolute if there 
+* All links on the 404 pages (navbar, scripts, CSS) are now absolute if there
   is an URL in the configuration file (#1622).
 
-* The version tooltip showed in the top navbar is now only set if you've 
+* The version tooltip showed in the top navbar is now only set if you've
   explicitly set the `development.mode` in `_pkgdown.yml` (#1768).
 
-* All heading (e.g. headings on the reference index page, and the arguments 
+* All heading (e.g. headings on the reference index page, and the arguments
   heading on the reference pages) now get anchors (#1747).
 
 * Use `autolink_bare_uris` for Pandoc above version 2.0 (@marcosmolla, #1618).
 
-* pkgdown now recognizes GitLab URLs to the source repository and adds the 
-  corresponding icon to the navbar (#1493). It also supports 
+* pkgdown now recognizes GitLab URLs to the source repository and adds the
+  corresponding icon to the navbar (#1493). It also supports
   [GitLab subgroups](https://docs.gitlab.com/ee/user/group/subgroups/)
   (@salim-b, #1532).
 
-* Links for GitHub Enterprise and GitLab Enterprise repositories are detected 
-  by assuming such host address begin with `github.` or `gitlab.` 
+* Links for GitHub Enterprise and GitLab Enterprise repositories are detected
+  by assuming such host address begin with `github.` or `gitlab.`
   (@ijlyttle, #1452).
 
 * The rules drawn by the CLI (as for example, in `build_site()`) are protected
@@ -695,7 +695,7 @@ Markdown code with chunks) (@idavydov, #2237).
 * Google Site Verification (https://support.google.com/webmasters/answer/9008080?hl=en)
   can now be configured for pkgdown sites.
 
-* `build_rmarkdown_format` sets `html_document(anchor_sections = FALSE)` 
+* `build_rmarkdown_format` sets `html_document(anchor_sections = FALSE)`
    to avoid needless dependencies (@atusy, #1426).
 
 * Jira issues in NEWS can be automatically linked by setting your project name
@@ -703,27 +703,27 @@ Markdown code with chunks) (@idavydov, #2237).
   `repo: url: issue: ...` in `_pkgdown.yml` (@jonkeane, #1466).
 
 * `build_home()` always creates citation information for the authors page,
-  using metadata from `DESCRIPTION` when there is no `inst/CITATION` file, 
+  using metadata from `DESCRIPTION` when there is no `inst/CITATION` file,
   and links to this from the sidebar (#1904).
 
-* `build_news()` no longer breaks with URLs containing numeric fragments 
+* `build_news()` no longer breaks with URLs containing numeric fragments
   (@krassowski, #1456), recognises more styles of release heading (#1437),
-  and generate stable IDs using a the combination of the heading slug and 
+  and generate stable IDs using a the combination of the heading slug and
   package number. (@Bisaloo, #1015)
 
 # pkgdown 1.6.1
 
-* The article index (used for autolinking vignettes across packages) 
+* The article index (used for autolinking vignettes across packages)
   once again works (#1401).
 
 # pkgdown 1.6.0
 
 ## Major changes
 
-* pkgdown now uses the new [downlit](https://downlit.r-lib.org/) package for all 
-  syntax highlighting and autolinking (in both reference topics and vignettes). 
-  There should be very little change in behaviour because the code in downlit 
-  was extracted from pkgdown, but this makes it easier to use pkgdown's nice 
+* pkgdown now uses the new [downlit](https://downlit.r-lib.org/) package for all
+  syntax highlighting and autolinking (in both reference topics and vignettes).
+  There should be very little change in behaviour because the code in downlit
+  was extracted from pkgdown, but this makes it easier to use pkgdown's nice
   linking/highlighting in more places (#1234).
 
 * pkgdown now uses the `ragg::agg_png()` device to generate example figures.
@@ -738,19 +738,19 @@ Markdown code with chunks) (@idavydov, #2237).
   syntax (@klmr, #1345).
 
 * `#ifdef` and `#ifndef` are now supported; the "current" OS is hard coded to
-  "unix" to ensure reproducible output regardless of where you build the 
+  "unix" to ensure reproducible output regardless of where you build the
   website (#1384).
 
-* Nested `\subsection{}`s now generate appropriate heading levels 
+* Nested `\subsection{}`s now generate appropriate heading levels
   (h3, h4, h5 etc) (#1377), and get anchor links (#1389).
 
 * `\preformatted{}` no longer double escapes its contents (#1311).
 
 ### Articles and vignettes
 
-* `build_articles()` no longer sets the `theme` argument of the document format 
+* `build_articles()` no longer sets the `theme` argument of the document format
   to `NULL` when `as_is: true`. This should allow it to work with a wider
-  range of output formats including `bookdown::html_vignette2()` and 
+  range of output formats including `bookdown::html_vignette2()` and
   friends (@GegznaV, #955, #1352).
 
 * When `build_article()` fails, it gives the complete failure message (#1379).
@@ -759,7 +759,7 @@ Markdown code with chunks) (@idavydov, #2237).
 
 ### Auto-linking and syntax highlighting
 
-* The branch used for source linking can be configured by setting 
+* The branch used for source linking can be configured by setting
   `repo: branch: branch_name` in `_pkgdown.yml` (@jonkeane, #1355):
 
     ```yaml
@@ -767,17 +767,17 @@ Markdown code with chunks) (@idavydov, #2237).
       branch: main
     ```
 
-* `autolink_html()` is (soft) deprecated. Please use 
+* `autolink_html()` is (soft) deprecated. Please use
   `downlit::downlit_html_path()` instead.
 
 * Highlighting of empty expressions works once more (#1310).
 
 * New `deploy$install_metadata` option in `_pkgdown.yml`. Setting it to
   `true` will store site metadata in the package itself, allowing offline
-  access for packages that to autolink to the package's website 
+  access for packages that to autolink to the package's website
   (@mstr3336, #1336).
 
-### Other    
+### Other
 
 * You can now control the background colour of plots with the `figures.bg`
   option (it is transparent by default, and given a white background by
@@ -789,22 +789,22 @@ Markdown code with chunks) (@idavydov, #2237).
 
 * All HTTP requests are now retried upon failure (@jameslamb, #1305).
 
-* Setting `clean = TRUE` in `deploy_site_github()` removes old files from the 
+* Setting `clean = TRUE` in `deploy_site_github()` removes old files from the
   deployed site before building a new one (#1297).
 
 # pkgdown 1.5.1
 
 * Syntax highlighting works on Windows once more (#1282).
 
-* pkgdown no longer fails if your `.Rd` files have duplicated `\aliases` 
+* pkgdown no longer fails if your `.Rd` files have duplicated `\aliases`
   as were produced by an older version of roxygen2 (#1290).
 
 * Rendering empty `.md` file now returns empty string (#1285).
 
 * `build_articles_index()` is now exported to rapidly rebuild the index (#1281)
 
-* `deploy_site_github()` now accepts a `host` argument to specify alternate 
-  hosts (e.g., Github enterprise) (@dimagor, #1165) and once again works as 
+* `deploy_site_github()` now accepts a `host` argument to specify alternate
+  hosts (e.g., Github enterprise) (@dimagor, #1165) and once again works as
   intended on Travis-CI (@jimhester, #1276).
 
 # pkgdown 1.5.0
@@ -815,8 +815,8 @@ Markdown code with chunks) (@idavydov, #2237).
   major new features in this release:
 
     * The articles index page now displays article `description`s,
-      taken from YAML metadata belonging to each article. This lets you provide 
-      more context about each article and describe why one might want to read 
+      taken from YAML metadata belonging to each article. This lets you provide
+      more context about each article and describe why one might want to read
       it (#1227).
 
     * The articles navbar is now also controlled by the `articles` section
@@ -832,7 +832,7 @@ Markdown code with chunks) (@idavydov, #2237).
   [bootstrap-toc](https://afeld.github.io/bootstrap-toc/); this considerably
   improves navigation for long articles and reference pages.
 
-* You can now control the links to source files (in reference pages and 
+* You can now control the links to source files (in reference pages and
   articles) and issues and users (in the NEWS) with new `repo$url` config
   option (#1238). This makes it easier to use pkgdown with GitHub enterprise,
   packages in subdirectories, and other source hosts (like bitbucket).
@@ -846,25 +846,25 @@ Markdown code with chunks) (@idavydov, #2237).
         user: https://github.com/
     ```
 
-    The individual components (e.g. path, issue number, username) are pasted on 
+    The individual components (e.g. path, issue number, username) are pasted on
     the end of these urls so they should have trailing `/`s.
 
-    You don't need to set these links for GitLab, as pkgdown now detects 
+    You don't need to set these links for GitLab, as pkgdown now detects
     GitLab urls automatically (since they use the same structure as GitHub)
-    (#1045). 
+    (#1045).
 
-* There's much richer control over Open Graph and Twitter metadata for the 
-  whole site and for individual articles. See new `vignette("metadata")` for 
+* There's much richer control over Open Graph and Twitter metadata for the
+  whole site and for individual articles. See new `vignette("metadata")` for
   details (@gadenbuie, #936).
 
 * New `deploy_to_branch()` function to build and deploy a site to a branch,
-  defaulting to `gh-pages` for use with GitHub Pages. This is used in our 
+  defaulting to `gh-pages` for use with GitHub Pages. This is used in our
   recommended GitHub action workflow for automatically building and deploying
   pkgdown sites for packages on GitHub (@jimhester, #1221).
 
 * Updated JS libraries: jquery 3.3.1 -> 3.4.1; bootswatch 3.3.7 -> 3.4.0;
   bootstrap 3.3.7 -> bootstrap 3.4.1; docsearch 2.6.1 -> 2.6.3;
-  fontawesome 5.11.1 -> 5.12.1; headroom.js 0.9.44 -> 0.11.0; 
+  fontawesome 5.11.1 -> 5.12.1; headroom.js 0.9.44 -> 0.11.0;
   clipboard.js 2.0.4 -> 2.0.6 (@jayhesselberth).
 
 ## Auto-linking improvements
@@ -877,7 +877,7 @@ Markdown code with chunks) (@idavydov, #2237).
 * `\preformatted{}` blocks are now highlighted and linked if they parse
   as R code (#1180).
 
-* `library(pkgdown)` is now automatically linked to the reference index for 
+* `library(pkgdown)` is now automatically linked to the reference index for
   "pkgdown" not the documentation for `library()` (#1161).
 
 * `help("topic")` is now automatically linked to the documentation for "topic",
@@ -893,10 +893,10 @@ Markdown code with chunks) (@idavydov, #2237).
 * `build_article()` failures now print more information to help you debug
   the problem (#952).
 
-* The name of the vignette mapped to the "Get started" entry in the navbar 
-  is now more flexible. You can use an article (e.g `articles/{pkgname}`) 
-  and if your package has a `.` in its name you can replace it with `-` to 
-  generate a valid article name (e.g. the get started vignette for 
+* The name of the vignette mapped to the "Get started" entry in the navbar
+  is now more flexible. You can use an article (e.g `articles/{pkgname}`)
+  and if your package has a `.` in its name you can replace it with `-` to
+  generate a valid article name (e.g. the get started vignette for
   `pack.down` would be `pack-down`) (#1166).
 
 ### Deployment
@@ -907,27 +907,27 @@ Markdown code with chunks) (@idavydov, #2237).
 * `deploy_to_branch(github_pages = TRUE)` generates a `.nojekyll` to prevent
   jekyll ever executing (#1242).
 
-* `CNAME` is no longer generated by `init_site()`, but is instead conditionally 
-  by `deploy_to_branch()` when `github_pages = TRUE`. This is a better a fit 
+* `CNAME` is no longer generated by `init_site()`, but is instead conditionally
+  by `deploy_to_branch()` when `github_pages = TRUE`. This is a better a fit
   because the `CNAME` file is only needed by GitHub pages (#969).
 
 * `deploy_site_github()` argument `repo_slug` has been deprecated and is no
   longer needed or used. (@jimhester, #1221)
 
-### News 
+### News
 See additional details in `?build_news`:
 
-* You can optionally suppress the CRAN release dates added to the news 
+* You can optionally suppress the CRAN release dates added to the news
   page (#1118).
 
-* Multi-page news style gets a better yaml specification (the old style 
+* Multi-page news style gets a better yaml specification (the old style
   will continue to work so no need to change existing YAML).
 
 ### Reference
 
 * A topic named `index` will not longer clobber the reference index (#1110).
 
-* Topic names/aliases on reference index are now escaped (#1216). 
+* Topic names/aliases on reference index are now escaped (#1216).
 
 * `build_reference()` gives better warnings if your `_pkgdown.yml` is
   constructed incorrectly (#1025).
@@ -935,22 +935,22 @@ See additional details in `?build_news`:
 * New `has_keyword()` topic selector for `reference`. `has_keyword("datasets")`
   is particularly useful for selecting all data documentation (#760).
 
-* New `lacks_concepts()` can select topics that do not contain any of 
+* New `lacks_concepts()` can select topics that do not contain any of
   a number of specified concepts. (@mikldk, #1232)
 
 ### Home, authors, and citation
 
-* pkgdown now escapes html and linkifies links in comments in author info 
+* pkgdown now escapes html and linkifies links in comments in author info
   from DESCRIPTION (@maelle, #1204)
 
-* pkgdown now uses the ORCiD logo included in Font Awesome 5.11 instead of 
+* pkgdown now uses the ORCiD logo included in Font Awesome 5.11 instead of
   querying it from members.orcid.org (@bisaloo, #1153)
 
 * badges are now extracted from everything between ``
   and ``. They used to be extracted only if they were
   direct children of the first `

` after ``. -* `build_home()` now looks for `pkgdown/index.md` in addition to the top-level +* `build_home()` now looks for `pkgdown/index.md` in addition to the top-level `index` or `README` files (@nteetor, #1031) ### Navbar @@ -959,13 +959,13 @@ See additional details in `?build_news`: as it has been specified in the DESCRIPTION file. In particular, version separators (e.g. `.` and `-`) are preserved. (#1170, @kevinushey) -* add support for navbar submenus: you can create submenus following the +* add support for navbar submenus: you can create submenus following the convention established in [rstudio/rmarkdown#721](https://github.com/rstudio/rmarkdown/issues/721) (@ijlyttle, @wendtke, #1213) ### Other * Updated JS libraries: jquery 3.3.1 -> 3.4.1; bootswatch 3.3.7 -> 3.4.0; - bootstrap 3.3.7 -> bootstrap 3.4.1; docsearch 2.6.1 -> 2.6.3 + bootstrap 3.3.7 -> bootstrap 3.4.1; docsearch 2.6.1 -> 2.6.3 (@jayhesselberth). * Markdown conversion now explicitly allows markdown inside of HTML blocks; @@ -984,9 +984,9 @@ See additional details in `?build_news`: * build citation as specified by the `textVersion` argument of `citEntry` in the `CITATION` file (#1096, @yiluheihei) -* `build_site()`, `build_reference()` and `build_home()` gain a parameter +* `build_site()`, `build_reference()` and `build_home()` gain a parameter `devel` which controls whether you're in deployment or development mode. - It generalises and replaces (with deprecation) the existing `document` + It generalises and replaces (with deprecation) the existing `document` argument. Development mode is optimised for rapid iteration and is the default @@ -998,13 +998,13 @@ See additional details in `?build_news`: library, and runs examples/articles in a new process. * `build_reference()` no longer runs `devtools::document()` (#1079) and - `build_home()` no longer re-builds `README.Rmd` or `index.Rmd`. This makes - the scope of responsibility of pkgdown more clear: it now only + `build_home()` no longer re-builds `README.Rmd` or `index.Rmd`. This makes + the scope of responsibility of pkgdown more clear: it now only creates/modifies files in `doc/`. -* `build_home()` now strips quotes from `Title` and `Description` fields - when generating page metadata. Additionally, you can now override the - defaults via the `title` and `description` fields in the `home` section of +* `build_home()` now strips quotes from `Title` and `Description` fields + when generating page metadata. Additionally, you can now override the + defaults via the `title` and `description` fields in the `home` section of `_pkgdown.yml` (#957, @maelle). * `vignette("linking")` describes how pkgdown's automatic linking works, and @@ -1014,9 +1014,9 @@ See additional details in `?build_news`: ### Rd translation -* `\examples{}` rendering has been completely overhauled so it now first +* `\examples{}` rendering has been completely overhauled so it now first converts the entire mixed Rd-R block to R prior, and then evaluates the - whole thing. This considerably improves the fidelity of the translation + whole thing. This considerably improves the fidelity of the translation at a small cost of no longer being able to remove `\donttest{}` and friends (#1087). @@ -1028,14 +1028,14 @@ See additional details in `?build_news`: * `\tabular{}` translation handles code better (@mitchelloharawild, #978). -* `\subsection{}` contents are now treated as paragraphs, not inline text +* `\subsection{}` contents are now treated as paragraphs, not inline text (#991). * `\preformatted{}` blocks preserve important whitespace (#951). ### Front end -* Links to online documentation for functions in code chunks are no longer +* Links to online documentation for functions in code chunks are no longer displayed when printing (#1135, @bisaloo). * Updated fontawesome to v5.7.1. fontawesome 5 [deprecated the `fa` prefix](https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#changes). @@ -1043,56 +1043,56 @@ See additional details in `?build_news`: (e.g.) `fa fa-home` to `fas fa-home`. Brands now have a separate prefix so `fa fa-github` becomes `fab fa-github` (#953). -* The navbar is now automatically hidden with +* The navbar is now automatically hidden with [headroom.js](https://wicky.nillia.ms/headroom.js/). -* The sticky behaviour of the navbar is now implemented in pure CSS instead of +* The sticky behaviour of the navbar is now implemented in pure CSS instead of relying a the 3rd party javascript library (#1016, @bisaloo) * Favicons are now automatically built from a package logo (#949). ### Linking -* Infix operators (e.g., `%in%` and `%*%`) are now linked to their +* Infix operators (e.g., `%in%` and `%*%`) are now linked to their documentation (#1082). -* Function names can now be included in headers without spurious auto-linking +* Function names can now be included in headers without spurious auto-linking (#948). -* Links to external documentation now point to [rdrr.io](https://rdrr.io) +* Links to external documentation now point to [rdrr.io](https://rdrr.io) (#998). ### Other -* News page recognises more version specifications (including the +* News page recognises more version specifications (including the "(development version)" now used by usethis) (#980). * Subdirectories are supported for assets (#939, @ijlyttle). -* A default 404 page (`404.html`) is built, unless a custom `.github/404.md` +* A default 404 page (`404.html`) is built, unless a custom `.github/404.md` is provided (#947). -* `build_article()` now uses the raw vignette title as page `` +* `build_article()` now uses the raw vignette title as page `<title>` and `og:title` (@maelle, #1037). -* `build_home()` now looks for license files spelled either as LICENSE or +* `build_home()` now looks for license files spelled either as LICENSE or LICENCE (#972). -* `build_home()` can find badges in paragraph coming after the comment +* `build_home()` can find badges in paragraph coming after the comment `<!-- badges: start -->` (#670, @gaborcsardi, @maelle). -* `build_home()` will add a community section to the sidebar if there is either - a code of conduct (`.github/CODE_OF_CONDUCT.md`) or a contributing guide +* `build_home()` will add a community section to the sidebar if there is either + a code of conduct (`.github/CODE_OF_CONDUCT.md`) or a contributing guide (`.github/CONTRIBUTING.md`) (#1044, @maelle). * `build_reference()` gains a `topics` argument which allows you to re-build only specified topics. -* `build_site(new_process = TRUE)` gains a timeout, - `options(pkgdown.timeout = 10)`, that can be used to prevent stalled - builds. +* `build_site(new_process = TRUE)` gains a timeout, + `options(pkgdown.timeout = 10)`, that can be used to prevent stalled + builds. -* `deploy_site_github(install = FALSE)` makes it possible to opt out of +* `deploy_site_github(install = FALSE)` makes it possible to opt out of installation. * `dev_mode()` now recognises `0.1.9000` as a development version of a package @@ -1109,7 +1109,7 @@ See additional details in `?build_news`: * `content-home.html` template is no longer used when the homepage is an `.Rmd` (Reverts #834. Fixes #927, #929) -* `deploy_site_github()` now passes parameters to `build_site()` +* `deploy_site_github()` now passes parameters to `build_site()` (@noamross, #922), and the documentation gives slightly better advice. * Correct off-by-one error in navbar highlighting javascript; now no navbar @@ -1128,9 +1128,9 @@ See additional details in `?build_news`: See documentation for how to set up details (@jimhester). * `build_favicon()` creates high resolution favicons from the package logo, - and saves them in `pkgdown/`. They are created using the - <https://realfavicongenerator.net/> API, and are better suited for modern web - usage (e.g. retina display screens, desktop shortcuts, etc.). This also + and saves them in `pkgdown/`. They are created using the + <https://realfavicongenerator.net/> API, and are better suited for modern web + usage (e.g. retina display screens, desktop shortcuts, etc.). This also removes the dependency on the magick package, making automated deployment a little easier (@bisaloo, #883). @@ -1141,25 +1141,25 @@ See additional details in `?build_news`: * `rd2html()` is now exported to facilitate creation of translation reprexes. -* `\Sexpr{}` conversion supports multiple arguments, eliminating +* `\Sexpr{}` conversion supports multiple arguments, eliminating `x must be a string or a R connection` errors when using `\doi{}` (#738). * `\tabular{}` conversion better handles empty cells (#780). -* `\usage{}` now supports qualified functions eliminating +* `\usage{}` now supports qualified functions eliminating `Error in fun_info(x) : Unknown call: ::` errors (#795). * Invalid tags now generate more informative errors (@BarkleyBG, #771, #891) ## Front end -* The default footer now displays the version of pkgdown used to build - the site (#876). +* The default footer now displays the version of pkgdown used to build + the site (#876). * All third party resources are now fetched from a single CDN and are give a SRI hash (@bisaloo, #893). -* The navbar version now has class "version" so you can more easily control +* The navbar version now has class "version" so you can more easily control its display (#680). * The default css has been tweaked to ensure that icons are visible on all @@ -1169,14 +1169,14 @@ See additional details in `?build_news`: ### Home page -* Can now build sites for older packages that don't have a `Authors@R` field +* Can now build sites for older packages that don't have a `Authors@R` field (#727). * Remote urls ending in `.md` are no longer tweaked to end in `.html` (#763). * Bug report link is only shown if there's a "BugReports" field (#855). -* `content-home.html` template is now used when the homepage is an `.Rmd` +* `content-home.html` template is now used when the homepage is an `.Rmd` (@goldingn, #787). * A link to the source `inst/CITATION` was added to the authors page (#714). @@ -1189,12 +1189,12 @@ See additional details in `?build_news`: * Unexported functions and test helpers are no longer loaded (#789). -* Selectors that do not match topics now generate a warning. If none of the +* Selectors that do not match topics now generate a warning. If none of the specified selectors have a match, no topics are selected (#728). ### Articles -* The display depth of vignette tables of contents can be configured by +* The display depth of vignette tables of contents can be configured by setting `toc: depth` in `_pkgdown.yml` (#821): ```yaml @@ -1207,7 +1207,7 @@ See additional details in `?build_news`: * `init_site()` now creates a CNAME file if one doesn't already exist and the site's metadata includes a `url` field. -* `build_site()` loses vestigal `mathjax` parameter. This didn't appear to do +* `build_site()` loses vestigal `mathjax` parameter. This didn't appear to do anything and no one could remember why it existed (#785). * `build_site()` now uses colours even if `new_process = TRUE` (@jimhester). @@ -1216,40 +1216,40 @@ See additional details in `?build_news`: ## New features -* `build_reference()` and `build_site()` get new `document` argument. When - `TRUE`, the default, will automatically run `devtools::document()` to +* `build_reference()` and `build_site()` get new `document` argument. When + `TRUE`, the default, will automatically run `devtools::document()` to ensure that your documentation is up to date. * `build_site()` gains a `new_process` argument, which defaults to `TRUE`. This will run pkgdown in a separate process, and is recommended practice because it improves reproducibility (#647). -* Improved display for icons: icons must be 30px and stored in top-level - `icons/` directory. They are embedded in a separate column of reference +* Improved display for icons: icons must be 30px and stored in top-level + `icons/` directory. They are embedded in a separate column of reference index table, instead of being inside a comment (!) (#607). ## Front end -* Added a keyboard shortcut for searching. Press `shift` + `/` (`?`) to move - focus to the search bar (#642). +* Added a keyboard shortcut for searching. Press `shift` + `/` (`?`) to move + focus to the search bar (#642). * The Algolia logo is correctly shown in the search results (#673). -* Navbar active tab highlighting uses a superior approach (suggested by +* Navbar active tab highlighting uses a superior approach (suggested by @jcheng5) which should mean that the active page is correctly highlighted in all scenarios (#660). -* `pkgdown.js` is better isolated so it should still work even if you +* `pkgdown.js` is better isolated so it should still work even if you load html widgets that import a different version of jquery (#655). ## Improvements to Rd translation -* `vignette()` calls that don't link to existing vignettes silently fail - to link instead of generating an uninformative error messages (#652). - Automatic linking works for re-exported objects that are not functions +* `vignette()` calls that don't link to existing vignettes silently fail + to link instead of generating an uninformative error messages (#652). + Automatic linking works for re-exported objects that are not functions (@gaborcsardi, #666). -* Empty `\section{}`s are ignored (#656). Previously, empty sections caused +* Empty `\section{}`s are ignored (#656). Previously, empty sections caused error `Error in rep(TRUE, length(x) - 1)`. * `\Sexpr{}` supports `results=text`, `results=Rd` and `results=hide` (#651). @@ -1258,13 +1258,13 @@ See additional details in `?build_news`: ## Minor bug fixes and improvements -* Add `inst/pkgdown.yml` as a possible site configuration file so that packages +* Add `inst/pkgdown.yml` as a possible site configuration file so that packages on CRAN can be built without needing the development version (#662). -* Default navbar template now uses site title, not package name (the package +* Default navbar template now uses site title, not package name (the package name is the default title, so this will not affect most sites) (#654). -* You can suppress indexing by search engines by setting `noindex: true` +* You can suppress indexing by search engines by setting `noindex: true` `pkgdown.yml` (#686) ```yaml @@ -1273,29 +1273,29 @@ See additional details in `?build_news`: noindex: true ``` -* `build_article()` sets `IN_PKGDOWN` env var so `in_pkgdown()` works +* `build_article()` sets `IN_PKGDOWN` env var so `in_pkgdown()` works (#650). * `build_home()`: CITATION files with non-UTF-8 encodings (latin1) work - correctly, instead of generating an error. For non-UTF-8 locales, ensure you - have e.g. `Encoding: latin1` in your `DESCRIPTION`; but best practice is to + correctly, instead of generating an error. For non-UTF-8 locales, ensure you + have e.g. `Encoding: latin1` in your `DESCRIPTION`; but best practice is to re-enode your CITATION file to UTF-8 (#689). -* `build_home()`: Markdown files (e.g., `CODE_OF_CONDUCT.md`) stored in +* `build_home()`: Markdown files (e.g., `CODE_OF_CONDUCT.md`) stored in `.github/` are copied and linked correctly (#682). * `build_news()`: Multi-page changelogs (generated from `NEWS.md` with `news: one_page: false` in `_pkgdown.yml`) are rendered correctly. -* `build_reference()`: reference index shows infix functions (like `%+%`) as +* `build_reference()`: reference index shows infix functions (like `%+%`) as `` `%+%` ``, not `` `%+%`() `` on (#659). # pkgdown 1.0.0 * Major refactoring of path handling. `build_` functions no longer take - `path` or `depth` arguments. Instead, set the `destination` directory + `path` or `depth` arguments. Instead, set the `destination` directory at the top level of `pkgdown.yml`. * Similarly, `build_news()` no longer takes a `one_page` argument; - this should now be specified in the `_pkgdown.yml` instead. See the + this should now be specified in the `_pkgdown.yml` instead. See the documentation for an example. From ff1872c534d7c597d9f15665178abdbf4d7b6b0d Mon Sep 17 00:00:00 2001 From: Hadley Wickham <h.wickham@gmail.com> Date: Fri, 13 Sep 2024 09:19:46 -0500 Subject: [PATCH 40/61] Update URL --- vignettes/metadata.Rmd | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/vignettes/metadata.Rmd b/vignettes/metadata.Rmd index 09edc6c80..9f26f43e3 100644 --- a/vignettes/metadata.Rmd +++ b/vignettes/metadata.Rmd @@ -40,7 +40,7 @@ Metadata for the entire pkgdown website can be specified in the site's `_pkgdown home: title: An R package for pool-noodle discovery description: Discover and add pool-noodles to your growing collection. - + template: opengraph: image: @@ -56,33 +56,33 @@ The `home: title` and `home: description` fields override the `Title` and `Descr The `template: opengraph` section allows you to further customize the social media card. -* `image`: By default, pkgdown uses the package's logo for the card image - (if one exists). Use `image` to specify an alternative image for the social +* `image`: By default, pkgdown uses the package's logo for the card image + (if one exists). Use `image` to specify an alternative image for the social media cards of pages in your pkgdown site. - * `src`: A fully qualified URL to a media card image e.g. `src: https://avatars.githubusercontent.com/u/22618716?v=4`; + * `src`: A fully qualified URL to a media card image e.g. `src: https://avatars.githubusercontent.com/u/22618716?v=4`; or a relative path to an image in the rendered website e.g. `src: articles/test/image.jpg`; or a relative path to an image stored in `man/figures` in the package e.g. `src: man/figures/cards.png`. The `src` field is required if `image` is specified. - - * `alt`: Alternative text describing the image for screen readers and + + * `alt`: Alternative text describing the image for screen readers and other situations where your social media card image cannot be displayed. * `twitter`: You can specify the Twitter accounts associated with your package - and the [style of social media card][twitter-card] that Twitter will + and the [style of social media card][twitter-card] that Twitter will display. - - * `creator`: Typically, the Twitter handle of the author of the package or + + * `creator`: Typically, the Twitter handle of the author of the package or article. - + * `site`: The Twitter handle of the organization affiliated with the - package author or sponsoring the package development. - - * If only one of either `creator` or `site` is included, the provided value will + package author or sponsoring the package development. + + * If only one of either `creator` or `site` is included, the provided value will be used for both fields. - - * `card`: The [style of social media card][twitter-card] that Twitter will - display. For pkgdown sites, the most relevant options are + + * `card`: The [style of social media card][twitter-card] that Twitter will + display. For pkgdown sites, the most relevant options are `summary_large_image`, featuring a large image over the page title and description, or `summary`, featuring a small square image inline and to the left of the page title and description. @@ -96,7 +96,7 @@ title: "Introduction to poolnoodlr" description: "A brief introduction to pool noodles in R." author: "Mara Averick" opengraph: - image: + image: src: "https://example.com/pkg/batpig.png" twitter: card: summary @@ -113,8 +113,8 @@ Use the `title`, `description`, and `author` fields to specify the title, descri * The `title` field is used as the title of your article in your pkgdown site and should always be included. -* Both `title` and `description` are used by pkgdown for the page's social - media card. If `description` is not included in the article's YAML front +* Both `title` and `description` are used by pkgdown for the page's social + media card. If `description` is not included in the article's YAML front matter, then the name of the package is used instead. The `description` is also displayed on the articles index. @@ -125,4 +125,4 @@ In articles, the `opengraph` section works in the same way as the site-wide `tem [ogp]: https://ogp.me/ [ogp-validator]: https://search.google.com/test/rich-results -[twitter-card]: https://developer.x.com/en/docs/twitter-for-websites/cards/overview/abouts-cards +[twitter-card]: https://developer.x.com/en/docs/x-for-websites/cards/overview/abouts-cards From ae56105fc19c8968d35bbd3227903321db420e54 Mon Sep 17 00:00:00 2001 From: Hadley Wickham <h.wickham@gmail.com> Date: Tue, 17 Sep 2024 13:47:52 -0500 Subject: [PATCH 41/61] Check revdeps --- revdep/README.md | 17 +++-- revdep/cran.md | 16 ++-- revdep/failures.md | 184 ++++++++++++--------------------------------- revdep/problems.md | 24 +++++- 4 files changed, 93 insertions(+), 148 deletions(-) diff --git a/revdep/README.md b/revdep/README.md index 97459a2eb..8cbc119dd 100644 --- a/revdep/README.md +++ b/revdep/README.md @@ -1,10 +1,15 @@ # Revdeps -## Failed to check (3) +## Failed to check (2) -|package |version |error |warning |note | -|:---------|:-------|:-----|:-------|:----| -|clustree |? | | | | -|multinma |0.7.1 |1 | | | -|scDiffCom |? | | | | +|package |version |error |warning |note | +|:--------|:-------|:-----|:-------|:----| +|bayesCT |0.99.3 |1 | | | +|multinma |0.7.1 |1 | | | + +## New problems (1) + +|package |version |error |warning |note | +|:----------|:-------|:-----|:-------|:----| +|[preferably](problems.md#preferably)|0.4.1 | |__+1__ | | diff --git a/revdep/cran.md b/revdep/cran.md index b6089a30f..815b23a77 100644 --- a/revdep/cran.md +++ b/revdep/cran.md @@ -2,13 +2,19 @@ We checked 144 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. - * We saw 0 new problems - * We failed to check 3 packages + * We saw 1 new problems + * We failed to check 2 packages Issues with CRAN packages are summarised below. +### New problems +(This reports the first line of each new failure) + +* preferably + checking whether package ‘preferably’ can be installed ... WARNING + I have submitted a patch at https://github.com/amirmasoudabdol/preferably/pull/19. + ### Failed to check -* clustree (NA) -* multinma (NA) -* scDiffCom (NA) +* bayesCT (NA) +* multinma (NA) diff --git a/revdep/failures.md b/revdep/failures.md index 39fb711e7..3cb79778a 100644 --- a/revdep/failures.md +++ b/revdep/failures.md @@ -1,76 +1,64 @@ -# clustree +# bayesCT <details> -* Version: 0.5.1 -* GitHub: https://github.com/lazappi/clustree -* Source code: https://github.com/cran/clustree -* Date/Publication: 2023-11-05 19:10:02 UTC -* Number of recursive dependencies: 192 +* Version: 0.99.3 +* GitHub: https://github.com/thevaachandereng/bayesCT +* Source code: https://github.com/cran/bayesCT +* Date/Publication: 2020-07-01 09:30:02 UTC +* Number of recursive dependencies: 122 -Run `revdepcheck::cloud_details(, "clustree")` for more info +Run `revdepcheck::cloud_details(, "bayesCT")` for more info </details> -## Error before installation - -### Devel +## In both -``` -* using log directory ‘/tmp/workdir/clustree/new/clustree.Rcheck’ -* using R version 4.3.1 (2023-06-16) -* using platform: x86_64-pc-linux-gnu (64-bit) -* R was compiled by - gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 - GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 -* running under: Ubuntu 22.04.4 LTS -* using session charset: UTF-8 -* using option ‘--no-manual’ -* checking for file ‘clustree/DESCRIPTION’ ... OK -... -* checking tests ... OK - Running ‘spelling.R’ - Running ‘testthat.R’ -* checking for unstated dependencies in vignettes ... OK -* checking package vignettes in ‘inst/doc’ ... OK -* checking running R code from vignettes ... OK - ‘clustree.Rmd’ using ‘UTF-8’... OK -* checking re-building of vignette outputs ... OK -* DONE -Status: 1 NOTE +* checking whether package ‘bayesCT’ can be installed ... ERROR + ``` + Installation failed. + See ‘/tmp/workdir/bayesCT/new/bayesCT.Rcheck/00install.out’ for details. + ``` +## Installation +### Devel +``` +* installing *source* package ‘bayesCT’ ... +** package ‘bayesCT’ successfully unpacked and MD5 sums checked +** using staged installation +** R +** data +*** moving datasets to lazyload DB +** inst +** byte-compile and prepare package for lazy loading +Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : + namespace ‘Matrix’ 1.5-4.1 is already loaded, but >= 1.6.0 is required +Calls: <Anonymous> ... namespaceImportFrom -> asNamespace -> loadNamespace +Execution halted +ERROR: lazy loading failed for package ‘bayesCT’ +* removing ‘/tmp/workdir/bayesCT/new/bayesCT.Rcheck/bayesCT’ ``` ### CRAN ``` -* using log directory ‘/tmp/workdir/clustree/old/clustree.Rcheck’ -* using R version 4.3.1 (2023-06-16) -* using platform: x86_64-pc-linux-gnu (64-bit) -* R was compiled by - gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 - GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 -* running under: Ubuntu 22.04.4 LTS -* using session charset: UTF-8 -* using option ‘--no-manual’ -* checking for file ‘clustree/DESCRIPTION’ ... OK -... -* checking tests ... OK - Running ‘spelling.R’ - Running ‘testthat.R’ -* checking for unstated dependencies in vignettes ... OK -* checking package vignettes in ‘inst/doc’ ... OK -* checking running R code from vignettes ... OK - ‘clustree.Rmd’ using ‘UTF-8’... OK -* checking re-building of vignette outputs ... OK -* DONE -Status: 1 NOTE - - - +* installing *source* package ‘bayesCT’ ... +** package ‘bayesCT’ successfully unpacked and MD5 sums checked +** using staged installation +** R +** data +*** moving datasets to lazyload DB +** inst +** byte-compile and prepare package for lazy loading +Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : + namespace ‘Matrix’ 1.5-4.1 is already loaded, but >= 1.6.0 is required +Calls: <Anonymous> ... namespaceImportFrom -> asNamespace -> loadNamespace +Execution halted +ERROR: lazy loading failed for package ‘bayesCT’ +* removing ‘/tmp/workdir/bayesCT/old/bayesCT.Rcheck/bayesCT’ ``` @@ -112,14 +100,14 @@ using C++17 g++ -std=gnu++17 -I"/opt/R/4.3.1/lib/R/include" -DNDEBUG -I"../inst/include" -I"/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DBOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error -DUSE_STANC3 -D_HAS_AUTO_PTR_ETC=0 -I'/opt/R/4.3.1/lib/R/site-library/BH/include' -I'/opt/R/4.3.1/lib/R/site-library/Rcpp/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppEigen/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -I'/opt/R/4.3.1/lib/R/site-library/rstan/include' -I'/opt/R/4.3.1/lib/R/site-library/StanHeaders/include' -I/usr/local/include -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -D_REENTRANT -DSTAN_THREADS -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o In file included from /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/Core:205, ... -/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric<Model, BaseRNG>::T(stan::mcmc::dense_e_point&) [with Model = model_survival_mspline_namespace::model_survival_mspline; BaseRNG = boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014, 0, 2147483563>, boost::random::linear_congruential_engine<unsigned int, 40692, 0, 2147483399> >]’ +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric<Model, BaseRNG>::T(stan::mcmc::dense_e_point&) [with Model = model_survival_param_namespace::model_survival_param; BaseRNG = boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014, 0, 2147483563>, boost::random::linear_congruential_engine<unsigned int, 40692, 0, 2147483399> >]’ /opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:21:10: required from here /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes] 654 | return internal::first_aligned<int(unpacket_traits<DefaultPacketType>::alignment),Derived>(m); | ^~~~~~~~~ g++: fatal error: Killed signal terminated program cc1plus compilation terminated. -make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_mspline.o] Error 1 +make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_param.o] Error 1 ERROR: compilation failed for package ‘multinma’ * removing ‘/tmp/workdir/multinma/new/multinma.Rcheck/multinma’ @@ -139,92 +127,16 @@ using C++17 g++ -std=gnu++17 -I"/opt/R/4.3.1/lib/R/include" -DNDEBUG -I"../inst/include" -I"/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG -DBOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error -DUSE_STANC3 -D_HAS_AUTO_PTR_ETC=0 -I'/opt/R/4.3.1/lib/R/site-library/BH/include' -I'/opt/R/4.3.1/lib/R/site-library/Rcpp/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppEigen/include' -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -I'/opt/R/4.3.1/lib/R/site-library/rstan/include' -I'/opt/R/4.3.1/lib/R/site-library/StanHeaders/include' -I/usr/local/include -I'/opt/R/4.3.1/lib/R/site-library/RcppParallel/include' -D_REENTRANT -DSTAN_THREADS -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o In file included from /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/Core:205, ... -/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric<Model, BaseRNG>::T(stan::mcmc::dense_e_point&) [with Model = model_survival_mspline_namespace::model_survival_mspline; BaseRNG = boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014, 0, 2147483563>, boost::random::linear_congruential_engine<unsigned int, 40692, 0, 2147483399> >]’ +/opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:22:56: required from ‘double stan::mcmc::dense_e_metric<Model, BaseRNG>::T(stan::mcmc::dense_e_point&) [with Model = model_survival_param_namespace::model_survival_param; BaseRNG = boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014, 0, 2147483563>, boost::random::linear_congruential_engine<unsigned int, 40692, 0, 2147483399> >]’ /opt/R/4.3.1/lib/R/site-library/StanHeaders/include/src/stan/mcmc/hmc/hamiltonians/dense_e_metric.hpp:21:10: required from here /opt/R/4.3.1/lib/R/site-library/RcppEigen/include/Eigen/src/Core/DenseCoeffsBase.h:654:74: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type’ {aka ‘__m128d’} [-Wignored-attributes] 654 | return internal::first_aligned<int(unpacket_traits<DefaultPacketType>::alignment),Derived>(m); | ^~~~~~~~~ g++: fatal error: Killed signal terminated program cc1plus compilation terminated. -make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_mspline.o] Error 1 +make: *** [/opt/R/4.3.1/lib/R/etc/Makeconf:198: stanExports_survival_param.o] Error 1 ERROR: compilation failed for package ‘multinma’ * removing ‘/tmp/workdir/multinma/old/multinma.Rcheck/multinma’ -``` -# scDiffCom - -<details> - -* Version: 1.0.0 -* GitHub: NA -* Source code: https://github.com/cran/scDiffCom -* Date/Publication: 2023-11-03 18:40:02 UTC -* Number of recursive dependencies: 259 - -Run `revdepcheck::cloud_details(, "scDiffCom")` for more info - -</details> - -## Error before installation - -### Devel - -``` -* using log directory ‘/tmp/workdir/scDiffCom/new/scDiffCom.Rcheck’ -* using R version 4.3.1 (2023-06-16) -* using platform: x86_64-pc-linux-gnu (64-bit) -* R was compiled by - gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 - GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 -* running under: Ubuntu 22.04.4 LTS -* using session charset: UTF-8 -* using option ‘--no-manual’ -* checking for file ‘scDiffCom/DESCRIPTION’ ... OK -... -* this is package ‘scDiffCom’ version ‘1.0.0’ -* package encoding: UTF-8 -* checking package namespace information ... OK -* checking package dependencies ... ERROR -Package required but not available: ‘Seurat’ - -See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ -manual. -* DONE -Status: 1 ERROR - - - - - -``` -### CRAN - -``` -* using log directory ‘/tmp/workdir/scDiffCom/old/scDiffCom.Rcheck’ -* using R version 4.3.1 (2023-06-16) -* using platform: x86_64-pc-linux-gnu (64-bit) -* R was compiled by - gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 - GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 -* running under: Ubuntu 22.04.4 LTS -* using session charset: UTF-8 -* using option ‘--no-manual’ -* checking for file ‘scDiffCom/DESCRIPTION’ ... OK -... -* this is package ‘scDiffCom’ version ‘1.0.0’ -* package encoding: UTF-8 -* checking package namespace information ... OK -* checking package dependencies ... ERROR -Package required but not available: ‘Seurat’ - -See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ -manual. -* DONE -Status: 1 ERROR - - - - - ``` diff --git a/revdep/problems.md b/revdep/problems.md index 9a2073633..e995a4e05 100644 --- a/revdep/problems.md +++ b/revdep/problems.md @@ -1 +1,23 @@ -*Wow, no problems at all. :)* \ No newline at end of file +# preferably + +<details> + +* Version: 0.4.1 +* GitHub: https://github.com/amirmasoudabdol/preferably +* Source code: https://github.com/cran/preferably +* Date/Publication: 2022-07-20 14:30:06 UTC +* Number of recursive dependencies: 53 + +Run `revdepcheck::cloud_details(, "preferably")` for more info + +</details> + +## Newly broken + +* checking whether package ‘preferably’ can be installed ... WARNING + ``` + Found the following significant warnings: + Warning: replacing previous import ‘knitr::clean_cache’ by ‘pkgdown::clean_cache’ when loading ‘preferably’ + See ‘/tmp/workdir/preferably/new/preferably.Rcheck/00install.out’ for details. + ``` + From 1dd71043440d705af831dd42730002026371f604 Mon Sep 17 00:00:00 2001 From: Hadley Wickham <h.wickham@gmail.com> Date: Tue, 17 Sep 2024 13:50:34 -0500 Subject: [PATCH 42/61] Increment version number to 2.1.1 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 6a0a62f8a..1336d5ef2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: pkgdown Title: Make Static HTML Documentation for a Package -Version: 2.1.0.9000 +Version: 2.1.1 Authors@R: c( person("Hadley", "Wickham", , "hadley@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-4757-117X")), diff --git a/NEWS.md b/NEWS.md index ea13c8e5a..ed483078a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# pkgdown (development version) +# pkgdown 2.1.1 * Added keyboard shortcut, `/`, to focus search bar (#2423) * The `BugReports` field can now be an email (@catalamarti, #2275). From 82ed5ba4292ae36a1d55ae30b9386f572c8515be Mon Sep 17 00:00:00 2001 From: Hadley Wickham <h.wickham@gmail.com> Date: Wed, 18 Sep 2024 08:57:20 -0500 Subject: [PATCH 43/61] Increment version number to 2.1.1.9000 --- DESCRIPTION | 2 +- NEWS.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1336d5ef2..b85190e1e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: pkgdown Title: Make Static HTML Documentation for a Package -Version: 2.1.1 +Version: 2.1.1.9000 Authors@R: c( person("Hadley", "Wickham", , "hadley@posit.co", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-4757-117X")), diff --git a/NEWS.md b/NEWS.md index ed483078a..f0ea7b793 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,5 @@ +# pkgdown (development version) + # pkgdown 2.1.1 * Added keyboard shortcut, `/`, to focus search bar (#2423) From c0cbde4221b87c7e81273e804f210213129c3d83 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Wed, 18 Sep 2024 08:34:23 -0600 Subject: [PATCH 44/61] Reinstate macro loading (#2783) --- R/rd.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/rd.R b/R/rd.R index c659761dd..ab11b9d60 100644 --- a/R/rd.R +++ b/R/rd.R @@ -6,7 +6,8 @@ rd_text <- function(x, fragment = TRUE) { } rd_file <- function(path, pkg_path = NULL) { - set_classes(tools::parse_Rd(path, encoding = "UTF-8")) + macros <- tools::loadPkgRdMacros(pkg_path) + set_classes(tools::parse_Rd(path, macros = macros, encoding = "UTF-8")) } #' Translate an Rd string to its HTML output From 0a18bc718640aee7160a0ebbcdef5ecaae2ac4a4 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Tue, 24 Sep 2024 17:51:33 -0600 Subject: [PATCH 45/61] Bump minimum rlang version Fixes #2786 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index b85190e1e..e85096559 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,7 +36,7 @@ Imports: openssl, purrr (>= 1.0.0), ragg, - rlang (>= 1.1.0), + rlang (>= 1.1.4), rmarkdown (>= 2.27), tibble, whisker, From 0cb9d38d1dc25946f01ee7500be9665985d8784e Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Mon, 30 Sep 2024 09:06:49 -0600 Subject: [PATCH 46/61] Fix yaml author block parsing (#2789) Fixes #2788 --- R/build-home-authors.R | 4 ++-- tests/testthat/_snaps/build-home-authors.md | 8 ++++---- tests/testthat/test-build-home-authors.R | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/R/build-home-authors.R b/R/build-home-authors.R index 69a61d80e..8a7100e52 100644 --- a/R/build-home-authors.R +++ b/R/build-home-authors.R @@ -46,8 +46,8 @@ data_authors <- function(pkg = ".", roles = default_roles(), call = caller_env() main = main, inst = inst, needs_page = more_authors || length(comments) > 0 || !is.null(inst), - before = config_pluck_markdown_block(pkg, "template.authors.before", call = call), - after = config_pluck_markdown_block(pkg, "template.authors.after", call = call) + before = config_pluck_markdown_block(pkg, "authors.before", call = call), + after = config_pluck_markdown_block(pkg, "authors.after", call = call) )) } diff --git a/tests/testthat/_snaps/build-home-authors.md b/tests/testthat/_snaps/build-home-authors.md index eae9b6540..17dbde716 100644 --- a/tests/testthat/_snaps/build-home-authors.md +++ b/tests/testthat/_snaps/build-home-authors.md @@ -6,15 +6,15 @@ Error in `data_authors_()`: ! In _pkgdown.yml, authors must be a list, not the number 1. Code - data_authors_(template = list(authors = list(before = 1))) + data_authors_(authors = list(before = 1)) Condition Error in `data_authors_()`: - ! In _pkgdown.yml, template.authors.before must be a string, not the number 1. + ! In _pkgdown.yml, authors.before must be a string, not the number 1. Code - data_authors_(template = list(authors = list(after = 1))) + data_authors_(authors = list(after = 1)) Condition Error in `data_authors_()`: - ! In _pkgdown.yml, template.authors.after must be a string, not the number 1. + ! In _pkgdown.yml, authors.after must be a string, not the number 1. # data_home_sidebar_authors validates yaml inputs diff --git a/tests/testthat/test-build-home-authors.R b/tests/testthat/test-build-home-authors.R index e6245a875..128ff9fce 100644 --- a/tests/testthat/test-build-home-authors.R +++ b/tests/testthat/test-build-home-authors.R @@ -15,8 +15,8 @@ test_that("data_authors validates yaml inputs", { expect_snapshot(error = TRUE, { data_authors_(authors = 1) - data_authors_(template = list(authors = list(before = 1))) - data_authors_(template = list(authors = list(after = 1))) + data_authors_(authors = list(before = 1)) + data_authors_(authors = list(after = 1)) }) }) From 71fd32ce95f17b379e57e7e33f2294bc034727fd Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Wed, 9 Oct 2024 08:52:43 -0600 Subject: [PATCH 47/61] Error if quarto with old bootstrap (#2797) Fixes #2795. --- R/build-quarto-articles.R | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/R/build-quarto-articles.R b/R/build-quarto-articles.R index 806297641..5df7ab63d 100644 --- a/R/build-quarto-articles.R +++ b/R/build-quarto-articles.R @@ -1,5 +1,12 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { pkg <- as_pkgdown(pkg) + if (pkg$bs_version < 5) { + cli::cli_abort(c( + "Quarto articles require Bootstrap 5.", + "i" = "See details at {.url pkgdown.r-lib.org/articles/customise.html#getting-started}"), + call = NULL + ) + } qmds <- pkg$vignettes[pkg$vignettes$type == "qmd", ] if (!is.null(article)) { From 8d9cba19fe597bba170f8d4c99f351491ab4f4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABlle=20Salmon?= <maelle.salmon@yahoo.se> Date: Fri, 18 Oct 2024 03:11:10 +0200 Subject: [PATCH 48/61] Suppress warning from {desc} in test --- tests/testthat/test-build-home-index.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-build-home-index.R b/tests/testthat/test-build-home-index.R index d452b215f..7123f2baf 100644 --- a/tests/testthat/test-build-home-index.R +++ b/tests/testthat/test-build-home-index.R @@ -156,7 +156,7 @@ test_that("cran_unquote works", { test_that("allow email in BugReports", { # currently desc throws a warning if BugReports is an email - pkg <- local_pkgdown_site(desc = list(BugReports = "me@tidyverse.com")) + pkg <- suppressWarnings(local_pkgdown_site(desc = list(BugReports = "me@tidyverse.com"))) html <- xml2::read_html(data_home_sidebar(pkg)) expect_snapshot(xpath_xml(html, ".//li/a")) }) From 4f5c10eb59676f0ca2462eb06d7d7232c573a693 Mon Sep 17 00:00:00 2001 From: Hugo Gruson <10783929+Bisaloo@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:44:23 +0200 Subject: [PATCH 49/61] Delay check on bs version for building quarto articles (#2803) --- R/build-quarto-articles.R | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/R/build-quarto-articles.R b/R/build-quarto-articles.R index 5df7ab63d..02c681c65 100644 --- a/R/build-quarto-articles.R +++ b/R/build-quarto-articles.R @@ -1,12 +1,5 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { pkg <- as_pkgdown(pkg) - if (pkg$bs_version < 5) { - cli::cli_abort(c( - "Quarto articles require Bootstrap 5.", - "i" = "See details at {.url pkgdown.r-lib.org/articles/customise.html#getting-started}"), - call = NULL - ) - } qmds <- pkg$vignettes[pkg$vignettes$type == "qmd", ] if (!is.null(article)) { @@ -15,6 +8,13 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { if (nrow(qmds) == 0) { return() } + if (pkg$bs_version < 5) { + cli::cli_abort(c( + "Quarto articles require Bootstrap 5.", + "i" = "See details at {.url pkgdown.r-lib.org/articles/customise.html#getting-started}"), + call = NULL + ) + } check_installed("quarto") if (quarto::quarto_version() < "1.5") { cli::cli_abort("Quarto articles require version 1.5 and above.", call = NULL) From ffe60d5f60934e95285d416dae12c05e24ed1dac Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Mon, 28 Oct 2024 07:34:51 -0600 Subject: [PATCH 50/61] Improve the suggestion for missing topics. Closes #2800 --- R/build-reference-index.R | 5 ++++- tests/testthat/_snaps/build-reference-index.md | 2 +- tests/testthat/_snaps/check.md | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/R/build-reference-index.R b/R/build-reference-index.R index 1f942d7d4..42cd98378 100644 --- a/R/build-reference-index.R +++ b/R/build-reference-index.R @@ -173,7 +173,10 @@ check_missing_topics <- function(rows, pkg, error_call = caller_env()) { pkg, c( "{sum(missing)} topic{?s} missing from index: {.val {pkg$topics$name[missing]}}.", - i = "Either use {.code @keywords internal} to drop from index, or" + i = paste( + "Either add to the reference index,", + "or use {.code @keywords internal} to drop from the index." + ) ), call = error_call ) diff --git a/tests/testthat/_snaps/build-reference-index.md b/tests/testthat/_snaps/build-reference-index.md index 22d449c14..456911031 100644 --- a/tests/testthat/_snaps/build-reference-index.md +++ b/tests/testthat/_snaps/build-reference-index.md @@ -57,7 +57,7 @@ Condition Error: ! In _pkgdown.yml, 3 topics missing from index: "c", "e", and "?". - i Either use `@keywords internal` to drop from index, or + i Either add to the reference index, or use `@keywords internal` to drop from the index. # gives informative errors diff --git a/tests/testthat/_snaps/check.md b/tests/testthat/_snaps/check.md index 8c8cb3f13..48ad838dc 100644 --- a/tests/testthat/_snaps/check.md +++ b/tests/testthat/_snaps/check.md @@ -26,7 +26,7 @@ v Articles metadata ok. x Reference metadata not ok. In _pkgdown.yml, 1 topic missing from index: "?". - Either use `@keywords internal` to drop from index, or + Either add to the reference index, or use `@keywords internal` to drop from the index. # checks fails on first problem From 3bee460f1863dc08239ff14c79acdde27a775ffd Mon Sep 17 00:00:00 2001 From: andrew <Andrew.2.hill@cuanschutz.edu> Date: Fri, 8 Nov 2024 12:54:54 -0700 Subject: [PATCH 51/61] Retain forward slashes in HTML img src paths Fixes #2807 --- R/tweak-page.R | 2 +- tests/testthat/test-tweak-page.R | 33 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/R/tweak-page.R b/R/tweak-page.R index b5e1cf74c..3d3bf5627 100644 --- a/R/tweak-page.R +++ b/R/tweak-page.R @@ -51,7 +51,7 @@ tweak_rmarkdown_html <- function(html, input_path, pkg = list(bs_version = 3)) { img_src_real <- path_real(xml2::url_unescape(src[abs_src])) input_path_real <- path_real(xml2::url_unescape(input_path)) img_rel_paths <- path_rel(path = img_src_real, start = input_path_real) - img_rel_paths <- xml2::url_escape(img_rel_paths) + img_rel_paths <- xml2::url_escape(img_rel_paths, reserved="/") purrr::walk2( .x = img_target_nodes, diff --git a/tests/testthat/test-tweak-page.R b/tests/testthat/test-tweak-page.R index 5db30340c..8d704d095 100644 --- a/tests/testthat/test-tweak-page.R +++ b/tests/testthat/test-tweak-page.R @@ -135,3 +135,36 @@ test_that("h1 section headings adjusted to h2 (and so on)", { c("page-header", "section level2", "section level3", "section level2") ) }) + +test_that("slashes not URL encoded during relative path conversion", { + + # Since the URL conversion process in tweak_markdown_html() makes calls to + # fs::path_real() (which requires paths to exist), we create a + # temporary pkgdown site directory and populate it with an image file, which + # we can then reference in our test HTML file. + + # Create a site + pkg <- local_pkgdown_site() + + # Add the referenced image in a subdirectory of vignettes. + pkg <- pkg_add_kitten(pkg, "vignettes/img/") + + # Get the full path to the image. + sim_path <- path_real(path(pkg$src_path, "vignettes/img/kitten.jpg")) + + # Simulate an output HTML file referencing the absolute path. + html <- xml2::read_html( + sprintf(' + <body> + <img src="%s" /> + </body> + ', sim_path) + ) + + # Function should update the absolute path to a relative path. + tweak_rmarkdown_html(html, path(pkg$src_path, "vignettes")) + + # Check that the relative path has a non-encoded slash. + expect_equal(xpath_attr(html, ".//img", "src"), "img/kitten.jpg") + +}) From c40ba2c989e786bbb2829b431114d26375bbe19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kirill=20M=C3=BCller?= <krlmlr@users.noreply.github.com> Date: Fri, 8 Nov 2024 20:56:54 +0100 Subject: [PATCH 52/61] Support ANSI sequences in `index.md` (#2787) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Maëlle Salmon <maelle.salmon@yahoo.se> --- NEWS.md | 7 ++++--- R/markdown.R | 4 ++-- R/render.R | 6 +++--- R/tweak-page.R | 11 ++++++++--- tests/testthat/_snaps/markdown.md | 9 +++++++++ tests/testthat/test-build-home-index.R | 12 ++++++++++++ tests/testthat/test-markdown.R | 8 ++++++++ 7 files changed, 46 insertions(+), 11 deletions(-) diff --git a/NEWS.md b/NEWS.md index f0ea7b793..f4a22ec7f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,11 +2,12 @@ # pkgdown 2.1.1 -* Added keyboard shortcut, `/`, to focus search bar (#2423) +* Added keyboard shortcut, `/`, to focus search bar (#2423). * The `BugReports` field can now be an email (@catalamarti, #2275). * New `clean_cache()` function removes the contents of the cache directory (#2718). -* pkgdown now depends on R >= 4.0.0 (#2714) -* Updated GitHub Actions advice and workflows around Quarto install (@tanho63, #2743) +* pkgdown now depends on R >= 4.0.0 (#2714). +* Updated GitHub Actions advice and workflows around Quarto install (@tanho63, #2743). +* Support ANSI sequences in `index.md` (@krlmlr, #2787). # pkgdown 2.1.0 diff --git a/R/markdown.R b/R/markdown.R index 0cbdb2b31..8fae5ef21 100644 --- a/R/markdown.R +++ b/R/markdown.R @@ -8,7 +8,7 @@ markdown_text <- function(pkg, text, ...) { markdown_path_html(pkg, md_path, ...) } -markdown_text_inline <- function(pkg, +markdown_text_inline <- function(pkg, text, error_path, error_call = caller_env()) { @@ -62,7 +62,7 @@ markdown_body <- function(pkg, path, strip_header = FALSE) { markdown_path_html <- function(pkg, path, strip_header = FALSE) { html_path <- withr::local_tempfile() convert_markdown_to_html(pkg, path, html_path) - xml <- xml2::read_html(html_path, encoding = "UTF-8") + xml <- read_html_keep_ansi(html_path) if (!inherits(xml, "xml_node")) { return(NULL) } diff --git a/R/render.R b/R/render.R index f4580ea60..f64fcdfbb 100644 --- a/R/render.R +++ b/R/render.R @@ -163,7 +163,7 @@ check_open_graph <- function(pkg, og, file_path = NULL, call = caller_env()) { if (is.null(og)) { return() } - + is_yaml <- is.null(file_path) base_path <- if (is_yaml) "template.opengraph" else "opengraph" @@ -220,7 +220,7 @@ check_open_graph_list <- function(pkg, } not <- obj_type_friendly(x) config_abort( - pkg, + pkg, "{.field {error_path}} must be a list, not {not}.", path = file_path, call = error_call @@ -259,7 +259,7 @@ same_contents <- function(path, contents) { cur_contents <- paste0(read_lines(path), collapse = "\n") cur_hash <- digest::digest(cur_contents, serialize = FALSE) - + identical(new_hash, cur_hash) } diff --git a/R/tweak-page.R b/R/tweak-page.R index 3d3bf5627..6134c43d5 100644 --- a/R/tweak-page.R +++ b/R/tweak-page.R @@ -96,14 +96,19 @@ tweak_useless_toc <- function(html) { # Update file on disk ----------------------------------------------------- -update_html <- function(path, tweak, ...) { - +read_html_keep_ansi <- function(path) { raw <- read_file(path) # Following the xml 1.0 spec, libxml2 drops low-bit ASCII characters # so we convert to \u2029, relying on downlit to convert back in # token_escape(). raw <- gsub("\033", "\u2029", raw, fixed = TRUE) - html <- xml2::read_html(raw, encoding = "UTF-8") + # Use charToRaw() to always interpret as string, + # even for length 1 vectors + xml2::read_html(charToRaw(raw), encoding = "UTF-8") +} + +update_html <- function(path, tweak, ...) { + html <- read_html_keep_ansi(path) tweak(html, ...) xml2::write_html(html, path, format = FALSE) diff --git a/tests/testthat/_snaps/markdown.md b/tests/testthat/_snaps/markdown.md index c373c1bb0..bb0f83f14 100644 --- a/tests/testthat/_snaps/markdown.md +++ b/tests/testthat/_snaps/markdown.md @@ -19,3 +19,12 @@ Error in `config_math_rendering_()`: ! In _pkgdown.yml, template.math-rendering must be one of mathml, mathjax, and katex, not math. +# preserves ANSI characters + + Code + markdown_text(pkg, sprintf("prefer %s", cli::col_blue("a"))) + Output + {html_document} + <html> + [1] <body><p>prefer \u2029[34ma\u2029[39m</p></body> + diff --git a/tests/testthat/test-build-home-index.R b/tests/testthat/test-build-home-index.R index 7123f2baf..00bc287d1 100644 --- a/tests/testthat/test-build-home-index.R +++ b/tests/testthat/test-build-home-index.R @@ -160,3 +160,15 @@ test_that("allow email in BugReports", { html <- xml2::read_html(data_home_sidebar(pkg)) expect_snapshot(xpath_xml(html, ".//li/a")) }) + +test_that("ANSI are handled", { + withr::local_options(cli.num_colors = 256) + pkg <- local_pkgdown_site() + + pkg <- pkg_add_file(pkg, "index.md", sprintf("prefer %s", cli::col_blue("a"))) + suppressMessages(build_home_index(pkg)) + + html <- xml2::read_html(path(pkg$dst_path, "index.html")) + readme_p <- xml2::xml_find_first(html, ".//main[@id='main']/p") + expect_equal(xml2::xml_text(readme_p), "prefer \u2029[34ma\u2029[39m") +}) diff --git a/tests/testthat/test-markdown.R b/tests/testthat/test-markdown.R index 224df1536..46d81f1ed 100644 --- a/tests/testthat/test-markdown.R +++ b/tests/testthat/test-markdown.R @@ -63,3 +63,11 @@ test_that("validates math yaml", { config_math_rendering_(`math-rendering` = "math") }) }) + +test_that("preserves ANSI characters", { + withr::local_options(cli.num_colors = 256) + pkg <- local_pkgdown_site() + expect_snapshot( + markdown_text(pkg, sprintf("prefer %s", cli::col_blue("a"))) + ) +}) From 7645a47b08827c8ff6029c8afd09d9b13674ade5 Mon Sep 17 00:00:00 2001 From: Marco Colombo <mar.colombo13@gmail.com> Date: Fri, 15 Nov 2024 11:44:33 +0100 Subject: [PATCH 53/61] Fix typo. (#2818) --- R/build-home.R | 2 +- man/build_home.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/build-home.R b/R/build-home.R index ec06a6e64..357e3ee8c 100644 --- a/R/build-home.R +++ b/R/build-home.R @@ -152,7 +152,7 @@ #' #' ## Additional control via YAML #' -#' You can control additinal aspects of the authors display via the `authors` +#' You can control additional aspects of the authors display via the `authors` #' YAML field: #' #' * display of each author in the footer, sidebar and authors page, diff --git a/man/build_home.Rd b/man/build_home.Rd index 9db92d68c..c3e3c5725 100644 --- a/man/build_home.Rd +++ b/man/build_home.Rd @@ -170,7 +170,7 @@ authors page. \subsection{Additional control via YAML}{ -You can control additinal aspects of the authors display via the \code{authors} +You can control additional aspects of the authors display via the \code{authors} YAML field: \itemize{ \item display of each author in the footer, sidebar and authors page, From 66e7df5ba8dca4edbf4ad09cb7fd7e348e15a87d Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Mon, 25 Nov 2024 10:26:07 -0700 Subject: [PATCH 54/61] Only hyphenate on small screens (#2822) Fixes #2820 --- inst/BS5/assets/pkgdown.scss | 14 ++++++++++---- tests/testthat/_snaps/init.md | 24 ++++++++++++------------ 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/inst/BS5/assets/pkgdown.scss b/inst/BS5/assets/pkgdown.scss index 86d40cc6b..3cdaf2872 100644 --- a/inst/BS5/assets/pkgdown.scss +++ b/inst/BS5/assets/pkgdown.scss @@ -3,15 +3,21 @@ .row > main { // Ensure contents never become unreadably wide max-width: 50rem; - - // And that we can break and hypenate very long words - overflow-wrap: break-word; - hyphens: auto; } + +// break and hypenate very long words on small screens +@include media-breakpoint-down(md) { + .row > main { + overflow-wrap: break-word; + hyphens: auto; + } +} + // Put extra space between content and navbar @include media-breakpoint-only(xl) { .container .row { justify-content: space-evenly; } } + // Boost font size and give big (but not infinite) margin on sidebar @include media-breakpoint-up(xxl) { body { font-size: 18px } diff --git a/tests/testthat/_snaps/init.md b/tests/testthat/_snaps/init.md index e38d1432b..56b905cd8 100644 --- a/tests/testthat/_snaps/init.md +++ b/tests/testthat/_snaps/init.md @@ -13,18 +13,18 @@ Updating deps/bootstrap-5.3.1/bootstrap.min.css Updating deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js Updating deps/clipboard.js-2.0.11/clipboard.min.js - Updating deps/font-awesome-6.4.2/css/all.css - Updating deps/font-awesome-6.4.2/css/all.min.css - Updating deps/font-awesome-6.4.2/css/v4-shims.css - Updating deps/font-awesome-6.4.2/css/v4-shims.min.css - Updating deps/font-awesome-6.4.2/webfonts/fa-brands-400.ttf - Updating deps/font-awesome-6.4.2/webfonts/fa-brands-400.woff2 - Updating deps/font-awesome-6.4.2/webfonts/fa-regular-400.ttf - Updating deps/font-awesome-6.4.2/webfonts/fa-regular-400.woff2 - Updating deps/font-awesome-6.4.2/webfonts/fa-solid-900.ttf - Updating deps/font-awesome-6.4.2/webfonts/fa-solid-900.woff2 - Updating deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.ttf - Updating deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.woff2 + Updating deps/font-awesome-6.5.2/css/all.css + Updating deps/font-awesome-6.5.2/css/all.min.css + Updating deps/font-awesome-6.5.2/css/v4-shims.css + Updating deps/font-awesome-6.5.2/css/v4-shims.min.css + Updating deps/font-awesome-6.5.2/webfonts/fa-brands-400.ttf + Updating deps/font-awesome-6.5.2/webfonts/fa-brands-400.woff2 + Updating deps/font-awesome-6.5.2/webfonts/fa-regular-400.ttf + Updating deps/font-awesome-6.5.2/webfonts/fa-regular-400.woff2 + Updating deps/font-awesome-6.5.2/webfonts/fa-solid-900.ttf + Updating deps/font-awesome-6.5.2/webfonts/fa-solid-900.woff2 + Updating deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.ttf + Updating deps/font-awesome-6.5.2/webfonts/fa-v4compatibility.woff2 Updating deps/headroom-0.11.0/headroom.min.js Updating deps/headroom-0.11.0/jQuery.headroom.min.js Updating deps/jquery-3.6.0/jquery-3.6.0.js From b779635fe2b911ac8911f5560161b07ab3641979 Mon Sep 17 00:00:00 2001 From: Jon Harmon <jonthegeek@gmail.com> Date: Mon, 25 Nov 2024 16:56:25 -0600 Subject: [PATCH 55/61] Respect DESCRIPTION language. (#2808) --- NEWS.md | 2 ++ R/package.R | 25 ++++++++++++---- .../assets/reference-language/one/DESCRIPTION | 7 +++++ .../assets/reference-language/two/DESCRIPTION | 7 +++++ tests/testthat/test-package.R | 29 +++++++++++++++++++ 5 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 tests/testthat/assets/reference-language/one/DESCRIPTION create mode 100644 tests/testthat/assets/reference-language/two/DESCRIPTION diff --git a/NEWS.md b/NEWS.md index f4a22ec7f..e3e1ea3bb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # pkgdown (development version) +* The language of the site is set from the first `Language:` in the `DESCRIPTION` if it is available and no other language is specified (@jonthegeek, #2808). + # pkgdown 2.1.1 * Added keyboard shortcut, `/`, to focus search bar (#2423). diff --git a/R/package.R b/R/package.R index 7b0068722..bda66d23f 100644 --- a/R/package.R +++ b/R/package.R @@ -75,7 +75,7 @@ as_pkgdown <- function(pkg = ".", override = list()) { if (!is.null(pkg$meta$url)) { pkg$meta$url <- sub("/$", "", pkg$meta$url) } - + pkg$development <- meta_development(pkg) pkg$prefix <- pkg$development$prefix @@ -85,7 +85,7 @@ as_pkgdown <- function(pkg = ".", override = list()) { pkg$dst_path <- path(pkg$dst_path, pkg$development$destination) } - pkg$lang <- pkg$meta$lang %||% "en" + pkg$lang <- get_pkg_lang(pkg) pkg$install_metadata <- config_pluck_bool(pkg, "deploy.install_metadata", FALSE) pkg$figures <- meta_figures(pkg) pkg$repo <- package_repo(pkg) @@ -106,6 +106,21 @@ read_desc <- function(path = ".") { desc::description$new(path) } +get_pkg_lang <- function(pkg) { + if (!is.null(pkg$meta$lang)) { + return(pkg$meta$lang) + } + + if (pkg$desc$has_fields("Language")) { + field <- pkg$desc$get_field("Language") + if (length(field) && nchar(field) > 0) { + return(regmatches(field, regexpr("[^,]+", field))) + } + } + + return("en") +} + get_bootstrap_version <- function(pkg, template, template_package = NULL, @@ -270,7 +285,7 @@ extract_lifecycle <- function(x) { fig <- extract_figure(desc) if (!is.null(fig) && length(fig) > 0 && length(fig[[1]]) > 0) { - path <- as.character(fig[[1]][[1]]) + path <- as.character(fig[[1]][[1]]) if (grepl("lifecycle", path)) { name <- gsub("lifecycle-", "", path) name <- path_ext_remove(name) @@ -351,12 +366,12 @@ article_metadata <- function(path) { if (path_ext(path) == "qmd") { inspect <- quarto::quarto_inspect(path) meta <- inspect$formats[[1]]$metadata - + out <- list( title = meta$title %||% "UNKNOWN TITLE", desc = meta$description %||% NA_character_, ext = path_ext(inspect$formats[[1]]$pandoc$`output-file`) %||% "html" - ) + ) } else { yaml <- rmarkdown::yaml_front_matter(path) out <- list( diff --git a/tests/testthat/assets/reference-language/one/DESCRIPTION b/tests/testthat/assets/reference-language/one/DESCRIPTION new file mode 100644 index 000000000..8fd0f7e38 --- /dev/null +++ b/tests/testthat/assets/reference-language/one/DESCRIPTION @@ -0,0 +1,7 @@ +Package: testpackage +Version: 1.0.0 +Title: A test package +Description: A test package +Authors@R: person("Hadley Wickham") +RoxygenNote: 7.3.1 +Language: fr diff --git a/tests/testthat/assets/reference-language/two/DESCRIPTION b/tests/testthat/assets/reference-language/two/DESCRIPTION new file mode 100644 index 000000000..3f6903d33 --- /dev/null +++ b/tests/testthat/assets/reference-language/two/DESCRIPTION @@ -0,0 +1,7 @@ +Package: testpackage +Version: 1.0.0 +Title: A test package +Description: A test package +Authors@R: person("Hadley Wickham") +RoxygenNote: 7.3.1 +Language: en-US, fr diff --git a/tests/testthat/test-package.R b/tests/testthat/test-package.R index a84a593a4..f2a227a3c 100644 --- a/tests/testthat/test-package.R +++ b/tests/testthat/test-package.R @@ -118,3 +118,32 @@ test_that("malformed figures fail gracefully", { expect_null(rd_lifecycle("{\\figure{deprecated.svg}}")) expect_null(rd_lifecycle("{\\figure{}}")) }) + +# language --------------------------------------------------------------------- + +test_that("as_pkgdown sets language", { + # Default + pkg <- as_pkgdown(test_path("assets/reference")) + expect_equal( + pkg$lang, + "en" + ) + # Single language specified in DESCRIPTION + pkg <- as_pkgdown(test_path("assets/reference-language/one")) + expect_equal( + pkg$lang, + "fr" + ) + # Two languages specified in DESCRIPTION + pkg <- as_pkgdown(test_path("assets/reference-language/two")) + expect_equal( + pkg$lang, + "en-US" + ) + # Language specified in _pkgdown.yml or override. + pkg <- as_pkgdown(test_path("assets/reference-language/two"), override = list(lang = "en-GB")) + expect_equal( + pkg$lang, + "en-GB" + ) +}) From dd777ee8e3be5777a067d71940989b9a9982b2be Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Tue, 26 Nov 2024 08:09:47 -0700 Subject: [PATCH 56/61] Update favicon links in head (#2804) Based on breaking changes from https://realfavicongenerator.net/ Fixes #2801 --- NEWS.md | 1 + inst/BS3/templates/head.html | 11 +++++----- inst/BS5/templates/head.html | 11 +++++----- pkgdown/favicon/apple-touch-icon-120x120.png | Bin 11313 -> 0 bytes pkgdown/favicon/apple-touch-icon-152x152.png | Bin 15252 -> 0 bytes pkgdown/favicon/apple-touch-icon-180x180.png | Bin 19502 -> 0 bytes pkgdown/favicon/apple-touch-icon-60x60.png | Bin 4640 -> 0 bytes pkgdown/favicon/apple-touch-icon-76x76.png | Bin 6255 -> 0 bytes pkgdown/favicon/apple-touch-icon.png | Bin 19502 -> 17311 bytes pkgdown/favicon/favicon-16x16.png | Bin 1310 -> 0 bytes pkgdown/favicon/favicon-32x32.png | Bin 2154 -> 0 bytes pkgdown/favicon/favicon-48x48.png | Bin 0 -> 2805 bytes pkgdown/favicon/favicon.ico | Bin 15086 -> 15086 bytes pkgdown/favicon/favicon.svg | 3 +++ pkgdown/favicon/site.webmanifest | 21 +++++++++++++++++++ pkgdown/favicon/web-app-manifest-192x192.png | Bin 0 -> 19355 bytes pkgdown/favicon/web-app-manifest-512x512.png | Bin 0 -> 93595 bytes 17 files changed, 35 insertions(+), 12 deletions(-) delete mode 100644 pkgdown/favicon/apple-touch-icon-120x120.png delete mode 100644 pkgdown/favicon/apple-touch-icon-152x152.png delete mode 100644 pkgdown/favicon/apple-touch-icon-180x180.png delete mode 100644 pkgdown/favicon/apple-touch-icon-60x60.png delete mode 100644 pkgdown/favicon/apple-touch-icon-76x76.png delete mode 100644 pkgdown/favicon/favicon-16x16.png delete mode 100644 pkgdown/favicon/favicon-32x32.png create mode 100644 pkgdown/favicon/favicon-48x48.png create mode 100644 pkgdown/favicon/favicon.svg create mode 100644 pkgdown/favicon/site.webmanifest create mode 100644 pkgdown/favicon/web-app-manifest-192x192.png create mode 100644 pkgdown/favicon/web-app-manifest-512x512.png diff --git a/NEWS.md b/NEWS.md index e3e1ea3bb..912ba9775 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ # pkgdown (development version) +* Links to favicons in page headers were updated to reflect changes to https://realfavicongenerator.net/ (#2804). Favicons should be re-generated by manually removing the `pkgdown/favicon` directory and then running `pkgdown::build_favicons()`. * The language of the site is set from the first `Language:` in the `DESCRIPTION` if it is available and no other language is specified (@jonthegeek, #2808). # pkgdown 2.1.1 diff --git a/inst/BS3/templates/head.html b/inst/BS3/templates/head.html index b569a901e..70037b385 100644 --- a/inst/BS3/templates/head.html +++ b/inst/BS3/templates/head.html @@ -6,12 +6,11 @@ {{#has_favicons}} <!-- favicons --> -<link rel="icon" type="image/png" sizes="16x16" href="{{#site}}{{root}}{{/site}}favicon-16x16.png"> -<link rel="icon" type="image/png" sizes="32x32" href="{{#site}}{{root}}{{/site}}favicon-32x32.png"> -<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="{{#site}}{{root}}{{/site}}apple-touch-icon.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="{{#site}}{{root}}{{/site}}apple-touch-icon-120x120.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="{{#site}}{{root}}{{/site}}apple-touch-icon-76x76.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="{{#site}}{{root}}{{/site}}apple-touch-icon-60x60.png" /> +<link rel="icon" type="image/png" sizes="48x48" href="{{#site}}{{root}}{{/site}}favicon-48x48.png"> +<link rel="icon" type=”image/svg+xml” href="{{#site}}{{root}}{{/site}}favicon.svg"> +<link rel="apple-touch-icon" sizes="180x180" href="{{#site}}{{root}}{{/site}}apple-touch-icon.png"> +<link rel="icon" sizes="any" href="{{#site}}{{root}}{{/site}}favicon.ico" > +<link rel="manifest" href="{{#site}}{{root}}{{/site}}site.webmanifest"> {{/has_favicons}} <!-- jquery --> diff --git a/inst/BS5/templates/head.html b/inst/BS5/templates/head.html index e1b49079d..94f3e394b 100644 --- a/inst/BS5/templates/head.html +++ b/inst/BS5/templates/head.html @@ -5,12 +5,11 @@ {{#has_favicons}} <!-- favicons --> -<link rel="icon" type="image/png" sizes="16x16" href="{{#site}}{{root}}{{/site}}favicon-16x16.png"> -<link rel="icon" type="image/png" sizes="32x32" href="{{#site}}{{root}}{{/site}}favicon-32x32.png"> -<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="{{#site}}{{root}}{{/site}}apple-touch-icon.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="{{#site}}{{root}}{{/site}}apple-touch-icon-120x120.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="{{#site}}{{root}}{{/site}}apple-touch-icon-76x76.png" /> -<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="{{#site}}{{root}}{{/site}}apple-touch-icon-60x60.png" /> +<link rel="icon" type="image/png" sizes="48x48" href="{{#site}}{{root}}{{/site}}favicon-48x48.png"> +<link rel="icon" type=”image/svg+xml” href="{{#site}}{{root}}{{/site}}favicon.svg"> +<link rel="apple-touch-icon" sizes="180x180" href="{{#site}}{{root}}{{/site}}apple-touch-icon.png"> +<link rel="icon" sizes="any" href="{{#site}}{{root}}{{/site}}favicon.ico" > +<link rel="manifest" href="{{#site}}{{root}}{{/site}}site.webmanifest"> {{/has_favicons}} {{#lightswitch}}<script src="{{#site}}{{root}}{{/site}}lightswitch.js"></script>{{/lightswitch}} diff --git a/pkgdown/favicon/apple-touch-icon-120x120.png b/pkgdown/favicon/apple-touch-icon-120x120.png deleted file mode 100644 index abd2b173acfade46a5673cb24e9d2c8aae71285b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11313 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 diff --git a/pkgdown/favicon/apple-touch-icon-152x152.png b/pkgdown/favicon/apple-touch-icon-152x152.png deleted file mode 100644 index 802d9ee0494fb9539e93aa5d25f53d1355ffa722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15252 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 b2Vw;r;(u_xl;BQ=-2xyltt?d|VHEg3yJTsy diff --git a/pkgdown/favicon/apple-touch-icon-180x180.png b/pkgdown/favicon/apple-touch-icon-180x180.png deleted file mode 100644 index 36438604aaf2ca80bf369eaf1276d74ef0967404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19502 zcmWh!1ymbL6vf@$-GaNj6Fg9g7k4S{?i6=-DWzC(r?|TZDemsp{``}Z?8#=&?Ci{Y z_uYGE5~HD}fQ~|f0tE$yuB0dnf*hOve<LA4KE<XGxFH8PYbjMJD5!=+)OS;O$agAp zMUW~KlrIAmRB$*H)GOpv@G%sW2PYKNsR<O6a26C4;n%zlO;N}X2xiI(vQYp2e-(9C zrb5mjx+|&5As)ly;jlyTeZUMsK>=r!WTmvd*DtzllPuOewx2qkC&XCn>rQJ=yRA=% zO%Q^S=CKHq3BvRNb7_)F6;^OCMdTPkDIdQPm|ntUFhs~u<VJVu!=WWXWwM$@bmM7E znk9Yc;Zj&cXq;KiPt6^VKQ^`k>m)XwxW8Cge)_yTZ)CK|Skn1}`_A#{<F3o?-%-#s zzGyRS>q_ta)4~_)kY4C_v}^o7lrUE?H&Opi|6PAqzthd}US#~5#|pd8eGS`J8A1sy z4@LP*aDCTT2Rjk$i*g>;Tp27*rQGKL%~33N8w5Xz_H2Xt%zdqY+xURDh-j@2-L0-1 z>;P36QV8>x;hNP%+++d%&o<N-xGkvu%D$~$G5C85HeBO4=pblvV}HyfQZoS*Z^~!- zKc9ooMA2m)E!CmL$}EEo;lv{mZWCcj-&Si7-?^?KZ9ua?sfUPlK^nly2wsC@hc1Nr z%gpH&9AyLb51RZ-5d7D|P+vhmlw%`Z1~u^*gqvy`4TGq!g2)@NJ#g<d*92H%@Q;`0 zfFiGY6>m-Wzi7f;&w*6`urMfLol9+dIH0}$*b?1RK^kymg?6KOHs(ctBAmtTi*jVY zj_NxK-bPs70o1oPRt8@-s(9a^<%GVS^$}Bi=+?meBY@l=_8M~kYO&K?cZ;7KMjyDx zO54i8AKz!#%u(8)-+BII&ZQOlqny`@!Sj-HX3p83s>4d4rBOWiT$oS`$Nz<QCka3< zh@`#_hZTnYh3*e`ksJh*_2-5-li^zA`1#c<wYSj5M1o!5Qj!gqu~4phCy+#NCTw9z zVd=71?13=E85UbKyDzW=DnBNb@uZ?!0!A?LbpxZ1PPpPP<1z26YC#|GD=zf$MDI(Y zuAyErKQ{=a|N2eybfK?MenL1g*QbvXx)3oCS2v7t#DLOIGUy@mFGYrB&Xmp@taNlC zfFL$#sHJ92A;1{(H-AV_V#UkfB*ySVk(S`UA79?TG&q94Za(_|iK4_TJ;nzd+_hL{ z51A#KQ72lG%OAcfX2Uqa_QvYmcMou>mr{yI_TF9nb^d#o**pG?LzHLNXRGkr?y>cr z?q5P+6<II{g&HnlPlK6&2@gg0a8H<Uqj{*$Yu5Jui;R6kq9u{51623@QqZ__(94q$ zmx$KafPZhhf`7HiCMdOl@tCh&Ae2(rbD9@_iV5MzKFFODF=YPo)cb5m2CzbXfD7M5 zh$2m&d;S?>$<+Y?LBL~_6h!^g1~=q-)CkeTo2OM4o181uJ^>;5CGJGNqM);XFK8L2 zC>;0J<!KUt@>f}+3Bpau^%lTa)(~n>uNWWzZJ^KPymmx<t1n>=pSw4%;)UG}&8BAr zXSVk*=3joH5o)9Xl<U$W@p3$g@LC$`j95+`rao@C4C+<-T9LkK59#C$m#0<eb>&`! zcZ5Wr=1FtJ<1haZgGk*sx1Nd?mLzI5aLxM470aW`VBjOMveZMmQ<vsk9*%+~BtKV5 zc=iQ4Kz&sIdkabgjgKC<5{Cb&oclF>*V&Fxg{QgOph^q<$esv>JqIQGU+Tgd6cZ<X zk*S=c?6k|K#XSBW6~>NSOAb1$mzP)m8FpUu!1(JTaq-4%Aj{#cW?;y9+LN0cb^MIB zB}(-5#+Wd3kE;9v^%p*8B9L|Wj287c?$V5`rt{eX3ofW+&5m%rR+(%hdUF_)SPO-w z>Y6r&y00Nl3|gdc!b7yh#XsZ%<{zbS&tJ?w1hNaxeMJ~yXgBERR2%5ILaCL9;<WxJ zSp5tB+M^5NRS@7^5qlVC0&AZY_U``-^k`z==lf$%w!{0H4C7vrzkJuna;zrn7B;N~ zjJZPO1+$6HC;;0TO-5o`6U-tUiT5LmUL|3{yy&j&c^GmD9QF7)hi{*nO0KvS>QDBQ zq1+j|1fk#Qu9g1Cc^0c@fOdT;YIH~?kRH*_6`8v<Xwv(+&|Nbc?B(IODMSh@4Ox>! zdLXl0Gtq<eu55yxphk472%Qgoi`4OcVm)Uh62%@AyVr)eYK!ny7uEctAw4vYzJ6*a z#4*Q;5pPUr+6CSd_F1e$l`&Dad6E{^z2f~u=2-BBqjaM1(NdFa!Kt%p-Lao@1GgR@ zOCE<K1qsdv+{f*u{vd_0>O&q&W^Td({g33L;mZ;Bf<GqtEI3WVNYPk?6SXwjvs1PD z0!MDH;ISAlyn!wSXiYY?vwOCPHc*rV1r{oRberpe1NI*oxxGY+-F+0oagS4e5cV_P zwI)WxyAnW-NFH);&<}M$Bnq{pp926N1dwF3j)eC-Z9skLdR!H<R;QlBZVh&7p6orq z)}A1HjkXHToBt~D?Q&VqPnWPNjRr|ZzlOi|4Cf+jAR+Z9ZLm2?T=94DV7S!?e?~l^ z$i6MOKveW|3AlAk)Ws;_lx(N`nYoK)A3Jr%oGthAltzN@gXWjZyipem4y`Um&NFe* z+JB<Bq<(&7or*>aIh*z|AUDbUO7_+UZ2;{x$Ggo@@^()yJmtkin+2s;)QR<h&ztqd zf^t*%Y>NNsGrvtcMTRZ6PBo{HKE1U88lt`GgHMlo_0sU&)3j-n3-G~K-hxA$vaFAt zj_a`j)-!H7{9QEXuoFFsFp}(e^noqsuGHpn7jey;kOmq~bMQe#x$9;No#3-TObHR3 zb}an#wCe47cIu?cVm(_bH93Dnns<Rh;}XLvZBz|o0t!bg^r!(sizV7rG?Z?JTtiZ& zF6-{<2*#?T`^;I>$vy*_Xg#LG;A;m~0M4`W@n1qe?s7b3``j*%1OBUR!=klECc-;W zzeBhR+piy&IPn?Z9Q6!E`3B1G+*IP@O>%~>`x4C8YZa<%Lb@4$s7qlfziR{mZd*be zF(h2V@mAquhx%RM9+~yMK78(fz(bRf)jx@Wh)FKdj7TnN-ime%CH{1uJ$dhSlm2w% z$3iLtX)D7A{-K?5ySZnrCPm-s@r+^-xLR-(`*A=+s6KPOk)0YBpY{ZI&J=6Y35X(x z<Y*w>4Q-4q9oZu%G{5jOUa)00$!Y}5;|)v;Tx~InWgv3fIP{$V8%Z(TWEIJ!*0J&U z+v#%qFXJOpXQPAL8u<G`b+>V8BsG=g=j*$pEVAldUufENoJ?o-YXxWHVNB@~K`V!{ z$vbPc+sSO)#UJ!&14MSW-_vMfY4ja4Th4GIiz&WS|E5dtN5#EK1&m?>0)aDfNFkOv zc;Dn=hhSPP$r(*3y%)yB;#FYwX>uap@UG3z8&Nf}A`QEn`&zd<$Mn0iZ8F#lB?cSV z3Pik82&ZS}Y}(&%yy||f*>DNz$N{n_D2w&kZ(l`LbT@5i!cFXcj+eVJwtuzD0Jisi z_323)z`(@-FKBO5)Ux19M7We-H$3&3rusU31L4H#j-al3xG#*Y%%0qfRnA3`Bnt#y zP-;vP##Mk{gF`<@=nUkqUM<PGObYb)MXYSMCs4{W!AC+ZaAuKE?hIs3YXS(`T;IgK zF6(}^b%dnFzO1<z2R^cvODD9}ZXJG*K1G+8WX<fnLc5Uh@EGsC+_~iy7FKAF(wZ>o z$O0lL;c^DHq73;`P$bd@e<?qp=l@X>ZE@7Y`zDMhWYyP`s8$*z1$c0zdL144H&X0b zf0q25AN1~(1XRQOHuO0^?=BW=n11jt;S{#?tY<*r9j39hsgIF*Z3)r@ulM65GNdzT zjx$FFSH{+s-653ni_CKD`MG=ZFFsvV`%izL*=o0qN(?9Oep{>Y2#8I$Zgo!|7(79L zb@;XxL&9O0b##9Y7xB)ijBJ+*@(jLsp>XN)`oV!OA(YWa40?wnHUWDw4lnm@U2O{D z5Wrrs0D{Vw?B4J4Qaj(fB|g@SoV(6;+X|nHGjCx3A(k+`Do95QEpVdAMDN^<hN<;q z?Yr@VfI9pngCNl8TArBD(712Dgzp{7gH^8d*3RO&V9@QsQ5FfQQdfgadsd|(^L6pj zG^d#6UQKmtdvkq%RW@>gh+m3t>6Cu=(3IZ<YmK8>E<(99g<teAca`<zk=trUyfpTR z>v2q}Z8Sy=p==7(GP*Nb!yC-jy|)Y59->qUds<e-%j%gd9FZxON^Nb;he@fXbF<Oa zMDMM^7x2Sl=VSfE!~|4=rJh=qb_u9P1MqqDAa$7at*_aXC@(kHsti=7G3xSi7(l|7 zS=a3&r+$owcPCUJA~MowZKY>eeU~n<ReJH-b$@Ov{yb@0!DwgL?NJE1GFvdie}7&` ztuX7)az9FP+?WWzCTqK|b&TJ{S)Mr880yiH5SLJ_<JDg&b0UNxvk=4S-w*!!7dri> zR}`x-Mz5B+2vV#r14J^%gOi-vUwpf$kdOwFTFxH5&qt<q1+6>+QggisW2CpqSVYVN znWEN5YU_j(%%Si{8c+t3bgGrQbt`p9i$PU(_-o?9Y~dy)ItPg2{xRR~8oN9m_&+;y z?7l*S0Iov0W?MU?&R>qYArZZog{x(*Jt0S+!|%PfNxGqDc(8a5$6+ie$4dX@?a>l4 zoq0lBLse_Y4igsLTl?cRa$B7)i3X@Fkk~(rxVuwHT&ZVuTZxOd%}G<1LwO-{Tq$28 zF|K8XLykrdRfH9Z=3Np%qfMchd4dh4D!cGa{Jbq*{#_u~u*ajYJl(@iF1G=QvB3E= zlxG9idL>v5QFZ&P9GTqWS#FzCu6*flMUQaT^0*7SbP_+f7E6-J88uEm@qRaJb=R}M zC<2%44IOiTyn1i=HOb7g87O@((Pj$7#`<rCoxA*C7kFP*CuX?C`1?1@KlQvkday41 zQ4oKnNe2}?IkRg_9<^~wD03B79{4)&gCT>2@suf$RY-jF;^w9j_o)HRd<9owfwwAc zV*k!(-7ynV`31`im#~sr(aDtmD8y#eRrTc2KO#94QX$#28pSI4HI^bfL>&1T_I3^~ zi74wTswLn94uvP{_#9+AkB(BXU~ug0&COw3H!C(+wQ3SHSku3{Vo0B(uL1#N;N3~3 z3%x=Kff2uztJ|%3KL=iYrt(#Xrsvn(&uyJe!|#)Dl!1R)1F^3Cw!Kj~kZwYg?(P=y za`OKe!@N?({STfO@Xw~<mO0^?lefP4L(QtSTYCHLJdEC#8)W9RmS{5P!b0W-1WUkd zX=?S(&5F(CA3dh~KO(X4974=bW6W8S1S>*#%ANu6Ek|!~rjlR}Cj11Q?H(o+JzZl+ z@j`8@ow!#FnRBiEcfx-kZnE<EiBRH^rjG|AUT{oMWT?WA^Ca;`;CiCYPVc#ZBe{{L zm)~@7q&1lL1%>#A$4*=vCd%eq+dI3a*R4{MT|+Ppv#eb_@}0Xp$jk9EZ0Bv7xzNMz z+!prTFuXFCZ92uz9tc26{hSQ3=D-NDz0yy1={N<Hu6tW3UId?!`lCVO3QkB3Nmwuo zykiHh`>sOyJ83twB-k>?^BfCU;SDs=bWD+_?`Z{?$7nXfK5!H#`<mlf&GD)|elG+o zR~wZnJXxe1TGQaLo)>4Bf3M140s~gwwo{{)e{I#CafM43x9gm|$!bO)wE)s5w13dz zeWO>IkVeY}oRM+7xK66XaT>F@-7KOxf9V`(7E%7`)bb2@n)tNX1xAMFp3DMM$Hp;{ zl}m2TYN~J(Q_C=_IN>AG5u6EbpPfljLbWLq11szK=iyEP@3(cwp4%F)c7L}J<)fpv zuXd5Zs<yK`)y{0;7S%b9S-aM+Mv2~vCI*pxli9M!ON7ri1*c>Yvmk?+JCC@FHl?!& z(TbO(;2OLd&)hRF!uG~C;1*6^{*R=_X7$ZODM4P7$j8|}_2RTD;?B#P@Y#03Dm<Ji zaAZj0QTw1Kk~AF!c$IL;ng{{H3hsDtAzVuX_{-RNhY?^m^6UQ+Ik-<0kvHHcaCI}) zS_k<BTb>IDDAP6+mKZ5~Eg<|Z0Dk{{c2(bHT&d4qzh=|evS!hxW7>G&dNGajjfE5{ z4MixAnh2X3F2gc;=D>vvv0NL($3sSIMnW<e2_0DW_CPF66=`FeQGjU!2+15=Lt^_P z*0mo;g9PKm#(J}y4(26MwUWP$`;4lK`IoyJ`Mp}^X%;C&n~GaN9;jM}Bsm<bI0h$5 zp-Hsc!3HcxDF^b&JX|c9vp7ubLuwz-9_|15*7?~9(zX4w?e6h6fvdeJ>Vi6ROE53C zG^`9TASI$J%<+tL&8D5TZmGSq4cM;zr<B9^4+IqJdj0aB>bA{YYNp2pws$tqynJr@ z0c!bKWl7+GgDg`dln8(6hl`qnP%M*NgpA@dvJXWw#jle)d^A-fo?@61NTWw&z#*KM z_unnX(R<NLko4R%DqFMT(Qm3s$iU=lY(G*e2BDO9a2XM<qR`VP!`YG?9~PplWrRxw zpS3U%OyDV7y1u|vSYBjfYX<MF=1K4k#8h!zve(>fPPDdnw*kQqTxe|Pnm{f{{fA(7 z?S{UIWvNu@367j_q$le)&e-gHlDz}#8I4Ji{|WZx#+QSQ4LlxPK1drb)-LgW6Qp?} zLPMy8huPU=<w=cRVlKRBr3-Px9%4CuN!2LHuB)+B$Z}1Hl*Y6vFr62^-hp3DjEd6I z7IRgdHVw>t0#Z{Pxh0HAUca>xf(a+6(_yj&*Db!5%}-&arwxKiSaBmVT$$lP?Xsqj zoMOULhCEW9KeRbzqF6aqp_`zD#K7Vz(#jQNx|hHZ0)R7wV~WHuBH!j7SkQjr0x3sv zpOjha_#jmJY_(<RNz5(hTcx$IU9S~*Z(ycy=X`@VlGFR|2ARMm+uege-Syuoc!CxF zY~s3`jrP>MEHc_caQEmeuj;tv1-2IX<26}J#X}h=f1DVMr#pOIb<bXJ^iD;U>BdC( zZ9rf`6J^D%y|rn$f1Vj3B|BMkTE_6y+?mVWN~FAw_Ga}JlluM&G_F!2JrOF5zv!ZZ z2QM3<K&B9!P}ev)X3ToEs-nIq7+{v-O057!g{UN!Gjx7ZNAgo9n|5($qiz{->$^Ej z!y*v#b&Xf;9VEizbd>$K5jj9?na_s?E6<1EmG7UFyS|zh#LMSGhy)a?^J2TFUvhb~ zFbD`7de`9cT%Y1CoG~RqXh^e#v1c+dP{Q}6!#DkTHO5(Wf8GO1FFt#bjd57vjYlj{ zCqiIlt8+bA7ULH<i^FrYE8hqdX%a6Z@)bFQtvmcdjloA*t%6%lH?BQKC>h1*LWccJ z@gf~#SR8G6#5pg8C&TZp6sV&NFYbRrW_?uQ^KV#etGBst_Y?slrkV^BLE<yzs1R11 zdwAGw*>m?-6)QBeP-Fm7xCByGmiZ0#-CBC)G*!TN5R|{sk7!7S;6kopXXEI_8_T3> z;!S^qkJ^+<5+%*>GMQ(DbkFR9t0~b!K;4v@^%B+mO|#=A`D#r|ZTm*mgEX0f!*cG1 zfnmj#gQlyB9c_d{1(c|+B;#1dc~KcdskXX95zbDJigcPTb6MJ`APtHrB+eK=_cf8r z4%=gjC`uy@+vE2<g%LvJMWk2l=D|nq6H<Q`m4l0)X@tnrXFYxJ{`nZdIPem!mhk$m zu6Lluk7W?V&8Kr9GgD~kWECm^A=vZl3=n3$2RT!!&phiXw$<&D=vBA9x1LY`e@eX$ z;&Bud?(N?T3XN=i5;o%Cvo;5RijDBE<POkn|6z%w0;Y?jHzwMPpgS<}LzOE_<28U- zE2X-uAm-CkVvQz!$4j=F`WE96F4L}a(c6MG#5xltNj5knnIa2>MNlZU22Krz7IJ;L zG;<Ap0&XHXg18!cl%)vLz#uPMxUENj%BDU^rdomyaX|az&;rS7rt{{}YqzCF?9CiA zL}_vxSG#^p(+GhN*LWDSNUB|3ee*bDU&bLg-Z8gdZawq$aUTzoOO0(Ezaz974F&lo ze7lFNN+YhKy1YIpAX*8c%W(}w#U>_Y(MPzw($xs1lO_&?=VzO^1Bgs2aTO+bg^3kp z6j2glcr5bGebpM$cym+@XJ`xEY+4L2S!+$0#uVo$fbHH{p57@xWpS!xw;fgVFeQ~D zsw4qo?a9bRmaGk>M8pcKp3#<IritNt)-+pcG+gS)Z>{(yIS7rZr7Cec|4$-BrR@xF z((|9P^}H)=ADri@H3uEH^XOJ6P29aqzX|9WZbAyuPL#we%)%aDe%`ge6Wh<P7YWOz zE4hwS*HDqg?OVC16B})<gH>xv#)1+fi_b{Q?DpgyZ}p-=Bfswga%%YhCb1EsLBkug zB6-3p4ScIdlN#e{c!Y8&$Gd2m_$dFRU#lSGtT}x|q36vtih(#AP^_^1-A3cvec_-6 zjEtvV3f}4o-B<#xgUE0k8`{ErTy*kZ-YD3X`IvC6MqCJ+ZiB!LgfX~YT+%=&Y#1am zhgw)!7bKaL%60$vNqh}y(2uBYy}CO*Fc9@RgsZe-XbTAXRJkZt7;3J?e26Xm^<+Z{ zI3&95`zCDvzyKjo5R!Z|d7}5fwu+fUIb?^|h&0t;#pA6PE41p2xWZI`)Lo77?0v^D zPpUO{TC$0v<MV<6jM8YU3CqSR<#}L&lF+|nvxAFs4YB)#3}{bQJP=YDj_`Yuz9{8L zir}0y6QIEib>SDM3h6?uCO5jwWPz@qKt)=ug^-BA(D@<}A)%EpnP=$|0$k}5&i36d zJbPZw&SCdK_<)nEy(#<x7Oy^qy!00o>a4=-KM{9~T&k&8U0$gbXFIC|v<Ect8506q z9pmZXCm)CmhCBy1w&X=^^a`))W`RKAfGYDsn2F$z8D6;bE+rz;rm!q@ff5taeMfTx z43UI#9R_}V2sVvA#gqn*GM!hc|1kyk*mjB;^qaT~`_Vt~T1r?*znugD8)=cVYl77I zK{yfXFtNo9po-tmiV+KpjM-#05QFj|Kvcq_ag8PczY&+OVpv{x&1Uw||6Ni`KfzJ6 zI^(5)kmLWM*I6d@e~5o-YiyIQ0qvGjwvD<S9j@9m*)+Ms>`m{IcxC9^3`Co4QA>nF zF&iZ-GfJqGrR1|-)H?fCbcYfGHY8_!CRHX(0Q77t){c$S>+)fq)vCvxio_wId5)TF zlpRrlgH4;B8UE=@!JKp=6oAYcVyv~88uKbXEH&1c3nGz(hFv0J@VdEj)i=~QIykPl z9U1JREVutXgu{xFc8JH}{H1$p-Z%fixo4_b#2k_#-D}I6xmc?$V<&4$;`bYRXfoFi zSH?TzHE&Gi5H6a5`9(M?Ev2s4CqjPWfHrd)#7@xWX`LLA?$Psj@zm~mCZ0JxbpwF{ zJk-uQkEWK?>R)ez)v4}2w=$dDt4ev{M~I8LjwEb^+fUI0SojLa5zN9E7OMmfm;)3T zMTk)LoeGvHzW8U09n|pivs@l@^rl3R$!~Eq1#`75?nD9D(o9XWxS^ZKNLEkKnekoy zud}uCgoMTpa-V#jUX3zV&SaD6qG`$&<uDeOu*Dy5d7h;PgWgYD^)?+K?E4yGiu_NC zY9jErI*ZM3DPM6jv&hJ)Gg7S8W^OlGT3?0@KI`e#-KDQ=TS7QHrvLs+@sN6gqxt7* zJk*Hr(*?kX>7Y8ifihkwXW5*CmUHusXd)AmhHHHmbJd-otLJer0ZsK&@M6$+wdjV2 zyI1t7&_QWxEfeKvbGB&+fH9`*o5eVe=<3AT4ikaY3D9L2w)8!_A2s?2w3X$=-{1A7 z3-Wevr{K4GeG(zn9*KM<6GaFZA!@p4=H#1qG@WnZWQWFq^m0mi)$nWX&;2<arS~CT zP0L8o>$(>wdKl%~s&ZZy$$;+_L$evi3?`(2&DtIr-7bHa9|~fW68~_{%0QLEW5g9_ zbBl+eBvvRRmuhhnRhUzt6fOF6JB!<Gvb@Y9uq44_dnZMyYAasOebam>SE`FM%%x_L z-00}QGThYM%CCw$(1bNE%TyJFVtzbko|9MgN%?;!`X+Gc^7a=60yq#y`1!-RrzS$3 zXOGt?(Ye<vRYbWuE?)b&Si&U+0&{~6yQej8c&->nhZVN%6wbyyN@NPpJ->CE`@RvX zX|nD|A-Mf(KXel!8!0}1Q<Apu`%!1zzv77uOGzxpWHFy*{l*3SmYJACE?R_6E3<at zl#2JfNhBN(_o=ej`!fd)BL#St!Vp-(L=$U92JVk>WEC0aW>Zl<4OiK%LSK-r!dsN_ zb|`-sNo_{?KSf_&h#_40&*eM`M957*;Ma_9EXtK@29Z5)cjKKGGRQ02U6YHt@h^Hc z+s1XR&leIM)AHS8y3K==gGdm&Wa#;LG(<@Nof?93|D=IMxO%lmjcX2b4()I~>SPg2 z#Ecz}o1#MnP?-7s8btE9E1X(stn~|5;m3Yr(EdL)q}55{=@y7aQkY_qA+hqyC67qt z<~Xv7lT$>wu2?0l7$>pD`Hzzf_5yEK_IEDL>UtgL+gI?)|Au7&B~5U$YqEa%px0LC z*r`<*gdJwsn&=T|;z1;uCMz*1;BIma;$iuPx^hXln~!bkCK@i?+3@B-Qu1_);6cX# zR_Np;IpGd=gsOB!D9&xGj-08el{Dep19j=e`R&63s_WsQmN3zrJeCMZRUV=ZS?n_J zAEh}`BpVt2MPKoY6CF1#MgxTwx_Q|h6ZzbtVQOrSIq1~S_)mY8-d2xqZZ0azMo;hf z$C4@}eX<sQMjS;kNu1;TGtMg9DL+!<kq~RBWUm^?N!IQf6*RN;$k*xI%)Y)D?r;oL zy-kpzzDk-|>#P#=Ird~q?PoPyK-M|pOZLp1*cfso@})-b2|@b~T}GpW0+?qlRoOjj zyPJtIa{v$ja#T?^WoDzs2U4TSz#5R`kJM0m29>%dOhsrd<mFKutY65nZ+Fc=7;G&e z)-YFv?dc$v1{?m%AD+r~h~${Z!rR=s3Zp@h)~`XBvI_GpmFrxhyY>%IptwFzT|*yf zVZy)D2Fjrb9qlYpU;f6h24$Ht<2*=&o<Eo4Vl;oWoG{95`;GlYD>YC_iv4AdUuu!! z$lFOg!Wla%hwX`Hx`yG2;-CVDQj8W34UFC|?8oXPlmfu}jO;*s-RZo%-Pe5j|Ca}v zrx+U2AV6WosPOWqu`)aVyI5N6nP9?KFdIocf>UQr@3CfhoV1t;CJfK3EeL>Lr4zeP z=BKW_F6JQOE#^KWhsv!&F73WoS5Roy2P66McB;p#2n&Xy+w6xamqZcPle4tw@}z4h zL1K)J-Xm*Cg#z<(sYw2ydt4#;rh9@s&)J8t`RhCa^)4?z*Q~UdwDQOeqZydoWls6Z z3xuo+w)2vBtk)1|E;?=$2nXlaDgYuZvmxso^33$NiEFoRh;>m6xa6oBVp~2(Z9@6j zR?e>kAPH1=YEGO33MAPa62x7>Y%B)c0l^H}1|_^9S<N_dxqY%qScd^#E~*7PDLVJ! zjZ_MegYP2H%hcA(X&|@|_3Gk*Zw@tP>fJ~D*2&YT<3ljC>D)uomkrmWAD)6-?ug;c zuscTF6t)pSpqE9OACUe{*_cqeh!aP{d9!ypcu=w2eaP!e9Qg>zDug(jgLO0FZINY3 zXql%fmCJqfiajyUwe4M>WrJx@X!UCt;^oP=&)7e=(swd01v9DBJ17?Dm&;aNWBGZI zg`%fgFO?$xKr{iDHAT^$w@6r_T;fgIrsm#1-Rnle02ce|4To^(rHGi7N?9yQ4wZ$@ zXB!|s2zcydthD&W4hO4L5+z0hCTyoaY2cS&g1hr?U-H(?OACZnkyb%`S9(};5`+lp zf@EMa=;r%lFX?oo<8s#Ib<0hG-kj#GmPc4Z$lE464?~LzM(V3{xd!pC4p=)_v}|aP zFKF!L(sT{Y)bv2&m}{jdD$P7PYqNZ{RtM4v2yequ`qs?5LzV7dR-^;keWQqfWvHQ3 zqu{mrs3_DmAx0RIP5`z`0t!cjX_goeP5m&1Uc0R;?}7KhRhgT!8J{-MOCxc!_dF{y z^YJ<mnv=%Ddj5%~6jq7TT@=xkC%-Qa!8I%vE3$hgC8UN^>qJ$mU1$dDf3`s6CH2UO zAD$HxgV@VmI>p+PsWW1)ue}5HurbAQRw>Jx6XjQ2(e=mDG8SF$p4uSww&XRn2QhLq z>ZF|4+0=SR=HYa0WKtYP-(4q%O#r*1jW}cGNHWfZ8nXrW(aW`D&F4eA)*Rkbk1q1v z{rsOGW(@#&H*;!O6Ko;gBZiJM>t?pcQ;<_qj(wlFoP^fwQ9uZVhL?1T<8(u+ygEaI zONGAtunUNbHfE13!M*;X%#6Y9d;p<2ZjVlFtE~H*pwH9Oq4&DXtPJKf6imQaiZO-7 zpV>+Z0dze@uTtMFLMUPliP5G}fIP`BgO%?Vm9?6~+_pKX13JR+tlUdSQP8Jqc^lss z?D)ON86{3UzX$6miG*#U==u7;sqO#606#e7B1?F>)hgy|%%OkPuI%ArgP$-Cx1C!6 zQI|hPD&;zRQ3$I!%{nYTb!p$F+9g_8W|ODVch;-D=OIh^KHGj!f5@ZQAv9911xU9B zWb@8v>3bUEmY|x+5as;lTBuZRt#xrOnjRiQ7oFME%6l&Z7sKdBi+8A5*ou0>-8jV> zi(Cwja#97jbkL0@(lJXcUCq2f6}V0Vna%J$R<UM(@Iew(Wix7qzXP3Q!5;KOptFrM zm3!C?ym%&T)Lkg}((nrdH~l>TO7DBraWQ@;c7pR7v+5$+tZx~>GCLt=G?;k4KYL47 z9r&Z{)83l5cr)4%<EK0unfc*Vr4+eSj?}OPeA1YEU8QxggSu98=dwXe(VTeU8Y}x_ zjIzYWG2PuIuy?K_UhKS0wqbMIl|3cFtW1Wy6>O-QlXGsO6M$VMFq+K|FWXUAIA%Y$ zV9BU#(q)E>ck>>4J>{|ipL?0hqjgut(>Fp9&`dDM*`#57ToKccHL3={HIV+viDtu3 z%1eswzr9`3DL8#7V7TnW3hM1uJ3jUJa!V_x=6}sPG<Vzc7%)nqFB)xj*?b<=Izi<r zzOK5H0@I<zT?%baCm|xKbc(B`)G{eg8m6XEE?4q8BN%&=R%a^)@MDN?aikA;b+7z1 zz**0V%L489`T(@dfAA%r3HY^ZQI1!$B&>Y3RouL;NRjl)b?Veq#qm?~d-@|E0VehS z@#|vKUeM_$%29=<DCm#v1o0F3EB)A<<};-~WrzxobY3mZAra-ma7v$Bfjn{CM<xuY zUc;IyWD1Jq^{mPQU)&um$n3@2mneK|()Ua*mJm>#w+5Zt_JKZV6NAn^-*sV7dUt5d zW7-q7-(_sgi!{@giS4wA*+$hqgb-lF(fNLjtaXH4a>4oPWZC4V&ztbWDK?u^@m~9; zg>uG4?|ITVp?KU5xd`Jk`<}ER%{VSNo#ga$q9O5IbQZvIj!1=b!byRT{))85ghh{8 zt8u%!q7CrswYw%ZlPbT)5RWhc*3`{w1E72b#f*S{9&P|+)yQcm=|X|>voS4F|0d{k zj?J*gw9{CM!tMoeFKf_n2etBUaw${4OP(63X*wv_C7Kdmb`BTE7%9nA#my)6wV#BR zk@5TX7sf{!t1qIe9-b;^(-B3&BEyH>e9|0Hg9XuHKhcX@cv7_F-1+ci=0?z9zNoj< zaad5@8INnbf0;OU?o1u^z2B#vlOQ}FTsVi{=y*{jLQo_=J5BRX<Aoz6_uN<HuNS0C zZJ@)TUAI@g3^)>Iu7b0x<ID0tgrj8~;VIP76(XfY=0aOI{xacu90E>_y1bn@xrwyZ zqdK<2>I9$fH~+e_-EbCLmb9yzNz;z8k`S|c{P}2Q%fOqU<xHMDVY?Y6&iJCC6Xd&C zkw#<V`*YiPc>JVNo9sBy`{C_OTRo1;)y%)M=0VrVXu#D*@`^<r9N-^2U5gL`tg6AT zV_=*w93aDeP1(;E@I{clz>1_Rmh?<$4;n4s5(W}9JRyZ930~H2d*@9#w{7_Bk=U;g zHn<W*R#8R)PbtDm?^4Ot^Y~PQ7-FhxCagpaB`Y)FTaK099@Wl$f3xFATBkXmsHblR zaz1QwC|taV(R!2E<Y$<H)KM^*XpU$78X(({L}wUPGRuXh8H&2M292D}4#-hx%L{Z& z%WqI#fTn*Ufu|mm@Jc6O@gqXSAJ>-*d}tkGc#c(>m)ZL<wIiQ^Sbo^tX%@e?J_L@v z^*F1y?i9N{UM)#AnC0i|4~t4S+;2%Eu|p`)HhW)Oc<@;^;t7Dj+a(xJu1pP=;9&n| z!C8??uqQ8PMT1-x=XpCBiDRbkIo_ykT&K}PE7q*>)?i&LU?w4%6u{sJ-?75~y-`Y7 z==`$tADQspI-8^-FC`hxUJ<~#L9X13j15J)%a=5~NKk*cKCZTiMK9g{50R7rEQ?}) zngWr`)$lJ01BU@K_i6ErCPD#SzbF0&gNaeWvo#RMCWn5g!}q(Q7}FyF_r9IJU&rHg z1o^2cMXX$);_M@$VHuT;Pq-uHLc{2a`>AmJHxcy-=!)5&it3{c>V7tImfgjpEtK<N zM-h;glg3zuIukGW&xWtZ#Mj0DT6Ml1``P(%6DyxSt+e0ORR1*8J9gs^26;d5YhtCa z5RRtby&g;-$@U9jZuQ1m7Dio)z1JVT%|6VEEV#L^O48%IVBvI#CzG126R6QAeyT@| zB;QPse4VO4(CTfFb^57dTM=nAdEwW8GpNVCX5f8?5I9k)!G_%u;JReS7?;wp7%No8 zv<TEqSZWVS5+tSdurR<+1p)JG>7nn%FOreoTPge4|5)HP`j{uzpHS0wLv?@p%A^{v zkyB-AMeuDqbRmuOQ6|T0<yt^r`;d`IMJF*R<C02M+OJ0H7y*eI$*}NI{+l76DJ$Hd zRCMRsFeiF!sb#n=-I6%BV_v9fwA9z-sA%(WOO5RBAhPQFpyOi|lqYj(ByGIC8oo}* zs+!aQy~E2hdgl6??Kz13rR#JyC_qG-NpAJ}dN~)5fmyx#9*aN$`%)ft_Ed^^sA=U? zKPq`}NNR%7#%~oq>Rqv+@xsZ>CfE=#bB<bBrLt1bt;W1LRe$8)1hrXNtDKFz&~pD% zC{7BvuAKW_m)rA(PG|0fS18?8#96G!_ps{1K^m(AI<Pw*>FT$U^SrS=PCK-k5GKmT z6oCtt7D?SMo@;)S6p0L~%zb5}-%n9J@Xd$mg`yV;c7>EjU}y}XIu~T|W2g#SahKJr zX6$f^-r{?vZWwgjOdoe`es%`qm^Q0z?V@cRA42!H&(65M(B%!W7>MCIQ_TYU!N-F$ zMK~SP=MG@4m|j>DN~pt93BX1TpnNnDuWB;!%v(>YR;MIzq1eR>-b~5Q7PeBq$lt6> zB%6*cYm?jk^`GqDmofzk<L;@~8cY7GT2OYat!V%QuLfwRRzMRN_K7GI670g~x>Y=` zW^tn{?~Mn#c=8kZ#2p|y?%DIQ>z&oP>se{~&{C%kZKM#Rar1SZO4mVmhaZ&;fVj_6 zHkfnzx{U4t!aIZf39Y?y(izhJ^IgrL*r^CUow`j%cUZ_cB~w27GhoncOz~%!r&jNe ztpHcy5h3<$JVP-dR#SlV$_M}w>#pty5&+iA<DMr95ZXmCC0mil7bx^vXtHM0?6EUj z1SQi0R%XT#F0zlW$T{qnuHB_H_{8d)U`yNCov5p~_wSDCU&NDNq5>z6CL%DdNLvEB zA~Uhe!nWOSa@o~{5{*W8@W^6I@!>*?4)z>dkV)8Gi0nJqePU1D7I)%|z7h!uCFFZO zp7JIbSJX2mTom4Wj2ETw`beB|OP8LfAN+uK9gEXfifCO|EQ|FM`W@&Ta7_D)@mpw8 zya>zURUM{BiVN0`V~Z`@ipz?@VDV+2_V;vQ+)lwb7l9lxI}_)|cr^3aW}FH~YL&2C z3;Y3o+-^76x-EGkqYifagDMg?O5vG(9!9SGD8e<0zsau=QdK54f1;LJ>MVs&2Dryo z#@i+yWTVb-_>CqFE6ltVEgpSOOz$_NoG+RYSUz7Z7;agdpYtwd&mk7*?MEyUuGq3V z{c&uGDMcFKWm1phbaBZrtdey3nGzk_)W(ECt1==lkA3mL(2w>1lv@c$=p$FA4S;PH z^lgjM2FJl-?)g0u2)IWTm^7Z^B&pKr_<!%Kj^CPHXx=_cAe5g6^xjRvb*9PaBFN(4 zD~HPGzI(qwFR@^TO11VI+^r{4KsHhEU)KKeapn_&0S6h|9hyC?)6}G^?lLXIqf3{X ze>`#nfofgu8Mm_O@dguvrg7U}kvE|x8e+PzoEvM}59}J;oX@2bc5UDxqxac4B=puD zU8MX>ScVP5ZaE;DdISsjo^V~MaIxGe8lm_%xoZp6Fo2epL*;ogkkig-y?!zQj@RMk zyP$!8M<Mjo<sOpv2^xHh7AtdU))J}mM!+6Pe7VQZE*Z;?3P7{$7y}k>hJcH}I-Z>+ zxhE2m7-iku<={;5St=#qA$Uo#A7g=A1fBI;=|R9JTZ!ZGs7(`fWsrkGpoB(Bb|jiu zyvIWRrT44U0{yK_&A_n$tysbq)1!<w87)rIm0eSc%H(57r7`k(Y3W;wUC$dEhPh5H zd%f?4c%&_-&kY?d<8VDH26xI&<L;T$__ttolZR6_ATB;oX_cBbrgO_|f3WSZNCw`> zxWPSsgg$X)+K6*U8iV|Il@*M;eoV~Sam5ZA7JA>Dw5K?~f29?KlSV`mMEKH3VsFOw z7zpl_G}2-E!yOlnGuKc27sqR&kJ2PwpSj!!An2qrVkL4`Q|$lTI9xyy2_2Q$U~w@_ z!}6K1{tjbdW=1Q&>Lexy#x=B|aiK})tSy%fE_4(VTUsOM`>#Mh`fSk_Vcvoh2y_4q zc;!5|D)=R!XH7XV<}fg4$pz0B(JHP~K$kQhv~P09H@9FFoKLK_8wT{BS$5M<#rzV( zh=_-Ld#gI^qedD=-ys0|aHiap$uEi2)r?TS#&s*URtx>My4yerD$OdO+3As|0c!TP z4v(k9vyPY@&Won6X<qPZKk<0Z6>G5UIJI;LAdM!bLCR;-GKny1+j^g~?>-BB9w_jv ziU`5ny21nac3t;DeLLG(wW&PP*r?RX`=b$QHrTt<%{4=5^?tRjM==XOljT~#U{G^o z^IrxqOG+IpdNb+uL2iA5bZi7~OF#AD>8imeAi0g>H|O)b-x(t&4_7IpJ9y;Qc){}E z6vhRQ%hM`neDb)Dv4|S&+}{g(D$T0#4r8bRMf#Ze;`M{iOrnHSf7u-zth_Mv6O;bY z7jCyq?OV--*nS4`u2T<^v<6Wf7OxnjE{$?lxVn;crqMdQG=aqV*Ah)hx(#jqRUt)p z2TzeIw@u`RIj31(3RkBaEtgEhk%f+^eaQPN<s;LKD*g&|Blc>Pvn>HSI+=Nm2*7#% zo_pg@si#%47s%x2YZcX*GrzI%c~MXRKXA-8UV(q$wcBA=>Rarc26R0zNDU0Rvs!!~ zh(Dj=ar5O{-6Ea+kU^N!;bhT($pcEAm5)@*WI|gGB)O;fUiVGk%AEW|*s}TtA@luM zag(RWe;x;_2#>XarfUT4DuS9sfE1P^+d6@mfoT7lpC=u(ITq_<7-+Lqi&_RPH9lT* zlZd_t(5G#;F<d1r>UUct+_9RPU6vBkNUrH6R)Prm1~`nB5B6h#PymyfcGa}HS>~OC zJ!Z7Uym?t>y>sHGg57<~u4<s75ea^if1YbkX(Xwr-b$MB>@B3^rQPMTQU|9mm@0_a z%5b`xo!2w^MOpbl-@{%dA-Jt%o<AV4Kv$S+iU`0;&+6-fLA2k~`q>Z05<mO;2|aA; z5<fUu3o;zEBLjI#!4+2cR393jrv|wy%*``hi5?#ZmM5a4izz>GXTY&xdX*|2M?x3~ z6Vfj(#G-FH1}wr_IV=Z!xJ@#wluaI{5P@|tW|x>{+{-V$9}$;FR>~{nT10XXWee$# z1}07NOOQ3qXY|#^gq@#V1II7Kd7y;DeqpJJv&G`IA+n_fEy414SalT%fO}LxbrKkR zvIyyv{ee^&E|+aHd7Ibehg>WVABuT8VmRaG&pjup3qHeTXSO+AT}GQXrYg>#TkRnQ zP^j;b%CnEn%ney!q4wgU_FqbW5FjEmU-+sMv%Cz>t}_ER@f*25;=kI=OI7m9n&K9) z&&q3>SBspbQ|P-ceD4;6D{Q!FQgu3S`4iL(hf0`#jqK`ubXRcw1@0mkkKqTb1mz1h zq+8zh@lKVCOv6SsxV-DKjKhFJGVq+im9Iv5NkiN8?SWsDKn{|r388yX+bpVw^16z; z10G};iBEmPPjp3m7mF^mzRac`pT^uc35$sIR5TQ_w<ru_c<Big3B;$+=^{i@NH?OD zyahg<<a<&!e`{xp$)J#;Bn}BunEnol6=ER)nUCR;gpmOxuW~h~Ceix!)i2Jw&P^?O zl~l#8P8_9aC9Zb2&`aZ(PE_qK))7Nq&bS@WLv!5CFUYax_-G47fkFA{6R5IMtL?hw zc*TU5PVK@~t8LwJopWV^`d0Ug`!e_&5)LBo^nl=>X6(&UMeH*PFtLzH)BN=)f3<}$ zP+Hj@^n@g4pznjoVx3A^H*dVmThu#8<Iu4$4-|XT0-Y34jJaZy^T0*gQqji5(oOkQ z>%vF%%i`lJ=R1<o+-n0He4OL|@7W7>^NSJ#N5S!92rg%a*EPSs!-mm?aXQF1G|$j| zA3<2T<KSC5(u*^z*@46V*WFJE*7B1TJyBVW`kvH2k#$kBTyeTu<@D=D9QNyjYEoV# zQ<5~nU$;a66ria5>eHX4ty^@rG8;<>YTKvE%o&5mhp6Rvk>;8Oxm2G4SWTivfQ5S- zwx7^{*jE55Isg@IuStHZsZE;({}=XRQjOd~i^F+;j?SXKCKcCoX~xH^pC!4-To67e z1*ZMNmRuWGmV&^ge6=Azlu~tch-u*ELgyeTiAqhJay}i(+6@4F=Y!=A4kZPcW}=EP z*!@Zbv!U9QBc4kj_tmT3?tOZn(y0_I;^kS#9cBXf>0;9t3Gzu>I>8KZk0yQ^jZa%` z`z1O16?+&VusgnYt>3_&+tmuiKIt!=c{1fMS4-%+tqNWp)6;BRFvv20T4pniMQ3`s zI86IlH8Y(BHLkF5$d#3bqbSfh{{gJbgq%vKPVuHe+ibeziH%jF9ay*3ab~L+M5=gj z(fTbxYuY^X4i4RG!tZ4cr$#!V{s6mOd`rKSa5g~f9&Lb1LSIR=4kP`x8K=2%;b)H< zsl<s<aoV6!l~x{!4^<JVGAS>C0H<SW1JA<#cm%olrU<p{vE{4^c#(#d9ui~_MHO?P z8*VIli~s?ZDr<F(+#rp-Ab*F|>dAYrbyD@Um<l-oij6t~v)QVBg$WfyVY!DzJe{qR zm$*+~M-wxeD>G3bfxqv;M|Sc`ncvH%<tJO*n`Fz}!KqUr_^Gr}(hY?5<AE7m=)8aC z`a>|5X>mNQQr@$tN5wli(jY=Vd)&R|t_cLJqggVn!iC39&(=H?cQ2UJ(o#puGL=Z} zzxV~}+=fot$9u~VpxBzPl)DmID;I5c<G~wd$){y5?le3cVS$wO=&<Pe9c+h|`dhva zp@riebGcvf)Uv<I<jg9hTuOlUF66|6`M$yA98$+A%w9%3Ob0QiMF~=vU4{$%*<Ic^ zrbN7%0?C?jwg&svazA)VA-#;;zT&F?XduJX|7%KmW?8YY=xs&)`f*G(&ynLa8;7-S zP}vcG50@9a9Mi_)VL`TFyhSHr{9BRP^rt_D4P9m>_nWp@2YzSX$hgR}RPJ=iBsj)5 zTyiL78ECX}wMOu=t~2E_qYIE*#qcdFI^o+N_xazVT78TuC0gKbxSOtJEFYPRgunMJ zC(jPqg5J<$pzh>J&Sw2Jf%l@Ojx;BNKULuKipNR*t=}8pxx309=gcv*qLL?A`j7VQ zt0o8TGHsl2&gFSKamE^KQNbtpU-n##BMJRPUX3-~Kh5cJe_vpe`#@jBTOFMh7?lv; z8<sAJ-f-dJk~g7~8ai@JPDMY6WcaqQt~Q>_Zr3*6j!wUBiYS4U_(;wA{(77IETm*J z&rAXRrRq1>T8wCyUhuQU{}xMcx<I-*V4kEcls@tUdL-eU(>AX3_jA#6OS>VXjjs|} zO~-`6J!(ZkDDi4;Uyxt8gC4GQWgq?KQmt^2>dNsYm<pi37{pMdlO1C|vrQa)L9fV# znvl@I*zB-qWRKMX3JAX>D8mu@-nup4E%E9gLgw-ODE=)>k&uB-&4-cfRW<R!KzZL@ z?p&IEkFcP`OGIS#<SHZmR8HY*hHx@_hMyF;*&$oYs#oL}we7>RQ?<F)x`qZ(HRsK{ zs5zlJ#QC_ilR-@;OWk#^;Sst&V|$Ocs_eIVOJb@SCVsDt>qPI_<0N^ehrSrg<k*Jr z@?kaA9X!{#JR<Ymch(9^v4>Ic>hH>)PJ2pNIyCtoJF^^T!*C_IW*CR1oeP80)gVvh z8sF1%PugZ3F;mSWmP|!$7RHgW#0+Eu3Lp?|p+wNQTui6Dy)6Na=CoC3^pkS8K2B8& zyWbqHJ?8kU&9_h_FC%-_Uj$77864ZCE<yP*sEkaicEkOEBT9q(TMEZx#H;$?M`%JO z$F~@%(bLX48m*%$#qUjY*>jk7A9l-kj9Y@ZBHu0;a>e{`0&wSg`oB<rWrl~aub{CM z2g8SZy1-IMD7vhW{50wrSsl_lFDc-aH=Z?!dWJ%FUssnM#-XRTZ_W5R4j)@eZ-KX< zZx11bF^_g(>+f*pm6e?2sP?3v{&2Mr*<f_e)d&COzt;Pc+BYG&Vszdo7|rG=_}Z~r z<upr`a<GN~+bNOWqZ*W05Wx65;rKMQb4zINL{6Z*z=*n<Q@;X2d7CF78%m-N`$>|I zv<l|t=MMXslL;RSoGYxq{L2;^B2xpXAD>uKymw4&I)9=4JdPcuzrkUy<mi-F6}3Tl z8Jz`F3)_qGK3`9Il~ey7FY(MT@fViEr|+!qs#Iy+r$|0AC!qd;Q?EM+?G>`^bMDD5 zL+AKZ`N0{?bSn1*2f6}Rv7XS$+`pZGQ1!l6Hf4QrE~Qc0hi|L)(4WZ72^lRYwbdvf zzNm$!r7CRXLJQMnu31JkUsw9c9!`Zp+s&*0OK|>q&9<T-dw^YBa|gbU<l4S(8~QJx z{`O|3hkp^{G3~ea1y3E+en?_b_rn*sVI|muz%xz~n58`{uic-WwpOcvwG!@J_YY5f zlO)SFxqpEvV+K)xlfrY$tyE2wy-Q|N0Rj(jgZ9I+R!Ys@O;zU1jyB3@*=NO?l#wQt ze#Hq*S`L$wk4}dzBYF&v_%etoV@EHquBut^<1}=eab&&kbI1(zKjc*?B7(_!1&GB9 z)rs=XbZz?wF{HnxsDkJB_U)^hb(@IEz@MB<r{7L34XTf)Z*Q_*lC0(yMCJ$i2}R@E zHV`s6V4$7>Ljl-Xfh^Yur#l|9RzUU@<wNO1(H@9aSh_=@yBo~&i=xRSRpX5&(oK|z z2@$|L!%ATKBe$V`?}id;4)`q1P(;wjdY#(04I>V<8s;lwz0A9POA%|6#O)k+~E z0<RKuMrVGE64(OEgW!F}#_z<+<?Gq8kSM%FG7`9`_v&>rmD`lTk0S|I>2=rfJKi@# zgzn&ZC0064c2o<vt_T*f!TJYtje&K6I9he_*8WHubbZ0w;{>%0*8|fO>=RB@tSo22 zpd4T*ODWi@^6<*kaqh0s+wB39ZA7e2<@-BtCnkOpPQ!vR8cF|2V71Gou)dryx5-uQ z$jx@#KuK<IizNBX%a~&(!SwKFLI&NDE>Ywx#oL^_pD3^e`5ocfE98r;pQR6$NhIv` z>_>+8IoWjp<R9uY(0d<SuTllVxw6D?=e7JYXeM$kkrW?s|J8A=@l3aUd<Q~^P~@zc znl0u~Ia|%jrov1r4_d?GRt`-VhR}U`>dvv#9hqinj>)MT*}B#3kYa2JVNsdoT+Yn> z@AG_~7tf35&2_!{{;uD3{SGg_pX>MCHYF;Ml~+K{4wI(`A&~aW(^}kEB69iW%;dJ; z4=r<}e`ijHmYUC^7Z=XvM-}BZR^6$e?{UAg`rm={^cSx?><3c19n`}0poddN!Di5d zX*Nf$n@rJE-(1c=*&cRfT+Z!8!&iA+x0zLSjh519#w;o=h5P_uOWPH#YpO>u_>9{% z7ARPV$)ArOI9=PV`;$QX`-e8V1Mm1r-|iR%5JE^&d7D+|EFI`y>Af4^JeR5`5eJWb z%jE??{lWeiPVF1=L>o_R!5S5t4-Aggt(#;{Qq!2e^t?}h^m(v+$s@y=*`6{0?ONU( zuM^{UW#cb&L}y$S3`Z)zSS85rXoM3G3#_2W{&r=n<1TxaW#Yx_JT9c=w|8V+*Zk&O z$2|VY<V#R<NFj)!#y&-J%1ZX;w0y9OQ)x7ERq?yy@6tW{qH2#qsaN;I3h4*4t1}6< zIalTn`Ih^)xcw4WQzIQ=QjqK?KtJE;O(+?eRgk5r1L6$YbMct*rz!b^SR?yfw96xI zHCHh~$A}<rA@`ZcQ*It`%<UMNV;V>|b6X!~Jq|Ze`Vi0^e_w03(_Z5kQtP^5*lN4Y z2;G7Gg(+NBSg4Dd;9c8i`uVqH=WS9I(Uwe$tc;3c*IbqZ?Y$+r-FR+XoH72Z2LZ{b zA1||-oi;9<%Bb#(y&r}uII*{3Uf`>S+~a<LlF@XI`u&~dG!60RiKnD|UGhRNqN{m$ z=a?e<iEfh00sf>U;0Sfa3_9N`6BU{nMpHkp!?P6ugD?jp%+4}GsV0FpZqXmyP<ynm ze&%WPWO0wy6sPYgZ1^nK61E-taWS}ecNY$y?)T0MU^Bh&1HaeaefWsz@IKie*B4PJ z*Rmrm6VlFc?B$=tC<F80=sASQoGBo!9h1`?P>%V;vDfSeM{ge-PO;n6!6*pFIek^R zH`z1ijd%Se5RRB8)&{<-Aa>~;$2256yR>y|DZDi|uu(o-u9v}o3u=OFgowCchAO+( z^odnSS6HnwwV=RyMvKw&<#9Sc$o^(aFv{05z5p7X3BP?5!7*q~oY<RYb2<4|%IqVn zge}N(xlH|bjvfavwr)J9&g*6hZUpv<?L&^NIbPi^l4g((ZS;J*+1Kh`GPE>XMir16 zbWs)Gy`DAn9Jc)&x!v~iBVh!$9sIaVrT5n7pPB3i6lqnFAVE7|_L!*l(g<4pDov*? z>~{8LpJ1VTA082Z;p-`zJljkPX6O=x3yh?08i`)==R42Z_p%;<nm`E}E5?M)xIAqy zf{}Nj%sTk3&MvX(-B*q}9dbmE7~aP=N(t{>{b_Nn6;$~m$8Nf{-T@w44xTRBN3Q~J zJ;V}x42m6h1GeHdRxH?pk`!l7ap!z8p1cHUhz)s$*V^oBf3+9Fzpo_eR=S5WP0zWX z#R`W!U^wezF>aznQ6Xqc_xVewpaPXQ`ZxHpvC|XM-SS2x-EPH|=R}Ej9^D@ww4*cu zKLl5L&*))oe4~%QY}}EqtrZY6Hj#E^#4-{`HAS)=-j74Y)_$9^qLca-KSQ?4pKj=v zPWXUOG6o>0qT)3?`*V2?VM-7g!n|O<+BE7L{)zQkgufsux}D=YWMv$WR?>=daG*gC zn5^sC`3<MB^!$~c!R#AVo}Eb8#1c5}NH&9nKkK>Yux$jfWK>*1oq|TMW$T|`jz&-Z zcyg-w3N`2}ikZHHQu+lpU4*6md+j@q3%(<ohem}SzfAkJI%&gs(>hX@GPI;IcQ=pd z%qm`cn$tT_DXsT<(QCDR__^(7jg`$FX(Q~?K|19k+`Gh%eY~w8;v?+1dQV8>S|NOE zWCE1Fl-YT!OFYx&zutwEH&S8?Y(*uviAh*|+>u|6Qd5SlK+tolVI3v3<Y8s32fiUm zIOJlXv!-?Zd@<1`G}&KP8c^#arRdk##O<?JW5s*iNi*632$m?og_%eMwcaf|rnaYm zuLYXw+P~<LP@J)A8+~Gm;9nOy{{+;iyaCp3=PHNkY8sYYEe9#jeNS4Z%BQNfq6ym< zVZ3frMA8|8w*<xi7#=cyTuWX8HjlB)nso8#cp0FL<+ZcqXg7mV46xrldU3B%E~ITo z4<{(Fw2v2Xnvh7uFXrS#wbd^{Lt4OO*ES7T_`w(b%f=oAvi6uK<Q%wxZ|L-FQj%Ir zQ4|ZDmhbyu5Lo$nrMc1^Nfi>|j$mJHUOF<;_?`Z>!g}gF=w7<2)=@Mu(b(dLiCxoj zTn=q9a$8hrn|@CZjNS<~IC-(fxvW^%z_@%Sqaud6LNui6)GZIeK()uiqZhSxyXP)s zIqpn8HGQQp4rji>A}JRf+d2yuw&ms7n^l=^OEb*6h!s5n**&O~?y9w%sdoKY51s&^ zuDkgfS<4kM;kn_RPWQ&g;qi5B6`!Pjw!rt>Zl3S!jTa_4_)kU9HT}77V%lO%PhFz> zO`msz>Iz~(j>jt*CuSbq8?hJ(7ovt<^$%T(Y=Wd3JJ`BlsC`22jmo`odx8G1uKb@@ zPzA!b38W~3!#IJrwG`K+g6>P0a)^aA5n2riZmgKs?3t7V#XbWtUKlEB{)0NN(1*w% z;1@mFB=_8}`b!kdUL3bTvZAKHCIS^4f^L=2%E}DZX^Tey#PWb9V<sFdkNC2OEg1D6 zY@URF!I69(3R)RTPs^KsfV@VLv_9eJXQSn&*na_%JPp+@24nl#PUSfF1#`q}Qf5v# zMw!A@fFA2yhtU40WGJt6PqFr_<emovhEg{>x0Xh$TUu^Se}Kb<Nf~2(1dhQm4zZ*d zS^d(l@W;1!(hyE8k(fiaawz$gPOd*ifj&$)ubUo~H)7|XCTs@ftpT37xqb;8%3c)c zn+#}zTOsEjJxD3J@wNFaOmg&x4R8$=a#iBeE}6eP2!15Oi_+q?Z~LQ7b~!HQT@FgN zmth{}54^DUn|796h*;9-!48^lm=_w$LzG(E-4M>Dt*Wb3j}uuaPrk~aA81gv<@)1K zQb+eQjcbO}2<Gy|!mU4jGO!usjGb^{A<l=Dq{Lppg3du^dn+ni6x>sq4FInb2Y<mQ zR21i9IhoKZrU0Jzte22{36!Y0(l6e{)NhhVSfTFVM9dvLi~Ad~5Yuq(o*o(z#w^42 z28*UkFit=9kf62wPQcX>d8+Ut!7`F9^-WpJ4n+jip;{GTt0#?KY4R0vydPo?ek2ch zVGOP%&QJIUMOJqRNUOyj3qpd$vcj7~TNKs5x9+Nrogw)cc&~4Pt7Rh4)Z>9TK<x@n z!=0f8l4(J9l&BzJ16iUitq-6N9<W4{ENtwo580v7NHiK)d6)su{{dVI4-5&8`~QGy zJ@PaF@S&5=(1_$1!-%Nx;E=E&Lt0!!kYPv!jRFG2=8rEZ$w!{vzrWM{O&9(P5d?)P zno$(hVd`$V8c=mZmt^bKKq#z+WccQTpdI)Tt@}#uO|mPKU<Q(C?xZaoJ$M^90))q% Ka;ZFe{@On$L!X2I diff --git a/pkgdown/favicon/apple-touch-icon-60x60.png b/pkgdown/favicon/apple-touch-icon-60x60.png deleted file mode 100644 index 7f48aa8cc7eaa0d09f05676fc9fb4f9b63492ac9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4640 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 W7ZG&wLN%2D0000<MNUMnLSTaOvbT@` diff --git a/pkgdown/favicon/apple-touch-icon-76x76.png b/pkgdown/favicon/apple-touch-icon-76x76.png deleted file mode 100644 index 2c6da4735a58c263a09aea152027031ba9ba9997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6255 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 NOHE(3R>eN@{{Y!w+{gd` diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png index 6006af40b301bf0add410020498fbbc992080aa8..5c2b5673f67a5034b04795abcc66dabdbf3fe846 100644 GIT binary patch literal 17311 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 KMNUMnLSTY#nB1EH literal 19502 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 L&p5w4e(}aXpDUiB diff --git a/pkgdown/favicon/favicon-16x16.png b/pkgdown/favicon/favicon-16x16.png deleted file mode 100644 index 11252fbbd3627c59d27226ff7a0a9b7cec2a26b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a><YADU|@0%@Ck7RD!9C1(z(^W z3ma1k0*o%M>z`AbIIBEnRcq?(s<;*X`7_F*Z)}-%eoZe>4IHiR&fhnu{>;j5xCl_= z*_GY9XV$<)fQ)60DW_L-omthhx~~+-J-?>!<g(7G#bI;GBiFQNZtN>q-kdzMBz#73 z*vgg^pp7$2BUZJg&MJ!pqD2+av&(@fYF>WWipC@$du4O-?8;am0;+^K55caEpIsF@ zt0D&Ca)<(un#x$9$jq{6xCoE|<N`f4s~jOXqda;>Y1G`RSco%#YJjfYII(2g)QZCk zn}Ob3*;BG>R^9e#l^Z4$A6eLPc2&>*IdvN+S5B|Z=r2zO`fm5E+O1Q{H}n@BUDSGL ze&f7~s7<}O2j<jmm{c*fCVfJA^1=Cyn<tm8=*U^xlD@hveRf&I;=1@9lS>XQXkI_D zV%O{jU_fo3Tso~ZVqP^U@aI%S&8v!@T^6~jE%V62rbF}USG1(8ZcAHMmoTd|a#~LC zjKa_vMPa}YTUZ+p3^bt27gxm0&I+1U64@8+-XG&JIo*F|Y2?z{_(kQ>voZr`rUxu4 z0~#1LF~O@l%z09(->l;BB{gx=lYM7r2hYt5U0$C!yCP-|(2&xoDd_=|lYHjnhAgUx znO7Y*Ju7HRlF#DG7*Ir1#>@pGV05&m&aI67|NsB1+b>0d$tboY$Pbhx;ef^U@LpSH zmA+Tc+T=wFZvDHG#?S0?_|LCh&P-C5PYTQ4xFCAt0+0kV&dc67Cn9<2gb=g$!Qa1j zyD$mo-300oQ0aXM)Xw5^c#kc!zK>xl&~(NmZ+Dji!io2P06FX>p1!W^FIYu{^jKY| zfAa!L^LV;AhDcmaPGDeilZ&&fV{}ww<48yo6cX#~6%`duXW}&6=;h&c^r*VZF|X4n zPBFGV5fzy_X;N^|<I9(lr-p`HmAGPRWVCrxana{b!CXSzrduVply-G_d!0UItgW?r zRd&f&i7j8VvtPfGmYO{)I_mZ<-Y*h7y;fGcvvyZkb>IH|OI_l%;fxu6b4)5vUCDg= z_Hz1}IjL#q5|Rw7&)uo~Y@MbPu_NQ7khd+H_UommpXtPJEV}y2H2eD2+c%7E++2Tu zL*eB+XQR_{bMy1d3sMS-$_ium=l<@SyL;L8-8-u*j5chnuKfMx-sbZ7-RtMqGqAH? zFrO3C=y>pVdP_@N<4%PGvT}lwqO#1-m>3qW2@8F>V2v0ss8mZ_BT7;dOH!?pi&B9U zgOP!eiLQaEu8~2Ap@o%+nU#U5wt<0_fx)DTZ{JWf<mRVjrd8tB@L1Ik81f9^RUr{2 zL5bxG1x5L3nK`KnC6xuK3Yi5Z$qWn?a~^-<;V2B#&^YCP`i$q(AO>b-ZoOn~VP#?O z$s)|c3N8&Mhf|o9H-{*kzH#NmkuyhRj<BC@@L1rb$M8yAu;i1I=~SQ<44$rjF6*2U FngE|ELihjx diff --git a/pkgdown/favicon/favicon-32x32.png b/pkgdown/favicon/favicon-32x32.png deleted file mode 100644 index 9e0df48064b6222a9d97e8d5e455825f63538a0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2154 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 diff --git a/pkgdown/favicon/favicon-48x48.png b/pkgdown/favicon/favicon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..80da1250b38216299ac68a32ef89fd6033f1fc5b GIT binary patch literal 2805 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 Hu0mjfDnT~K literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico index 7fef537c9d079c37ba0f948148af2a80bf7c24f0..39c113865eaf4c9e47bbd621b4e48ce63346daae 100644 GIT binary patch literal 15086 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 BAzuIh literal 15086 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 NJqYZ>zPyL`{x2vi@y`GN diff --git a/pkgdown/favicon/favicon.svg b/pkgdown/favicon/favicon.svg new file mode 100644 index 000000000..d6992514f --- /dev/null +++ b/pkgdown/favicon/favicon.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="240" height="277" viewBox="0 0 240 277"><image width="240" height="277" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAEVCAYAAADeq2gXAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfnCh8ULDn4RDb4AAB/b0lEQVR42u39d5AkWX7fCX6ei9CRWlVm6aququ5pPRocgFAESB6WWIICh90FYMSCJAiQ4IBcu6XtnnHXzu7W7uxsd4ZYcElQc8njUixBrSFJACN6Zlp3V1WXllmpM3S4evfHc/d47hGRqiKysqrj11adER7uz58/96//9O8nGNEzQ9/6R/9z9NECfhfw54Em8P8A/iMQALz+h/7sk57qiAZE4klPYESPTxpwAZ4H/gTwI8BMuO0h8L8DfwW4Ee04AvLTTyMAP8WUAu488KPATwHn+hzyAfALwN8HNqONIyA/vTQC8FNKGngLwA8Afxr4HGDscqgH/AbwJeCXgTaMQPy00gjATxlpwDVQgP0iCsD5fQ5VBf4x8PPAW4CEEZCfNhoB+CmhlLh8HvjjwI8Bc4859D3gr4f/7kYbR0B+OmgE4CNOKeBOo4xTPwNcGvCp3kRx418CKjAC8dNAIwAfYdLAmwO+D/g54NsBc0indID/gNKP/yPgwgjIR5lGAD6CpAFXAJ8Efhb4/UDpkKawibJU/0Xg/WjjCMhHj0YAPkKUEpdPAT8J/ASw+ISmdBP4ReBvA8vRxhGQjw6NAHxESAPvOPCHgD8FvPyk54WyTn8N+AvAvwDqMALxUaERgJ8wacC1ge9G6bnfHX4/StQC/hVKP/4q4MMIyE+aRgB+QpQSl18G/iTwh1Ec+CjTKios8y8D16KNIyA/GRoB+JApBdxF4I8AfxSl8z5NdBll5Po/gPVo4wjIh0sjAB8iaeAtAT+ICn/89JOe12OQj3I3fQn494zCMg+dRgA+BNKAawJfQOm5vxvIPum5DYiqqACQn0cFhIzCMg+JRgAeIqXE5YvATwP/JSqi6lmkUVjmIdMIwEOgFHBngf8KlaP73JOe2yHRmyi30y+huPMIxEOiEYAHTBp488DvRWULfRu7p/k9a+Sg9OIoLNODEZAHTSMAD4hSaX6fRgH396HydT/OtIGyVP9F4MNo4wjIg6ERgB+TUuLyGVSa348DC096bkeMrgN/Cfg7wEq0cQTkx6MRgA9IKeBOAj+MCsb4xJOe2xGmAPgK8GVUVFcTRiB+HBoB+ACkgTcDfC/KLfSdqGqQI9qdGsA/Rxm6vs6oWuaBaQTgfVAqze8VVJrfHwDGnvTcnlJaRmU6/SIq8wkYAXk/NALwHiglLh9Hpfj9JHDiSc/tGaH3UNUy/wGwBSMQ75VGAN6FvvEP/r/4vo9t22UJPyQU1339Sc/rGSQP+DXgfwF+FeWGGgF5FxoBuA+9+0/+AtvVKqdPHLcePlr5DtM0fw5V1ibzpOf2jFMF+IfA/wq8E20cAbk3jQCcoqv/+i+ztrHBP/ilf8b/9Yd+8IV6s/kzruv+SC6bnSwWCljWyE51SHQH1UnibwIPoo0jICdpBOCQmm//c955/wMera6xMDc7X6vXf6zVbv+U63pngyAAwLZtioUCxUJ+BOTDozdQ1up/BtRgBGKdRgBG6bkbW1vMzcwUNra2fqDdbn/RddzP+UEgAIQQSCnj/W3bplQsUCgUsMxhFYgckUYt4N+iwjJ/i1E1kJg+1gB+85e+zObGBp//zKeMr77xrc+12+0vOq77A0EQ5KWUCNG9PBGQhRDYlkWxWKRYyGOOgHwYtAb8XVRE19Vo48cZyB9LAL/7z36BtbU1rl67xsXnnjvfard+ynW9H/V9f04H6E6UAHLEkfMjIB8SXUXFVv89FKiBjyeQP1YAfvuXvszG5haVaoXJiYnpZrP5I47r/Yzv+5f2Ctw0jYD8xMgHfhMlVv87lJj9sQPxxwbAv/bX/wfqjSZTE+PZSrX2/a7nfbHtet9hCsz9grYX6UDO2DalYpF8PhcDWfIxWuzDpRrwT1GGrm/yMasG8sw/U7/yV/88rVaL3/uj/4X4t3/v77/uef6fDoLg9/tBUNpu+niBZCxrkrVVuu7jAi0B5EwI5Fwe0zTi3wfxwhhRFz0A/gbwV1EuKODZB/Iz+yT9q1/4b/F9n1a7TalQOOkH/k8GgfwJKeVSBCIpJS1P0nB8LENQyBjYMdDgcXCWBHImFq0NYwTkIdPbqNpc/ycfgyZtz9wT9E+/9GcABRDLNMcDKf8gyD8lJa/003OllLi+pO1JDAE528A0RPjb4ICczWRi0XoE5KGSS6dJ22/wDDdpe6aenAi8qHDH70RVxfheKaUNe7Mse4HE8SWGEGRNgTEsIJeK5HMjIA+ZtlBN2n6BZ7RJ2zPxxGjABZXm96eAPyilHIeDWZa9QOJ4EtMQZCyBEY4xSB05m81SKhZGQB4+3UR1kvjbwKNo47MA5Kf6SXnnn/wF7ty9h+t5CCGW6KT5nRzE+FIqbuz6EssQZC0xMHDpQM5ls5SKRXK57AjIw6OoSduXgH+JKirw1IP4qXxCovzcIAi4e//BOKp43J8WQnxyUOfQOW0gJS03wPUlOcsgM0wgl4rksiMgD5GaKAB/GdWk7amuBvLUPRlacv0Y8AebrdaPb21vf9Zx3LjLwSAfeF339QJJo+3jSyhkDLLWYCzWagwFZEMIsrks5WKRbC7XEd1HQB40rdCpBnI92vi0AfmpeSI04FrA7wT+DPC7pJS27/vUGw1q9Qae56kLG/DDroO07QXU2j4CQTk3ONeTGiMEsmEkOLIYAXlY9CHKyPX3USVwgacHyEf+SUiVs3keVfnxR1CVIBPkui61eoN6o4Hv++oCh/SwSylpOArIGcugnDOxBmSxjsaHEZAPiTyUu+lLwC/zFDVpO7JPQAq4c8CPotqTnNvpOCllCOQ6jUYTP8zlHahYTVI/rrV9mk5AzjYoZc2B+ZCj64EQyJFoPQLysKiKCgD5eeCtaONRBvKRvPOp9iS/B1W2dV/tSaSUtB2HWq1Os9UiGAaQNYD6gaTa8ml7AYWMSTFrDMz1FF0PKCDnczlKxSLZbGYE5OHQXeCvoZq03Y82HkUgH6k7nirb+ilUIMYPAsX9jKM/zFJKWu021VqNVqvNQbOOdj5fB8iuH1Bp+Xi+pJwzydvGgM+lATkfAjkzAvKQ6FuoJIl/whFt0nYk7nRKXD6F6lj/E8CxxxlXf5iDIKDZalGr1Wk7ztCB3PYUkKWEsZxJbkDJEvq1gQJyIQRyJgHkxxffRwQoffjfofTj3+SINWl7orc4Bdwx4A+iuta/PMjzpIHcaDap1uq4rjsUIOvUdAOqLR9DKCBnBuh6iq4NwDQM8vl8CGR7xIUHT+uoAgL/G3A52vikgfzE7nI/txBgD+ucOpB115Prup0FGcKDH1msq20f2xSM5Sxsc7CcMgayacaidcYeAXkIdA0F4r8LrEYbnxSQD/3u7sctdBjkeV7sehqGD/kwLdZqnA6QC/k8pWIBewTkQVMA/DZKrP43PMEmbYd2Vw/qFjosilxP9UZzKD5kHaBBIGm6AW4gyVoG2QEmS3TONwLyIVAd1aTty8A3eAJhmYdyNwfhFjoMklLiuC61Wp1Gszl011OUh+xLMAXY5uBirPVrAgXkYiFPsVjEtqwRkAdLD4G/hSpEfyvaeBhAHupdHJRb6LBJSkm77VCtK9fTUIBMZ/EjIHuBynoaJpAt06RQKFAsFsjYQzM3fFzpXVRLmH/EITVpGwqAh+UWOgxK+5Aj11OrPSQfMkkdue1JPF+SscRAkyWiccKab1iWRaGQp1RQovWIBkYuqjnbl8K/Q60GMnAAp7OFUN38XhnK7IdIvXzI1Vod5xB8yK6vjF1SSkrZ4bmeQAG5WMhTHAF50LRNp0nbu9HGQQN5YE9gH7fQ93II3fzC/idA5+Ec5MOuu54azSa1eh3HGY7rKZp35HqqtHwylmA8Z2ENyfUEEZCVaG2P+j4Nkm6hdOO/hdKVgcEB+bEfgyfhFopAJYCW41JrNGk7LkIICrksxUIO27KQUg4stFAfx/N96vUG9Xodd0jpixH5geLGdSegYKusp2G5noCwXUyBUSfGgZJENWn7MspqXYfBgPjAtz8F3FngxxiyWygGroBW2+XDG/f48MZ9tqp1XM9HCMhlbGYnx7h0ZomzJ+bJZjIDBbJOrudRr9dDH/JwXU9eIKk0VbJEMat8yMNyPQHYtkWxUBx1YhwstYB/jdKPv8IAmrQd6L5r4M0Bv5dDcAvptZwfrGzw1Xc/4vb9VQgB7Xm+epCFwDINirksM5NlXrl4ilPH5rDtwXJknXTX07B9yK4fsN3sJEsUMoNNlojWOiK9XcwIyAOjVeDvoJq0XYs2HgTI+7rzT8ItpHPd7VqTyzfu8eblW1RqDYQQmKZK21uYmWByrMStByvU6i0mxorUm8oFdGZpjlcvnWZpfhrLNJBy8Fk7Ukocx6Var9FsDj99se0FVJo+gZSM5SzymcG/O3UgZ2yb4qil6qDpMios8++hYq2B/QF5T09XSlw+CfwxhuwWisRCAXh+wEd3HvL1d6+xsV3FNAz8IMAPJIYhePXiaT7/ykVyWZu1zQpvXbnFtTvLVBstBOpBzGczPHdygVcunWZ+egLDEAMDctqn22q34zzkw0iWqDQ9hBCM582Bu56ia4quwbYtSsXiqIHb4MgH/hOdJm37qgay6y1+Em4hneuub9X4+nvXuHzzPq6rHlQzrNgYhPvNTY3x6sXTXDyzRMa2CIKAh2tbvHP1NtfvLNNsO9iWiR9IivkMF04d48XzJ5mdHFNiOQMCcsr1FOUht9vDcT3p542SJSxDAXmQdbr080TXMOrEOHCqAb+EqgbyLfbYpK3vre3hFvo5VLbQUN1CETdzPZ/LN+/zxnvXWN+qYlsWlmXiuB5BEMT6sGkaZGyLF8+f4POvXIwBbFkmnhfwaH2Lr737EXceruF6fvwQlos5Xjh7nBfPn2RyvDTYa+iRvlir1XGGkL6YDgSpt1Wdrpw9+Dpd+vVF19CzE+OoqMDj0H1UJZC/hqoMAvQHctcqp8TlF4Cf4RCyhXSuW280eefKLd6/fp/NagPLMslYFrmsTbPt4Lo+EkkQSE4vzvLpF89xYmGGerPNO1dvs7FV5cXnTnJsdpKb91f47beuUG20mCgV2KzU8TRD02S5wAvnjvPCuROMlwqKGzM4q27Ch9wIfchDSF9Ml/eptX0aTkAhM5ysp+j6omuIGrjl8/lYQhoB+bHoLRQ3/seETdqgG8jx6qaAO49yC/0UcHbYM41udBAE3H2wwtffu8b91S3yWTt8SAS5bIZGy6EZiqPFfI5XL53m1UunKWQz3Ly/wm++eZnltS2klOSyGSbHiqxtVZkaK/G5V57jxMIMH964x9fe+Yi26+H7gRLDgdnJMi9fOMWF04uUCrmhGLpApS8OswRu2vUU1ekqDqFOl37/ousYNXAbKDmoKpl9m7QJgG/9w/85+lYAfgBlXf4cQ4qV7kWu6/LGux/x5pXbNFouhqEaiwkhsAyBaQgcLyAIJKcWZ/ncy8+xND/NVqXOBzfusr5V4/rdZdzQHyulJJ/L8NJzJ3n9+bOMFfM8WN2MxekgkHi+cj2ZhhE+ZDA/Nc4rF09x/uQx8rns8HzIQy6B21WnK+yFXMqZFAZcp6tzTr3vUwjkUd+nQdAWqm71XwTeiza+/of+LOI//vX/kaWlJWO7UvmcFHwR+AGh0v4OjYQQfHj9Lv/mN99CAuVCjlqzRRDImAMbBhRyGV5//iyvXjqDaRpcvfWAr793HaSk5bjYlkm10cLzfE4dm+FzLz/H8flpmm2Xb314g7ev3qbRbGOaBpZpUi7mWJie4NH6NpuVOn4QhOKf5NjsJK9ePMWZ4wtkM/ZQgByVwK3W6zSHVQK3h+tJMpw6Xfp1Rdcx6vs0ULoJ/BUp5d8WgodOu435E//5d73guu7/zTDE/yQQnxFgS3G4pTqEEFy/+4gb91ewTBPLNPH8II4JNoRgZnKMz79ykZcvnMb3fb7x3kd89d2PaLYcXM+n3mzTdj0mSnk+/eI5vv3155mZHKPWbPPLX32Ht6/cjrmzaRg8d3KB7/7sS7xy4RRj5QL3ltdxPA/PDzCEoN50uHrnISvrW+QyNuVCHssarJFG+bFN8rkc2WwWpNKVB2no0oewDEExa2IYgmrLp+kGWIYYuKFL2TKUkdHzPJqtFo7jIgx1vSMgH5gmpZTfI4T4DoFoSxlsmD/yfZ/7dcJgDMMwEAJECN/DArJAJZyvbVWZnxpjo9KJMQaYHCvwvZ97iXMnF3jwaI1f/fp7XL71kHzWZnF2kmqjBcDFkwt892c+wYXTx1VAvpQYhkExn8MPAqr1FuPlAl947RKfe+UC+WyGD2/e5ytvX2Fju4YQBsdmJpCoGGvTMKnWm9y494iVjQr5rE25mB+otTUaw7Is8vkcGTtDIIOBA1kn2xQUwsCPSsvH8QIsc3BNzeP7mgJyq9nCcT0MYWBZ5qgU7j6oY+QVAimX2u3mD2xvbb4k/v7/849tFwvFsVwuRy6XI5PJYFkWInxLIgYvYvWjje0qdx6s8Mb7N9isNjCjF4oQLEyNMTNZ5vrdFeotR+mtSLK2xUQpxysXT3PxzHFs2+b2g1U2tqucWJhharyEaRg4nseDlU0K+Sxzk2Osb9f45gfXef/aPdquy8xEmdefP8PzZ4+zsV3jP3zlHWqNJuVintXNKkEQUMipYJAXz59kfmYCc4BRXYdZAreX66nu+OSs4SRL6NcIo3Yx+6EoFi4yPfquy8bWNitrG2RMedP8Xa+f/2/b7XbOcR38wEcGnYdFGAYi5MdS6AMNeJLhg5LPZRkfK1Es5Gi0HGqNTiRTpd5iZaOK43qhmG3g+QGzU+N8/pVLXDy7hON6vHP1Nt/64AYf3LinorHqTaYny8oqPV7ENk3eu36XX/nau2xUagCcP7nA937uZc6fXKBSa/DWlVvcX9nA9yWBlPi+ivryfJ/VjQrX7z2i0WxTKuQo5AfzAOpjGIZBxrbJ5/PYpoUfBARBMDAgd6LGwm6IlkHeNnB9yXbLJwgktqmMiNFDNIj7rnNkNxKtXRfTMDDNEUdOk551F/getVqND2/c41tX74AMGMvbLfMHPv+JP+f7fs5xHFqtFo7jJMQ3Q6iCa8MEsl4jyrYs5qcnOHdinrFinlqjRb3Zjt9EhmEQSInr+ZxenOX3fOE1js1OcvfhOr/69fd4++od6q02fiBxPJ9yMcfJY7PksjbLa1v8xjc+4BvvX6fVdhgvFfnsy8/x+ZcvkLEt3vvoDr/69fe4cW8FwxBMj5c4f/IY46UCmYylrNZSBZmsbGxz/e4y7bbDWClPTmtz8nhrkQJyJkMhn8M0DeX2Cg1d+r6Pv+5gGIKcbZCzDFqecj/BcOp0JYDsKiC7rodhjoCsX7cQAhkEtFsNbt5b5jffvs7qZoXzC+PMjRcQQrjiF/+bH96UUk5ELhspJUZoWBkbG6dYLJLL5bBtW+l+Yvj6sR7UUak1+fDGPd796C6blRoSYl9mxrY4uzRLqZDn/Rv3qDfaKlkBGCvm+cxL5/nEuRN4vq8484c3qdabZDM2L54/wevPn2G8XOTB6iZff/cjbj9YQ0rJ2RPzPH92iaW5KQVMVA7wxnaND67f4/1rd2lpCf1T40VeOn+C58+eoFzKh2L14DsjDL0Ebo8WMX4Apawx8BYx6fsNnXYx5XSXCY5IC5EhU+KFJSWu22ZlfZNvXr7L/dVtzi2McXpuLIzjlwghqh0Ai47IFL3jbcsin89TLpUpaEA2TEMt6SHqx1uVOldvP+TR+ha3H67hul7sdjEMQRCoi89lbJ47dYzXnz/D7NQYj9a2+O23rnDz/iqBVO6hz738HGeW5mg7Lh9cv8fX37tGtd4il7H4wuvP8/KFkxiGERqvtpmfnmBxdpJiPofrefyHr77LB9fvxm4u0zQo5XPkszYvPXeCC6eXKOSzQwsGcfTui0P2IUctYpBQ1l1PQ3hBfZy7THTWU+J7HtuVCu9cu8e7Nx4xUczw0qlpynk7/Uw14wTPWFkWAkNKAlTCul+r0W41KTSKlMpl8vkCuVwOy7IwTKUjDxPI0YVNjBX57Mvn8byAeyvrvHX5Frfur+B6fhiIEYQRWhkunZqnmM/yjfeu8c0PbrJVa5DL2Lx24RSffvE8xXyWW/dX+No7H2HboUUZyZnjc7xy8RSmafJofYv/8JV3qDfbZCyTs8fneenCKa7dWeb2g1WOz0+zXW1Qa7TiBIvl9W1WNip8cP0+r1w8xbmTC+Sygw8Gydg2k+PjFAuFoZTA1YfIWgYzRYNWCOR626c8hBYx+tz9IKBWV9lcz3qXCV3aDAKfZqPOR3eWeePyPYIg4PWzM8xPFABiJqWtgxlzYPUQioT+EccFC4EZppIV8nkKpTKFQpFsNodtWwhDJf4N09ClkxAC1/W4/XCVNy/f4sHKBo7rhZZpyGctSoUc69t1PM9nbmqcT794nounF/E8lzc/vKnE6Wabs0tzVOpN1jarfPKFM3zP51RbpnqzxT/91Td4uLoJqHKspmnQajsgBFlbGZeEEIlqHNG6WYbB8fkpXr10mtNLc2Ts4QWDtNuO6r7YHk4JXP1cDSeg5vhkTINy1hx4na70+eDZLE6frH4a4LRb3H+0xhuX77K2Vee5xXFOzY5hGVG2XM/19c3/7Nte/HNALkK2vjhKrFZGIwnIQEUOtVtNnHabQHYeFiM+Pm36Hs7Fm6bB9ESZ8ycWmBwr0Ww5VBstfD+IAztMw6SUz/Bdn36B504d4+HqGr/2xvu8e02Jv4Vshnwuy1ZVRWG5ns/ZpTly2QzZjEWt0eb+ygbjpQItx8XzfPK5DFnbpuWozCI/kLG/ObKmqu0BW9UGN+6tsLK+TS5jDdWHXMjnsW0bGcih+JCjF3nGMihkDPwAKi0PP22xHjBHjmLkHceh2WrhB34cDPI0Alk3UCElnuewtr7BV9+7wRsf3mOyYPPJc3PMjedjhhDhqgcZ5n/2bS/+OSFELop40hdFhAA2Is4ShjXKIMDzXNrNJq7rIAOprNRCIEToehqiWK1LCZZpMjc1zvkT84yXC9SbbZqtNoRzdzyPlfVtllc3+Pr7N1herzA5VubVS2f4xPkTPFzbZLvWIAgCPN/n7PF5JsaKgODOwzU2tpXhzHGV0WisVEAYgpbjIoDJcpFLZ5Z47dIZXrl4iudOHWNuagzPD2i0HAzDYGWjyo27j1jfqlLIZSgVlFVZv6GPuw5Rjm4+n8O2bPzAPxTXk+PLuI2qbQ6+RUw0dx3IrWYLPwhCqejpyUVWL7dQTfBcqrUK7310h//0zk081+PVMzOcnCtrsfm7ewDEL/43P7wJTEQANlJidARiAC98IExDxPsawsC2LfL5AoViiUKxSCaTxYjcAYdg6NLfUrVGi8s37vPutbusbVY67ichKOQymIbB7/zU8zx/7gRBIHm4usnbV27huB6nl+Z44exxTNPg2t1lvvHedRqtNo7r09Cag4My8L1y8RSvXDzN5FiRRquN7wcxOBvNNl9/7zrf/OA6vh/E8yzkVEGBly+cYm56Qr0cGSxHBq0Ebm346YueL6m2fVxfUswYQ6nTlb5OeHpqWieDdHzazSa3H67w5kcPaLcdLixNMDde6Np3LxSL0IDiWhrqIxYefY7eroH2IAsif55Du93C971YhhbRC2HIhi69qXXGtliam+LcCWXIqtabtNpuPG/X9dmu1cnZSqSdGitx7uQCF04vMj89znatwTfev85X3rpKpd6k0WrH+cP6+T7z0nm+8PrzFPNZPrr9kF/+ytu8feU2m5VaWLLHoNZocXd5Hc8PyGdsAql808tr29y494h6o0m5kB9aMEg2kyGfU2K77/tDMXRJCaYhyNsGGUtQdwLq7QDTEEPTj/WItXbboRm2vzEtM85FPgqU8OfKANdpsby6xlffu8Hl2yssTRZ48eQ05XxGW6f9LVTMgaMTGoboWoT0QxXpxJFxyzQEIuTcZhgmlysUyOWL5POFjuvpEPx66bG3KjXe/egOl2/eZ7vWxDQMioUszZbD8bkpzp86huv5tB2X9e0ay6ub1JqtUJ81cBwv8cICKOSy/OHv/zyzU+NIKfkPX3mHty7fxLJUqddTi7M0Wg7La1v4fsDsVJnXLp3hweom1+4s03ZcDCGwLJPxUp7nTh7jE+dPMF4eXsso1/WoNeo06o1EQYOBrXvK9VRr+wgE5ZwxlPI+nfMevZrWMrxQEV6057lsVyp8eOsh1++vM13KcmZ+jFzGfGxXY5IDA4T6a1oX1hfKCBXcCMhq1p1Xsu97eI6D57TD6CWpdGNhJMYeBpD14nJCCPLZDCcXZzi5MIMhBJVag7FSqCu3XTYrdd67doe7y+usb1Vpux65jE0+lyUII5+U5CE6EoUQnF6aY3KsiBBgmga3H6wipSrAt12tE/gB0xNlzp1Y4Ls/8xJnT8xTLuS492iDWqONbZnkc1kaLYdbD1a59WAFz/MZLxXIZu3ENQyCTNMgn8uRy+YQQuD7HkEwOENXOuspbyvbSb3t44ZN24Zp6IJOHbJWW6WiWlrm02FRxEWj8Md6rcZHdx7w1fdVKuvzxyc4Pl0K4+j3pufuRAkAx0AVnWin9EJF+wRRuBES2QOGquRNgOe2cdttPM+Na1kZwkhYrIdt6BJCUCrkOL00x+LsJH4QhAB28Dw/TF0UsSVZCEHgBziuRyGf5eKpRQwhaLTayiofBAgEZ4/PKyuwaXL55oNYTzYMg3Ihz2dfucBnXjyPZRq8c+UOv/7G+6xtV7Etg8XZCQTQaDkEgaTRdrnzcI07y2sAjJfyZDLDALJJLpcN/dODT1/U198yVXhmIKHhBCGoRNezNajzdQO5HXosrKEDWbfDyFDPvbe8whsf3uL+yhan50qcXRgna5sDAW5EPTgwRFFWvU4QgTfuQRRZOkV4XPR/SWyckdLH8xwcp43rOAQaYIQxXFdAGsjj5QKLs1NMjpdotRw2KnX8QFXjMA0D2zJxQxHz1OIsv/sLr/HScycp5HOsrG9jmQbZjM2Z43MszU1hGAZ3Hq5x4+5DBMql87mXnuMLr19iaW6KlY1tvvbOR3zj/evUmi1mxov8jtcu8oVPvsDzZ48zNzWG6/pUG02EIag1WqxsbLG2WaXtupSLebIDBHLEIeL0xUwmTNgYnuvJNlUTc9dXfmQAyxiOr7oLyK027XZb6erW4DlyUs+VuE6b9Y0N3v7oDpfvPGKqlOXC4gSlXHQPB3vdXQBOi8vRtmiyCrzx7JUoHVpZCS2q4ZewJnNo05IK7L7v4roOrusQ+J4Sq8NFHablUr8G0zSYGi9z7sQ8s5NjtJyODznSdyVKpzp7fJ5yMc/0RJlTi7PMTk3w0vmTXDi9iOv5vHPlNl995yqNlsP0RJlvf+15XrpwimzG4uqtB3zj/Wvce7QBEi6eXuB7PvsSZ08s0Gq7mJbJsdlJzp6Yp5TPsby2hev5BAFUG01uP1jj9oNVDCEYLxVU0Ezqwdn/OiSPty2LfC7MQw4C/CG6njKWQcYUtD1JywswBENLXdSB7AcB7VC0BgYiWsd6buzPdalWKly5dZ93rt3HQHJhcYKpUm4v/twDU08OrINYAVCG4O1MPp6HjLisjC+qk72oPnUqPSrwB0FAEHj4noPnOkokNTpAjuYwDEoC2WRmcoxzJxZiV1CUwmgIQdNxuPdoHcdRKW/5bIaJchEJPFzd5CtvX+W9a3exLJNXLpziOz75AkvzUzwMkyPevnKLSr1JIZfh2169wOdeuUg2m+G9j+7yK197jxt3HzFeLjI1XuLYzCSO53N3eZ1ASkzDYKyUZ22zyvW7j3iwuonr+mQzFvkBZD6lLda2bcftUyLdf2BATmU9ZS0D01BF6Z2wAsqwgSzDtNBItIakjryfF2I6za/RqHPnwSPeunqXaq3JmbkyCxOFfflzD0p9TXVpEOt3Q3Q+JmKoZSAJXF+NahrIAKVPQxirLDClxIx0ZxkgAx/PdXBaTbKFItlcPvYh6+6sQZMuZuUyNi89d4qzS/NcufWAd67eZnWzAoEqMvDG+9e5cW+FbMam0WpTyGWZnx6nUmtw/sQ8n3zhLHPT4zSabX7rzcu8dfk2tUaLbMbi+TOLfOal80yOj7G8pmpUX7+zjOcHBDIgn8twbHYSyzCYHCvF87Iti0qtGasrtx+scefhGhPlIi+eP6HK4JajzKfBuZ6iQnT1sASuO8Ba1jGQAds0GMsJnLAXsiGgmBleaKZ+nY7jsOm61OsNSiXVZWIvQO5K82u3WN/Y5KO7K1TqTY5NFpgsKV4YDBm4EfXRgTsX3fVPxmxYicxafG8M+viGg4wvQMZ/ZHQ8iruDRPoentPuZNegxVfrfucBL4h+YzO2xeLcJGePz1PIZ6k327iez9RYiXIxx9pWhfXtKo2Ww9pWlefPLvHZl59jvFTg9v1VfuVr7/L+9Xs4rs/i7ATf9ekX+PRL5zEMk299eJNfe+M9HqxshLqhipd+8fwJluam8QPJmx/eYHl9O6zIaTA3Pc6pYzO4rqciv4Sg1Xa4s6xEaz+QjJcGoyMnQmgNg2w2E1eUHLgPWTunZQhyliCQUAmDQSzzsDiyH+rIDoYwQmNXtz8+/Xx7rsPm1hZXbt3n2r0VChmTU7NlipH3YEDrtBfaEcC7rETiazeIOwsGMg7k6OyvJUyEJV2REun7BJ6L77nIIFAW61AUiRanM+7gSB8vm7E5MT/N6aU5LMPg/soG91Y2aLWdRPLC3OQ4xXyONz+8wX968zJrmzUKuSyvXTrFd33mRY7NTvFgdYtf/dp7vHP1dtzDWEpJNmPzqU+c45OfOIdlGtxdXuPKjfu0HZdiLsvveO0SX3j9eS6cXuTM0hyWabAdNnQLAkm92eb2w1XuLqueWOOlAhl7sFZrwzDI5bLkcyrQxBswkKP7GRm68lZYFSQsgTusGOto/jEgfT8sKqDqoCWLCnSeYd/zqNUq3Lq/zIc3HxL4PidmSkwUs0k9d3DT3P069ECOva14AoYKiIHsurHRxZi2Geu2cXWPRCim+muFpV6jrB/TsrEsC9OysTNZrEwWYZrEvFkLZh80mPXGahJY26zwztXbXL39ENf1cLTa09mMjeO4IAQnj83wmRfPc/LYDI7r8dtvXeG9a3dphsBHgmUaHJud4FMvnOPcyQUCKfng+j1++60r1BotluYmQ116mpbjgIR8ThmYHq1vq4IC1+/hel6cj2wYBouzk7x68XTYE3nwmU9SykQb1YEDORWaWWl5NN2AUtakHFbSTO830HuuFRWIMp+iogKB79NqNVhZ2+Sjeyv4ns/iVIFi1h5YGOxBaf8cWEVihFdNHO8cV7LU9KX4s+YqkqlPsYVaSmUsC7cqLq6swoHnEvgeBD4y8JHSR8ogfJkkA04GQWlLb7GQ5fTiHCcWplWgRq0Zc+EoztmyTF69qDo7WKaJHwRsbFdpOQ4Z22K8lOfUsRk+89J5Pv/KReZnJljdrPBbb17m6+9dw/cDXrpwku/41AtMjZe59WCVr8ZGMouxUoGJMZUXe3d5XaU1RrI4UKmFmU8bFSzTZKw42DK4kb87KoEbGYWGYegyDUE+Y5KzDOpOwFbTQwIZS0uWGCJHdlyXZrMVqg4+m5tbvHvtLtfurzJdynJ8ukjGGqw/98Dz3jcHjqiHLqy+hjdU2ZxVZpKluGX8nU6cdBR7nebGZli4zjJNDNPCstQ/0zQRpolhmAgj+mzFHFmEL5hBLqnuAvD9gPsrG7x1+RY376/QdlwVcBFa688szfHyc6dYnJskl7VxXR/XU7nKGdvCDyRrWxUu37zP5RsPqNSbLM5N8tmXnuPs8Xks0+DWg1V+4xvvU6k3VUEB2+LM4hzTE2U+vHmP7WojIbLpczyxME2j2WZirMRrz5/m+AB7IqfPF1XOjAImYDgcueUGbDY8vEAykbcoZYdb3qeTEKIa091a3kAAp+fKZC1zp/zcQ6fHB3D0eberCTl1tJ+ADniFBugwFlsB2QzrFStAm5aqy6WqgZjKWm0oEV2BWEAYsmkMwbesv3Fdz+POwzXeunwrTFjwY7E1m7GZnRrj7NI8UxOqrK1lmliWyTffv86dh2t4vk82Y/OJ8yd4/fmzFPNZXM8nY1t4YdG8dz+6w9XbD2m1nVjY0A1AhhBxWaGMbeF6PrOTY/hBwOpGhXwuw/kTC7xy8RQLs5OYA+qJ3KsEbrVWxxlCCVydGo7PRl1x46mCRTE7nFRCKSX1Zout7Rr1tkMpZzM7lu+69qNABwdw52p33wVN0BWdpzBS+DsFAUgA2Agr+ccgNsy4lI/ixlYIYiMEsYkQBhhh3LVhDh3Ibcfl5v1HvH/tHneX13A8PwGy6BoNQ1U0iUTfly6c5LVLZ1T3iEaLb35wg5WNbV567iTnjis99v7KBv/+K2+zulGho5HDRLmAaZqsb1UxTYOzS3O8/sJZ1rdqvPHeNbZrjc4NDuPBnzt1jFcunmJuarzjmx8gkOP0xXpd2QS08w+SpJTU2oojW4ZgqmgNrE6Xas7usFWpUWuqyqa+5zKWt5mfGhvodQyKHj9lI4xE6fqs7xItkFolRIhovZWnBETogQpkgCkFRqAsrkGgOJg0le/YkqrrggwCjEBxYsMwkUYQcl8TDANkgC/NMIlCDExf0blPxra4dOY4Z5bmuX53mbcu3+Lh6qaq1EEn5DSQAs93GC8X+OQLZ3nh7HFy2QwPVjb49Tfe48HqJoGEBysbnFmaZ3KsyOWb96nUmz2SSdQLbWq8xKdfPMelM0tIqZqhR2RbJn4YstpoqbarN+894sLpRV48f5KZybKWi3ywBz8dFFMulcjn89TrDeqNOq7rDdaQFp6znFOdFitNn0cVh6xtMFW0yDxG1pPjumxV6lTqTRWR5/t4Tgvfc/HtwfaPHiQd3I2kk27Yij73+BcbCqLDJJAyfnWMWJ0wzMjKrUeFRdTxO0vNpiW1F0nvhItBAlmvDHLuxHyY7dSiGeYhCy1O/PTiDK9dOkOpkAepmrJthcXxoki2ta0qd5fXaLtez9BWPwg4vTTH93zuJc4szbO6UeGXv/oOb16+GZe7NYSydpumQTvc1nZc7q9scvP+I5otl7FiVM96MOsAna4LuVwOwxAD9SGnQzOjJuauJ9lo+PiBJGsZu1qs9ZeK5/lsVWqsbFSoN1Ucgue08NpNgkAZKrMZ1VLnKInOEQ0GwPukDpAV702YnDou5BCs4ecwfTFynfQDcUcagM5bIOL1SV90NJdBXE80D9u2ODY7oUrzlAs0Wm3qzbaK+zUN1req3Ly3gh8EjJeKTI6XOHN8nsXZSbaqDdqOS9a2YqOfaRqMFQthjDIszU3xXZ/5BJ/6xDlsy+Kdj27z6994n7WtinJ5SMn0eInf8dpFvv2TL3BiYZqHq1txmSGAtuNx79E6tx6s4nge46UCuQGnMJqGQdSuRzBgIKdCMwsZk2LGoOFINhueKuxgdWc96aqPHwRUaw1WN7aohHHwvtvGbTcJUjW3sxlblVL6WAF4D3KMECl3E6JrCP1vhMkg6GREpYEc19LUOXAC3HoEmD6XwQEZ1E0/NjvJ2eNzFHIZtmsN6s02IGi7Hrfur3L30TqmISjlc6xtVrjzcI16s41lqf5EgZSaoc/gU584y3d++hMcm5nk0foWv/bG+3zrg5vUmw6BlNiWyaUzi3zP517i9NI8y2tbfPWdj1jZ2EYIwURZlW1xPR8hoO2qFMbbD1YJAsl4uUA2Y8VrORAgx+mLGSSDTV9Mu56KWeV6qrZ9tps+GcvANrvz2uvNFmvr22xVG7i+j++6eK0mvucqFS+lamVs68gC+PGNWCnq5QfWF3Cvx6oPmqErcjNpgSCmoapa2GHwh2VZscU60osja3UU0SWEqgwSf44MXgPUkXtRFAxy7e4yrbarXkCBRBiCyXKRar2J6/uxhBFZ5XMZm4lykU++cJYLpxc7/Z/CLhMRjRXzfPIT53jpuZNYpsFbl2/ylbc/ot5sUypkef7MEq9eOk2j5XD11gOu3X1ErdFECCOu0LEwM8GrF09z4fQxbMsaTPoiSb96q92mVlM1n4dpsW66Ktspa3VinNMGqsBz8Zx2GFsQKlk9uHapkOf4sZmh5DE/Lg2MA0cVK9NASBcC0Cl949L7idDSpWuzHf1YiwKLPofF3WVo4IqPkgExz40UZZ296ymSfeb2OOuiB4MszU+FwSAN/CBgrKgS95ttJw6AV9eurj+XzfCF1y9x4fQxmm2HX//6e7zx/nWcUD+2TIOLIde9cPIYW9U6b354gys3H+CFbqXv/syLvHLpNIV8jvFygVNhUEqt0WJ9u0rGtgikpFJrcmd5jVbb5fjCdFw583EoHRSTSF+UwUCDQXSyzU7fY8dx2diusrZVpdV28T0Pr93Ed9vxcxLFD/Qcy7IYP6IceCCFg/Q3decvpOzPITi7j9WP0z8ngkKkRAqJjP3GIEWARMQdBD3fwDIDLEv1u7WCABkGf0gpEUaANEyEDJTLKZq3IUEEIA1kzKkHw5E7Fmt1rsXZSeanxrl/7jhvXb7FvUfrNMLmbZZpxuVrVUqh4Pj8NKcWZxEIrt9d5r1rd5XRzDKZn5rg1UunuHh6CSklb1+5xbcu32RlfZtiPselM4u89vwZpifKbG7XefejOxRyGT5x/gTz0xN856dfZG2rSqXepFTI4fs+zZbDux/d5tyJOU4vzXe9dB93HaLQz0IhTy6XTVTOHAiQNdXN83wqtboSlT2lg/uhZXk/5xrUGgyDBlP5K8FtIRKchIjtzfpypA+OF6kXR45+U3uGWSRCxgEgUoI0VNZS9Eb3ggDbUlFPvgQrCLCCAMNUrqbI5RRHc0mp4rWFDH1ZAXLAorUOZMMwOHlslmOzk9x5uMbbV25zd3lNNTo3DAKpDFa+H6i48LDjxPH5aT7/ygVcz2dhZoJTi7PkQ3/xNz+4wc37K3EW06deOMeF04sI4P1rd/nau9dYWd8mn8uwODdFfk5V4gikOufC9DgZ2+bK7QcqhNX3Hudyd12HQacvxs9PaKCq1ZtsVWq0XA8ZSDy3je86SY6717HpltCOCu0bwB0wEYdQdkIY1eVq8UJdx3eDtCN+R+PvBOQoKUCiHj4hQrNVJH4LCFwf3w+UfhxIPNPENgMsUwHCMEMwywBDhr5jTBAhiA0DEUQcPwniwQFZFSY/d2KBEwsz3Lq/wjtXb7O2VaWYz7JZqSOl5OrtBxRyGV44d5zxUoFve/ViWPPJZWV9i6u3H6pKl67HWFFVuHz10mnGSgWklLz54U1++60rtByXybEiL188xcxkmVbb5avvXGW7WiebsdmuNWm2tpgeL7I0M8bi3PRQOY++jqZpMlYuUcjnqDca1Oqq++J+dHDdQLVVqdFoueqF7jr4jhO7hA5y/yL35VGk/RmxUpZlPUY4Ths8YBRyogJIjzdwuiSJ1Ji7Hu0UgSwZW60iuCzTxLbCbKewqr8RRXDFf8NiAobRKZkizIQfe5DGLv0F2Go7XLu7zOUb99ms1MlmLJU44fsUchmmxkpkbQvH9diuNag2Wni+SupYnJviMy+d5+zx+dgOYFkWjVab1Y0Kvh8wNVFivFRgc7vGNz64zs17yxhCEEiB6/uMFzJ88vkznDu1RCaTeWJhg27YfbG+x+6LOxmoIkkiqdLt7/5kMzanFufi5JCjRPviwDE8NUNLkg5+szs3SMa6spS9RPDOy6LjHZJIoWxVQqCJ1uq3IFC9inzTxA9CIJsBgRVgmBaGEWCayupqyABhWJp+bCAMQAqkYSBl9IIYTIimzpFV3+KTnF2a5+rth3x44x4zEyVWN6tUak2q9VYMTsMwyIUBBp84d5xXLp4mk7F5uLrJ+9fu0Ha9sGjeODOTZQI/YKta54Nrd7ly+wGrm1Us0+DEnIqRLheyvP7COaYmxhOS1ZMg27aZGB+nsIfui47jslWtU603VZWTsDBE4HsDM4513JNHjw6sA8dWOyl7iM4H58Q6kPUxeluJtZI/MZAjQ5ey40phYAgVghkVbfNNE9+ysAKJZcnYyGVZdhha0im2JwJiHVkEEoSBROD7ygUU/zdAIOdzGV69eIrnTi2wsr7Nf/zmhzxa34r3i8vu2Cbf+akXOHdiga1qg99+6wr1ZovVzSrb1QbX7z5iLGw47vsBzbaTyHUu5nM4vmRhYpzPvnyeUiE3kGSHQZAQgmwmQ2bSplgsqHajzVZcmrjbQOXjO+19G6j2QlG46VGkAcRCd1+slh3ce6e9DKsBtN8YSbAngRwIqbilEemxkXgexBw5sCx831e6smWpIJFYtA5HFqoovaHCfiD8jhDIQH2XYvBAlqgOEKeX5igX83F3iUbLUYauIKDWaPFbb13h9sN17jxcZX27xon5KRUSGAQIYdJoOTSaTqx6RIkiAIVchk9/4hxnT8yHYz75/FadohdJLpslm8nQyDXY3Nxms1ILDVR+XFPtoAaqfufV70fyWT5a9FgA7uazmjFKXX6csd/JRoK9Ajp5I/pbAnUgd0TvMP/YB2n4KnBfKAuvIcPi9EGAaZh4fqDaZAYS0wowgwDTDEIgmyAkgTA61mojekVJJEZ82VJIDAaX/RQ9wDMTZX7np1QdaVUZ5AGNlochBMvr2yyvbccAXdmoxAEHfhDgt4MYsKH9j2zG5rVLZ3jt+TOxsesocN3EtWtrKGWA57pIz6PZarKysa1CH73HN1Dpax2R6itlU8hnyWcz2JaqFHMUaV8A3m15ZNheJS5kFz8UEahTsZHsfdHTInP6sLiuVjjTuC5XqBtLAUIEYatU9c+UosONgwDf97F9VTggsMK2KoayFgsTBAYiCDRuHLrKQrEaBIEMevq0D0KxWB2u48LMOLNTL3HpzCLf/OAGtx6skgsfrE6/4oATCzPcWV7D88IXFzJsoyJYmpvksy8/x+nFWRU7HYqkRw684T0NfI9Wq0WjXqPRaNBqNvFcB7etG6gGA1zbVo3hx4oFctlMVyDLUXvJwX458E7GjY6FK5n7q4mVIopHToAx6Zba+fS9g9MRnXPqfug4XbGHfhyB2DBE0tAVBNhBgOWbmJayXksZYARBmH9sEIRAVqGYAEF41UYn90kOrixuwocsVO2thZlJbt1f4daDFZWsENbdcj2f+ysbyEBimQbFfJataoNiPsvrz5/lpQsnKeZzR5Pryk66eBD4OO02jXqNer1O22mDBM91cZqNx9Zz9eMztsV4uUC5WCATJpLsdB+OEh1MhO6bqNDhtp2LhoT+kPbxJoY9+E2JK1fGD6Xmlgo/pANBIhCroI0gFquVD9nCDgICP2xbaVoEgcSUFoYhw8bSAQQi9h+r91VoPCNKYhyGoUslLlw4vcipxVlu3HvE21dus7y2ieN6KvMobFJXbzqcWZrjsy8/x/H56fD4o8V1E32FZIDrODSbDWq1Gu1WK+FKCuIQ2YP6dDvPYi5jMz5WYqyUx36C3Qwfhw48a9kDxLupt53ILG3HROyzNja7c+W4LhQdnSkGa2wh70gN6YiuQHRiqo3QQKVATQzmwAowfB/L9LEsP+xDa8VJ7IYQIRc2iDixxAiFDBHnL4shGLqiggLPnz3OmaU5Hqxu8nB1k1pDtRApFXIszEywNDdFLmsfGQtzRF3tSXyPVgjcZqPRM3MpSvY48PmATJggMl4uPLXAjeixZp9+DNJGrSRgex0R7ZeyWUfgY3cw7w3EEZZFmLigpSACMgji2GNDGEiS3Ng0DTwzwPZVSKYZKA4tQzAr/EbSh0QQJEBM/KIYHpCzGZuzx+c5e3wuUSAlsgccPQuzNn/fp9VqUq/XaOwSTukfJBQyHMuyTCbKxbi657NAg3n9KOTQG6B7X+hE5FWPo9Pmff1zfxATgkjGD43QObOWKKGCNZQlWYYidlTSJwg6fmQz7B0UmKYCtGVhmjIs5RPp+zqI1ZZYCpChe2rQrqcUZ5Kys5JHB7h6G84Ax2lTr9eo12s4bWfXpH9dhN7LuUC5zsqlPJPjZXJZuyvv/Gkma78i1d6txgcP5tDP088TnH5Di84PKRCHc0mBmB5itZ6WaBgijK82CKQfc7Eg5MBBEBDYNr7vY/o+tm1jhjHWpmEqV1NiDTrnllqOZEJPPiIgGwYlYualxPVcZaCq1Wil9NydKGpKvtu5QIXWFvM5JsfLFPPZxDP1rKy0JYQI9Ivea3pVZzEEUZWrDpQG5/ROzGcnfbmHhXyvINbHAVQsrYziqTuhnUYoBkdADoIA27Zj63XGtjGDAGkGmJaNQQBGNzCFJlbHa4ri/M8aiPU8cZD4nh8aqKp99dydxtqJA+vjFHJZJsdLlAq5rsZlz9IKW4QATgMiWogdViuUDA93Obr05dS806J0AsTRuzcCca9xdWu1lAQiSoqQSGmE6YABUprK9eT7KlEi1pdNbFuFaZqmhWlFBrLIyhq9PPRrURw5IHimQJysH+3TbrWo1aq76rk7kd+DA+vj5HNZJseKlAr52I97FDooDIssIYQJ+9M5ddItzx3v6/CpU3ZH47y7gRjC7oohiOnow4lxZUe0jdxOiiNLZeQKLdWmKQlkJwjEsnwCS4nVth1g24FKnrBUeKYq35MEcdyWJuTIQWjJNsRgO8kfJiUb3QW4Tptabe96bv9xVc63fh5QonI+l2Wi/PEBbkQWsYG3hwGplzW432LIMBl+HwLKXt0B6bmJPr93vYQ0fbgniAnjmJNm2xhU6TYxQRyWaahjpVS6stERq5VRyw4raAZkMjIW/SzLwjCibovadUVA1lSEgOCpA3ESMBLPdWk06tSq1X3puX3HjyPKiN14xXyW8XKRQj6LaXx8gBtRtxU6pSP0S0foMn4lVVV6AXm/Re56HZvQWVNz7WX4Sp9PdgbsuJWicXpxYzSxGhmGZQZhFJcSq3X9OApntEJfcSADMnYGKVUgSMSNVUEBOhxYn+NTBuKkngt+5M+tVmk0G/jeYCpRRmNEdZrLxTzZbEZrePbxAW5Eu7qRdrQGRw9/6EbayTzQs9LGTudNnzN9U3q5TnYIXUyIddH40Usg4tQ7rcEOYrUK1jBCwEqMQHEKK5AEgYXvB9i2hW3bBNLC9ANsW6q2MIjQVfx0gjhh0Ax8Wq1W7BZyncGm9hnCYGFmAtuyEsn1H0fgRrRnP3AvEbvzY8S8Qi1Y+wz9rX8dEbJ3qOWOtyMt9iZ+6s/pRfg9iMYPX0Kdl1GfMNG+YrUqDyuNDojT/5TFWllgLVv1Ow6kVAX4bCVWy9RcjzqI026h2J9bq9Fut4fQP1jGum7XrfkYAjeiAwVydCUVhAXsIg6V+K2Ha0f7MYxe730DdtKQ4wc90tFTv+12rAp8JCE6y91ATC+xmlC0VtFchjQwJDEXVmJzgAwCJUaHgLYz2YS4bVlmRzroA+Kj4CtOhD/qem6tRqu5txI4B6Enfd1HlQYSidXx/4qurfq3nuDtGkz01bsT1IMDi16/a+OCltiwFxCnxk8O1y1WS9HxE5umERbeU3qwFQHa6nBlO5MNdWWIalhFhQToAeJIr3gSD3NXTLLvxQkHzUanCJ2+z4iGTwOL5I7ycSWGEi5jMXoXEjtz7L0ep+vl0e/9AN0r2CMNYnTxvt98eonVUiKFD6FerAApYxeIyj22sO0IyDaZTBbVjkdgWWEpH3pz4l7XMExKxJWjwh/b7Sa1mopbHnZP4BHtTANPxdi3H3gngHAAS3WP0MrEOGkgR6ClG8RxAsUe55gIywy0LhGhpVqvGCJlgGXZ6nMgyeYUiKU0sSxU+xitcF4MYs26N2zA6PnWh6Hnjmj/dORyqcRBOXLqWJkWgfXvOtB3AXF0jNgFxPr5k9FcfgxSJVp3iuip1Dg7didlsyKeoompyv9oVSEiEEdi+7CitnbUc1tNfM/ve79GdLh0qADuX81DHlyU7nOeeFx2D15PgxiIXWOhohtW9thZL9bHS3BjP0AaUrmrQu4bgTgaTrhgGiZ2RhAEQkVuSZCBDBMjNHE6DCIZdOilLgoLlD+32WzGccsjPffo0YB7I6VBGFqnewRd7EZ6csKB9L8ILNHX1Ox6urS0F4kqi9MJu9Qiqfu6vXrNMZ57gNKNZRRTDVEuuRH2YnJdR/mGheqna4Z+4m7/eXfo5eNYqHU9V6B09ZYWtzzSc48uDZ0D99WI9/Ag9Mowgp1jtKXGdWX0PUSeTI+bGiOOzEoEVfROCdROuOM1pcXqQAYaJ+4k2kf7Cqe9pzXQf+t1vj3fH13PJdRzazVq9Rrt1kjPfSLUedzCv/3VNwvlSXm88yXGVg+CiDN+RILdJR7GPVh7e+m1PXVdnfRtMVj0Ynsp/3M6tzgMBZXxtKKwy4jzaca6fmBOLVAabKonbdRas7tReeDbcYiihTJq9fKn99KL02vUi3Q9VwCeF+m5VVrN1kAbcY+oP+l48D2fdrWJ22iDIciV82RL+Y5Rtcd9GAiAITpBJDarv2hupJ6PQBq8fXy3na89widJAZqOmBuJ0BEn7qQwRFJxHyBr/4uO1ZhUyM1Fl6V7R6lC4/gdHR186SFTGTa+L5GZcM5BQBDYcSKEvqCRdVpflyCukNk/pDT6Tem5Kj+3Xq/SaDTw3JGeeyikJbD4rsf2gw227q3R2m4QhEZCO59h9rlFJk/N9b0XQxChk6DV3xy9RL7wh94g6AOM7kgw4pdAV2SWTI4V5QaHzDQJ5FBa6IjW0RApy7U2pDostbj9rlFbFzSuGfgBLm7oYiLlglJzjrKZzLCroi7aRuVu9fziSGTXdWM9pFXKgGarRb1epV6v4zruSFw+JNIx0diosnLlPrXVbWWw1JbeabRZ/uAudiFLeW6ipzV2YADu6GodLqxvj0Da9+HYKS66F2eWPbh7KvWxg1aS24leLsS6ccx1Zee8Er2dqeLHUXWOXRaj351L7KMxdAVi6YSgjQquyVg8tm07/B7Ea6pCNX2kdFTHxbADY2QI00XrDpAljuNQr9dU2dZ2i8B/vFKtI9o76YbZrXtrPPrwLm7DUYzD6F573/HYvr9OaXa8rwg9xMmKWH/cE4hhTxx4dwTRAS8kDGlpbhTpmdG4IjZ2aTpnfIyuD0OKMe9OvXR8XTIIJK7rqkZdvp3gxIGvanDZtsS0zASnDoIAz3XiOOpMJkMmq8I0dfJ9j+ZIz31ipD9zGzcf8ejyXXzXjxlHFKiTTtNtbtfxXQ8r011Jc4gAVrOKuLEO4sgCvOtDs5uBaAe9WWr/eg8dWZy14CZtvA4zjqSJpPif0If3A+I+1xhLBFKV6VEZTL4G0s42K7BDfVjGerJKjFD7tFotTNMgl8upAvWZLEhJtbJNvV4b6blPiKK13ry9wvKHd2Nd18pYZMt5hBA0txv4rpe4L37bw3f84QO4v8ujk/CdiJDaw0O0a1mfHm6kPQdzxvpgpwSPPufOtg4n1lMlBwbixKVEIrrEdb2w7laguGrGJwhs/MDHtjppiMnURRU55ToB7VYLO5PBtiza7RbtdlvpWYyAO2xK4yD6Xn20xaPL9whcH8M2mViaZvLUXAzg7QfrPHz3Fr7rJ+LPA9/veR5LhgiJHp4BTV/zl3a4sDqPZknuF5/cc8QO0HTa/UHsgmH3HppUIDsbu+bV1wg3YOrYESS+r6zUvq/E6mw26HBiMwRxyH31tVSWbUHgutSaDXx/ZKA6TIqNVJs12pUGEydnceotpfO2HLKFHPMvnGB8cRphdoIUJpZmqC5vsn1/Y09wtIQwjFhXHKpYlTShJfTixG69QROBqws+OwIqyVd3CqnsKVLH+0cd2pWlWo/LGjQX7swndMURFQRw41K2EScOLNW3KTZYSb3wuUAGPoYpRuLyEyCn0Wbz9gobt1fIjxcZX5pm9dpDmls1ssUcS6+epTQ7Dqhw2fg5NwWFqTLbDzaSsfhG74IOlhDC7I77P/gN746MisIpBeli7z39ur0CN1Ln6Ld/5/f4R7TUnS63Vo/Jd4nUsR6s5+R2H5aI9hoUTHSROuLG7XbEjVUxecu3wkZret+gKDiEQ5EYPu6Ufqba1SZ3v3WN5lZdPYzjRWprFbbvrWFmbI69eCoGL6QiAQE7l0nG0xsi7vGcJks/sLcrVu5LvO6uwKH/1g1i/fzR8V1jpvbpfkloe+40Vw2gvcbRx9dfHjL8EPlvd1yPQSJYW0OdGzuOi+/7eJ5PJhMFeZjhvDoFA0b8driklxUK/IDqoy2srCr02q421U5hoMbGzUf4ns/8peOMHZvacVxhiCTvCSuZ9iA/YcTqPNC62NWZbHKfPifvHXIVc5EOiDu/9Z7D/inWuenmwnpxPj0iaicQx/uE48nIxN/jRTcsUTq5rjo39uPC8rZtY9tmoh5ynDs8oqGQ7hJqbtZYu7FMY73KyU8/p3bQHoBWtYkMAgpTZaZOzyeO70VBIBO6omGInj5iQPa1QvfjyrsDWQ/oSMYX6+J08lxJjXO/tLs3SiTelvrZDsSN4wsaPFD3cq2d9Qtw3UhHVnW1jLB4vJrvk6+h9axSxHVXP3rAxq1HuE2HwlSJbLlAq9pI7uf5CMNg+sw8Vs6Odd5+JDX/PIQc+KChlAcHcq+xOg+fzoV7bdOOOuAC75Rb0JsbR7/JHoa0aJ8kiFFsGS2keggidK9ri9atw40DPM8KC+SJnd7aIxoQtWtN1m8u4zvKb1uYKmNmzJ4PXn6iGIdD7oYZPTIOCcI04q6Xadp3Wdm96MnJsMq0/hodo2+TXduS5+4bjtFzWy8u3++a0ry/l/8u2rfLUq2J1WmJ9RBwnOLGEs/zEtzYMkcAHhoJVOKBG1bhNAXF6bJ6FgLZFdZbnhvHzOwNbhGAI36gx7mnad+BHLvpyRGQdwKxfow6rpfRS/b8PTnGzqJ3Um+MxuytcydGSicekAKy/j0+ViSGPizoJF+IKmLLcVQJ26xtPtbYI+pPMpA0NqpxAoKdy5AfLxJXUdF1WNOgMFlOezX7j+0HIXLD0GNNLUqR/1iRWLuJ13sfp/O5vd0g8H1yEyWE0eks2H2M1ETvrl97cuGdjEvpuOf4GP13KbvEa/0aHk+TfzxKR3F5rjeyRA+RAtenuV2PQZkbK2DnM8qAGgTo8YCGZWLl7D2BF5kSoVEvgD4PrhxIuf+Onqj+pfXGyLWx+0DgNlqsv3+HzY/u49RaYcy0urJIz0yKjsQPbXqwWC9F33e/LxftekKHuv4d7VoFTwa8yflqX0Y+4KFRu97CqYfVUwQUp8eUrho1YNNDFYz+gRi9qCeA+9DAY6GhN0fec2VJw0D6AbUHG7Q2apQWpygem8RMBXL3M4j1nlcyxfGgBfOSWSJPGqojGhjt1+8noBVmCAGYtkVhqtQZLtWEXIj9GRS7AGz114GH0nCnF0feKxfW5+m1HLZuLLNx+X6cudFv3z3MKjEfKXvPZ2+Swgi8zxSF97O5VaPycGPXZ0AGksZmLeaymWKOTCnfyTv3g5QbaO8AllIqHVifXn8OHAw1HzjNkfezmNHxUkrceovA8zGs/RtldHeSPp+EES2QOJUGdjGLYVvxQo58qB8PchptNu+ssHl7FStrU5gqY2Xtvvv7jpfQfwuTJSzNwhz1MI5IiH2U/u2pA5v9DGDDBXDnAvbjKxZdk40Ko8eJz0En8XkvQ+tJT1FucvQ9zKSmemcNGUhKJ6bJTZY6b8xhhFWN6MhQfb3Cg3du0aqo4Avf9WhtNyjNj/c2Oglw6i1VeI6O+0h/ZqWW+SWl7CpIuBN1cWBxiDrwQKjXdQYKwE61SePRNm6jhRACq5AlN1EkM17AtJLd2fdyothyK5Shrb1Vw601yc2MUVqaIlPeuSLgiJ5+2r6/QXO73olp9gJqq9uU5sb7HtPcqqtKGij3UW6imGQ4QdDxWMootnmvHFjGHDgqifx0AbgHgqWU1Jc3aK5W8FpOwl9Tu2eQGS9QXpomP11WrqeuwJLE+nStpYj04zA8rvFoi/ZWneLCBMWlKUz7CC7TiB6bfNejuVVLeE0QUFur4DleQiyOKK3/Ru6jzg49RGjT2Ad+ZeyGMgyD4swYxemxfi6owxGhH5ekH1C7t97hhNpiBH5Aa6OGs92guDDJ+Ok5zOz+9NioWAB0xGu/7VK9s4ZdzpOfKe/Nhzeip4ratRbtWgtIPivtWpNWpa5S/lL33Wu7tCL9FyhMlxWH1DlwWoc1jD1z4Kj+WW6swMzZBcaXpjFtq9+zfPQBnEgm6LEI0bbAD6jeX8dtOkxdWMQuZrVGZd2+472d/Elf/YiGQhIwoLlZU/WnDIFpWXiOGycf1FYrlGZSYrQAp9bCaToAmLZJYarcPXzajbQPHVggmD6zQGl2jEwxp8bbgRENxY30+KubuqhUYIgMdWLdFRT93tqosnH5Hl7DQQgDhBECN6qQuT+reL9i8iM6giT7fE6TAOlL6htVkBLTtigfm0wwi/rqduzn1amxVYtdmpliTnVOSJ0r8LtF6L0yA8M2mTo9F4MXdjYCHz0A77DwUkqsrE1xYZLS0hTZsYIK/EiDeKvOxtUH+I4XR0v1SAjc43lVw5KdfMcjesKk2UT2mgsdi8KAnc8yNj+RMBa1q01lmdbtJ77K/Y1KtRQmy116cqTD6mTsIwprn8bSoy9CRySlJFPMMXVpiUy5oAxOrkdzvULlzhpuvRUvgJSS5nqF7dsrTJ47pgUq98sR2qkALXHaYDogZWSZfvKki5etaoOtO2uMH59WiQX9SECr0sANReFcOU9+soRdyOJH7qRQjC5Oj8WHeW2XVqVJVIQ97T6K55QWoc2h5WX7R4IDRy1Fwm89flc3qXxyhuxEIcSgxMiYlBanmHnxFNmJzg2LFqt2f4PmWqVjP0jEUutWh34zS1bTjKLLkhUqRxz5SZIQArflsPrRA25/9QqrHz2gvl7dmQNL1dIk8AMQgtxEUWUThe6gqOpKfW07dhchlHErAr2d7XYfqbFlXLo3nuM+OPB+L/+JAbgjjspQN5U7rrmZtRVIw5Iy8f5SkCnlmbp4nEwpl+COge+zfWcFv+3tbAXc7eWYqKGXDhE9nFKzI+pN1Udb3P7aVR59eBcnDK5orFeRfv97Enh+7AoyLZP8eCHkqGOxG1Jx6SbtakeMbmzWVH1mCbnxlPsopGRlUEU7+XEfl54IgPXyNghNwRchK+6x9lbO1hKiRTj1yDwvyZTyjJ9dwLDMBKCcSpP6o03tuF4TYl+MtFes90g/fgIklNjc3KwlXIyt7Tpe2+l7mNNsx0Xn7HyGTFG9+AtTZaxcB5S+61FfrwCh/rtVj7Ww2H2Upi4OrPJ5h+TROHwROtFQOs73MzRA9Dooqgtk0AGvbpxSOxWmxyikynVKKak/3MRvu+HG6DS98373Q/3F6hEdyjpIKM2Md8Utuy0n1lW7SKhIKi98HnLjRXW8hEwhS2GylBCja2sVAi/Adz2cmgJ9P/dROKUYwDKQWLkMuXJ+WJpWcGgAjjhUOo9W5ftGnNjoL9XHxxkJy3JsXw5jTkuLUxh2kgu79RbN9SpxZBY99OCe52RPDviPOzfWr9X3fGQQHJqBL1vOxborEIdDKhdRj7kGUonYYTx9YUqL3jMF5fmJhBjdrjRxm231r6VA3899BKiwXz9AmAbjx6c59ZkLjC3uXEb2cWiwANatUdFDrAE3Ad4dhuhJPbhm8nf1W6acJztW0DaHVunV7a4ImUFSP278LANZLzwe+D5b99d58PZNvLb32GNGFPgBbrNNq9KgXWt2jErhvoZlqrjl1Au5uVHtmYLqO54ShVFNxQqTScNVcbqc0G29tktzq0672orHS2cfJeaPJDdR5PjrZzn+2jn1ghiiZDY4N5IeZByBVO+soP2287tZ7vJb6MpBdLivVpDZMA3yU2Wa69WEi8GpNHAbLbLlXO8zDGiBe6Us7rc4/tNAel3kxnqVtevLYWFz+2APa3gLozFblQa1lW3qaxXaYTqpEIJMIcvY4hSTJ2dVjLqE4swYVtaOxWKlGzdxGm1y2stcWZJbOKHLMVPKJwImAOxClsJ0GafeVpw4kDQ2avFnlX001jekwLQsjr14CjNMfU0wr8GTNxgAd/L0woXqH/LY675p69uXOhqyDloNvNp5M2MFDMtMvIF916O9VSdb7hHhIvuf82CYE6k85GiZnp2sJlV9MWDl6gNVWrXtxW66/VLCl1tpsH7zEdXlTdwocUUb0206NDZrNLfqHHvpFFbGJlvKkx8vUn20Fe8bcdrceCFxfxubVfyIk06VkokqoRpWnptg+/56LGY3NmthaxOJlc2SGy/2Fs/D402jk7c+5Pt98JpYektLmTJKxUbdTpIPRB0TUv8EUvvXhwRxD1yROqYXwqx8JlHCMxKPnO1Gp6Ga2NvTtpu8sOOxz7i1OggktdVt/Lar5U/H/9vXOvmux9r1h9z+2hVVKL2lrMhRHHH8z+h0t1+/saykLstIiNFRade4amRI0g9obNTiFL2Yk3YmoiKspspkCtl4c7vSUAn8CPLjBexCpu91HDYdCMC6WJCIU44uBGJAJtYnAVaJ6LrRsq8o6zuepsMK6BpduyjL7K7BK1TBvCB2zHceiOEXYn82g0BiA6ReNDD+3y6k7dOqNrn35g2W378T+3Lj5PhUzHu0ngBb99bD/UW3NVqouGXf6ejjbsuNE/ftQoZ8ijtHZOczcQqfEELV2vaDnd1HT4akIRXt45CUJdnoWIU7AU8y9bn/+F3ct8+ufttVucB7ICGEKo0j02N4+I4bnzeaAVFbwSHTMxcE0vMdKnc3J2iCU211m7vf+IiK1k4zU8gycWKG+edPMHdxicJkqachyG20FUcFMqWkNRrArbdp15rxPFuVBl4YSZUfLyV8vp25hd6M+QmEaSTEe8MyVX3no0O+JYTw1Lz3Ft+rC616OdXOr+FvqSrJ3SAWqb+7zNT1lQ47Vti9zE0Yq5qmwA/w2x6Z8j5sVv1c0z06OOxFhOpVufPpja0+oIIRHlRZ3uTBO7dwm20QYGVtJk/OMXlyhkwxF9/D6dYCyx/cZfPOSrLHVSBpbteZkDMYlkF5boLqo614Pf0w4qo4M5YKn4TijHIfEUBPMXqyRLaYVY3JQuPoxNK0MoodnXeutBDC1NZ03w8idHRZ6AZu113rN5NdOgVKKWmsVpSfdy/F7XotspQJkWrXqe2gJwshVLE91yczXtg3+JLW6sikKXt2sTjSlJ7rHmXo6qMtHrxzM44tzk+UWHjhRKJvLoGym1hZm/lLx2lt10NdtENu0wltIyJhje7owTWkr0Rw5T6SWNkM+TBgo9+9t3MZijNjtKpNClNlZs4tUJ6fxEhx5SdNlhRJXrUnIO86eU3c0cyx/XoOdf6Kjv+4B7UrDRprFUoLkzvPT0oVs5q6LillT9/gQd6oTrXJ5pX7eC2HwvwEpaVp7NDwsa862AmO3Gm9epQekr3MP0H9MjbDa2ps1nj47q0YvKXZcRZfPk02jFjSA36i0e1ChvHFKZrb9cTaBGEnPyEEmWKOwmSJysPNWGxuVxp4bZcgCJQ4DWTLebIp91HX/AWML02TKeSYODETd1Y4YvfFt2LApvyz0QOfuEk9Jt/NfUXiBqRvYDy+/luqJlEvitwWlTur5CaKWLlM38UMvCB2a+jniONUIwMJyRfWXikCbxRaV7u/TmujSmlxmsLCROyaODiQnxLRuocO3G8do7Vwmw7L791WpWyEElUXXz6j/PPBzj7TwnS5yz2ox7FH1ujK8mY8D7fl0K41Cfwg9BMLilPlnaW48PSFqXKcTrjb3J4QdUIpdSAnQh0fM4pE9BhP+zEJ8h0cr9EcnGqTrRuPCHy/e27hR6/l7BjMnr7m/eyjwHsPp9bUrLDgNR22byyz/t4dmmuVOJzwoK1cnoaIrrQFJKJec41ewKsf3VdhjkKJqQufOJkAb1+SKvE+HQGVKFcjVYsTWzNOBX5Ac6tOY1OJ0oZlUIjyePdwL3p9PkrUFcgRaWOJyXfW8EBGiy43U0Js3p2kVEHhgecTeD715U0My2Ti7Hz8JtW5XWO10nEXaWMAHbfRAYxYTqXB5tWwZ1OPmyulpL1dx6k1Kc5PMH5mAeOAHQKjlqXqc+oajszDtLe63FGAQ2V5i827a/E1TJ9dSLhrdiPDNLpcOGbGStyjyBrtPnS0SCplvJJIMoXsUTNEPQ71DuToxY0ZEDcWvTixPqNe40sV45yPxBkpqd5bY+2Du7QrjQR4m+tV6g834vOlz686LyRfKLveTSFoVxpsXOkGby8ybYtMuYB4zP68/ZrGHSmO3NOI1X0dXstl7fqD+MWanygyeXI2PObg12LnMwkVzzANSnPJhITGhorcEkB+srRj14WnjHYOpeylH+9J7NQAPygyTIPyiRlaWzX8thtapbdpb9fJTZawizn8tktzrRJbIbsHEViZqM2j9ruqK9t3FZxKg80r93HrrR1fPEIIspMlxs/Mq6LwDMbosVsb1yfGkXsa6Xu/XLbvr9PcrMfxzpMnZ7Fy9u6is0aBHySKngtDqKygjtiYiI12W456eUS+f8OIk/a73EdPKe0pFjqWOHskIvRag2FZ6rLjRcZOzLJ1/WF8Dt/xqC9vaTex/wNt2iamph/taksXAq/ZpnpvvS94o4fVsExKS9OUj0/H/ZWiMQZFRxPIu5/Ta7ls3lntBGoUc5TnJ/YsOkfku14cxwxKfM72yLXNFrPkJ0u4Dzbi5yEqiLib++hpoz3HhEWCXCRWR5HNYVGc7gMOKubtcszYiRmKC5PhrjIOh9T/9h4X7GJOZcvsdSpBQOXWCk4Yftc9VTWSXcwxdek4Y6fnMMIi3MOkoyRad3klNKtwJMJWV7fiEMaYQ+Yy+zyR6kkUW6Clcgels4mQEmGqoI5IjI7SWvOTpUSM87NA+85G6jA69UmEqX2E38TjWgd2OdywTCafW1R1jVa398TtowcpHzZh3ssMVU2tgCBqYtXDJSaEID87xtjp+T37gBO/67vJeIc9p/TsxpEHQV3z1Xyh6S4Z6YuJkusrDzY6DenCao77FmMlNDfrqtZV+O4qzY7HaXvaosR5vVbWxm22sbI2EydmmT4zf5TimAdCB0onTFul06CNu7JF+wxCtNPGsLI208+fwLBM6qHPb7dzZMp58nqUjzZ/9Zbudcr++q6ZsSifmKG4OKXaP+5yTHRctDZevY3baCH9AMO2sApZLM0gcxAfsjpuz/jfkRIhi1LSrrVobFRpV5v4joeVsynPT9JH+IrB7tRbqoBcuJ+ZsTpW4H3MM65PFR5jZW0lhvehTDFLcWYM3/WZfe5YIrH+6FjxH58OnA+sc+FeNPAl0m1OoT4zdXEJu5Sjeme1k8xN0q0Dyio8fnr+wNbHhI4ZXm5hboLyidn4971IAUIIvLZL9fYqzbVtAtfv5JDaFtnJEsWFyTg0c/8Pm5aH/Bg3QH/RNLfqbN5eobqyhddyE+l5m3dXw74/iaMT96yxmcwIsnOZfYnP0fo0Nmu0wkJ0SCjPT5ArF3Y4xmDhhRMYloWZMY9iFNVAyAIOVP+kA12RyjiKxK2DceG9GGSih8swDcZPzpKfLFF9sEFzvaIs1EHH52sXc4yfnic/M9Y9zj7nEz8AEtrbDXzHw8xYu19bbHBz2bp6P6zPpf0cSLy2i7e8SXO9QnFhkvKJWcyM9RgP3cEf1OhFs35jmY3bK3gttyv3JHIN7XivpKoQKQMZ+2StrL0vMTaKad6+v65cUALMrMXkyVmEKXpasaN7Zeez8foewSiqgZDFAFzaOpB1GooonTwBoMTjqQuLeK0Z3GorruRg5TNkx4ud3OCo+AC9JLjuZYjAU5gbx3c8Wpu1+De31qS1WaM4P7E7yMJ1qN5bj8Hbb//A9aneXcOttZg4fww7LHm6/7Xb523VFqSxVePR+3eorVXC+avfhSHiYP5Aa2KdXLPOSy/wg7j7X0SGbfbMFOs5pZD7NjdqVCNPAzC+OK3S+nawYj8NUVSDoE5UwwEobdBKGrE60Vb7AnGnVEfyXKk3aFpMFkJg57OxMSkeTs+bj0Rg0ee8iePUwzN2co7yqTmaa8rnHL3NpZQ0Hm2RnxnbE0fxGm0aj7YSc++5puHYrc0aG1fuKzXhwCDeB4VDVx9t8fDdW3GsMih9szQ3Tnlugkwhi+/5VB9tsXVnFT+sVdW9lqrLn9dyEuu95wTEKJneC1i7sRz7crPFHNNnF7Q+0M8uOPdCj10TS9eCI7u0+hxl1SSTIXYEsQS7mMXKdQqU7Uf07o7NlXFBPZmc5J5eW4ZlUpifwLAMshNF7GIOJ9LDUCV6nEqD3GRpV+tRa6PWqU2925qGIHYqDbauPWTq0nHMQ4geqj7a5P7bYYpf6D8tL0wye/4Y+clSgnOWZlUFjJXL93oASa174Pn4XrISqO/7e7O0hT9v3Vujuryp7odhMPPcoqqzzLPNWfdKA7GpdxxKHf4bfU8scYpr9qL8zBhzr56ldExZd3dziSSivrpCPTvpMipNT6ZVuT1cGSCV9TTSo6MHNvB9GlEC+U7W50DFSPcT+RL1xVK+3NZmjUoYBCGDZDrkINxFcTvN9WqYXK+SQAzLZPbCkiqNOl2OdVFkR6ecPDmrAimSA8YvyyBIdeoTqoqG7/q7T0yoah0rV+7F4vrEyVkmjs889jU/SzQwp5hu1NIDO6SWDxzvu0MerxCC7FiBmRdOMPvSKcXddntZ7yleWwdz93n3coX5mbEuTtjaqMWdEftR4PmqlEtPl4sKPMjPjDF+ep7isakuK21jeYv2Rg3fcdm8cj+R7aQGOcgd67yInHqLh+/dwqkrn7dhmcxfOs7cxSVM2+wYBVNJKFbW3nfXAbcRtjUR3S+gTg65il9O5wzPXVyKdfARKbIG5jjsok7nBCk6NaJhB11Y94EaBoXZcbITRWoPNnYFmUgZp7pL3nT+9ow/2MNDYRWy5CZKWq8l8B2X5so2mVK+73FRFlX3KUM9+9Qc5ePTcRc7t9Gmdm9d+biDgMD3qT1Yp3xyjtZmjdZGlfzMGKXjMyrmWhzMRRIFqzy6ck9VqwjF5plzx5SeuYsrq5Mc0nst09lDAoHv+WzdX+tw9bCahh7yWHu0zcP3byugS1X+dfGl09g75IB/XMlAiCg6/LEH0/Xhji8/BJbOiXcJ+dMNVKZtMX5qjvKJ2cN/8wr08CYVeTU3FjcVjzOg1io7FtyTftC3K0R2vEhpcarTglKobouTFxYZPz0Xb29vNWiFjbYCP6D+aIu1925TubVC4HoHfqi37q2xfX8j/j62MMnM+WN79kP3/DmsmWCmq4PGeu06G7ceEQSB0qsNda+deouVy/e4961rMXjzkyUWXzlDtpwfgbcHWcA2MBdHADxu5gw6eDsgjjgxUjNwsbtFNqK9+g53Tnns/QCIKK1Ghrb0HeaUHS+SKedob3fio72mQ2u9SmlpuvdZg+75RHPMz4zFXCwyuAlU5szYqTkC16dyd5XA96kvb8U6pRACv+1SubNKZrygVI29UnhjnEab9evL8Zh2PsPshSXMsMPjnsDSS6cP/2/YJrlyIc5CiuYdeD7L798NG2irKo/tajPuwhBRaW6cYy+digM2RuDtJgshlGwXgTcdWHsA2gnEStxT5xmaf7iLkkGfIvWiMrM2E+cWqNxZxQmrEHYfr9bIsEzyM+O0tzt5yFJKGitbFOYmeifw97k8wzRV3nCkW+rnAgxDMH5qlvZ2nXal0SmJm3CnsWe/ano+m3dWaVU7L6KJ4zOqNOs+7klPF5JWPKE0N87W/bVEwEVkAKw82KAS5m7rngHDMJg4McPcpeMjsXkX0hSUTgRVAsgHpHScvi5Ox6JpmCUy6OD7nrPR8we064v00OL8JLMvn2HizELcbrLXdQDkpstdhian2qK1Ves5h37F4w3LUJFcRK+WZMF8ACuXYezETAzSrgdZiAN1gHfqLbburcXf7VymY+Hdz/3YCVdScdEo6CI57TB7LDVOtpTj2MunOTbSefdEyTuvL5Sm+x2U0kfq7ibQ9OJDSIOLuH88rwTXU9dpZW3Gz8wz+/IZiscmVbke0dkrBlU+Q26qI7JG9Z4aj7Z6ttY0TFPFDKfnZCgjjxCpQBUdxEJZvzPF3kayg4YIVh5uxk2+ouydbGSI28d4adVGMeDOy9HK2Cy8cILsWD7RZaHzTx1n5zLMnF3g1GcvMnVq7siVbz2q1G1CTAP3MXTjXqJ0J5OpoxdHFup0zayhUFSUoEfZ22iSmXKe6UvHaVeamJbVtS4qjXCcxqMtAr8D2PZWHafSJDtRTESIGbap9Nx0IEfs/epTTTsc18zY5KZLtKs98pIFO3PBHuS7HpXljU4BhFDU7RdbvCPJ/huicQpTZU5+6jnWri9TD+PVQYVVZos5irPjjC1Mki3nPzYhkIOi/pFYOpB7fd4j9QJxZ7uI84l1UD2OXrx73a64bEfv6wstqMIwyIX6YBSooVvZM2MFMmOFOD46Ms40VraShd6FwLAsrFxGRXFpl6U4ktpHyE7zty7pQCjjWdziMiUp7UsHFtCqNFWCfXiYmbHijnv7WXcZyK5Y53gdU5QbK7D06hncpoPXclTB9oyFncskSryOuO7+aHflKS1WJ8q4yv7/9CFIupeS20XX9scWqcU+CvClr0+Ibr23B1cwbYv87HjXeVrr1TBooxNYYpgGdjnXxSmlH8QF6CV6wb/wlDF3FVi5TCLvWF9DhNG5H3ugxnolEQ1l5zKJptZ7Ja/t0KrUSS9YP6u7EKq/b2G6HIvs6frMI/Dujwz2IoD1AnEayGlK7bMjiGMXTvJ8wyoR0zWiEN3XuONyqN/z02NYqQffCwvrJXVayI4VYv9xRIHv44epehFgu9pphoA2rD5ZPKJT2nUvKyX9gMaWFtYpwcrZe2tXE40RVjipr1c73QQ1Cnr4vBPA1BNMRvRYZLDXhAb9Ie/1gPfjwNr3PYFYc0N0htgfkPX46H29ANJA3uVYK58hF9Y1TgR2rIQ9cyNuKiXZcl6154ivWYnDTrXZscju6BPf/Xr3Qr7rK+OVtrtp7yGnOXW+wAtUE2z/8e7ViB6PBlcgSKRbdadesyGQdwOxDDOHuh4CKeMm370ekC7XTdcDuR89cYcXVXxC9acwP4Gl1cMCcOstWhvVRFS4mbXDrCX9gqG1VU9wrF4JDfHy7TTl3eYbkud4ieolsD8/clyobmWL2uo2diETu3siCvpEnY1o8DTACl8dA5RioiL8l3oYpVQGm5TlGToqX4cba9w8YWjq95Cntqe48L4L7knZF/Yy8luW88y+dCrRNVEGkvryZmyhFqGvtjCnUhP1oH2n0ohTFNON0/dKegTXjtxPQOB6XWGdewVc3N+o4bD20QMCL2DixCyZUk6LdenTAXJEQ6GDA7hLpE6EaiABlX0WcuUUIOOHrQcQY24sU8fp50wBWaRE32FZM6O5iIglhrHL0xePM/viSfJTquJie7tBe6uemHNuokh2vJi4Tt/1qGv5rmkA7zmdco/zD/yga0yv5faN1davO0p+WLlyj8ZGjexYnskTM3Hap2EaTB6fYXxxaqTjHhLtL6E/ndIDCcu0euhkhz3pRuvQmhqHMhIN0XlQEz7A6Hg6LpaYg6YSI6Lj03OKLMgiHj8ae5eM/lTmlL49MUftR2EI8tNjZMeL1B9tUbmzSu3hJvmZsVhENTMW5aVpWlu1jjtIKm5dXpyO3VZ9JtVfJ48t1rtH0Mm0LC5U9pPXdsn0MWTF4A0CVq/eZ/PuKsIUzJxdIFPMYVoGxekyM+cXKc9PjIIwDpEGI0JrXCbScmXqZ9BsXDFXFgmu3LOrHaFIrRm/0yK5Xry7l8jdU2fez/VFHFfzz2rvHoSGZNO2GDsxy/xr58iO5WNjVrRvYW6C/NRYJ1RTqAJym9cf4rteYh0SnNgPerpntGmEGN6DBT21i9ty4o6B+lrpDeF812Pl8j3Wrj1E+pLxxek49HL63DFOfuYC40tTI/AeMhkMVA/ehcInPzI0J0XsnUEMIgYyGlal5jftB+QYCAcR6zTRPQEQob+3Opw/UiLsYpbxM/Ox5VmEfl4rYzFxdh4zm+zg0FjdZvPaw55tU1WLF2dXMXdXI5YMLc6GkRhbSsnGzUc49Xbyt7DuVGOjxr1vXWft2kMCPyA/WWL+0vFY5y9MlpQhK5X4P6Khk2EBV4HT7Gam7SU+pykKi4xAljq+51ESAiFULFYqI6qrXGj4f5kQhZNJEiJEd0JITvsg9/B8xQYl/ZA4rFTjetrYKhgDDc8dyUTnpvmpMuMn59jUejxJKdm+vULgB0ydP6b8y1KBKPB86it9ulCEorNu3d+JrJyNlbVjbh9RY7PG/bdvMPvcErlyniAIcGotKsubVB5sxJU+s6Uciy+dItOj0N4IuIdKPnDVAn4S+C+BPw6c2fWwPcVGhw9y+OTvhpl0LHTnNP3ydwn313VmDcz9gBzuJ3fRf0PbVHIy4XjJeI9QvI25c2e7blxLG6WEEIyfnsOpNalpnSWklFTurtKu1BlbmiE3UURKqD1Ypx5WtNzx1oRzVcvZG85W1iY/UYzL2ujzra1s09ysYYXc1Gu5caRY1Ito8ZXTFKbKiesf0aHTZeAvAv/QAu4B/x/gXwJ/EvhhYLLrEN1AshuI07+FiEiIhWlRWddZieKko4PZEcjQAfNOQNZPk4jB1qepj6tzepkEqH7eSIruxY16uYSi1iwzz58gcH0a65UEiNvbDdYqdzEsE4mMe+ruPUe3zw8hRx9bmGT7wXpXji6oQA/fbXYdWpguc+zFUxT2UzhgRIOmFeDvAH8ZuAZg/ov/9Da/79tfAVgF/j3wBjADnALSgars+F3frnHPiKPF3CjepimSvQoJCE0sjYfufc6kI0skeHMUbhjpq5EVOto/Fofjl4qM940uoCd4RUdkTpeg0YGb8EVH20WYRDBZwq21cLUmajEHD4Jd9UozY6sKnpbRWejwXNmMRSZj4flB+E4N9fN8htZ2AydMREi/ePRieYZlMnlqlmMvnlY9jUb0JKgJ/DPg54C/CawD/OH//q8mZcm/+t/9WPRxDPgDwJ8CXksMlQ6TTD9YKV05MlYldovE1H5cPL1dREYgbdMeuFHC9RQPJbs+pbl3QszuA150wIodQJCmlNiqWpQ4rF+9T/X+RqJkTmc5kgYtfXummGPhk+cxMmbCSi+QlAtZSsUcTccj0ArSCyFoVRrcf+uGajzWY+GEaVCYLDJ99hhjCxNddcBGdCgkga8CX0ZJyA1QwI0owWE1btwG3gL+Napm1jlgHEgBqwfn7PIPd1xA8aERF46MXtq2REhgCsgRvPYK5A4sUxyZqJ9TOF68bxLgPcEbsvI0eNP6bpobo3HqNGc2bYvCzDh2PovXdAgcr+MyCpcwamSt5x+D4uKlxSmE3iEx/H/W7ubAcd+gXIbS7Lhy+4TWbcM2yRRU8+3Z5xaZvbBEYaLYdT0jOhS6Afy/gf8O+DrgQhK8sINtSePGAngF+FkUV+50CduJG2viqJQidh2lObHao5sbx1bVHqJ1LAp3SfT9H7BEPImedK5x24T+vA/Ouyt4tYvyWg5u0yE/Wep4yzXx1ms51Fe3aa5VcJuOChCZLFOYHWPlnVs49VbCIBZxYDNjEWj5zMiIA2cTHLiz9J3vnuPitT0E6oVgZiwVfJJK0hjRodAm8H+gjFQfRBvTwI1o1zujATkDfC/wReC70KO4ermYUgEBUThl17OwA4h77fe4QI7PlQKxvhyREbcX9z0oeKWQCGFQe7DB+tX7zL98JgZxlzlNgPTDLgxC5RN7LYf7X7uC22gnAVzKsfD6+biTYTR3uQuAtYXYaZFGdHjkoGxQXwL+I2HX0H7AjWjPt0gD8iTwh1AW65fiHVKhjemwPh3Euh9VP17qY/WL790ByKnN4ffel6iDOB1a2Z+DJgEc/b4n8Ib/rb5/h42bD8mPl5h/5QzZsUIMYjWXDjh19d1ttnnwtau4zTSA84oD2502NOpQSTm/C4BHdFToTeAvAL8EVGF34Ea05yisP/o//e/Rx03grwC/D/h/AQ+ApO6ru5l0qywSIcJgy7SbUtOBhUiWmElEWGljoj+wMoRBKtSyX/phx2Ld+db5RzzneBygn9EqvX8/8AaOT3OzGhqR6jx6+yatrTpG+J+QogNkDaQQdnfwd+gplDKcjaD6VNA94H9EYelvs0/wwgHvc0o//iRKP/79gHIS9tKNU9yBXURq/dhe2UrqQ29jV+SYFSkwdPlj6bZS9xKdZVoa2I37JkK11B8Dg+ZmjXtfv0zg+fErI1PMMfv8SUrzk+ELSMagj7mwgPqjLZbfvJGoeimlJFsuMP/Jc5i21fGhhy+70ogDH1WqAv8Y+HmUsVjC/oAb0WPdUQ3IOeD7UH6qbwfMnlkxesTVHkRq/XO/MMGdrNYdIPcxSOnniZ3TGvZ0bt/D8r0f0VkgcJttHr55neZGNc5QioI6Js8cY+LUXOgO0uLCw+mtfXiXrVuPugxRuYkiC588r9w80fVIJYmU8pkRgI8WecBvoPTcX0Z5ew4E3Ige+45qIAaYBn4E+BngEjBQbiwTP/VKP+wH5I5+3O+Co9Q+EaI92q8TcJIUa3fTfdPgjf2v23WW375OOyylo49XmBlj4vQ8uemyCswACFQRukdv38RrOUkAB5LC7Bjzr50N15VEdtaIAx8p+gD4BeAfABvweMCNaGB3NAXk88CfAH4UmAW6lV6NG0u5A4jTx2pATlTe0C9oByALehvIdAB31ZjaAbzpbfE0QwAbPcwMzc0qj969Fdd51iO1DMskP1kiPzOGlcvgNtpU760l3EfxOQJJeWmamRdPoi3mCMBHix6h9NtfRPl2gcGAF4Zg69CAbAKfR4nVvxfI7QRiQm4sZW9rcvrYfumHHT003tAHyCCETIQYRqJ2BOBeRqudAKzPIWqSFr0q0q+M1nadlfdv0dTqSsfXE4nyqRDMNEkpmTx/jMlzxzrHjQB8VKiBip76MvA1IIDBATeiod1RDchF4AdR/uNPA3vgxigg76Ibp63N/R74BFfWNsbR0CmXVLR/4rg+II7OtROI1eGiC8Ruo8Xq5buJjKRe19YPvMIQzL18huLChIrc0gCMlBRHAH4SFKDCH7+EimTsCn8cJO29GPA+SQvLdIF3gX+FckGdR4jxnjpq+FlZcSNLbAp7KddUZ3MyqGLvQO7D8eO5RAyx23CV3LVHMgNJEKONo4xXNoUZVYKmXW0QeEHiHLsVt7PzqmhA3P5FvyYpydi9kxlGNDS6Tif88Q36hD8Okg7ljqb045dRbqc/BIwNRKxO6cW9OFlPH6nOXftx4xjEycwj/Vx99eE4H7o3J9alhuZ6hfVrD2huVHcUm6PFkVIyfnqO6UvHO9cZcWCAIKCYz1IsZmmNOPCwaYNO+OOH0cZhAjeiQ72jqbDM7wH+DPCdgNUXyPuwVPcSqZO76kCiJzcWjwnivi6lXUAM4DselQdrbN9Zxak1lVic9kmHQM2Uciy8dg67lNMCXbQ1GAH4MMgB/h1KXP5P7DH8cZA0NBG6F2litY9KSP6XwB3gDELM9XP9dPTRHtw4JUbrn3vqpWnLddrIFZ+3RzCw5leOxutVv6pXUEcvcVqfs5SqeXhuokRxbhyrkFX5wF6gUgzDIDFhCLJjBaYvHSc7UUiCNkGSjDUSoYdI3wL+e1Q04hWGZKTajZ7YHU2J1WdQJX1+HFgAuv3H6NxYGbkSz2MPcVp97c15urgxdInUkcsp+knn2vvxDcf705l/AuDaXz0uOnB9nFqTdqWJ13IAsAoZ8lNlzKytBW5o16RdXzGXGXHgwdNd4K8BfwMVCgkcPnAjeuJ3VAOygbJSfxEVG1roJVbvqBv3cTVFn3cVqfXBhghidQlS072TbqYopLITDKrHfAcJwGoZicnaYlJSzGcoFkYAHhBVSIY/Ak8OuBEdmTuqATkP/B6U//jbAKMnNybpcuoJ4h4hmGkD0Z5ArInTEYiVm+gAIE75xtJA1ucZRXDpPu9kTWztenpc5wjAAyEP+HU64Y8OPHngRnSk7mhKrJ5FRXL9CVRkV29waty4p0gdf+3/vcuwldKJo6CP3iDuXRerKzJrB26sLkMzWBGFReoqQxLIcbL9Dtc4AvBj0/t0wh83o41HBbxwxAAcUQrIl4CfRpW+neqvG3cHXO0lsymxEJrftyeIe4jTu4EYenP7+Lw9AkzUznRx3njuPcAb7afTCMAHpkfA30KlzQ48/HGQdKTvqAZkC/gCSj/+3UA2XUBgL1U/9rMYfUHcxYkVeOOUwxSI1X47c+NonzTtFcAJXT++FhWJNQLwvqgB/AtU+OPXeUKW5f3QU3FHNSCXgP8cFQjyqdiKdQAQ606iXosQpfaL/YB4Fz+x2n8XsbqDwE4yf9gXOW1t7upjpI8VhlKOrNB7ogD4Cgq4/wpVxvVIAzeip+aOpsTqRZTL6Y8h5WmgE8RPDxdTRPsAsdT3icTvWJTeG4jVb72DO9IVN3q6nHoAWEqI63aEeb+97uIIwHuma6hC6X8HVTgdeDrAC08RgCNKAflF4E8i5Q9LmBBSqoZpkXgZGaR0SnGq9POvqaCd33tw4Wh4tM+6Hp1OgkgDdS/6cbRdFXnvtGqJ+yqHE4yvIXqBIEcA3p02gL+HCn+8HG18WoAb0VN7R2MgS2kjxHdK+DMCvkdKaUc1lROGHi0CK017AnH0WePCvWKn1V+t7nU4YD+Om85o0rdF+0fg1UXnSGROv5/UsZ2SOiMAd1EbFf74ZZ5Q+OMg6am/oxpHHpfwBwX8rJTyZSQqFHG3xICQIpE0EahBB8Q6506DWB9fB2xXvHUfIO+kH0spCeJQSk10Dk8t6fFSCMco5UeRWCn6Jqr64z/lAAXkjiI9E3c0IVZLTiH4o8AfkVIuqjzZ3pUpd12Y9APfpzCA2j9lRIqCM0LROlEYT/QWnXvFbesVOWUCxNrLpc/8RwCO6S7wV1Hhj/ejjU87eOEZAXBEEZCllEII8Sngi1LKHwSKgR90AXkvD3RXdFa/elt0J0DoInW0T6JZWx8g68dEIrQ+d5nivF1zDl8WpcLH3g9cAf5P4H/lCIU/DpKeyTuqATknhPg9wM9JKX+HlNKQflKs3iugExy5lz7dw8Wk/ZQYPwHklLU6PZdEmmDIhWPdXDNs6RMdATgOf/xfgF/hiIU/DpKe2Tuqi9VSylkhxH8F/LSU8rwMZF/9eLeCAF1A7ilSp9qTxselLNV6XHQK5AmLs2bEklGCQ8yGO8d2anip+O1y4WMZyHHkwx8HSc/8He0RlvkzwH8hpZyK+u/uGcgJnZekm0pzG+nJgWlduheQ+4nV0OGyEfcNNBbcs+NEnFwB5Y+XFXqZTvXHm9HGZxW4ET3Td1QnTay2hBDfjtKPvx9JVll55Z4s1jqQE/rxPnTjaHtfIKdiOmWQbBsTtx7V5pTWn4VAceBnH8AN4J+j3EJv8BSEPw6Snsk72o9SYnVJCPGDKLfTp6WUQnFkSPt3e1Hf8jw7Wap30Y+j0aQmWad1X90nnByne9yxYu5ZBnAA/DYKuP+apyj8cZD0TN3RvVIKyAtCiB8D/riU8uxO+nGaEr7caGMvbhxu7+dyig4Tqf2icySszn1K6HQHiDzTAL4G/CVU+ONqtPHjBl74mAI4opT/+AUEPw38iJRyKrJW7xXIe+XG0T7povKdY0kYuCIAR+dJpxn2m9czCuB1VPjj/8ZTHP44SHrq7+ggqId+/HNKP5aZQPPBHpgbR5+17TuK1WibduC+O5UJesYAHIU/fgn4TZ7y8MdB0lN7RwdNKbG6LIT4IeBPSylf269YvV9urL72SivqBHOmfb6yz0vlGQRwV/gjjMAb0VN5R4dJKSCfEEL8JPBfSymXdnI76bRfbgyRWE0cKtkLmKpOdGecXq6uZ0gHvoMKf/ybPGPhj4Okp+qOHialwjJfR3Hj34+Upf2I1XvhxsnkiAijaVdR8kMvfv2MALgC/CNU+OPb0cYRcHvTU3FHnySlwjK/H+U//nYZSHMvYnUXN+4TjqlzXUGSScdcP+S+u5XIJayk+ZQB2AN+DaXnPtPhj4OkI31HjxJpQJ4WQvwI8DNSykv7Eav3xI3DYA59S2y8enYB/B6d8MctGAF3r3Rk7+hRpB5NzH9KSvmjSOb0aK7HBrEeUx2lEKY5d/qYpxPAy3SqP35swh8HSUfujj4NpHFjQwjxeZR+/ANSynw62ylNXaGY/URqIeJOC8ik8Soap9f4QkRF/Y40gBvAP0NZlz924Y+DpCNzR59G0oBcEEL8AEo//pwMArGjWK1Zmvtx4gSAo9/0IUiGW6ZL8xxRI1YU/vgl4N/wMQ1/HCQ98Tv6tFNKrJ4HfkxK+VNIeXY3a3Xss4X+/uLOzn1THdXhaQALxopHKpnhI1T449/lYx7+OEgaAXhAlALyCygj14/IQE7uZK3eFcS68Sr6Dn3F52gXwzgy2UjrwP8PFf54Jdo4Au5gaATgAVMqLPM7UGGZ3yeDILNb7rEIt+tATevI/V4Eyc6HYDz5dMI28G/phD/6MALuoGkE4CGRxpHLwA9JKX8WKV/vJ1b3BLH6AeiIxnqljp2qWT7hfOBv0Al/rMEIuMOiEYCHSCmx+jjwE1LKPyqlPB5Zq3cShSFV21rbpu93hAB8B+US+pvAg2jjCLzDoxGAD4FisToIhDCM11Bupx+SQVBKV9eAPu6lHegIAHibTvjjO9HGEXCHTyMAHyJpHDkLfL+U8ueQ8tuDQJppoAoNwLv1Fo6oU9Tu0GpiecCvovTcX2UU/njoNALwIVNKrJ5GFRD4aaR8Pq7/DJ2c4R6ZRzu5pOKiekIOG8DvosIf/yFh+COMwHvYNALwE6IUkM+hSvr8mAzkfMx1tR12A7D6ofNhiAB+SCf88Va0cQTcJ0MjAD9hSoVlfkZK+UXg98kgyOuNvBOtUHv0V0p2eWAYAK7TCX/8BqPwxyNBIwAfEdI4cgH4v4T68edkIEUi4gq6Ct9FPwwJwAHwWyg9998yCn88UjQC8BGiHmGZPy6l/CkZyDMJsTqKk9byDpOW6IEB+Cqd8Me1aOMIvEeHRgA+gpQC8ieklH8K+GEZBBNRm1EIkyGMXgatxwbwGgq0fwkFYmAE3KNIIwAfYdKAbAPfKaX8IlJ+r5QyIyKpWvSKrz4wgFuoLKEvobKGRuGPR5xGAH4KSAPyGPAHpJQ/C7wa9lrp6r90AABLVF7ul1FtSuowAu7TQCMAPyUUW6sBASeAn0TK/xpYioAMgJbQv0cA30K5hP4WykUEjMD7tNAIwE8ZxdxYSoEQrwE/i5Q/JKUsA4iwBekeALyFqkH1C6iaVMAIuE8bjQD8lFIqLPP7gD+LlN8upTQIK3L0AbAL/DJKz/318PsIuE8pjQD8FJMWBIJhiBkkPyal/BmkPAs9OfDbwM8D/xiVgDAC7lNOIwA/A/Q3/u8/TiAllbrDRCn7iSCQP0sQ/OFSPjMRAvhuEMi/IYT468Dd6LgReJ9+GgH4GaK//ef/CJ4fkM/ZmWaj9YOlfOZ/KBayj1qu9+ebLf+3sxlTwgi4zxL9/wECw0edjJJwrgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII="></image><style>@media (prefers-color-scheme: light) { :root { filter: none; } } +@media (prefers-color-scheme: dark) { :root { filter: none; } } +</style></svg> \ No newline at end of file diff --git a/pkgdown/favicon/site.webmanifest b/pkgdown/favicon/site.webmanifest new file mode 100644 index 000000000..4ebda26b5 --- /dev/null +++ b/pkgdown/favicon/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/pkgdown/favicon/web-app-manifest-192x192.png b/pkgdown/favicon/web-app-manifest-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d35ade7109467e9b8171b269b6e794b544c152 GIT binary patch literal 19355 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 P00000NkvXXu0mjfrc+2Z literal 0 HcmV?d00001 diff --git a/pkgdown/favicon/web-app-manifest-512x512.png b/pkgdown/favicon/web-app-manifest-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9f2f6877ad2d542790090412856d42720a5edb GIT binary patch literal 93595 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 literal 0 HcmV?d00001 From 7a6ffe4c64e7143ea31031cc8d5a0ba8359db5af Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Tue, 26 Nov 2024 12:33:44 -0700 Subject: [PATCH 57/61] Qualify url so the link works in rstudio --- R/build-quarto-articles.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/build-quarto-articles.R b/R/build-quarto-articles.R index 02c681c65..72b39980b 100644 --- a/R/build-quarto-articles.R +++ b/R/build-quarto-articles.R @@ -11,7 +11,7 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { if (pkg$bs_version < 5) { cli::cli_abort(c( "Quarto articles require Bootstrap 5.", - "i" = "See details at {.url pkgdown.r-lib.org/articles/customise.html#getting-started}"), + "i" = "See details at {.url https://pkgdown.r-lib.org/articles/customise.html#getting-started}"), call = NULL ) } From 6e1613c6069886278c25a0c258f744142a1ad390 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Fri, 29 Nov 2024 07:00:58 -0700 Subject: [PATCH 58/61] Test math rendering in examples (#2751) Part of #2704 --- R/test.R | 18 ++++++++++++++++-- man/index.Rd | 1 + man/test-crayon.Rd | 1 + man/test-dont.Rd | 1 + man/test-figures.Rd | 1 + man/test-links.Rd | 1 + man/test-lists.Rd | 1 + man/test-long-lines.Rd | 1 + man/test-math-examples.Rd | 33 +++++++++++++++++++++++++++++++++ man/test-output-styles.Rd | 1 + man/test-params.Rd | 1 + man/test-sexpr-title.Rd | 1 + man/test-tables.Rd | 1 + man/test-verbatim.Rd | 1 + pkgdown/_pkgdown.yml | 1 + 15 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 man/test-math-examples.Rd diff --git a/R/test.R b/R/test.R index b3e01d286..db9928ddd 100644 --- a/R/test.R +++ b/R/test.R @@ -129,7 +129,7 @@ NULL #' x <- 4 #' } #' x # should be 1 -#' +#' #' # \dontshow{} ------------------------------------------------------- #' # never shown, always run #' @@ -145,7 +145,7 @@ NULL #' # If FALSE, wrapped in if; if TRUE, not seen #' #' x <- 1 -#' +#' #' @examplesIf FALSE #' x <- 2 #' @examplesIf TRUE @@ -275,3 +275,17 @@ NULL #' @keywords internal #' @family tests NULL + +#' Test case: math rendering in examples +#' +#' @param x \eqn{f(x) > 0}: inline equation +#' +#' @details +#' Display equation: +#' +#' \deqn{y = \alpha + \beta X + \varepsilon} +#' +#' @name test-math-examples +#' @keywords internal +#' @family tests +NULL diff --git a/man/index.Rd b/man/index.Rd index 71dc7bcba..da52d62fc 100644 --- a/man/index.Rd +++ b/man/index.Rd @@ -15,6 +15,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-crayon.Rd b/man/test-crayon.Rd index aa779cb85..1597f40ea 100644 --- a/man/test-crayon.Rd +++ b/man/test-crayon.Rd @@ -22,6 +22,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-dont.Rd b/man/test-dont.Rd index e4b923f7f..c0b63c0ec 100644 --- a/man/test-dont.Rd +++ b/man/test-dont.Rd @@ -72,6 +72,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-figures.Rd b/man/test-figures.Rd index 208b1a3e6..fce8b4294 100644 --- a/man/test-figures.Rd +++ b/man/test-figures.Rd @@ -22,6 +22,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-links.Rd b/man/test-links.Rd index 55ef9507e..201255be3 100644 --- a/man/test-links.Rd +++ b/man/test-links.Rd @@ -22,6 +22,7 @@ Other tests: \code{\link{test-figures}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-lists.Rd b/man/test-lists.Rd index edef2f8c7..f3dbdce2d 100644 --- a/man/test-lists.Rd +++ b/man/test-lists.Rd @@ -55,6 +55,7 @@ Other tests: \code{\link{test-figures}}, \code{\link{test-links}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-long-lines.Rd b/man/test-long-lines.Rd index 39cd7cb03..660f29363 100644 --- a/man/test-long-lines.Rd +++ b/man/test-long-lines.Rd @@ -23,6 +23,7 @@ Other tests: \code{\link{test-figures}}, \code{\link{test-links}}, \code{\link{test-lists}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-math-examples.Rd b/man/test-math-examples.Rd new file mode 100644 index 000000000..de64ccaae --- /dev/null +++ b/man/test-math-examples.Rd @@ -0,0 +1,33 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/test.R +\name{test-math-examples} +\alias{test-math-examples} +\title{Test case: math rendering in examples} +\arguments{ +\item{x}{\eqn{f(x) > 0}: inline equation} +} +\description{ +Test case: math rendering in examples +} +\details{ +Display equation: + +\deqn{y = \alpha + \beta X + \varepsilon} +} +\seealso{ +Other tests: +\code{\link{index}}, +\code{\link{test-crayon}}, +\code{\link{test-dont}}, +\code{\link{test-figures}}, +\code{\link{test-links}}, +\code{\link{test-lists}}, +\code{\link{test-long-lines}}, +\code{\link{test-output-styles}}, +\code{\link{test-params}}, +\code{\link{test-sexpr-title}}, +\code{\link{test-tables}}, +\code{\link{test-verbatim}} +} +\concept{tests} +\keyword{internal} diff --git a/man/test-output-styles.Rd b/man/test-output-styles.Rd index 674cdc0ef..dc6645ab8 100644 --- a/man/test-output-styles.Rd +++ b/man/test-output-styles.Rd @@ -31,6 +31,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, \code{\link{test-tables}}, diff --git a/man/test-params.Rd b/man/test-params.Rd index 3439897b3..393a2390c 100644 --- a/man/test-params.Rd +++ b/man/test-params.Rd @@ -18,6 +18,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-sexpr-title}}, \code{\link{test-tables}}, diff --git a/man/test-sexpr-title.Rd b/man/test-sexpr-title.Rd index ad502afa3..f64961005 100644 --- a/man/test-sexpr-title.Rd +++ b/man/test-sexpr-title.Rd @@ -15,6 +15,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-tables}}, diff --git a/man/test-tables.Rd b/man/test-tables.Rd index 5a27a2ad9..cf3e14784 100644 --- a/man/test-tables.Rd +++ b/man/test-tables.Rd @@ -18,6 +18,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/man/test-verbatim.Rd b/man/test-verbatim.Rd index a2d74128b..6ece64f32 100644 --- a/man/test-verbatim.Rd +++ b/man/test-verbatim.Rd @@ -45,6 +45,7 @@ Other tests: \code{\link{test-links}}, \code{\link{test-lists}}, \code{\link{test-long-lines}}, +\code{\link{test-math-examples}}, \code{\link{test-output-styles}}, \code{\link{test-params}}, \code{\link{test-sexpr-title}}, diff --git a/pkgdown/_pkgdown.yml b/pkgdown/_pkgdown.yml index ef9b21dca..7bd5bcd6d 100644 --- a/pkgdown/_pkgdown.yml +++ b/pkgdown/_pkgdown.yml @@ -17,6 +17,7 @@ authors: template: bootstrap: 5 + math-rendering: mathjax light-switch: true bslib: primary: "#0054AD" From dfa28bef27858bd442334b5cce8f645d555914be Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Sun, 1 Dec 2024 15:25:49 -0700 Subject: [PATCH 59/61] Provide a way to force site cleaning (#2827) Closes #2699 --- NEWS.md | 1 + R/clean.R | 7 ++++--- man/clean.Rd | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/NEWS.md b/NEWS.md index 912ba9775..979a0e0d8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ # pkgdown (development version) +* New `clean_site(force = TRUE)` for cleaning of `docs/` regardless of whether it was built by pkgdown (#2827). * Links to favicons in page headers were updated to reflect changes to https://realfavicongenerator.net/ (#2804). Favicons should be re-generated by manually removing the `pkgdown/favicon` directory and then running `pkgdown::build_favicons()`. * The language of the site is set from the first `Language:` in the `DESCRIPTION` if it is available and no other language is specified (@jonthegeek, #2808). diff --git a/R/clean.R b/R/clean.R index b8472fb34..6ed83b5b8 100644 --- a/R/clean.R +++ b/R/clean.R @@ -3,10 +3,11 @@ #' Delete all files in `docs/` (except for `CNAME`). #' #' @param quiet If `TRUE`, suppresses a message. +#' @param force If `TRUE`, delete contents of `docs` even if it is not a pkgdown site. #' @inheritParams build_site #' @rdname clean #' @export -clean_site <- function(pkg = ".", quiet = FALSE) { +clean_site <- function(pkg = ".", quiet = FALSE, force = FALSE) { pkg <- as_pkgdown(pkg) @@ -17,7 +18,7 @@ clean_site <- function(pkg = ".", quiet = FALSE) { if (!dir_exists(pkg$dst_path)) return(invisible()) top_level <- dest_files(pkg) - if (length(top_level) > 0) { + if (length(top_level) > 0 && !force) { check_dest_is_pkgdown(pkg) } @@ -60,7 +61,7 @@ check_dest_is_pkgdown <- function(pkg) { cli::cli_abort(c( "{.file {pkg$dst_path}} is non-empty and not built by pkgdown", "!" = "Make sure it contains no important information \\ - and use {.run pkgdown::clean_site()} to delete its contents." + and use {.run pkgdown::clean_site(force = TRUE)} to delete its contents." ) ) } diff --git a/man/clean.Rd b/man/clean.Rd index b6d8b0710..43572143a 100644 --- a/man/clean.Rd +++ b/man/clean.Rd @@ -5,7 +5,7 @@ \alias{clean_cache} \title{Clean site} \usage{ -clean_site(pkg = ".", quiet = FALSE) +clean_site(pkg = ".", quiet = FALSE, force = FALSE) clean_cache(pkg = ".", quiet = FALSE) } @@ -13,6 +13,8 @@ clean_cache(pkg = ".", quiet = FALSE) \item{pkg}{Path to package.} \item{quiet}{If \code{TRUE}, suppresses a message.} + +\item{force}{If \code{TRUE}, delete contents of \code{docs} even if it is not a pkgdown site.} } \description{ Delete all files in \verb{docs/} (except for \code{CNAME}). From 4ed37469e87c3ab813dc954da388242a873738ab Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Tue, 10 Dec 2024 13:08:08 -0700 Subject: [PATCH 60/61] Better support for rmd/qmd articles (#2826) Closes #2821. Closes #2733 --- .Rbuildignore | 3 +++ .github/workflows/R-CMD-check.yaml | 3 ++- .github/workflows/test-coverage.yaml | 3 ++- .gitignore | 1 + NEWS.md | 1 + R/build-quarto-articles.R | 6 ++++++ pkgdown/_pkgdown.yml | 1 + tests/testthat/test-build-quarto-articles.R | 19 ++++++++++++++++++- vignettes/articles/.gitignore | 3 +++ vignettes/articles/test-quarto-article.qmd | 6 ++++++ vignettes/articles/test-rmarkdown-article.Rmd | 6 ++++++ 11 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 vignettes/articles/.gitignore create mode 100644 vignettes/articles/test-quarto-article.qmd create mode 100644 vignettes/articles/test-rmarkdown-article.Rmd diff --git a/.Rbuildignore b/.Rbuildignore index 620b2328e..84163ab97 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -21,3 +21,6 @@ ^tools$ ^\.lintr.R$ ^vignettes/\.quarto$ +^vignettes/articles/\.quarto$ +^vignettes/articles/*_files$ +^vignettes/articles$ diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 11411bea0..377bb63c5 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -45,7 +45,7 @@ jobs: - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 - + - uses: r-lib/actions/setup-tinytex@v2 - uses: r-lib/actions/setup-r@v2 @@ -58,6 +58,7 @@ jobs: with: extra-packages: any::rcmdcheck needs: check + quarto-version: 1.6.32 - uses: r-lib/actions/check-r-package@v2 with: diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index eb25110b7..9dfa2d652 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -29,7 +29,8 @@ jobs: with: extra-packages: any::covr, any::xml2 needs: coverage - + quarto-version: 1.6.32 + - uses: r-lib/actions/setup-tinytex@v2 - name: Test coverage diff --git a/.gitignore b/.gitignore index df027dcf3..baa1d4b10 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ inst/doc docs /.quarto/ +**/.quarto/ diff --git a/NEWS.md b/NEWS.md index 979a0e0d8..900f4af38 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ # pkgdown (development version) +* Articles (i.e., vignettes in `vignettes/articles`, created by `usethis::use_article()` and available on pkgdown sites but not included in a built package) have improved test cases (thanks to @venpopov and @ethanbass). * New `clean_site(force = TRUE)` for cleaning of `docs/` regardless of whether it was built by pkgdown (#2827). * Links to favicons in page headers were updated to reflect changes to https://realfavicongenerator.net/ (#2804). Favicons should be re-generated by manually removing the `pkgdown/favicon` directory and then running `pkgdown::build_favicons()`. * The language of the site is set from the first `Language:` in the `DESCRIPTION` if it is available and no other language is specified (@jonthegeek, #2808). diff --git a/R/build-quarto-articles.R b/R/build-quarto-articles.R index 72b39980b..148fbb318 100644 --- a/R/build-quarto-articles.R +++ b/R/build-quarto-articles.R @@ -42,6 +42,12 @@ build_quarto_articles <- function(pkg = ".", article = NULL, quiet = TRUE) { } output_dir <- quarto_render(pkg, src_path, quiet = quiet) + # check for articles (in the `vignette/articles` sense) + article_dir <- fs::path(output_dir,"articles") + if (fs::dir_exists(article_dir)){ + fs::file_move(dir_ls(article_dir), output_dir) + } + # Read generated data from quarto template and render into pkgdown template unwrap_purrr_error(purrr::walk2(qmds$file_in, qmds$file_out, function(input_file, output_file) { built_path <- path(output_dir, path_rel(output_file, "articles")) diff --git a/pkgdown/_pkgdown.yml b/pkgdown/_pkgdown.yml index 7bd5bcd6d..b19f8e68d 100644 --- a/pkgdown/_pkgdown.yml +++ b/pkgdown/_pkgdown.yml @@ -52,6 +52,7 @@ articles: easily be tested automatically. contents: - starts_with("test") + - starts_with("articles/test") reference: - title: Build diff --git a/tests/testthat/test-build-quarto-articles.R b/tests/testthat/test-build-quarto-articles.R index 2caa1e781..317abd9d5 100644 --- a/tests/testthat/test-build-quarto-articles.R +++ b/tests/testthat/test-build-quarto-articles.R @@ -83,7 +83,7 @@ test_that("quarto articles are included in the index", { suppressMessages(build_article("vig1", pkg)) index <- build_search_index(pkg) - + expect_equal(index[[1]]$path, "/articles/vig1.html") expect_equal(index[[1]]$what, "Heading 1") expect_equal(index[[1]]$text, "text") # some is a stop word @@ -103,3 +103,20 @@ test_that("quarto headings get anchors", { headings <- xpath_xml(html, "//h2|//h3") expect_equal(xpath_attr(headings, "./a", "href"), c("#heading-1", "#heading-2")) }) + +test_that("can build quarto articles in articles folder", { + skip_if_no_quarto() + + pkg <- local_pkgdown_site() + pkg <- pkg_add_file(pkg, "vignettes/articles/vig1.qmd") + pkg <- pkg_add_file(pkg, "vignettes/vig2.qmd") + pkg <- pkg_add_file(pkg, "vignettes/articles/vig3.rmd") + pkg <- pkg_add_file(pkg, "vignettes/vig4.rmd") + + suppressMessages(build_articles(pkg)) + + expect_true(file_exists(path(pkg$dst_path, "articles/vig1.html"))) + expect_true(file_exists(path(pkg$dst_path, "articles/vig2.html"))) + expect_true(file_exists(path(pkg$dst_path, "articles/vig3.html"))) + expect_true(file_exists(path(pkg$dst_path, "articles/vig4.html"))) +}) diff --git a/vignettes/articles/.gitignore b/vignettes/articles/.gitignore new file mode 100644 index 000000000..ba7abf328 --- /dev/null +++ b/vignettes/articles/.gitignore @@ -0,0 +1,3 @@ +*.html +*.R +*_files diff --git a/vignettes/articles/test-quarto-article.qmd b/vignettes/articles/test-quarto-article.qmd new file mode 100644 index 000000000..086966cfb --- /dev/null +++ b/vignettes/articles/test-quarto-article.qmd @@ -0,0 +1,6 @@ +--- +title: "Test Quarto article" +format: html +--- + +This article should appear on the pkgdown site but not in the built package. diff --git a/vignettes/articles/test-rmarkdown-article.Rmd b/vignettes/articles/test-rmarkdown-article.Rmd new file mode 100644 index 000000000..67c2ea2de --- /dev/null +++ b/vignettes/articles/test-rmarkdown-article.Rmd @@ -0,0 +1,6 @@ +--- +title: "Test Rmarkdown article" +output: html_document +--- + +This article should appear on the pkgdown site but not in the built package. From 5c03b7444923f7c797b8b283e175f8eed63797a7 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth <jay.hesselberth@gmail.com> Date: Fri, 13 Dec 2024 10:03:48 -0700 Subject: [PATCH 61/61] Update NEWS.md --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 900f4af38..9ff5b63ff 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,7 @@ * Articles (i.e., vignettes in `vignettes/articles`, created by `usethis::use_article()` and available on pkgdown sites but not included in a built package) have improved test cases (thanks to @venpopov and @ethanbass). * New `clean_site(force = TRUE)` for cleaning of `docs/` regardless of whether it was built by pkgdown (#2827). * Links to favicons in page headers were updated to reflect changes to https://realfavicongenerator.net/ (#2804). Favicons should be re-generated by manually removing the `pkgdown/favicon` directory and then running `pkgdown::build_favicons()`. +* Reinstate Rd macro loading, which was accidentally disabled in v2.1.1 (#2782). * The language of the site is set from the first `Language:` in the `DESCRIPTION` if it is available and no other language is specified (@jonthegeek, #2808). # pkgdown 2.1.1