Changes in version 1.0.1 (2026-03-17) Enhancements - The pages/ directory has been renamed to analysis/, following the research compendium convention described in Marwick, Boettiger, and Mullen (2018). write_quarto() now writes to analysis/ instead of pages/. Thanks to Raymond Balise (@RaymondBalise) for the suggestion and citation. Bug fixes - init() no longer swallows directory creation errors. If fs::dir_create() fails, the actual error is reported instead of a generic "Invalid path." - File writers (write_variables(), write_brand(), write_quarto(), etc.) check whether file.copy() succeeded before reporting success. A failed copy raises an error instead of silent success. - save_variables() and save_brand() check whether file.copy() succeeded before reporting "Saved." A failed copy raises an error instead of silent success. - init() warns and skips individual template files that fail to copy instead of silently counting them as created. Changes in version 1.0.0 (2026-02-09) Breaking changes - quarto_project() has been removed. It now errors with a message directing users to init() instead. - write_notes() and write_readme() have been removed. These files are now included in the project template downloaded by init(). - write_ignore() no longer accepts an aggressive parameter. A single .gitignore is provided. - settings() and brand_settings() have been removed. Use write_variables() and write_brand() to create and edit configuration files directly. These functions now handle existing files gracefully (opening them for editing instead of erroring) and print reference URLs to the console. - The your-metadata-your-way and building-your-brand-identity vignettes have been removed. New features - New function init() is the primary entry point for creating froggeR projects. It downloads the latest project scaffold from the companion frogger-templates repository and retrieves saved user configuration (_variables.yml, _brand.yml, logos/) from ~/.config/froggeR/. The target directory is created automatically if it does not exist. Existing files are never overwritten, and each created or skipped file is reported individually. - write_scss() gains a filename parameter (default "custom"). A www/ prefix and .scss extension are stripped automatically, so write_scss("tables") and write_scss("www/tables.scss") are equivalent. - Template architecture: Project templates now live in a separate repository (kyleGrealis/frogger-templates), decoupled from CRAN release cycles. Template improvements reach users immediately without a package update. Dependencies - The quarto, glue, readr, and stringr packages have been removed from Imports. Testing - Test suite restructured following function removals. Internal - All template files previously bundled in inst/gists/ have been removed. All templates are now fetched from the companion repository at runtime. - New internal helper .fetch_template() downloads individual files from the template repository. - New internal helper .restore_saved_config() handles copying global user configuration into new projects during init(). Changes in version 0.6.0 (2025-11-14) New features - New function brand_settings() for interactive branding configuration (name, colors, logos, typography). Saved to project-level, global, or both. - New function save_brand() for saving brand configuration to global settings. - settings() redesigned with interactive metadata workflow, input validation, and project/global save options. - write_brand() gains restore_logos argument. Bug fixes - Fixed empty optional fields causing errors in settings() and brand_settings(). Minor improvements - Automatic one-time migration from config.yml to _variables.yml. - Four vignettes added covering project setup, branding, metadata, and global configuration. - Switched vignette builder from Quarto to knitr for CRAN compatibility. - Input validation for hex colors, ORCID, email, GitHub username, and URLs. Internal - Refactored write_* functions: public API delegates to internal create_* workers. Standardized error handling with rlang::abort() and custom classes. - Expanded test suite across all exported and internal functions. Changes in version 0.5.1 (2025-07-22) Enhancements - Minimal spelling corrections to NEWS and vignettes. No functionality changes! Changes in version 0.5.0 (2025-07-08) BREAKING!! - write_quarto() argument custom_yaml has been replaced with example, defaulting to TRUE. The Quarto file templates have been reworked to use Quarto brand structure. This simplifies the YAML within the document, but may require changes to the project _quarto.yml and _brand.yml files. Enhancements - 2 new Quarto brand YAML functions have been added: write_brand() & save_brand(). These functions allow users to add project _brand.yml file and save the current _brand.yml to where your machine stores configuration files. There are added arguments to save & restore your brand logos (saved as logos/ directory). - Modified SCSS template placeholders -- some of these are now easier to manage in the _brand.yml file. Added tweaks for ORCID logo issue when rendering with branding on Windows. - Revised Quarto template YAML -- this seems to be a constant work in progress. Weighing the value of including defaults versus a more minimalistic approach. - Removed creation of .Rproj file in quarto_project(). Bug Fixes - Corrected logic flow in write_variables() that caused unintentional stoppage. Changes in version 0.4.0 (2025-03-16) Enhancements - NEW: save_variables() is a new function to store the current project-level _variables.yml to the system configuration file path. It offers to overwrite if the system config exists. - Simplified Quarto templates by removing unnecessary commenting throughout the YAML. - Added section for including multiple authors in Quarto YAML files. - Simplified README in favor of a more lightweight template. Bug Fixes - Corrected indentation error for affiliations in the standard, non-custom Quarto template. Created rendering error. Documentation - save_variables() documentation added to README Internal Changes - Fixed tests for write_notes() and write_readme() to reflect updated content. Changes in version 0.3.0 (2025-01-15) Enhancements - The settings() function replaces froggeR_settings and provides a menu-driven interface. Users can now check, view, and get instructions to use Quarto metadata within and across projects. Learn how to apply user-specific metadata from the global config file, or store local project metadata for reuse on future froggeR Quarto projects. - The suite of write_* functions open the created files for immediate viewing & editing (in interactive sessions). - Revised console feedback so users are always informed about how froggeR is helping streamline your project. Bug Fixes - None Documentation - Fixed roxygen documentation for @examples by using tempdir() when executing functions. - Used @inheretParams across supplemental functions (README, notes, ignore, SCSS, variables). Internal Changes - Removed ability to change metadata from the console. Instructions are now provided and, for write_variables(), the config file is opened in the interactive session. - Separated write_readme; now includes write_notes for a project-level progress notes template. - If any document to be created from the write_* functions exists in the project, froggeR will now stop and provide a useful message instead of offering to overwrite from the console. This reduces annoying feedback & interaction and encourages the user to make deliberate decisions. Changes in version 0.2.2 Enhancements - quarto_project(): - Streamlined integration with auxiliary functions for creating project-level files. - Improved error handling and user feedback when creating Quarto projects. - Ensured proper connection to write_variables() for managing _variables.yml. - write_quarto(): - Enhanced functionality to automatically call write_variables() for _variables.yml creation. - Added clearer messaging for users when froggeR settings are missing, guiding them to set up metadata. - write_variables(): - Introduced as a new function to create and manage _variables.yml files in a modular way. - Handles automatic population of YAML metadata using froggeR settings. - Improved User Feedback: - Refined messaging across functions for consistency and clarity, including updated ui_done and ui_info outputs. Bug Fixes - Resolved CRAN check() errors related to undefined global variables in examples. - Fixed issues where _variables.yml creation would fail under specific directory conditions. Documentation - Enhanced roxygen documentation for write_quarto(), quarto_project(), and write_variables() with detailed examples and explanations. - Updated vignettes to demonstrate the modular design and improved workflows. Internal Changes - Consolidated helper functions into helpers.R for better maintainability and organization. - Improved modularity of settings and file management functions to align with best practices. Changes in version 0.2.1 Enhancements - Improved write_scss() function for more streamlined YAML updates in Quarto documents. - Enhanced user feedback in froggeR_settings() function, providing clearer output of current settings. - Refined error handling and user guidance in various functions for a smoother user experience. - Updated vignettes with more comprehensive examples and clearer explanations of froggeR workflows. Documentation - Expanded and clarified documentation for key functions. - Added more detailed examples in function documentation to illustrate various use cases. - Updated README with additional information on package usage and benefits. Changes in version 0.2.0 - Renamed default parameter to custom_yaml in quarto_project() and write_quarto() for clarity. - Refactored froggeR_settings() to use YAML for configuration storage. - Changed how settings are stored and retrieved. Settings are now stored in ~/.config/froggeR/config.yml. - Improved user interaction in froggeR_settings() function. - Modified quarto_project() and write_quarto() to use the new YAML-based settings. - Added .check_settings() function to provide user feedback on incomplete settings. - Updated .update_variables_yml() function to handle both creation and updating of _variables.yml. - Improved error handling and user feedback in various functions. - Removed load_data() function and related utilities. - Updated documentation and examples to reflect new functionality and improve clarity. - Revised README for better explanation of package workflow and features. - Updated pkgdown site structure to reflect current package organization. Changes in version 0.1.0 Major Features - Implemented enhanced Quarto project creation with quarto_project() - Automated project structure setup - Custom YAML integration - Built-in .gitignore configuration - Project documentation templates - Added interactive YAML configuration via froggeR_settings() - Author information management - Contact details setup - Project metadata configuration - TOC preferences - Created document generation tools - write_quarto() for consistent document creation - write_readme() for structured project documentation - write_ignore() for enhanced Git security - write_scss() for custom styling templates Documentation - Added comprehensive function documentation - Included detailed examples for all main functions - Created structured README with clear usage guidelines - Added function reference table Project Structure - Implemented consistent project organization - Added template system for Quarto documents - Created reusable YAML configuration system - Added custom SCSS styling templates Security - Enhanced data protection through comprehensive .gitignore settings - Added safeguards for sensitive data files - Implemented security best practices for R projects