-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp_packages.qmd
158 lines (114 loc) · 4.17 KB
/
app_packages.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# App-packages {#sec-app-pkgs .unnumbered}
```{r}
#| eval: true
#| echo: false
#| include: false
source("_common.R")
library(shinypak)
```
Expand the callout boxes below to review what we've covered in the last four chapters:
::: {.callout-note collapse='true'}
## [Whole app game (Chapter 1)]{style='font-size: 1.15em;'}
@sec-whole-game walks through the 'whole game' of the app-package development workflow. The application in this example comes from the [Packages](https://mastering-shiny.org/scaling-packaging.html) chapter of Mastering Shiny.
- @sec-use-description
- @sec-use-data
- @sec-use-dependencies
- @sec-use-r-code
- @sec-use-load-all
- @sec-use-package-tests
- @sec-use-app-dot-r
- @sec-use-pkg-doc-file
- @sec-use-build-ignore
- @sec-use-license-file
- @sec-use-roxygen2
- @sec-use-namespace
- @sec-use-rstudio-project-options
- @sec-use-git
- @sec-use-keyboard-shortcuts
- @sec-use-pkg-install
- @sec-use-additional-files
- @sec-use-readme-rmd
- @sec-use-news-md
- @sec-use-vignette
:::
::: {.callout-note collapse='true'}
## [Shiny (Chapter 2)]{style='font-size: 1.15em;'}
The [Shiny](shiny.qmd) chapter covers:
- @sec-shiny-projects
- @sec-shiny-folders
- @sec-shiny-files
- @sec-shiny-modules
- @sec-shiny-standalone-app-fun
- @sec-adv-shiny-projects
:::
::: {.callout-note collapse='true'}
## [Packages (Chapter 3)]{style='font-size: 1.15em;'}
[Packages](packages.qmd) illustrates what separates R projects from R packages:
- @sec-packages-r-pkgs
- @sec-packages-essential-ingredients
- @sec-packages-rstudio-build-pane
- @sec-packages-positron-workspaces
- @sec-packages-app-pkgs
- @sec-create-new-app-packages
- @sec-convert-shiny-app-packages
:::
::: {.callout-note collapse='true'}
## [Development (Chapter 4)]{style='font-size: 1.15em;'}
@sec-dev introduced the `devtools` package and its core functions:
1. @sec-dev-load
2. @sec-dev-document and
3. @sec-dev-install
:::
## App-packages
In the following chapters, we will continue developing our Shiny application within the R package structure. Below is a preview of each topic covered in the upcoming chapters.
### Documentation (Chapter 5)
@sec-doc covers documenting the code in your app-package with `roxygen2`:
- Required tags:
- @sec-roxygen2-md-support
- @sec-roxygen2-title
- @sec-roxygen2-param-return and
- @sec-roxygen2-examples
- App-package tags for modules and standalone app functions:
- @sec-roxygen2-seealso
- @sec-roxygen2-family
- @sec-roxygen2-usage, and
- @sec-roxygen2-section
### Dependencies (Chapter 6)
@sec-depends dives into the external (i.e. add-on) functions and packages you've used to build your app-package. We'll also cover how to export functions and objects from your app-packages for others to use.
- @sec-depends-exports
- @sec-depends-imports
### Data (Chapter 7)
@sec-data covers how to include datasets in your app-package namespace, and the various kinds of data in R packages.
- Storing and Documenting data:
- @sec-data-data
- @sec-document-data
- Raw data files:
- @sec-data-data-raw
- Other locations for data:
- @sec-data-inst-extdata
### Launch (Chapter 8)
The @sec-launch chapter covers how to 1) run your application during development, 2) how to run your app using a standalone app function, and 3) how to deploy your application to shinyapps.io.
- App run functions:
- @sec-launch-shiny-app
- @sec-launch-shiny-app-dir
- @sec-launch-run-app
- Launching app files:
- @sec-launch-app-dot-r
### Resources (Chapter 9)
@sec-resources covers how to include external resources (i.e. the images, CSS, html, or other files that are typically included in the `www/` folder and served when you run your Shiny app). This chapter also covers other uses for the `isnt/` folder in app-packages.
- Static files:
- @sec-resources-image-files
- @sec-resources-add-resource-path
- Data files:
- @sec-resources-inst-dev
- Quarto apps:
- @sec-resources-inst-quarto
- Production:
- @sec-resources-inst-prod
```{r}
#| label: git_contrib_box
#| echo: false
#| results: asis
#| eval: true
git_contrib_box()
```