├── .Rhistory ├── .gitignore ├── README.md ├── gio ├── .Rbuildignore ├── .Rhistory ├── .gitignore ├── DESCRIPTION ├── NAMESPACE ├── R │ ├── data.R │ ├── gio.R │ └── utils-pipe.R ├── README.md ├── gio.Rproj ├── inst │ └── htmlwidgets │ │ ├── gio.js │ │ ├── gio.yaml │ │ └── lib │ │ ├── gio │ │ └── gio.min.js │ │ └── three │ │ └── three.min.js ├── man │ ├── gio-shiny.Rd │ ├── gio.Rd │ ├── pipe.Rd │ └── random_data.Rd └── shiny.R ├── playground ├── .Rbuildignore ├── .Rhistory ├── .gitignore ├── DESCRIPTION ├── NAMESPACE ├── R │ └── play.R ├── inst │ └── htmlwidgets │ │ ├── play.js │ │ └── play.yaml ├── man │ ├── play-shiny.Rd │ └── play.Rd └── playground.Rproj ├── typed ├── .Rbuildignore ├── .gitignore ├── DESCRIPTION ├── NAMESPACE ├── R │ └── typed.R ├── README.md ├── inst │ └── htmlwidgets │ │ ├── lib │ │ └── typed │ │ │ └── typed.min.js │ │ ├── typed.js │ │ └── typed.yaml └── typed.Rproj └── website ├── _navbar.html ├── _site.yml ├── _site ├── assets │ ├── css │ │ ├── materialize.min.css │ │ └── styles.css │ ├── img │ │ ├── laptop.png │ │ ├── server.jpg │ │ └── social.png │ └── js │ │ └── materialize.min.js ├── faq.html ├── favicon.ico ├── includes │ ├── footer.html │ └── header.html ├── index.html ├── instructor.html ├── material.html ├── presentation │ ├── dt.png │ ├── echarts4r.png │ ├── globe4r.png │ ├── grapher.png │ ├── index.Rmd │ ├── index.html │ ├── leaflet.png │ ├── libs │ │ ├── header-attrs-2.2 │ │ │ └── header-attrs.js │ │ └── remark-css-0.0.1 │ │ │ ├── default.css │ │ │ └── fc.css │ ├── plotly.png │ ├── sigmajs.png │ ├── style.css │ └── wordcloud2.png ├── program.html └── site_libs │ ├── bootstrap-3.3.5 │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── cerulean.min.css │ │ ├── cosmo.min.css │ │ ├── darkly.min.css │ │ ├── flatly.min.css │ │ ├── fonts │ │ │ ├── Lato.ttf │ │ │ ├── LatoBold.ttf │ │ │ ├── LatoItalic.ttf │ │ │ ├── NewsCycle.ttf │ │ │ ├── NewsCycleBold.ttf │ │ │ ├── OpenSans.ttf │ │ │ ├── OpenSansBold.ttf │ │ │ ├── OpenSansBoldItalic.ttf │ │ │ ├── OpenSansItalic.ttf │ │ │ ├── OpenSansLight.ttf │ │ │ ├── OpenSansLightItalic.ttf │ │ │ ├── Raleway.ttf │ │ │ ├── RalewayBold.ttf │ │ │ ├── Roboto.ttf │ │ │ ├── RobotoBold.ttf │ │ │ ├── RobotoLight.ttf │ │ │ ├── RobotoMedium.ttf │ │ │ ├── SourceSansPro.ttf │ │ │ ├── SourceSansProBold.ttf │ │ │ ├── SourceSansProItalic.ttf │ │ │ ├── SourceSansProLight.ttf │ │ │ └── Ubuntu.ttf │ │ ├── journal.min.css │ │ ├── lumen.min.css │ │ ├── paper.min.css │ │ ├── readable.min.css │ │ ├── sandstone.min.css │ │ ├── simplex.min.css │ │ ├── spacelab.min.css │ │ ├── united.min.css │ │ └── yeti.min.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js │ └── shim │ │ ├── html5shiv.min.js │ │ └── respond.min.js │ ├── header-attrs-2.2 │ └── header-attrs.js │ ├── highlightjs-9.12.0 │ ├── default.css │ ├── highlight.js │ └── textmate.css │ ├── jquery-1.11.3 │ └── jquery.min.js │ └── navigation-1.1 │ ├── codefolding.js │ ├── sourceembed.js │ └── tabsets.js ├── assets ├── css │ ├── materialize.min.css │ └── styles.css ├── img │ ├── laptop.png │ ├── server.jpg │ └── social.png └── js │ └── materialize.min.js ├── faq.Rmd ├── favicon.ico ├── includes ├── footer.html └── header.html ├── index.Rmd ├── instructor.Rmd ├── material.Rmd ├── presentation ├── dt.png ├── echarts4r.png ├── globe4r.png ├── grapher.png ├── index.Rmd ├── index.html ├── leaflet.png ├── libs │ ├── header-attrs-2.2 │ │ └── header-attrs.js │ └── remark-css-0.0.1 │ │ ├── default.css │ │ └── fc.css ├── plotly.png ├── sigmajs.png ├── style.css └── wordcloud2.png └── program.Rmd /.Rhistory: -------------------------------------------------------------------------------- 1 | usethis::create_package("playground") 2 | getwd() 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .Rproj.user 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
R programmers interested in visualisation with little knowledge of JavaScript.
341 |No.
345 |No.
349 |No, we’ll write very little JavaScript.
353 |You need to be familiar with the language and its data structures, some experience in package development and understanding of JSON goes a long way but is not necessary.
357 |Roughly 3 hours of fun!
361 |Probably not, you already know most of what will be taught.
365 |June 20, afternoon 14:00-17:00 CEST
369 |Please feel free to contact me via Twitter (direct messages are open to anyone) if you have any question; @jdatap
370 |I am a data analyst currently based in Geneva. I have build numerous htmlwidgets:
346 |389 | And many others available on 390 | github 391 |
392 |You do not need to know JavaScript to follow along.
339 |There are two ways to follow along this workshop; from your local machine or from the remote RStudio Cloud projects.
343 |Required:
354 |
360 | install.packages(c("devtools", "htmlwidgets"))
361 |
362 |
367 | git clone https://github.com/JohnCoene/how-to-build-htmlwidgets.git
368 |
369 | 385 | You can use the 386 | RStudio Cloud project 387 | in the event that you cannot work on your local machine. 388 |
389 |