The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
svg_to_pdf() exports a card to a
vector PDF via rsvg::rsvg_pdf(), mirroring
svg_to_png() (sanitizes the SVG and embeds WOFF2 fonts).
For Chrome-based rendering, svg_to_pdf_chrome() remains
available (#17).save_card_for_knitr() now accepts
format = "pdf" (in addition to "svg" and
"png"), using Chrome when available and
svg_to_pdf() otherwise.The Chrome-based conversion pipeline
(svg_to_png_chrome(), svg_to_pdf_chrome(),
batch_svg_to_*_chrome()) was reworked:
Sys.sleep(): the page load event and
document.fonts.ready are awaited, so screenshots/PDFs are
never captured before web fonts finish rendering, and no time is wasted
over-waiting. The load_wait argument now means an
extra wait after readiness and defaults to 0; a new
timeout argument (default 10s) bounds the readiness
wait.data: URLs instead of temporary HTML files and
file:// navigation (a temp file is used only for very large
documents), avoiding path/permission issues on Windows.background = "transparent",
svg_to_png_chrome() now produces a PNG with a true alpha
channel (previously the backdrop was flattened).svg_to_formats(formats = "pdf") now reuses
svg_to_pdf() for the vector path and warns explicitly when
it falls back to a rasterized PDF via magick.magick and rsvg moved from
Imports to Suggests: they are only needed for
raster/PDF export, which is already guarded by
requireNamespace(). This lightens the install footprint and
matches the package’s “heavy deps in Suggests” convention (#19).svg_card() now sizes badges using
value_fontsize instead of a hard-coded 10,
preventing clipped/misaligned badge text when
value_fontsize differs from 10 (#18).is_light_color() now reports an unknown color name with
a clear cli error instead of letting col2rgb()
raise a raw base error (#20)..onLoad() no longer tries to download the Jost font
from Google Fonts when it is not installed on the system. Network access
at load time is against CRAN policy and produced a non-suppressible
startup message on machines without the font (the cause of the spurious
WARNINGs on the CRAN r-oldrel-macos-arm64 checks for 0.2.4). Fonts are
registered on demand when a card is rendered, as before./stargazers page answers 404 to the HEAD requests
CRAN’s URL checker uses.R CMD check. When a check is detected (via the
_R_CHECK_PACKAGE_NAME_ environment variable),
font_cache_dir() routes downloads to a session-specific
temporary directory. This resolves the donttest additional
issue where examples (install_fonts(),
svg_to_png(), save_svg()) left
*.woff2 files under ~/.cache/R/cardargus/.
Interactive and normal use is unchanged (the persistent cache is still
the default).create_badge() now accepts CSS gradient background
colors; previously is_light_color() was evaluated before
gradient detection and aborted in col2rgb() (#14).css_gradient_to_svg() with a single color now produces
a solid gradient of that color instead of falling back to white-to-black
(#4).utils.R
(compress_number(), escape_xml(),
text_width(), text_height(),
wrap_text()) no longer error on NULL,
NA, or length > 1 input (#2).is_light_color() now validates its input and errors
clearly on NA, NULL, or invalid hex strings
instead of returning NA/TRUE silently
(#5).gfonts are now cached with
their real file extension, so @font-face declares the
correct format() (#3).xml2 (a
new soft dependency in Suggests) with a regex fallback, making them
robust to attribute order, quoting, units
(px/%), whitespace and viewBox-only sizing.
Affects parse_svg_root_dim(),
detect_svg_fonts(), load_svg_for_embed(), the
logo rows and custom-icon sizing (#13).generate_id() is now deterministic (session-local
counter) instead of using runif(), improving
reproducibility (#12).footer_logos_svg placeholder in
svg_card() (#6).tests/testthat/ suite covering the pure
utilities (#9).@param tags in
svg_card() and a lifecycle reference without
the dependency (#7, #8). Documentation regenerated with roxygen2
8.0.0.All functions now follow snake_case naming convention.
The old function names have been removed.
| Removed function | Use instead |
|---|---|
house_icon_svg() |
icon_house() |
building_icon_svg() |
icon_building() |
construction_icon_svg() |
icon_construction() |
map_pin_icon_svg() |
icon_map_pin() |
money_icon_svg() |
icon_money() |
badge_svg() |
create_badge() |
badge_row_svg() |
create_badge_row() |
setup_cardargus_fonts() |
setup_fonts() |
install_cardargus_fonts() |
install_fonts() |
cardargus_font_cache_dir() |
font_cache_dir() |
register_knitr_engine() |
register_cardargus_knitr() |
Added headless Chrome support for superior font rendering via the
chromote package.
svg_to_png_chrome() - Convert SVG to PNG using headless
Chromesvg_to_pdf_chrome() - Convert SVG to vector PDF using
headless Chromechrome_available() - Check if Chrome/Chromium is
availableensure_chrome() - Check and optionally download Chrome
for Testingfind_chrome_path() - Find Chrome executable on the
systemWhen Chrome is not installed, use
ensure_chrome(download = TRUE) to automatically download
“Chrome for Testing” (~150MB). This standalone Chrome distribution is
cached locally and works without system installation.
All user-facing messages now use the cli package for
better formatting: - Informative error messages with suggestions -
Progress indicators for downloads - Structured output with bullets and
formatting
Made it clearer that you can use your own SVG files for logos and icons:
# Use any SVG file path for logos
svg_card(
title = "My Card",
logos = c("/path/to/logo1.svg", "/path/to/logo2.svg"),
...
)
# Or for icons in fields
svg_card(
title = "My Card",
fields = list(
list(list(label = "Name", value = "Test", with_icon = "/path/to/icon.svg"))
),
...
)All knitr/Quarto functions now support an engine
parameter:
include_card() - Added engine
parameterinclude_card_png() - Added engine
parametersave_card_for_knitr() - Added engine
parametercard_to_grob() - Added engine
parameterEngine options: - "auto" (default): Uses Chrome if
available, otherwise rsvg - "chrome": Forces Chrome
rendering - "rsvg": Forces rsvg/magick rendering
@font-face declarations in
embed_svg_fonts()svg_to_formats()font-weight: 100 900)inst/fonts/ directoryfonts_dir() - Use font_cache_dir()
insteadcustom_logo_svg() - Use
load_svg_for_embed() or pass file paths directlysvg_card() - Main function for creating SVG cards with
badges, fields, and logosicon_house() - House/home iconicon_building() - Building iconicon_construction() - Construction iconicon_map_pin() - Location pin iconicon_money() - Money/currency iconload_svg_for_embed() - Load and process external SVG
filescreate_logo_row() - Create horizontal logo rowsget_svg_path() - Get paths to bundled SVGslist_bundled_svgs() - List available bundled SVGssave_svg() - Save card as SVG filesvg_to_png() - Convert card to PNGsvg_to_png_with_margin() - Convert with marginbatch_svg_to_png() - Batch convert multiple cardsinclude_card() - Display card inline as SVGinclude_card_png() - Display card inline as PNGsave_card_for_knitr() - Save for
knitr::include_graphics()register_cardargus_knitr() - Register custom knitr
enginecard_to_grob() - Convert to grid graphical objectsetup_fonts() - Quick setup for showtextregister_google_font() - Register Google Fontsfont_available() - Check font availabilityinstall_fonts() - Install fonts locallyThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.