#') are now automatically formatted into structured callouts resembling pkgdown reference pages\href{url}{text} becomes [text](url)\code{text} becomes `text`\strong{text} becomes **text**\emph{text} becomes *text*@section) are supported and displayedWords: qmd to DESCRIPTION to prevent spell-check warning^CRAN_CHECKLIST_.*\.md$ to .Rbuildignore to exclude CRAN checklist files##, ###, ####) from being filtered out# immediately followed by a non-space character (e.g., #NOTE:, #TODO:, #DEBUG) are now completely ignored during conversion#TODO:, #FIXME:, #NOTE:, #DEBUG, #INTERNAL:, #PRIVATE:, #HACK:, #OPTIMIZE: markers# (e.g., # This is a comment) are converted to text in the outputRStudio Snippets Installation:
install_quartify_snippets() now uses correct paths for all platforms:
%APPDATA%/RStudio/snippets~/.config/rstudio/snippetsMermaid Diagram Syntax:
# prefix) to maintain valid R syntax# flowchart TD, # A[Start] --> B[End]# prefix is automatically removed during conversion to QuartoR/snippets.R converted to English?rtoqmd)This is the first CRAN release of quartify! The package is now fully compliant with CRAN policies.
Interactive Examples:
\dontrun{} with if(interactive()){} in Shiny function examplesquartify_app() and quartify_app_web() examples now properly indicate interactive-only usageWorking Directory Management:
on.exit(setwd(old_wd), add = TRUE) after all setwd() callsrtoqmd.R, rtoqmd_dir.R, and quartify_app_web.Rsetwd() restoration in error handlers (now handled by on.exit())Console Output:
cat() with message() in rtoqmd_dir.R per CRAN guidelinessuppressMessages() if neededFile Writing:
install_quartify_snippets() no longer writes to home directory by default in examplespath parameter to allow custom snippet file locationtempdir() for testingif(interactive())Path Handling:
rtoqmd()path.expand() for input_file, output_file, and output_html_fileapply_styler Parameter:
use_styler must be TRUE for apply_styler to workMode Selection:
quartify_app()rtoqmd_addin() with dynamic mode selection (single/directory)Directory Selection UI:
#') are now converted to callout-note blocks@param, @return, @examples, etc.) preserved in callout contentinst/examples/example_roxygen.Rrtoqmd(), rtoqmd_dir() and all Shiny applications (rtoqmd_addin(), quartify_app(), quartify_app_web())Final CRAN Compliance:
Language: en-US field in DESCRIPTION to avoid "qmd" misspelling NOTErender → render_html in rtoqmd_dir()Documentation Compliance:
@return documentation for all exported functions (rtoqmd_addin, quartify_app, quartify_app_web)\dontrun{} to \donttest{} for executable examples in rtoqmd() and rtoqmd_dir()tempdir() instead of current directoryCode Quality:
cat() calls with message() for user-facing messages per CRAN guidelinesrender arguments to render_html in Shiny appsrtoqmd_dir() back to \dontrun{}User Interface Improvements:
showNotification() with elegant modal dialogs using shinyalert()shinyalert to package dependenciesCode Quality Integration: New use_styler and use_lintr parameters for code quality checks:
use_styler: Automatically format code using styler and show differences in tabsetsuse_lintr: Run lintr quality checks and display issues in tabsetsrtoqmd() and rtoqmd_dir() functionsinst/examples/example_code_quality.RRStudio Snippets Installation: New install_quartify_snippets() function to automatically install useful snippets:
header: R script header template with Title, Author, Date, Descriptioncallout: Quarto callout structuremermaid: Mermaid diagram chunk with optionstabset: Tabset structure with tabsrtoqmd_addin() error when no document is active or unsaved (handled NULL/empty path cases)install_quartify_snippets() functionQuarto Book Creation:
create_book parameter now defaults to TRUE in rtoqmd_dir()_documentation to _bookEnhanced Shiny Applications (rtoqmd_addin(), quartify_app(), quartify_app_web()):
addins.R (2185 lines) into 3 separate files for better maintainability#0073e6) with white textWeb Application Improvements (quartify_app_web()):
qmd/ folder contains all .qmd files and _quarto.ymlhtml/ folder contains all HTML files with complete directory structureas_job = FALSE) to ensure all files are generated before downloadImproved File Management:
_quarto.yml when rendering individual filesEnhanced User Experience:
index.html generation issues in Quarto booksindex.html missing from ZIP downloads in quartify_app_web():
index.html are now properly included in downloadsworkflow_dispatch instead of automatic on pushWeb Deployment Version (quartify_app_web()):
Docker Support:
ddottaagr/quartifyUI Improvements:
quarto_render() to avoid output path errorsSource Line Numbers:
show_source_lines parameter to rtoqmd() to display original line numbers from source R script# Lines X-Y (English) or # Lignes X-Y (French)# Lines 19-20
iris |>
count(Species)
Standalone Shiny App (quartify_app()):
quartify_app() for launching the conversion interface in any R environmentlibrary(quartify); quartify_app()launch.browser = TRUE (default) to open in browserport = NULL (default) for automatic port selectionCustom HTML Output Path:
output_html_file parameter to rtoqmd() to specify custom HTML output locationoutput_html_dir parameter to rtoqmd_dir() to specify directory for batch HTML outputsdocs/, html_output/)Mermaid Diagram Support:
#| mermaid comment to start a Mermaid chunk in R scripts#|) are automatically converted to Quarto format (%%|)# prefix and ends at empty line or comment#| mermaid
#| eval: true
flowchart TD
A[Start] --> B[Process]
B --> C[End]
Tabset Support:
# tabset to start a tabset container, then # tab - Title for each tab# tabset
# tab - Summary Statistics
# Here are the basic summary statistics:
summary(iris)
# tab - Data Structure
# Let's examine the structure:
str(iris)
# tab - First Rows
# Here are the first few rows:
head(iris)
{.panel-tabset} format in .qmd outputinst/examples/example_tabset.R for complete examplesImproved RStudio Add-in Interface:
Theme Support:
rtoqmd() and rtoqmd_dir() functionsLanguage Support:
lang parameter to rtoqmd() functionEnhanced Section Title Handling:
Updated interface labels:
Removed unsupported format option:
aria-label to home icon for accessibilityrtoqmd_dir to reference indexUpdated README (EN/FR) with:
Enhanced vignettes with:
####, ====, ----) and converts them to hierarchical markdown headers with correct indentation levels (levels 2, 3, and 4)# Title : or # Titre : for document title# Author : or # Auteur : for author name# Date : for document date# Description : for document descriptionembed-resources: true for self-contained files#') are automatically ignored during conversion