From e8256f735bcb359b58d4ac06aa1a98004a37b63b Mon Sep 17 00:00:00 2001 From: ahasverus Date: Wed, 3 Apr 2024 09:38:35 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20FRBCesab?= =?UTF-8?q?/planner@5b42b7c8bca87e2e7a3d3402bc5a5e73293a2f9e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apple-touch-icon-120x120.png | Bin 9024 -> 9024 bytes apple-touch-icon-152x152.png | Bin 11670 -> 11670 bytes apple-touch-icon-180x180.png | Bin 13977 -> 13977 bytes apple-touch-icon-60x60.png | Bin 4365 -> 4365 bytes apple-touch-icon-76x76.png | Bin 5492 -> 5492 bytes apple-touch-icon.png | Bin 13977 -> 13977 bytes articles/figures/calendar-demo-13.png | Bin 0 -> 65858 bytes articles/figures/calendar-demo-14.png | Bin 0 -> 62455 bytes articles/planner.html | 18 ++++++++++++++++++ favicon-16x16.png | Bin 1180 -> 1180 bytes favicon-32x32.png | Bin 2195 -> 2195 bytes pkgdown.yml | 2 +- search.json | 2 +- 13 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 articles/figures/calendar-demo-13.png create mode 100644 articles/figures/calendar-demo-14.png diff --git a/apple-touch-icon-120x120.png b/apple-touch-icon-120x120.png index c5fd4d737b739968b81f4a862e2a94cde60f53c9..da506849cd2f5aa4935bb5b47f996610f01341b8 100644 GIT binary patch delta 55 zcmX@$cED{y4VxN!^IY-FjZFedd=^#)=Gq1ZRt5$Uv*HRTFHllO64E^W?Cj)=O8Efr C=n^^r delta 55 zcmX@$cED{y4V%0G-zj;KjZFede1=wrX4(b@Rt5&=g6bwtUZA9mB($IZnC|3@O8EfX C#t|g| diff --git a/apple-touch-icon-152x152.png b/apple-touch-icon-152x152.png index 85a8d56624e875114f66bf9145c751dc77cf44c1..662365922af40b1cceffb141626ef253d7f3c541 100644 GIT binary patch delta 55 zcmbOhJuP}d4VxN=uoBmgjZJAfd=^#)7TN{|Rt5&^F6qsf{7pw0N$7t6G?mHfy7>V1 CMG@5i delta 55 zcmbOhJuP}d4V%1R!vzv(C=2}xF*ojF-uHy;4^ C{}DL= diff --git a/apple-touch-icon-180x180.png b/apple-touch-icon-180x180.png index 1cbfa4efe29c383e1bfff04edf7079d7dd00da37..aa8aedfba18643edb4dac1095c1f78ec6912054d 100644 GIT binary patch delta 55 zcmbQ4J2Q7e4VxNgimFxK#->bDJ_{=YOKk%KD+2?LrK&oUf0`;I303}>J7KbxSv~;c CRS`}A delta 55 zcmbQ4J2Q7e4V%2sgClho8=Eps`3$WLEwl{`tPBk1<+7fc{L@q!N$9=7-h#Q$Oh!=}cXJGsntW7A!JJ_{=YQ*8qSD+7b`to{*`a|M)QVKt2HC C>=D@j delta 55 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 zMColors

Calendar language

+
+monthly_calendar(year  = 2024, 
+                 month = 4, 
+                 lang  = "Finnish")
+
+Monthly calendar - Customize language (Finnish)

+Monthly calendar - Customize language (Finnish) +

+
+
+monthly_calendar(year  = 2024, 
+                 month = 4, 
+                 lang  = "Greek")
+
+Monthly calendar - Customize language (Greek)

+Monthly calendar - Customize language (Greek) +

+
diff --git a/favicon-16x16.png b/favicon-16x16.png index 6c607b54f9c7e3709c1d1d0bc41d6f6fe192680d..b8334df3d20ec4e7d2e9c2a6aa8a2a84357f4604 100644 GIT binary patch delta 57 zcmbQkIfrw@E+#fL{$98F(VGu2=`r$ISQ(mX8yHv_7%;E*KQ{RfvoexU(WmcKlXY40 E0sLnX{Qv*} delta 57 zcmbQkIfrw@E+#g4@d@j?wr@Vbq{ql-Xk}!qZD3$!U?B7~?CRt{%*seY$vfU A_W%F@ diff --git a/pkgdown.yml b/pkgdown.yml index b51805a..2a4ab78 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -3,7 +3,7 @@ pkgdown: 2.0.7 pkgdown_sha: ~ articles: planner: planner.html -last_built: 2024-04-03T09:31Z +last_built: 2024-04-03T09:38Z urls: reference: https://frbcesab.github.io/planner/reference article: https://frbcesab.github.io/planner/articles diff --git a/search.json b/search.json index 78b1b0c..951b798 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement nicolas.casajus@fondationbiodiversite.fr. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to planner","title":"Contributing to planner","text":"First , thanks taking time contribute planner! types contributions encouraged valued. See Table contents different ways help details project handles . Please make sure read relevant section making contribution. make lot easier us maintainers smooth experience involved.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"table-of-contents","dir":"","previous_headings":"","what":"Table of contents","title":"Contributing to planner","text":"Code conduct Style guide Commit messages Asking questions Reporting bugs Requesting features Contributing code","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of conduct","title":"Contributing to planner","text":"project released Contributor Code Conduct. participating, expected uphold code. Please report unacceptable behavior nicolas.casajus@fondationbiodiversite.fr.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"style-guide","dir":"","previous_headings":"","what":"Style guide","title":"Contributing to planner","text":"use Tidyverse style guide writing R code. Functions documented roxygen2 syntax. planner uses lower_snake_case.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"commit-messages","dir":"","previous_headings":"","what":"Commit messages","title":"Contributing to planner","text":"want contribute commiting changes, please try use Conventional commits specification.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"asking-questions","dir":"","previous_headings":"","what":"Asking questions","title":"Contributing to planner","text":"ask question, best search existing Issues might help . case found suitable issue still need clarification, can write question issue. still feel need ask question need clarification, recommend following: Open new Issue. Use template other_issue.md. Provide much context can ’re running . Provide project platform versions (paste output sessionInfo()). take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"before-submitting-a-bug-report","dir":"","previous_headings":"Reporting bugs","what":"Before submitting a bug report","title":"Contributing to planner","text":"good bug report shouldn’t leave others needing chase information. Therefore, ask investigate carefully, collect information describe issue detail report. Please complete following steps advance help us fix potential bug fast possible. Make sure using latest version planner. Determine bug really bug error side. see users experienced (potentially already solved) issue , check already bug report existing bug error bug tracker.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"how-do-i-submit-a-bug-report","dir":"","previous_headings":"Reporting bugs","what":"How do I submit a bug report?","title":"Contributing to planner","text":"use GitHub Issues track bugs errors. run issue project: Open new Issue. Use template bug_report.md. Explain behavior expect actual behavior. Please provide much context possible describe reproduction steps someone else can follow recreate issue . usually includes code reproducible example. take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"before-requesting-a-feature","dir":"","previous_headings":"Requesting features","what":"Before requesting a feature","title":"Contributing to planner","text":"Make sure using latest version planner. Read documentation carefully find functionality already covered. Perform search see enhancement already suggested. , add comment existing issue instead opening new one.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"how-do-i-submit-a-feature-request","dir":"","previous_headings":"Requesting features","what":"How do I submit a feature request?","title":"Contributing to planner","text":"Feature requests tracked GitHub Issues. Open new Issue. Use template feature_request.md. Provide clear descriptive title issue identify suggestion. Provide step--step description suggested enhancement many details possible. Explain enhancement useful planner users. take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"general-workflow","dir":"","previous_headings":"Contributing code","what":"General workflow","title":"Contributing to planner","text":"use GitHub flow collaborate project: Fork repository using GitHub interface. Clone fork using git clone fork-url (replace fork-url URL fork). Alternatively, open RStudio IDE create New Project Version Control. Create new branch w/ git checkout -b branch-name (replace branch-name name new branch). Make contribution (see examples). Stage (git add) commit (git commit) changes often necessary Push changes GitHub w/ git push origin branch-name. Submit Pull Request original repo. review PR soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-the-readme","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing the README","title":"Contributing to planner","text":"want contribute improving README, please edit README.Rmd (README.md). forget update README.md running:","code":"rmarkdown::render(\"README.Rmd\")"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-vignettes","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing vignettes","title":"Contributing to planner","text":"want contribute editing existing vignette, just edit corresponding Rmd file stored vignettes/ folder. want contribute adding new vignette, create new Rmd file vignettes/ folder add following header: use new external dependency, forget add DESCRIPTION file section Suggests (package already listed section Imports). Check integrity package :","code":"--- title: \"Vignette Title\" output: rmarkdown::html_vignette vignette: > %\\VignetteIndexEntry{Vignette Title} %\\VignetteEngine{knitr::rmarkdown} %\\VignetteEncoding{UTF-8} --- devtools::check()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-function-documentation","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing function documentation","title":"Contributing to planner","text":"want contribute improving documentation function, open corresponding file R/ folder edit lines starting #' (roxygen2 syntax). Update documentation (Rd files man/ folder) running: use new external dependency example section, forget add DESCRIPTION file section Imports (package already listed). Check integrity package :","code":"devtools::document() devtools::check()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"fix-bug","dir":"","previous_headings":"Contributing code","what":"Fix bug","title":"Contributing to planner","text":"want contribute improving code function, open edit corresponding file R/ folder. Check integrity package : forget adapt unit tests function editing corresponding file stored tests/testthat/ folder. use package testthat implement unit tests. Check tests running:","code":"devtools::check() devtools::test()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"new-feature","dir":"","previous_headings":"Contributing code","what":"New feature","title":"Contributing to planner","text":"want contribute submitting new feature, please follow workflow: Create new R file folder R/. Implement code function. Document function w/ roxygen2 syntax. necessary, add additional dependencies DESCRIPTION file. Update package documentation w/ devtools::document(). Create new R file folder tests/testthat/. Implement unit tests new function. Check integrity package w/ devtools::check(). Thanks contribution!","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 2, June 1991Copyright © 1989, 1991 Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"licenses software designed take away freedom share change . contrast, GNU General Public License intended guarantee freedom share change free software–make sure software free users. General Public License applies Free Software Foundation’s software program whose authors commit using . (Free Software Foundation software covered GNU Lesser General Public License instead.) can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge service wish), receive source code can get want , can change software use pieces new free programs; know can things. protect rights, need make restrictions forbid anyone deny rights ask surrender rights. restrictions translate certain responsibilities distribute copies software, modify . example, distribute copies program, whether gratis fee, must give recipients rights . must make sure , , receive can get source code. must show terms know rights. protect rights two steps: (1) copyright software, (2) offer license gives legal permission copy, distribute /modify software. Also, author’s protection , want make certain everyone understands warranty free software. software modified someone else passed , want recipients know original, problems introduced others reflect original authors’ reputations. Finally, free program threatened constantly software patents. wish avoid danger redistributors free program individually obtain patent licenses, effect making program proprietary. prevent , made clear patent must licensed everyone’s free use licensed . precise terms conditions copying, distribution modification follow.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"terms-and-conditions-for-copying-distribution-and-modification","dir":"","previous_headings":"","what":"TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION","title":"GNU General Public License","text":"0. License applies program work contains notice placed copyright holder saying may distributed terms General Public License. “Program”, , refers program work, “work based Program” means either Program derivative work copyright law: say, work containing Program portion , either verbatim modifications /translated another language. (Hereinafter, translation included without limitation term “modification”.) licensee addressed “”. Activities copying, distribution modification covered License; outside scope. act running Program restricted, output Program covered contents constitute work based Program (independent made running Program). Whether true depends Program . 1. may copy distribute verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice disclaimer warranty; keep intact notices refer License absence warranty; give recipients Program copy License along Program. may charge fee physical act transferring copy, may option offer warranty protection exchange fee. 2. may modify copy copies Program portion , thus forming work based Program, copy distribute modifications work terms Section 1 , provided also meet conditions: ) must cause modified files carry prominent notices stating changed files date change. b) must cause work distribute publish, whole part contains derived Program part thereof, licensed whole charge third parties terms License. c) modified program normally reads commands interactively run, must cause , started running interactive use ordinary way, print display announcement including appropriate copyright notice notice warranty (else, saying provide warranty) users may redistribute program conditions, telling user view copy License. (Exception: Program interactive normally print announcement, work based Program required print announcement.) requirements apply modified work whole. identifiable sections work derived Program, can reasonably considered independent separate works , License, terms, apply sections distribute separate works. distribute sections part whole work based Program, distribution whole must terms License, whose permissions licensees extend entire whole, thus every part regardless wrote . Thus, intent section claim rights contest rights work written entirely ; rather, intent exercise right control distribution derivative collective works based Program. addition, mere aggregation another work based Program Program (work based Program) volume storage distribution medium bring work scope License. 3. may copy distribute Program (work based , Section 2) object code executable form terms Sections 1 2 provided also one following: ) Accompany complete corresponding machine-readable source code, must distributed terms Sections 1 2 medium customarily used software interchange; , b) Accompany written offer, valid least three years, give third party, charge cost physically performing source distribution, complete machine-readable copy corresponding source code, distributed terms Sections 1 2 medium customarily used software interchange; , c) Accompany information received offer distribute corresponding source code. (alternative allowed noncommercial distribution received program object code executable form offer, accord Subsection b .) source code work means preferred form work making modifications . executable work, complete source code means source code modules contains, plus associated interface definition files, plus scripts used control compilation installation executable. However, special exception, source code distributed need include anything normally distributed (either source binary form) major components (compiler, kernel, ) operating system executable runs, unless component accompanies executable. distribution executable object code made offering access copy designated place, offering equivalent access copy source code place counts distribution source code, even though third parties compelled copy source along object code. 4. may copy, modify, sublicense, distribute Program except expressly provided License. attempt otherwise copy, modify, sublicense distribute Program void, automatically terminate rights License. However, parties received copies, rights, License licenses terminated long parties remain full compliance. 5. required accept License, since signed . However, nothing else grants permission modify distribute Program derivative works. actions prohibited law accept License. Therefore, modifying distributing Program (work based Program), indicate acceptance License , terms conditions copying, distributing modifying Program works based . 6. time redistribute Program (work based Program), recipient automatically receives license original licensor copy, distribute modify Program subject terms conditions. may impose restrictions recipients’ exercise rights granted herein. responsible enforcing compliance third parties License. 7. , consequence court judgment allegation patent infringement reason (limited patent issues), conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. distribute satisfy simultaneously obligations License pertinent obligations, consequence may distribute Program . example, patent license permit royalty-free redistribution Program receive copies directly indirectly , way satisfy License refrain entirely distribution Program. portion section held invalid unenforceable particular circumstance, balance section intended apply section whole intended apply circumstances. purpose section induce infringe patents property right claims contest validity claims; section sole purpose protecting integrity free software distribution system, implemented public license practices. Many people made generous contributions wide range software distributed system reliance consistent application system; author/donor decide willing distribute software system licensee impose choice. section intended make thoroughly clear believed consequence rest License. 8. distribution /use Program restricted certain countries either patents copyrighted interfaces, original copyright holder places Program License may add explicit geographical distribution limitation excluding countries, distribution permitted among countries thus excluded. case, License incorporates limitation written body License. 9. Free Software Foundation may publish revised /new versions General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies version number License applies “later version”, option following terms conditions either version later version published Free Software Foundation. Program specify version number License, may choose version ever published Free Software Foundation. 10. wish incorporate parts Program free programs whose distribution conditions different, write author ask permission. software copyrighted Free Software Foundation, write Free Software Foundation; sometimes make exceptions . decision guided two goals preserving free status derivatives free software promoting sharing reuse software generally.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"no-warranty","dir":"","previous_headings":"","what":"NO WARRANTY","title":"GNU General Public License","text":"11. PROGRAM LICENSED FREE CHARGE, WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION. 12. EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MAY MODIFY /REDISTRIBUTE PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES. END TERMS CONDITIONS","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively convey exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program interactive, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, commands use may called something show w show c; even mouse-clicks menu items–whatever suits program. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. sample; alter names: General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License.","code":" Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"monthly-calendar","dir":"Articles","previous_headings":"","what":"Monthly calendar","title":"Get started","text":"Monthly calendar - Default settings","code":"monthly_calendar(year = 2024, month = 4)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"working-week","dir":"Articles","previous_headings":"Monthly calendar","what":"Working week","title":"Get started","text":"Monthly calendar - Working weeks","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"moon-phases","dir":"Articles","previous_headings":"Monthly calendar","what":"Moon phases","title":"Get started","text":"Monthly calendar - Moon phases","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"holidays","dir":"Articles","previous_headings":"Monthly calendar","what":"Holidays","title":"Get started","text":"Monthly calendar - UK Holidays Monthly calendar - UK Holidays (filtered)","code":"holidays <- get_holidays(year = 2024, month = 4, country = \"UK\") holidays #> date name type #> 1 2024-04-01 Easter Monday Common Local Holiday #> 2 2024-04-05 Laylatul Qadr (Night of Power) Muslim #> 3 2024-04-10 Eid ul Fitr (Tentative Date) Muslim #> 4 2024-04-22 Stephen Lawrence Day Observance #> 5 2024-04-23 First day of Passover Jewish Holiday #> 6 2024-04-30 Last day of Passover Jewish Holiday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays) get_holiday_types(holidays) #> [1] \"Common Local Holiday\" \"Jewish Holiday\" \"Muslim\" #> [4] \"Observance\" holidays <- filter_holidays(data = holidays, types = \"Common Local Holiday\") holidays #> date name type #> 1 2024-04-01 Easter Monday Common Local Holiday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"special-events","dir":"Articles","previous_headings":"Monthly calendar","what":"Special events","title":"Get started","text":"Monthly calendar - Special dates","code":"birthdays <- data.frame(\"date\" = c(\"2024-04-11\", \"2024-04-17\"), \"name\" = c(\"John's birthday\", \"Jane's birthday\")) birthdays #> date name #> 1 2024-04-11 John's birthday #> 2 2024-04-17 Jane's birthday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays)"},{"path":[]},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"single-day-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Single-day events","title":"Get started","text":"Monthly calendar - Single-day events … Monthly calendar - Single-day events (bis)","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 4\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events #> name from to #> 1 Single-day event 1 2024-04-02 2024-04-02 #> 2 Single-day event 2 2024-04-02 2024-04-02 #> 3 Single-day event 3 2024-04-02 2024-04-02 #> 4 Single-day event 4 2024-04-02 2024-04-02 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events) events <- rbind(events, data.frame(\"name\" = \"Single-day event 5\", \"from\" = \"2024-04-03\", \"to\" = NA)) events #> name from to #> 1 Single-day event 1 2024-04-02 2024-04-02 #> 2 Single-day event 2 2024-04-02 2024-04-02 #> 3 Single-day event 3 2024-04-02 2024-04-02 #> 4 Single-day event 4 2024-04-02 2024-04-02 #> 5 Single-day event 5 2024-04-03 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"multi-day-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Multi-day events","title":"Get started","text":"Monthly calendar - Multi-day events","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA)) events #> name from to #> 1 Multi-day event 1 2024-04-02 2024-04-03 #> 2 Multi-day event 2 2024-04-02 2024-04-05 #> 3 Single-day event 1 2024-04-02 2024-04-02 #> 4 Single-day event 2 2024-04-02 2024-04-02 #> 5 Single-day event 3 2024-04-03 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"multi-week-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Multi-week events","title":"Get started","text":"Monthly calendar - Multi-week events","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA)) events <- rbind(events, data.frame(\"name\" = \"Multi-week event 1\", \"from\" = \"2024-04-09\", \"to\" = \"2024-04-23\")) events #> name from to #> 1 Multi-day event 1 2024-04-02 2024-04-03 #> 2 Multi-day event 2 2024-04-02 2024-04-05 #> 3 Single-day event 1 2024-04-02 2024-04-02 #> 4 Single-day event 2 2024-04-02 2024-04-02 #> 5 Single-day event 3 2024-04-03 #> 6 Multi-week event 1 2024-04-09 2024-04-23 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"colors","dir":"Articles","previous_headings":"Monthly calendar","what":"Colors","title":"Get started","text":"Monthly calendar - Customize colors Monthly calendar - Customize colors (bis)","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events, palette = \"#990000\") events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\", \"category\" = \"B\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA, \"category\" = \"B\")) events <- rbind(events, data.frame(\"name\" = \"Multi-week event 1\", \"from\" = \"2024-04-09\", \"to\" = \"2024-04-23\", \"category\" = \"C\")) events #> name from to category #> 1 Multi-day event 1 2024-04-02 2024-04-03 A #> 2 Multi-day event 2 2024-04-02 2024-04-05 B #> 3 Single-day event 1 2024-04-02 2024-04-02 A #> 4 Single-day event 2 2024-04-02 2024-04-02 A #> 5 Single-day event 3 2024-04-03 B #> 6 Multi-week event 1 2024-04-09 2024-04-23 C monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events, palette = c(\"A\" = \"#00356a\", \"B\" = \"#990000\", \"C\" = \"#a17900\"))"},{"path":[]},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"annual-calendar","dir":"Articles","previous_headings":"","what":"Annual calendar","title":"Get started","text":"implemented yet…","code":""},{"path":"https://frbcesab.github.io/planner/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Nicolas Casajus. Author, maintainer, copyright holder.","code":""},{"path":"https://frbcesab.github.io/planner/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Casajus Nicolas (2024). planner: R package create monthly calendar. R package version 0.0.0.9000, https://github.com/frbcesab/planner/.","code":"@Manual{, title = {planner: {An} {R} package to create a monthly calendar}, author = {{Casajus Nicolas}}, year = {2024}, note = {R package version 0.0.0.9000}, url = {https://github.com/frbcesab/planner/}, }"},{"path":"https://frbcesab.github.io/planner/index.html","id":"planner-","dir":"","previous_headings":"","what":"Create a Monthly Calendar with Events","title":"Create a Monthly Calendar with Events","text":"• Overview • Installation • Get started • Citation • Contributing • Acknowledgments","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Create a Monthly Calendar with Events","text":"R package planner dedicated create monthly calendar. plots exports calendar pdf file (ready print A4 paper format). Holidays (France supported yet) identified user can easily add events (four day). User can also choose week five days (working week) full week (weekend included). Empty monthly calendar (weekends) Empty monthly calendar (without weekend) Monthly calendar single-day events Monthly calendar multi-day events Monthly calendar multi-week events --one","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Create a Monthly Calendar with Events","text":"can install development version GitHub : can attach package planner:","code":"## Install < remotes > package (if not already installed) ---- if (!requireNamespace(\"remotes\", quietly = TRUE)) { install.packages(\"remotes\") } ## Install < planner > from GitHub ---- remotes::install_github(\"frbcesab/planner\") library(\"planner\")"},{"path":"https://frbcesab.github.io/planner/index.html","id":"get-started","dir":"","previous_headings":"","what":"Get started","title":"Create a Monthly Calendar with Events","text":"overview main features planner, please read Get started vignette.","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Create a Monthly Calendar with Events","text":"Please cite planner : Casajus Nicolas (2024) planner: R package create monthly calendar. R package version 0.0.0.9000. https://github.com/frbcesab/planner/","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"contributing","dir":"","previous_headings":"","what":"Contributing","title":"Create a Monthly Calendar with Events","text":"types contributions encouraged valued. information, check Contributor Guidelines. Please note planner project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"acknowledgments","dir":"","previous_headings":"","what":"Acknowledgments","title":"Create a Monthly Calendar with Events","text":"package developed part FRB-CESAB work.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter calendar events to match the extent on the calendar — filter_events","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"Filter calendar events match extent calendar","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"","code":"filter_events( data, year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), format = \"%Y-%m-%d\", weekend = FALSE )"},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"data data.frame least following columns: , start event, , end event, name, name event, category, category event (used different colors). year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). weekend logical. TRUE keeps Saturdays Sundays. Default FALSE.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"data.frame, input events matching extent calendar.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"","code":"## No example ---"},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter holidays by category — filter_holidays","title":"Filter holidays by category — filter_holidays","text":"Filter holidays category","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter holidays by category — filter_holidays","text":"","code":"filter_holidays(data, types)"},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter holidays by category — filter_holidays","text":"data data.frame least following column: type, category holiday. Typically, output get_holidays(). types character types holidays keep. See get_holiday_types().","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter holidays by category — filter_holidays","text":"data.frame, input holidays matching type category.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter holidays by category — filter_holidays","text":"","code":"if (FALSE) { ## Get holidays for United Kingdom in 2024 ---- holidays <- get_holidays(country = \"UK\", year = 2024, month = 4) ## Get types of holidays ---- get_holiday_types(holidays) ## Filter holidays ---- filter_holidays(holidays, types = \"Common Local Holiday\") }"},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the calendar for a given month and year — get_calendar","title":"Get the calendar for a given month and year — get_calendar","text":"Get calendar given month year","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the calendar for a given month and year — get_calendar","text":"","code":"get_calendar( year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), weekend = FALSE, lang = NULL )"},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the calendar for a given month and year — get_calendar","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. weekend logical. TRUE keeps Saturdays Sundays. Default FALSE. lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the calendar for a given month and year — get_calendar","text":"data.frame following columns: date: date day (YYYY-MM-DD), year: year day (integer), month: month day (integer), day: day (integer), week: number week (integer), weekday: name day week (character), month_name: name month (character), x: position x-axis (used monthly_calendar()), y: position y-axis (used monthly_calendar()).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the calendar for a given month and year — get_calendar","text":"","code":"## Calendar for the current month ---- head(get_calendar()) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-04-01 2024 4 1 14 Monday April Monday #> 2 2024-04-02 2024 4 2 14 Tuesday April Tuesday #> 3 2024-04-03 2024 4 3 14 Wednesday April Wednesday #> 4 2024-04-04 2024 4 4 14 Thursday April Thursday #> 5 2024-04-05 2024 4 5 14 Friday April Friday #> 6 2024-04-08 2024 4 8 15 Monday April Monday #> user_month_name x y #> 1 April 1 6 #> 2 April 2 6 #> 3 April 3 6 #> 4 April 4 6 #> 5 April 5 6 #> 6 April 1 5 ## Calendar for December (current year) ---- head(get_calendar(month = 12)) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-12-02 2024 12 2 49 Monday December Monday #> 2 2024-12-03 2024 12 3 49 Tuesday December Tuesday #> 3 2024-12-04 2024 12 4 49 Wednesday December Wednesday #> 4 2024-12-05 2024 12 5 49 Thursday December Thursday #> 5 2024-12-06 2024 12 6 49 Friday December Friday #> 6 2024-12-09 2024 12 9 50 Monday December Monday #> user_month_name x y #> 1 December 1 6 #> 2 December 2 6 #> 3 December 3 6 #> 4 December 4 6 #> 5 December 5 6 #> 6 December 1 5 ## Calendar for April (current year) ---- head(get_calendar(month = 4)) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-04-01 2024 4 1 14 Monday April Monday #> 2 2024-04-02 2024 4 2 14 Tuesday April Tuesday #> 3 2024-04-03 2024 4 3 14 Wednesday April Wednesday #> 4 2024-04-04 2024 4 4 14 Thursday April Thursday #> 5 2024-04-05 2024 4 5 14 Friday April Friday #> 6 2024-04-08 2024 4 8 15 Monday April Monday #> user_month_name x y #> 1 April 1 6 #> 2 April 2 6 #> 3 April 3 6 #> 4 April 4 6 #> 5 April 5 6 #> 6 April 1 5 ## Calendar for January 1970 ---- head(get_calendar(year = 1970, month = 1)) #> date year month day week en_weekday en_month_name user_weekday #> 1 1970-01-01 1970 1 1 0 Thursday January Thursday #> 2 1970-01-02 1970 1 2 0 Friday January Friday #> 3 1970-01-05 1970 1 5 1 Monday January Monday #> 4 1970-01-06 1970 1 6 1 Tuesday January Tuesday #> 5 1970-01-07 1970 1 7 1 Wednesday January Wednesday #> 6 1970-01-08 1970 1 8 1 Thursday January Thursday #> user_month_name x y #> 1 January 4 6 #> 2 January 5 6 #> 3 January 1 5 #> 4 January 2 5 #> 5 January 3 5 #> 6 January 4 5 if (FALSE) { ## Change the locale (Spanish) ---- head(get_calendar(year = 1970, month = 1, lang = \"Spanish\")) }"},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":null,"dir":"Reference","previous_headings":"","what":"Get holidays category — get_holiday_types","title":"Get holidays category — get_holiday_types","text":"Get holidays category","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get holidays category — get_holiday_types","text":"","code":"get_holiday_types(data)"},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get holidays category — get_holiday_types","text":"data data.frame following column: type, category holiday. Typically, output get_holidays().","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get holidays category — get_holiday_types","text":"character categories holidays.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get holidays category — get_holiday_types","text":"","code":"if (FALSE) { ## Get holidays for United Kingdom in 2024 ---- holidays <- get_holidays(country = \"UK\", year = 2024, month = 4) ## Get types of holidays ---- get_holiday_types(holidays) }"},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":null,"dir":"Reference","previous_headings":"","what":"Get holidays for a given country and a given year — get_holidays","title":"Get holidays for a given country and a given year — get_holidays","text":"Scraps site https://www.timeanddate.com retrieve holidays data.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get holidays for a given country and a given year — get_holidays","text":"","code":"get_holidays(country, year, month)"},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get holidays for a given country and a given year — get_holidays","text":"country character length 1. name country (e.g. 'France') retrieve holidays . year either integer character length 1. Must 4 characters (e.g. '2024' '24'). month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get holidays for a given country and a given year — get_holidays","text":"data.frame following columns: date: date holiday (YYYY-MM-DD), name: name holiday (character), type: category holiday (character).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get holidays for a given country and a given year — get_holidays","text":"","code":"if (FALSE) { ## Get holidays for France in 2024 ---- get_holidays(country = \"France\", year = 2024, month = 4) }"},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the name of a month — get_month_name","title":"Get the name of a month — get_month_name","text":"Get name month","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the name of a month — get_month_name","text":"","code":"get_month_name(month, lang = NULL)"},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the name of a month — get_month_name","text":"month integer length 1. month convert letters. lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the name of a month — get_month_name","text":"character length 1.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the name of a month — get_month_name","text":"","code":"## Default ---- get_month_name(month = 4) #> [1] \"April\" if (FALSE) { ## Get Spanish name ---- get_month_name(month = 4, lang = \"Spanish\") ## Get Finnish name ---- get_month_name(month = 4, lang = \"Finnish\") }"},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":null,"dir":"Reference","previous_headings":"","what":"Get moon phases for a given year — get_moon_phases","title":"Get moon phases for a given year — get_moon_phases","text":"Scraps site https://www.timeanddate.com retrieve moon phases data.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get moon phases for a given year — get_moon_phases","text":"","code":"get_moon_phases(year)"},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get moon phases for a given year — get_moon_phases","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get moon phases for a given year — get_moon_phases","text":"data.frame following columns: new_moon: date new moons (YYYY-MM-DD), first_quarter: date first quarters (YYYY-MM-DD), full_moon: date full moons (YYYY-MM-DD), third_quarter: date third quarters (YYYY-MM-DD).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get moon phases for a given year — get_moon_phases","text":"","code":"if (FALSE) { ## Get moon phases for 2024 ---- get_moon_phases(2024) }"},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the weekday name of a date — get_weekday_name","title":"Get the weekday name of a date — get_weekday_name","text":"Get weekday name date","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the weekday name of a date — get_weekday_name","text":"","code":"get_weekday_name(date, format = \"%Y-%m-%d\", lang = NULL)"},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the weekday name of a date — get_weekday_name","text":"date either character Date length 1. date extract weekday name. See examples . format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). See examples . lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the weekday name of a date — get_weekday_name","text":"character length 1.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the weekday name of a date — get_weekday_name","text":"","code":"## Default ---- get_weekday_name(\"2024-04-01\") #> [1] \"Monday\" ## Change date format ---- get_weekday_name(\"01/04/2024\", format = \"%d/%m/%Y\") #> [1] \"Monday\" if (FALSE) { ## Get Spanish name ---- get_weekday_name(\"2024-04-01\", lang = \"Spanish\") ## Get Finnish name ---- get_weekday_name(\"2024-04-01\", lang = \"Finnish\") }"},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":null,"dir":"Reference","previous_headings":"","what":"Export a monthly calendar as pdf — monthly_calendar","title":"Export a monthly calendar as pdf — monthly_calendar","text":"Export monthly calendar pdf","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Export a monthly calendar as pdf — monthly_calendar","text":"","code":"monthly_calendar( year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), path = getwd(), filename = NULL, title = NULL, events = NULL, weekend = TRUE, palette = \"#333333\", lang = NULL, holidays = NULL, moon = FALSE, specials = NULL )"},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Export a monthly calendar as pdf — monthly_calendar","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. path character length 1. directory save pdf file. Must exist. Default current directory. filename character length 1. name pdf file. Default calendar-YYYY-MM.pdf (e.g. calendar-2024-04.pdf). title character length 1. title calendar. Default Month YYYY (e.g. April 2024). events optional data.frame following columns: name, name event, , starting date event, , ending date event, category, category event. weekend logical. TRUE (default) keeps Saturdays Sundays. palette character vector colors events. one color provided (default), events color. several colors provided, number colors palette must equal total number event categories (duplicated colors accepted). Moreover, palette argument must named vector, names match event categories. example, events object contains two categories (cat_a cat_b), palette argument must equal palette = c(\"cat_a\" = \"black\", \"cat_b\" = \"red\"). lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). Depending OS locale, output can weird. holidays optional data.frame following columns: date, date holiday, name, name holiday. Typically, output get_holidays(). Default NULL. moon logical. TRUE adds new/full moon glyph. Default FALSE. specials optional data.frame following columns: date, date special day, name, name special day. special days added top day box. Default NULL.","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Export a monthly calendar as pdf — monthly_calendar","text":"return value. calendar exported pdf file path.","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Export a monthly calendar as pdf — monthly_calendar","text":"","code":"if (FALSE) { ## Add an example ---- }"},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the number of days in a month for a given year — number_of_days","title":"Return the number of days in a month for a given year — number_of_days","text":"Return number days month given year","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the number of days in a month for a given year — number_of_days","text":"","code":"number_of_days(date, format = \"%Y-%m-%d\")"},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the number of days in a month for a given year — number_of_days","text":"date either character Date length 1. See examples . format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). See examples .","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the number of days in a month for a given year — number_of_days","text":"integer corresponding number days month specified year.","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Return the number of days in a month for a given year — number_of_days","text":"","code":"## Default ---- number_of_days(\"2024-02-01\") #> [1] 29 ## Day doesn't matter ---- number_of_days(\"2024-02-23\") #> [1] 29 ## Year matters ---- number_of_days(\"2023-02-23\") #> [1] 28 ## Change the format ---- number_of_days(\"2024/02/23\", format = \"%Y/%m/%d\") #> [1] 29 ## French format ---- number_of_days(\"23/02/2024\", format = \"%d/%m/%Y\") #> [1] 29"},{"path":"https://frbcesab.github.io/planner/reference/planner-package.html","id":null,"dir":"Reference","previous_headings":"","what":"planner: Create a Monthly Calendar with Events — planner-package","title":"planner: Create a Monthly Calendar with Events — planner-package","text":"Plots exports monthly calendar 'pdf'. Holidays (France ) identified. User can easily add events (four day) choose week five days (working week) full week (weekend included).","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/reference/planner-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"planner: Create a Monthly Calendar with Events — planner-package","text":"Maintainer: Nicolas Casajus nicolas.casajus@fondationbiodiversite.fr (ORCID) [copyright holder]","code":""},{"path":[]}] +[{"path":[]},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement nicolas.casajus@fondationbiodiversite.fr. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://frbcesab.github.io/planner/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to planner","title":"Contributing to planner","text":"First , thanks taking time contribute planner! types contributions encouraged valued. See Table contents different ways help details project handles . Please make sure read relevant section making contribution. make lot easier us maintainers smooth experience involved.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"table-of-contents","dir":"","previous_headings":"","what":"Table of contents","title":"Contributing to planner","text":"Code conduct Style guide Commit messages Asking questions Reporting bugs Requesting features Contributing code","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of conduct","title":"Contributing to planner","text":"project released Contributor Code Conduct. participating, expected uphold code. Please report unacceptable behavior nicolas.casajus@fondationbiodiversite.fr.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"style-guide","dir":"","previous_headings":"","what":"Style guide","title":"Contributing to planner","text":"use Tidyverse style guide writing R code. Functions documented roxygen2 syntax. planner uses lower_snake_case.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"commit-messages","dir":"","previous_headings":"","what":"Commit messages","title":"Contributing to planner","text":"want contribute commiting changes, please try use Conventional commits specification.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"asking-questions","dir":"","previous_headings":"","what":"Asking questions","title":"Contributing to planner","text":"ask question, best search existing Issues might help . case found suitable issue still need clarification, can write question issue. still feel need ask question need clarification, recommend following: Open new Issue. Use template other_issue.md. Provide much context can ’re running . Provide project platform versions (paste output sessionInfo()). take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"before-submitting-a-bug-report","dir":"","previous_headings":"Reporting bugs","what":"Before submitting a bug report","title":"Contributing to planner","text":"good bug report shouldn’t leave others needing chase information. Therefore, ask investigate carefully, collect information describe issue detail report. Please complete following steps advance help us fix potential bug fast possible. Make sure using latest version planner. Determine bug really bug error side. see users experienced (potentially already solved) issue , check already bug report existing bug error bug tracker.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"how-do-i-submit-a-bug-report","dir":"","previous_headings":"Reporting bugs","what":"How do I submit a bug report?","title":"Contributing to planner","text":"use GitHub Issues track bugs errors. run issue project: Open new Issue. Use template bug_report.md. Explain behavior expect actual behavior. Please provide much context possible describe reproduction steps someone else can follow recreate issue . usually includes code reproducible example. take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"before-requesting-a-feature","dir":"","previous_headings":"Requesting features","what":"Before requesting a feature","title":"Contributing to planner","text":"Make sure using latest version planner. Read documentation carefully find functionality already covered. Perform search see enhancement already suggested. , add comment existing issue instead opening new one.","code":""},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"how-do-i-submit-a-feature-request","dir":"","previous_headings":"Requesting features","what":"How do I submit a feature request?","title":"Contributing to planner","text":"Feature requests tracked GitHub Issues. Open new Issue. Use template feature_request.md. Provide clear descriptive title issue identify suggestion. Provide step--step description suggested enhancement many details possible. Explain enhancement useful planner users. take care issue soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"general-workflow","dir":"","previous_headings":"Contributing code","what":"General workflow","title":"Contributing to planner","text":"use GitHub flow collaborate project: Fork repository using GitHub interface. Clone fork using git clone fork-url (replace fork-url URL fork). Alternatively, open RStudio IDE create New Project Version Control. Create new branch w/ git checkout -b branch-name (replace branch-name name new branch). Make contribution (see examples). Stage (git add) commit (git commit) changes often necessary Push changes GitHub w/ git push origin branch-name. Submit Pull Request original repo. review PR soon possible.","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-the-readme","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing the README","title":"Contributing to planner","text":"want contribute improving README, please edit README.Rmd (README.md). forget update README.md running:","code":"rmarkdown::render(\"README.Rmd\")"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-vignettes","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing vignettes","title":"Contributing to planner","text":"want contribute editing existing vignette, just edit corresponding Rmd file stored vignettes/ folder. want contribute adding new vignette, create new Rmd file vignettes/ folder add following header: use new external dependency, forget add DESCRIPTION file section Suggests (package already listed section Imports). Check integrity package :","code":"--- title: \"Vignette Title\" output: rmarkdown::html_vignette vignette: > %\\VignetteIndexEntry{Vignette Title} %\\VignetteEngine{knitr::rmarkdown} %\\VignetteEncoding{UTF-8} --- devtools::check()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"editing-function-documentation","dir":"","previous_headings":"Contributing code > Improve documentation","what":"Editing function documentation","title":"Contributing to planner","text":"want contribute improving documentation function, open corresponding file R/ folder edit lines starting #' (roxygen2 syntax). Update documentation (Rd files man/ folder) running: use new external dependency example section, forget add DESCRIPTION file section Imports (package already listed). Check integrity package :","code":"devtools::document() devtools::check()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"fix-bug","dir":"","previous_headings":"Contributing code","what":"Fix bug","title":"Contributing to planner","text":"want contribute improving code function, open edit corresponding file R/ folder. Check integrity package : forget adapt unit tests function editing corresponding file stored tests/testthat/ folder. use package testthat implement unit tests. Check tests running:","code":"devtools::check() devtools::test()"},{"path":"https://frbcesab.github.io/planner/CONTRIBUTING.html","id":"new-feature","dir":"","previous_headings":"Contributing code","what":"New feature","title":"Contributing to planner","text":"want contribute submitting new feature, please follow workflow: Create new R file folder R/. Implement code function. Document function w/ roxygen2 syntax. necessary, add additional dependencies DESCRIPTION file. Update package documentation w/ devtools::document(). Create new R file folder tests/testthat/. Implement unit tests new function. Check integrity package w/ devtools::check(). Thanks contribution!","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 2, June 1991Copyright © 1989, 1991 Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"licenses software designed take away freedom share change . contrast, GNU General Public License intended guarantee freedom share change free software–make sure software free users. General Public License applies Free Software Foundation’s software program whose authors commit using . (Free Software Foundation software covered GNU Lesser General Public License instead.) can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge service wish), receive source code can get want , can change software use pieces new free programs; know can things. protect rights, need make restrictions forbid anyone deny rights ask surrender rights. restrictions translate certain responsibilities distribute copies software, modify . example, distribute copies program, whether gratis fee, must give recipients rights . must make sure , , receive can get source code. must show terms know rights. protect rights two steps: (1) copyright software, (2) offer license gives legal permission copy, distribute /modify software. Also, author’s protection , want make certain everyone understands warranty free software. software modified someone else passed , want recipients know original, problems introduced others reflect original authors’ reputations. Finally, free program threatened constantly software patents. wish avoid danger redistributors free program individually obtain patent licenses, effect making program proprietary. prevent , made clear patent must licensed everyone’s free use licensed . precise terms conditions copying, distribution modification follow.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"terms-and-conditions-for-copying-distribution-and-modification","dir":"","previous_headings":"","what":"TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION","title":"GNU General Public License","text":"0. License applies program work contains notice placed copyright holder saying may distributed terms General Public License. “Program”, , refers program work, “work based Program” means either Program derivative work copyright law: say, work containing Program portion , either verbatim modifications /translated another language. (Hereinafter, translation included without limitation term “modification”.) licensee addressed “”. Activities copying, distribution modification covered License; outside scope. act running Program restricted, output Program covered contents constitute work based Program (independent made running Program). Whether true depends Program . 1. may copy distribute verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice disclaimer warranty; keep intact notices refer License absence warranty; give recipients Program copy License along Program. may charge fee physical act transferring copy, may option offer warranty protection exchange fee. 2. may modify copy copies Program portion , thus forming work based Program, copy distribute modifications work terms Section 1 , provided also meet conditions: ) must cause modified files carry prominent notices stating changed files date change. b) must cause work distribute publish, whole part contains derived Program part thereof, licensed whole charge third parties terms License. c) modified program normally reads commands interactively run, must cause , started running interactive use ordinary way, print display announcement including appropriate copyright notice notice warranty (else, saying provide warranty) users may redistribute program conditions, telling user view copy License. (Exception: Program interactive normally print announcement, work based Program required print announcement.) requirements apply modified work whole. identifiable sections work derived Program, can reasonably considered independent separate works , License, terms, apply sections distribute separate works. distribute sections part whole work based Program, distribution whole must terms License, whose permissions licensees extend entire whole, thus every part regardless wrote . Thus, intent section claim rights contest rights work written entirely ; rather, intent exercise right control distribution derivative collective works based Program. addition, mere aggregation another work based Program Program (work based Program) volume storage distribution medium bring work scope License. 3. may copy distribute Program (work based , Section 2) object code executable form terms Sections 1 2 provided also one following: ) Accompany complete corresponding machine-readable source code, must distributed terms Sections 1 2 medium customarily used software interchange; , b) Accompany written offer, valid least three years, give third party, charge cost physically performing source distribution, complete machine-readable copy corresponding source code, distributed terms Sections 1 2 medium customarily used software interchange; , c) Accompany information received offer distribute corresponding source code. (alternative allowed noncommercial distribution received program object code executable form offer, accord Subsection b .) source code work means preferred form work making modifications . executable work, complete source code means source code modules contains, plus associated interface definition files, plus scripts used control compilation installation executable. However, special exception, source code distributed need include anything normally distributed (either source binary form) major components (compiler, kernel, ) operating system executable runs, unless component accompanies executable. distribution executable object code made offering access copy designated place, offering equivalent access copy source code place counts distribution source code, even though third parties compelled copy source along object code. 4. may copy, modify, sublicense, distribute Program except expressly provided License. attempt otherwise copy, modify, sublicense distribute Program void, automatically terminate rights License. However, parties received copies, rights, License licenses terminated long parties remain full compliance. 5. required accept License, since signed . However, nothing else grants permission modify distribute Program derivative works. actions prohibited law accept License. Therefore, modifying distributing Program (work based Program), indicate acceptance License , terms conditions copying, distributing modifying Program works based . 6. time redistribute Program (work based Program), recipient automatically receives license original licensor copy, distribute modify Program subject terms conditions. may impose restrictions recipients’ exercise rights granted herein. responsible enforcing compliance third parties License. 7. , consequence court judgment allegation patent infringement reason (limited patent issues), conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. distribute satisfy simultaneously obligations License pertinent obligations, consequence may distribute Program . example, patent license permit royalty-free redistribution Program receive copies directly indirectly , way satisfy License refrain entirely distribution Program. portion section held invalid unenforceable particular circumstance, balance section intended apply section whole intended apply circumstances. purpose section induce infringe patents property right claims contest validity claims; section sole purpose protecting integrity free software distribution system, implemented public license practices. Many people made generous contributions wide range software distributed system reliance consistent application system; author/donor decide willing distribute software system licensee impose choice. section intended make thoroughly clear believed consequence rest License. 8. distribution /use Program restricted certain countries either patents copyrighted interfaces, original copyright holder places Program License may add explicit geographical distribution limitation excluding countries, distribution permitted among countries thus excluded. case, License incorporates limitation written body License. 9. Free Software Foundation may publish revised /new versions General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies version number License applies “later version”, option following terms conditions either version later version published Free Software Foundation. Program specify version number License, may choose version ever published Free Software Foundation. 10. wish incorporate parts Program free programs whose distribution conditions different, write author ask permission. software copyrighted Free Software Foundation, write Free Software Foundation; sometimes make exceptions . decision guided two goals preserving free status derivatives free software promoting sharing reuse software generally.","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"no-warranty","dir":"","previous_headings":"","what":"NO WARRANTY","title":"GNU General Public License","text":"11. PROGRAM LICENSED FREE CHARGE, WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION. 12. EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MAY MODIFY /REDISTRIBUTE PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES. END TERMS CONDITIONS","code":""},{"path":"https://frbcesab.github.io/planner/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively convey exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program interactive, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, commands use may called something show w show c; even mouse-clicks menu items–whatever suits program. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. sample; alter names: General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License.","code":" Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"monthly-calendar","dir":"Articles","previous_headings":"","what":"Monthly calendar","title":"Get started","text":"Monthly calendar - Default settings","code":"monthly_calendar(year = 2024, month = 4)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"working-week","dir":"Articles","previous_headings":"Monthly calendar","what":"Working week","title":"Get started","text":"Monthly calendar - Working weeks","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"moon-phases","dir":"Articles","previous_headings":"Monthly calendar","what":"Moon phases","title":"Get started","text":"Monthly calendar - Moon phases","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"holidays","dir":"Articles","previous_headings":"Monthly calendar","what":"Holidays","title":"Get started","text":"Monthly calendar - UK Holidays Monthly calendar - UK Holidays (filtered)","code":"holidays <- get_holidays(year = 2024, month = 4, country = \"UK\") holidays #> date name type #> 1 2024-04-01 Easter Monday Common Local Holiday #> 2 2024-04-05 Laylatul Qadr (Night of Power) Muslim #> 3 2024-04-10 Eid ul Fitr (Tentative Date) Muslim #> 4 2024-04-22 Stephen Lawrence Day Observance #> 5 2024-04-23 First day of Passover Jewish Holiday #> 6 2024-04-30 Last day of Passover Jewish Holiday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays) get_holiday_types(holidays) #> [1] \"Common Local Holiday\" \"Jewish Holiday\" \"Muslim\" #> [4] \"Observance\" holidays <- filter_holidays(data = holidays, types = \"Common Local Holiday\") holidays #> date name type #> 1 2024-04-01 Easter Monday Common Local Holiday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"special-events","dir":"Articles","previous_headings":"Monthly calendar","what":"Special events","title":"Get started","text":"Monthly calendar - Special dates","code":"birthdays <- data.frame(\"date\" = c(\"2024-04-11\", \"2024-04-17\"), \"name\" = c(\"John's birthday\", \"Jane's birthday\")) birthdays #> date name #> 1 2024-04-11 John's birthday #> 2 2024-04-17 Jane's birthday monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays)"},{"path":[]},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"single-day-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Single-day events","title":"Get started","text":"Monthly calendar - Single-day events … Monthly calendar - Single-day events (bis)","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 4\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events #> name from to #> 1 Single-day event 1 2024-04-02 2024-04-02 #> 2 Single-day event 2 2024-04-02 2024-04-02 #> 3 Single-day event 3 2024-04-02 2024-04-02 #> 4 Single-day event 4 2024-04-02 2024-04-02 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events) events <- rbind(events, data.frame(\"name\" = \"Single-day event 5\", \"from\" = \"2024-04-03\", \"to\" = NA)) events #> name from to #> 1 Single-day event 1 2024-04-02 2024-04-02 #> 2 Single-day event 2 2024-04-02 2024-04-02 #> 3 Single-day event 3 2024-04-02 2024-04-02 #> 4 Single-day event 4 2024-04-02 2024-04-02 #> 5 Single-day event 5 2024-04-03 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"multi-day-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Multi-day events","title":"Get started","text":"Monthly calendar - Multi-day events","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA)) events #> name from to #> 1 Multi-day event 1 2024-04-02 2024-04-03 #> 2 Multi-day event 2 2024-04-02 2024-04-05 #> 3 Single-day event 1 2024-04-02 2024-04-02 #> 4 Single-day event 2 2024-04-02 2024-04-02 #> 5 Single-day event 3 2024-04-03 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"multi-week-events","dir":"Articles","previous_headings":"Monthly calendar > Adding events","what":"Multi-week events","title":"Get started","text":"Monthly calendar - Multi-week events","code":"events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA)) events <- rbind(events, data.frame(\"name\" = \"Multi-week event 1\", \"from\" = \"2024-04-09\", \"to\" = \"2024-04-23\")) events #> name from to #> 1 Multi-day event 1 2024-04-02 2024-04-03 #> 2 Multi-day event 2 2024-04-02 2024-04-05 #> 3 Single-day event 1 2024-04-02 2024-04-02 #> 4 Single-day event 2 2024-04-02 2024-04-02 #> 5 Single-day event 3 2024-04-03 #> 6 Multi-week event 1 2024-04-09 2024-04-23 monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events)"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"colors","dir":"Articles","previous_headings":"Monthly calendar","what":"Colors","title":"Get started","text":"Monthly calendar - Customize colors Monthly calendar - Customize colors (bis)","code":"monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events, palette = \"#990000\") events <- data.frame() events <- rbind(events, data.frame(\"name\" = \"Multi-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-03\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Multi-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-05\", \"category\" = \"B\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 1\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 2\", \"from\" = \"2024-04-02\", \"to\" = \"2024-04-02\", \"category\" = \"A\")) events <- rbind(events, data.frame(\"name\" = \"Single-day event 3\", \"from\" = \"2024-04-03\", \"to\" = NA, \"category\" = \"B\")) events <- rbind(events, data.frame(\"name\" = \"Multi-week event 1\", \"from\" = \"2024-04-09\", \"to\" = \"2024-04-23\", \"category\" = \"C\")) events #> name from to category #> 1 Multi-day event 1 2024-04-02 2024-04-03 A #> 2 Multi-day event 2 2024-04-02 2024-04-05 B #> 3 Single-day event 1 2024-04-02 2024-04-02 A #> 4 Single-day event 2 2024-04-02 2024-04-02 A #> 5 Single-day event 3 2024-04-03 B #> 6 Multi-week event 1 2024-04-09 2024-04-23 C monthly_calendar(year = 2024, month = 4, weekend = FALSE, moon = TRUE, holidays = holidays, specials = birthdays, events = events, palette = c(\"A\" = \"#00356a\", \"B\" = \"#990000\", \"C\" = \"#a17900\"))"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"calendar-language","dir":"Articles","previous_headings":"Monthly calendar","what":"Calendar language","title":"Get started","text":"Monthly calendar - Customize language (Finnish) Monthly calendar - Customize language (Greek)","code":"monthly_calendar(year = 2024, month = 4, lang = \"Finnish\") monthly_calendar(year = 2024, month = 4, lang = \"Greek\")"},{"path":"https://frbcesab.github.io/planner/articles/planner.html","id":"annual-calendar","dir":"Articles","previous_headings":"","what":"Annual calendar","title":"Get started","text":"implemented yet…","code":""},{"path":"https://frbcesab.github.io/planner/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Nicolas Casajus. Author, maintainer, copyright holder.","code":""},{"path":"https://frbcesab.github.io/planner/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Casajus Nicolas (2024). planner: R package create monthly calendar. R package version 0.0.0.9000, https://github.com/frbcesab/planner/.","code":"@Manual{, title = {planner: {An} {R} package to create a monthly calendar}, author = {{Casajus Nicolas}}, year = {2024}, note = {R package version 0.0.0.9000}, url = {https://github.com/frbcesab/planner/}, }"},{"path":"https://frbcesab.github.io/planner/index.html","id":"planner-","dir":"","previous_headings":"","what":"Create a Monthly Calendar with Events","title":"Create a Monthly Calendar with Events","text":"• Overview • Installation • Get started • Citation • Contributing • Acknowledgments","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Create a Monthly Calendar with Events","text":"R package planner dedicated create monthly calendar. plots exports calendar pdf file (ready print A4 paper format). Holidays (France supported yet) identified user can easily add events (four day). User can also choose week five days (working week) full week (weekend included). Empty monthly calendar (weekends) Empty monthly calendar (without weekend) Monthly calendar single-day events Monthly calendar multi-day events Monthly calendar multi-week events --one","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Create a Monthly Calendar with Events","text":"can install development version GitHub : can attach package planner:","code":"## Install < remotes > package (if not already installed) ---- if (!requireNamespace(\"remotes\", quietly = TRUE)) { install.packages(\"remotes\") } ## Install < planner > from GitHub ---- remotes::install_github(\"frbcesab/planner\") library(\"planner\")"},{"path":"https://frbcesab.github.io/planner/index.html","id":"get-started","dir":"","previous_headings":"","what":"Get started","title":"Create a Monthly Calendar with Events","text":"overview main features planner, please read Get started vignette.","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Create a Monthly Calendar with Events","text":"Please cite planner : Casajus Nicolas (2024) planner: R package create monthly calendar. R package version 0.0.0.9000. https://github.com/frbcesab/planner/","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"contributing","dir":"","previous_headings":"","what":"Contributing","title":"Create a Monthly Calendar with Events","text":"types contributions encouraged valued. information, check Contributor Guidelines. Please note planner project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://frbcesab.github.io/planner/index.html","id":"acknowledgments","dir":"","previous_headings":"","what":"Acknowledgments","title":"Create a Monthly Calendar with Events","text":"package developed part FRB-CESAB work.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter calendar events to match the extent on the calendar — filter_events","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"Filter calendar events match extent calendar","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"","code":"filter_events( data, year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), format = \"%Y-%m-%d\", weekend = FALSE )"},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"data data.frame least following columns: , start event, , end event, name, name event, category, category event (used different colors). year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). weekend logical. TRUE keeps Saturdays Sundays. Default FALSE.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"data.frame, input events matching extent calendar.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_events.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter calendar events to match the extent on the calendar — filter_events","text":"","code":"## No example ---"},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter holidays by category — filter_holidays","title":"Filter holidays by category — filter_holidays","text":"Filter holidays category","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter holidays by category — filter_holidays","text":"","code":"filter_holidays(data, types)"},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter holidays by category — filter_holidays","text":"data data.frame least following column: type, category holiday. Typically, output get_holidays(). types character types holidays keep. See get_holiday_types().","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter holidays by category — filter_holidays","text":"data.frame, input holidays matching type category.","code":""},{"path":"https://frbcesab.github.io/planner/reference/filter_holidays.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter holidays by category — filter_holidays","text":"","code":"if (FALSE) { ## Get holidays for United Kingdom in 2024 ---- holidays <- get_holidays(country = \"UK\", year = 2024, month = 4) ## Get types of holidays ---- get_holiday_types(holidays) ## Filter holidays ---- filter_holidays(holidays, types = \"Common Local Holiday\") }"},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the calendar for a given month and year — get_calendar","title":"Get the calendar for a given month and year — get_calendar","text":"Get calendar given month year","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the calendar for a given month and year — get_calendar","text":"","code":"get_calendar( year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), weekend = FALSE, lang = NULL )"},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the calendar for a given month and year — get_calendar","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. weekend logical. TRUE keeps Saturdays Sundays. Default FALSE. lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the calendar for a given month and year — get_calendar","text":"data.frame following columns: date: date day (YYYY-MM-DD), year: year day (integer), month: month day (integer), day: day (integer), week: number week (integer), weekday: name day week (character), month_name: name month (character), x: position x-axis (used monthly_calendar()), y: position y-axis (used monthly_calendar()).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_calendar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the calendar for a given month and year — get_calendar","text":"","code":"## Calendar for the current month ---- head(get_calendar()) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-04-01 2024 4 1 14 Monday April Monday #> 2 2024-04-02 2024 4 2 14 Tuesday April Tuesday #> 3 2024-04-03 2024 4 3 14 Wednesday April Wednesday #> 4 2024-04-04 2024 4 4 14 Thursday April Thursday #> 5 2024-04-05 2024 4 5 14 Friday April Friday #> 6 2024-04-08 2024 4 8 15 Monday April Monday #> user_month_name x y #> 1 April 1 6 #> 2 April 2 6 #> 3 April 3 6 #> 4 April 4 6 #> 5 April 5 6 #> 6 April 1 5 ## Calendar for December (current year) ---- head(get_calendar(month = 12)) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-12-02 2024 12 2 49 Monday December Monday #> 2 2024-12-03 2024 12 3 49 Tuesday December Tuesday #> 3 2024-12-04 2024 12 4 49 Wednesday December Wednesday #> 4 2024-12-05 2024 12 5 49 Thursday December Thursday #> 5 2024-12-06 2024 12 6 49 Friday December Friday #> 6 2024-12-09 2024 12 9 50 Monday December Monday #> user_month_name x y #> 1 December 1 6 #> 2 December 2 6 #> 3 December 3 6 #> 4 December 4 6 #> 5 December 5 6 #> 6 December 1 5 ## Calendar for April (current year) ---- head(get_calendar(month = 4)) #> date year month day week en_weekday en_month_name user_weekday #> 1 2024-04-01 2024 4 1 14 Monday April Monday #> 2 2024-04-02 2024 4 2 14 Tuesday April Tuesday #> 3 2024-04-03 2024 4 3 14 Wednesday April Wednesday #> 4 2024-04-04 2024 4 4 14 Thursday April Thursday #> 5 2024-04-05 2024 4 5 14 Friday April Friday #> 6 2024-04-08 2024 4 8 15 Monday April Monday #> user_month_name x y #> 1 April 1 6 #> 2 April 2 6 #> 3 April 3 6 #> 4 April 4 6 #> 5 April 5 6 #> 6 April 1 5 ## Calendar for January 1970 ---- head(get_calendar(year = 1970, month = 1)) #> date year month day week en_weekday en_month_name user_weekday #> 1 1970-01-01 1970 1 1 0 Thursday January Thursday #> 2 1970-01-02 1970 1 2 0 Friday January Friday #> 3 1970-01-05 1970 1 5 1 Monday January Monday #> 4 1970-01-06 1970 1 6 1 Tuesday January Tuesday #> 5 1970-01-07 1970 1 7 1 Wednesday January Wednesday #> 6 1970-01-08 1970 1 8 1 Thursday January Thursday #> user_month_name x y #> 1 January 4 6 #> 2 January 5 6 #> 3 January 1 5 #> 4 January 2 5 #> 5 January 3 5 #> 6 January 4 5 if (FALSE) { ## Change the locale (Spanish) ---- head(get_calendar(year = 1970, month = 1, lang = \"Spanish\")) }"},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":null,"dir":"Reference","previous_headings":"","what":"Get holidays category — get_holiday_types","title":"Get holidays category — get_holiday_types","text":"Get holidays category","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get holidays category — get_holiday_types","text":"","code":"get_holiday_types(data)"},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get holidays category — get_holiday_types","text":"data data.frame following column: type, category holiday. Typically, output get_holidays().","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get holidays category — get_holiday_types","text":"character categories holidays.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holiday_types.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get holidays category — get_holiday_types","text":"","code":"if (FALSE) { ## Get holidays for United Kingdom in 2024 ---- holidays <- get_holidays(country = \"UK\", year = 2024, month = 4) ## Get types of holidays ---- get_holiday_types(holidays) }"},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":null,"dir":"Reference","previous_headings":"","what":"Get holidays for a given country and a given year — get_holidays","title":"Get holidays for a given country and a given year — get_holidays","text":"Scraps site https://www.timeanddate.com retrieve holidays data.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get holidays for a given country and a given year — get_holidays","text":"","code":"get_holidays(country, year, month)"},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get holidays for a given country and a given year — get_holidays","text":"country character length 1. name country (e.g. 'France') retrieve holidays . year either integer character length 1. Must 4 characters (e.g. '2024' '24'). month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get holidays for a given country and a given year — get_holidays","text":"data.frame following columns: date: date holiday (YYYY-MM-DD), name: name holiday (character), type: category holiday (character).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_holidays.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get holidays for a given country and a given year — get_holidays","text":"","code":"if (FALSE) { ## Get holidays for France in 2024 ---- get_holidays(country = \"France\", year = 2024, month = 4) }"},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the name of a month — get_month_name","title":"Get the name of a month — get_month_name","text":"Get name month","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the name of a month — get_month_name","text":"","code":"get_month_name(month, lang = NULL)"},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the name of a month — get_month_name","text":"month integer length 1. month convert letters. lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the name of a month — get_month_name","text":"character length 1.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_month_name.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the name of a month — get_month_name","text":"","code":"## Default ---- get_month_name(month = 4) #> [1] \"April\" if (FALSE) { ## Get Spanish name ---- get_month_name(month = 4, lang = \"Spanish\") ## Get Finnish name ---- get_month_name(month = 4, lang = \"Finnish\") }"},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":null,"dir":"Reference","previous_headings":"","what":"Get moon phases for a given year — get_moon_phases","title":"Get moon phases for a given year — get_moon_phases","text":"Scraps site https://www.timeanddate.com retrieve moon phases data.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get moon phases for a given year — get_moon_phases","text":"","code":"get_moon_phases(year)"},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get moon phases for a given year — get_moon_phases","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get moon phases for a given year — get_moon_phases","text":"data.frame following columns: new_moon: date new moons (YYYY-MM-DD), first_quarter: date first quarters (YYYY-MM-DD), full_moon: date full moons (YYYY-MM-DD), third_quarter: date third quarters (YYYY-MM-DD).","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_moon_phases.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get moon phases for a given year — get_moon_phases","text":"","code":"if (FALSE) { ## Get moon phases for 2024 ---- get_moon_phases(2024) }"},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the weekday name of a date — get_weekday_name","title":"Get the weekday name of a date — get_weekday_name","text":"Get weekday name date","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the weekday name of a date — get_weekday_name","text":"","code":"get_weekday_name(date, format = \"%Y-%m-%d\", lang = NULL)"},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the weekday name of a date — get_weekday_name","text":"date either character Date length 1. date extract weekday name. See examples . format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). See examples . lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). See examples . Depending OS locale, output can weird.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the weekday name of a date — get_weekday_name","text":"character length 1.","code":""},{"path":"https://frbcesab.github.io/planner/reference/get_weekday_name.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the weekday name of a date — get_weekday_name","text":"","code":"## Default ---- get_weekday_name(\"2024-04-01\") #> [1] \"Monday\" ## Change date format ---- get_weekday_name(\"01/04/2024\", format = \"%d/%m/%Y\") #> [1] \"Monday\" if (FALSE) { ## Get Spanish name ---- get_weekday_name(\"2024-04-01\", lang = \"Spanish\") ## Get Finnish name ---- get_weekday_name(\"2024-04-01\", lang = \"Finnish\") }"},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":null,"dir":"Reference","previous_headings":"","what":"Export a monthly calendar as pdf — monthly_calendar","title":"Export a monthly calendar as pdf — monthly_calendar","text":"Export monthly calendar pdf","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Export a monthly calendar as pdf — monthly_calendar","text":"","code":"monthly_calendar( year = format(Sys.Date(), \"%Y\"), month = format(Sys.Date(), \"%m\"), path = getwd(), filename = NULL, title = NULL, events = NULL, weekend = TRUE, palette = \"#333333\", lang = NULL, holidays = NULL, moon = FALSE, specials = NULL )"},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Export a monthly calendar as pdf — monthly_calendar","text":"year either integer character length 1. Must 4 characters (e.g. '2024' '24'). Default current year. month either integer character length 1. Must 1 2 characters (e.g. '01' '1'). Default current month. path character length 1. directory save pdf file. Must exist. Default current directory. filename character length 1. name pdf file. Default calendar-YYYY-MM.pdf (e.g. calendar-2024-04.pdf). title character length 1. title calendar. Default Month YYYY (e.g. April 2024). events optional data.frame following columns: name, name event, , starting date event, , ending date event, category, category event. weekend logical. TRUE (default) keeps Saturdays Sundays. palette character vector colors events. one color provided (default), events color. several colors provided, number colors palette must equal total number event categories (duplicated colors accepted). Moreover, palette argument must named vector, names match event categories. example, events object contains two categories (cat_a cat_b), palette argument must equal palette = c(\"cat_a\" = \"black\", \"cat_b\" = \"red\"). lang character length 1. Used change default locale (.e. language). Default NULL (.e. use current locale). Depending OS locale, output can weird. holidays optional data.frame following columns: date, date holiday, name, name holiday. Typically, output get_holidays(). Default NULL. moon logical. TRUE adds new/full moon glyph. Default FALSE. specials optional data.frame following columns: date, date special day, name, name special day. special days added top day box. Default NULL.","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Export a monthly calendar as pdf — monthly_calendar","text":"return value. calendar exported pdf file path.","code":""},{"path":"https://frbcesab.github.io/planner/reference/monthly_calendar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Export a monthly calendar as pdf — monthly_calendar","text":"","code":"if (FALSE) { ## Add an example ---- }"},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the number of days in a month for a given year — number_of_days","title":"Return the number of days in a month for a given year — number_of_days","text":"Return number days month given year","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the number of days in a month for a given year — number_of_days","text":"","code":"number_of_days(date, format = \"%Y-%m-%d\")"},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the number of days in a month for a given year — number_of_days","text":"date either character Date length 1. See examples . format character length 1. Used specify format date. Default \"%Y-%m-%d\" (.e. 2024-12-25). See examples .","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the number of days in a month for a given year — number_of_days","text":"integer corresponding number days month specified year.","code":""},{"path":"https://frbcesab.github.io/planner/reference/number_of_days.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Return the number of days in a month for a given year — number_of_days","text":"","code":"## Default ---- number_of_days(\"2024-02-01\") #> [1] 29 ## Day doesn't matter ---- number_of_days(\"2024-02-23\") #> [1] 29 ## Year matters ---- number_of_days(\"2023-02-23\") #> [1] 28 ## Change the format ---- number_of_days(\"2024/02/23\", format = \"%Y/%m/%d\") #> [1] 29 ## French format ---- number_of_days(\"23/02/2024\", format = \"%d/%m/%Y\") #> [1] 29"},{"path":"https://frbcesab.github.io/planner/reference/planner-package.html","id":null,"dir":"Reference","previous_headings":"","what":"planner: Create a Monthly Calendar with Events — planner-package","title":"planner: Create a Monthly Calendar with Events — planner-package","text":"Plots exports monthly calendar 'pdf'. Holidays (France ) identified. User can easily add events (four day) choose week five days (working week) full week (weekend included).","code":""},{"path":[]},{"path":"https://frbcesab.github.io/planner/reference/planner-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"planner: Create a Monthly Calendar with Events — planner-package","text":"Maintainer: Nicolas Casajus nicolas.casajus@fondationbiodiversite.fr (ORCID) [copyright holder]","code":""},{"path":[]}]