Fetch gitignore template(s) from gitignore.io
Usage
gi_fetch_templates(
template_name,
copy_to_clipboard = FALSE,
append_gitignore = FALSE,
gitignore_file = here::here(".gitignore")
)
Arguments
- template_name
A character vector with values included in
gi_available_templates
.- copy_to_clipboard
Logical. Should the returned template(s) be copied to the clipboard? Otherwise, it will be printed in the console. Default is FALSE.
- append_gitignore
Logical. Should the .gitignore be modified to include the returned template(s)?
- gitignore_file
The path of the .gitignore file to be modified. By default, it will try to find it in the current package/project using `here::here(".gitignore")`.
Examples
# Fetch template for the R language
gi_fetch_templates("R")
#> # Created by https://www.toptal.com/developers/gitignore/api/r
#> # Edit at https://www.toptal.com/developers/gitignore?templates=r
#>
#> ### R ###
#> # History files
#> .Rhistory
#> .Rapp.history
#>
#> # Session Data files
#> .RData
#> .RDataTmp
#>
#> # User-specific files
#> .Ruserdata
#>
#> # Example code in package build process
#> *-Ex.R
#>
#> # Output files from R CMD build
#> /*.tar.gz
#>
#> # Output files from R CMD check
#> /*.Rcheck/
#>
#> # RStudio files
#> .Rproj.user/
#>
#> # produced vignettes
#> vignettes/*.html
#> vignettes/*.pdf
#>
#> # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
#> .httr-oauth
#>
#> # knitr and R markdown default cache directories
#> *_cache/
#> /cache/
#>
#> # Temporary files created by R markdown
#> *.utf8.md
#> *.knit.md
#>
#> # R Environment Variables
#> .Renviron
#>
#> # pkgdown site
#> docs/
#>
#> # translation temp files
#> po/*~
#>
#> # RStudio Connect folder
#> rsconnect/
#>
#> ### R.Bookdown Stack ###
#> # R package: bookdown caching files
#> /*_files/
#>
#> # End of https://www.toptal.com/developers/gitignore/api/r
# You can combine many templates at once
gi_fetch_templates(c("R", "python", "java"))
#> # Created by https://www.toptal.com/developers/gitignore/api/r,python,java
#> # Edit at https://www.toptal.com/developers/gitignore?templates=r,python,java
#>
#> ### Java ###
#> # Compiled class file
#> *.class
#>
#> # Log file
#> *.log
#>
#> # BlueJ files
#> *.ctxt
#>
#> # Mobile Tools for Java (J2ME)
#> .mtj.tmp/
#>
#> # Package Files #
#> *.jar
#> *.war
#> *.nar
#> *.ear
#> *.zip
#> *.tar.gz
#> *.rar
#>
#> # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
#> hs_err_pid*
#> replay_pid*
#>
#> ### Python ###
#> # Byte-compiled / optimized / DLL files
#> __pycache__/
#> *.py[cod]
#> *$py.class
#>
#> # C extensions
#> *.so
#>
#> # Distribution / packaging
#> .Python
#> build/
#> develop-eggs/
#> dist/
#> downloads/
#> eggs/
#> .eggs/
#> lib/
#> lib64/
#> parts/
#> sdist/
#> var/
#> wheels/
#> share/python-wheels/
#> *.egg-info/
#> .installed.cfg
#> *.egg
#> MANIFEST
#>
#> # PyInstaller
#> # Usually these files are written by a python script from a template
#> # before PyInstaller builds the exe, so as to inject date/other infos into it.
#> *.manifest
#> *.spec
#>
#> # Installer logs
#> pip-log.txt
#> pip-delete-this-directory.txt
#>
#> # Unit test / coverage reports
#> htmlcov/
#> .tox/
#> .nox/
#> .coverage
#> .coverage.*
#> .cache
#> nosetests.xml
#> coverage.xml
#> *.cover
#> *.py,cover
#> .hypothesis/
#> .pytest_cache/
#> cover/
#>
#> # Translations
#> *.mo
#> *.pot
#>
#> # Django stuff:
#> local_settings.py
#> db.sqlite3
#> db.sqlite3-journal
#>
#> # Flask stuff:
#> instance/
#> .webassets-cache
#>
#> # Scrapy stuff:
#> .scrapy
#>
#> # Sphinx documentation
#> docs/_build/
#>
#> # PyBuilder
#> .pybuilder/
#> target/
#>
#> # Jupyter Notebook
#> .ipynb_checkpoints
#>
#> # IPython
#> profile_default/
#> ipython_config.py
#>
#> # pyenv
#> # For a library or package, you might want to ignore these files since the code is
#> # intended to run in multiple environments; otherwise, check them in:
#> # .python-version
#>
#> # pipenv
#> # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#> # However, in case of collaboration, if having platform-specific dependencies or dependencies
#> # having no cross-platform support, pipenv may install dependencies that don't work, or not
#> # install all needed dependencies.
#> #Pipfile.lock
#>
#> # poetry
#> # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
#> # This is especially recommended for binary packages to ensure reproducibility, and is more
#> # commonly ignored for libraries.
#> # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#> #poetry.lock
#>
#> # pdm
#> # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#> #pdm.lock
#> # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
#> # in version control.
#> # https://pdm.fming.dev/#use-with-ide
#> .pdm.toml
#>
#> # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
#> __pypackages__/
#>
#> # Celery stuff
#> celerybeat-schedule
#> celerybeat.pid
#>
#> # SageMath parsed files
#> *.sage.py
#>
#> # Environments
#> .env
#> .venv
#> env/
#> venv/
#> ENV/
#> env.bak/
#> venv.bak/
#>
#> # Spyder project settings
#> .spyderproject
#> .spyproject
#>
#> # Rope project settings
#> .ropeproject
#>
#> # mkdocs documentation
#> /site
#>
#> # mypy
#> .mypy_cache/
#> .dmypy.json
#> dmypy.json
#>
#> # Pyre type checker
#> .pyre/
#>
#> # pytype static type analyzer
#> .pytype/
#>
#> # Cython debug symbols
#> cython_debug/
#>
#> # PyCharm
#> # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
#> # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
#> # and can be added to the global gitignore or merged into this file. For a more nuclear
#> # option (not recommended) you can uncomment the following to ignore the entire idea folder.
#> #.idea/
#>
#> ### Python Patch ###
#> # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
#> poetry.toml
#>
#> # ruff
#> .ruff_cache/
#>
#> # LSP config files
#> pyrightconfig.json
#>
#> ### R ###
#> # History files
#> .Rhistory
#> .Rapp.history
#>
#> # Session Data files
#> .RData
#> .RDataTmp
#>
#> # User-specific files
#> .Ruserdata
#>
#> # Example code in package build process
#> *-Ex.R
#>
#> # Output files from R CMD build
#> /*.tar.gz
#>
#> # Output files from R CMD check
#> /*.Rcheck/
#>
#> # RStudio files
#> .Rproj.user/
#>
#> # produced vignettes
#> vignettes/*.html
#> vignettes/*.pdf
#>
#> # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
#> .httr-oauth
#>
#> # knitr and R markdown default cache directories
#> *_cache/
#> /cache/
#>
#> # Temporary files created by R markdown
#> *.utf8.md
#> *.knit.md
#>
#> # R Environment Variables
#> .Renviron
#>
#> # pkgdown site
#> docs/
#>
#> # translation temp files
#> po/*~
#>
#> # RStudio Connect folder
#> rsconnect/
#>
#> ### R.Bookdown Stack ###
#> # R package: bookdown caching files
#> /*_files/
#>
#> # End of https://www.toptal.com/developers/gitignore/api/r,python,java
# The .gitignore file can be automatically modified with `append_gitignore = TRUE`
gi_fetch_templates(c("R", "python", "java"))
#> # Created by https://www.toptal.com/developers/gitignore/api/r,python,java
#> # Edit at https://www.toptal.com/developers/gitignore?templates=r,python,java
#>
#> ### Java ###
#> # Compiled class file
#> *.class
#>
#> # Log file
#> *.log
#>
#> # BlueJ files
#> *.ctxt
#>
#> # Mobile Tools for Java (J2ME)
#> .mtj.tmp/
#>
#> # Package Files #
#> *.jar
#> *.war
#> *.nar
#> *.ear
#> *.zip
#> *.tar.gz
#> *.rar
#>
#> # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
#> hs_err_pid*
#> replay_pid*
#>
#> ### Python ###
#> # Byte-compiled / optimized / DLL files
#> __pycache__/
#> *.py[cod]
#> *$py.class
#>
#> # C extensions
#> *.so
#>
#> # Distribution / packaging
#> .Python
#> build/
#> develop-eggs/
#> dist/
#> downloads/
#> eggs/
#> .eggs/
#> lib/
#> lib64/
#> parts/
#> sdist/
#> var/
#> wheels/
#> share/python-wheels/
#> *.egg-info/
#> .installed.cfg
#> *.egg
#> MANIFEST
#>
#> # PyInstaller
#> # Usually these files are written by a python script from a template
#> # before PyInstaller builds the exe, so as to inject date/other infos into it.
#> *.manifest
#> *.spec
#>
#> # Installer logs
#> pip-log.txt
#> pip-delete-this-directory.txt
#>
#> # Unit test / coverage reports
#> htmlcov/
#> .tox/
#> .nox/
#> .coverage
#> .coverage.*
#> .cache
#> nosetests.xml
#> coverage.xml
#> *.cover
#> *.py,cover
#> .hypothesis/
#> .pytest_cache/
#> cover/
#>
#> # Translations
#> *.mo
#> *.pot
#>
#> # Django stuff:
#> local_settings.py
#> db.sqlite3
#> db.sqlite3-journal
#>
#> # Flask stuff:
#> instance/
#> .webassets-cache
#>
#> # Scrapy stuff:
#> .scrapy
#>
#> # Sphinx documentation
#> docs/_build/
#>
#> # PyBuilder
#> .pybuilder/
#> target/
#>
#> # Jupyter Notebook
#> .ipynb_checkpoints
#>
#> # IPython
#> profile_default/
#> ipython_config.py
#>
#> # pyenv
#> # For a library or package, you might want to ignore these files since the code is
#> # intended to run in multiple environments; otherwise, check them in:
#> # .python-version
#>
#> # pipenv
#> # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#> # However, in case of collaboration, if having platform-specific dependencies or dependencies
#> # having no cross-platform support, pipenv may install dependencies that don't work, or not
#> # install all needed dependencies.
#> #Pipfile.lock
#>
#> # poetry
#> # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
#> # This is especially recommended for binary packages to ensure reproducibility, and is more
#> # commonly ignored for libraries.
#> # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#> #poetry.lock
#>
#> # pdm
#> # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#> #pdm.lock
#> # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
#> # in version control.
#> # https://pdm.fming.dev/#use-with-ide
#> .pdm.toml
#>
#> # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
#> __pypackages__/
#>
#> # Celery stuff
#> celerybeat-schedule
#> celerybeat.pid
#>
#> # SageMath parsed files
#> *.sage.py
#>
#> # Environments
#> .env
#> .venv
#> env/
#> venv/
#> ENV/
#> env.bak/
#> venv.bak/
#>
#> # Spyder project settings
#> .spyderproject
#> .spyproject
#>
#> # Rope project settings
#> .ropeproject
#>
#> # mkdocs documentation
#> /site
#>
#> # mypy
#> .mypy_cache/
#> .dmypy.json
#> dmypy.json
#>
#> # Pyre type checker
#> .pyre/
#>
#> # pytype static type analyzer
#> .pytype/
#>
#> # Cython debug symbols
#> cython_debug/
#>
#> # PyCharm
#> # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
#> # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
#> # and can be added to the global gitignore or merged into this file. For a more nuclear
#> # option (not recommended) you can uncomment the following to ignore the entire idea folder.
#> #.idea/
#>
#> ### Python Patch ###
#> # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
#> poetry.toml
#>
#> # ruff
#> .ruff_cache/
#>
#> # LSP config files
#> pyrightconfig.json
#>
#> ### R ###
#> # History files
#> .Rhistory
#> .Rapp.history
#>
#> # Session Data files
#> .RData
#> .RDataTmp
#>
#> # User-specific files
#> .Ruserdata
#>
#> # Example code in package build process
#> *-Ex.R
#>
#> # Output files from R CMD build
#> /*.tar.gz
#>
#> # Output files from R CMD check
#> /*.Rcheck/
#>
#> # RStudio files
#> .Rproj.user/
#>
#> # produced vignettes
#> vignettes/*.html
#> vignettes/*.pdf
#>
#> # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
#> .httr-oauth
#>
#> # knitr and R markdown default cache directories
#> *_cache/
#> /cache/
#>
#> # Temporary files created by R markdown
#> *.utf8.md
#> *.knit.md
#>
#> # R Environment Variables
#> .Renviron
#>
#> # pkgdown site
#> docs/
#>
#> # translation temp files
#> po/*~
#>
#> # RStudio Connect folder
#> rsconnect/
#>
#> ### R.Bookdown Stack ###
#> # R package: bookdown caching files
#> /*_files/
#>
#> # End of https://www.toptal.com/developers/gitignore/api/r,python,java