-
Notifications
You must be signed in to change notification settings - Fork 239
/
Copy pathhtml-dependencies.R
94 lines (83 loc) · 2.41 KB
/
html-dependencies.R
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
#' Tutorial HTML dependency
#'
#' @details HTML dependency for core tutorial JS and CSS. This should be included as a
#' dependency for custom tutorial formats that wish to ensure that that
#' tutorial.js and tutorial.css are loaded prior their own scripts and stylesheets.
#'
#' @export
tutorial_html_dependency <- function() {
htmltools::htmlDependency(
name = "tutorial",
version = utils::packageVersion("learnr"),
src = html_dependency_src("lib", "tutorial"),
script = "tutorial.js",
stylesheet = "tutorial.css"
)
}
tutorial_autocompletion_html_dependency <- function() {
htmltools::htmlDependency(
name = "tutorial-autocompletion",
version = utils::packageVersion("learnr"),
src = html_dependency_src("lib", "tutorial"),
script = "tutorial-autocompletion.js"
)
}
tutorial_diagnostics_html_dependency <- function() {
htmltools::htmlDependency(
name = "tutorial-diagnostics",
version = utils::packageVersion("learnr"),
src = html_dependency_src("lib", "tutorial"),
script = "tutorial-diagnostics.js"
)
}
html_dependency_src <- function(...) {
if (nzchar(Sys.getenv("RMARKDOWN_SHINY_PRERENDERED_DEVMODE"))) {
r_dir <- utils::getSrcDirectory(html_dependency_src, unique = TRUE)
pkg_dir <- dirname(r_dir)
file.path(pkg_dir, "inst", ...)
}
else {
system.file(..., package = "learnr")
}
}
idb_html_dependency <- function() {
htmltools::htmlDependency(
name = "idb-keyvalue",
version = "3.2.0",
src = system.file("lib/idb-keyval", package = "learnr"),
script = "idb-keyval-iife-compat.min.js",
all_files = FALSE
)
}
bootbox_html_dependency <- function() {
htmltools::htmlDependency(
name = "bootbox",
version = "4.4.0",
src = system.file("lib/bootbox", package = "learnr"),
script = "bootbox.min.js"
)
}
clipboardjs_html_dependency <- function() {
htmltools::htmlDependency(
name = "clipboardjs",
version = "1.5.15",
src = system.file("lib/clipboardjs", package = "learnr"),
script = "clipboard.min.js"
)
}
ace_html_dependency <- function() {
htmltools::htmlDependency(
name = "ace",
version = ACE_VERSION,
src = system.file("lib/ace", package = "learnr"),
script = "ace.js"
)
}
headroom_html_dependency <- function() {
htmltools::htmlDependency(
name = "headroom",
version = "0.11.0",
src = system.file("lib/headroom", package = "learnr"),
script = "headroom.js"
)
}