From 4f1119e772aac9142918c87b1c2559ae9e45c1c8 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 14 Jun 2024 16:11:51 +0100 Subject: [PATCH] Bug-fix for qsg static images --- docs/404.html | 4 ++-- docs/_nuxt/06005a3.js | 1 - docs/_nuxt/{da0ba89.js => 18d71ca.js} | 2 +- docs/_nuxt/{cf3276e.js => 37b7acc.js} | 2 +- docs/_nuxt/{6ea9bb0.js => 56082ea.js} | 2 +- docs/_nuxt/{a5092ef.js => 5abc679.js} | 2 +- docs/_nuxt/{878d09b.js => 68c09d3.js} | 2 +- docs/_nuxt/{3acae81.js => 6edcb0e.js} | 2 +- docs/_nuxt/{768093c.js => 98b8f02.js} | 2 +- docs/_nuxt/{faaedf1.js => 9fe9a49.js} | 2 +- docs/_nuxt/{ffa5a58.js => ab8f660.js} | 2 +- docs/_nuxt/{720e28c.js => e2da3ef.js} | 2 +- docs/_nuxt/f4c07f6.js | 1 + docs/_nuxt/{19bc231.js => fb9543a.js} | 2 +- docs/_nuxt/img/close_session.b598b3f.png | Bin 0 -> 1514 bytes docs/_nuxt/img/memory_indicator.78bafe4.png | Bin 0 -> 2490 bytes .../img/new_session_button_home.19c34d8.png | Bin 0 -> 17184 bytes docs/_nuxt/img/start_session_popup.e9ad17c.png | Bin 0 -> 35144 bytes docs/admin/index.html | 4 ++-- docs/develop/index.html | 4 ++-- docs/develop/r-pathway/index.html | 4 ++-- docs/docs/index.html | 4 ++-- docs/index.html | 4 ++-- docs/quick-start/posit-workbench/index.html | 4 ++-- docs/social/index.html | 4 ++-- pages/quick-start/posit-workbench.vue | 8 ++++---- 26 files changed, 32 insertions(+), 32 deletions(-) delete mode 100644 docs/_nuxt/06005a3.js rename docs/_nuxt/{da0ba89.js => 18d71ca.js} (99%) rename docs/_nuxt/{cf3276e.js => 37b7acc.js} (98%) rename docs/_nuxt/{6ea9bb0.js => 56082ea.js} (76%) rename docs/_nuxt/{a5092ef.js => 5abc679.js} (98%) rename docs/_nuxt/{878d09b.js => 68c09d3.js} (99%) rename docs/_nuxt/{3acae81.js => 6edcb0e.js} (99%) rename docs/_nuxt/{768093c.js => 98b8f02.js} (97%) rename docs/_nuxt/{faaedf1.js => 9fe9a49.js} (98%) rename docs/_nuxt/{ffa5a58.js => ab8f660.js} (98%) rename docs/_nuxt/{720e28c.js => e2da3ef.js} (99%) create mode 100644 docs/_nuxt/f4c07f6.js rename docs/_nuxt/{19bc231.js => fb9543a.js} (92%) create mode 100644 docs/_nuxt/img/close_session.b598b3f.png create mode 100644 docs/_nuxt/img/memory_indicator.78bafe4.png create mode 100644 docs/_nuxt/img/new_session_button_home.19c34d8.png create mode 100644 docs/_nuxt/img/start_session_popup.e9ad17c.png diff --git a/docs/404.html b/docs/404.html index b961870..c457d8c 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/06005a3.js b/docs/_nuxt/06005a3.js deleted file mode 100644 index 4229b90..0000000 --- a/docs/_nuxt/06005a3.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{311:function(t,e,n){var content=n(452);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("266611aa",content,!0,{sourceMap:!1})},451:function(t,e,n){"use strict";n(311)},452:function(t,e,n){var o=n(59)((function(i){return i[1]}));o.push([t.i,".breadcrumb[data-v-acf9e26e]{background-color:#fff}.card[data-v-acf9e26e]{border:none;margin-top:2rem}.card-title[data-v-acf9e26e]{font-size:1.7rem!important;margin-bottom:1.3rem}.card-subtitle[data-v-acf9e26e]{font-size:1.2rem!important;margin-bottom:1.2rem!important}.card-text[data-v-acf9e26e]{font-weight:400!important}.card-body[data-v-acf9e26e]{padding-left:8rem;padding-right:8rem;padding-top:3rem}.link[data-v-acf9e26e]{color:#007bff;cursor:pointer}.text-image[data-v-acf9e26e]{margin:auto;width:80%}",""]),o.locals={},t.exports=o},462:function(t,e,n){"use strict";n.r(e);var o={data:function(){return{tabIndex:0}},methods:{}},r=(n(451),n(50)),component=Object(r.a)(o,(function(){var t=this,e=t._self._c;return e("div",[e("b-breadcrumb",[e("b-breadcrumb-item",{on:{click:function(e){return t.$router.push("/")}}},[t._v("Home")]),t._v(" "),e("b-breadcrumb-item",{on:{click:function(e){return t.$router.push("/docs")}}},[t._v("\n Documentation\n ")]),t._v(" "),e("b-breadcrumb-item",{attrs:{active:""}},[t._v("Quick Start Guides")]),t._v(" "),e("b-breadcrumb-item",{attrs:{active:""}},[t._v("Posit Workbench")])],1),t._v(" "),e("b-row",{staticClass:"pt-4"},[e("b-col",[e("h3",[t._v("Quick Start - Posit Workbench")])])],1),t._v(" "),e("div",[e("b-tabs",{staticClass:"mt-4",attrs:{align:"center"},model:{value:t.tabIndex,callback:function(e){t.tabIndex=e},expression:"tabIndex"}},[e("b-tab",{attrs:{title:"Setup"}},[e("b-card",[e("h4",[t._v("Welcome to the Posit Workbench Quick Start Guide")]),t._v(" "),e("b-card-text",[t._v("\n This quick start guide is aimed at new Posit Workbench users, or\n those who need a refresher in how to use it. You can navigate\n between sections using the tab buttons at the top or buttons to\n progress through each section at the bottom of every page. This\n guide will take you through:\n "),e("ul",{staticClass:"mt-2"},[e("li",[t._v("Setup")]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=1}}},[t._v("Access")])]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=2}}},[t._v("Best Practice")])]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=3}}},[t._v("Troubleshooting")])])])]),t._v(" "),e("div",{staticClass:"mt-3"},[e("h4",{staticClass:"mt-5"},[t._v("Setup")]),t._v(" "),e("b-card-text",[e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Setup user account on Posit.")]),t._v("\n You'll need an account in order to access Posit Workbench,\n this is handled via Service Now with specific guidance here:\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=How%20to%20Access%20Posit%20Workbench.md"}},[t._v("\n Access to Posit Workbench ")]),t._v(".\n "),e("em",[t._v("\n Accounts may be deactivated following inactivity, the\n guidance document includes details on what to do if this\n affects you.\n ")])],1),t._v(" "),e("li",[e("strong",[t._v("Setup network.")]),t._v("\n You need to be on the internal network to access Posit\n Workbench. This can be accessed onsite or by using the VPN.\n ")])])])],1),t._v(" "),e("div",{staticClass:"d-flex justify-content-end"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=1}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Access"}},[e("b-card",[e("h4",[t._v("Accessing Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n To start using the PHS Posit Workbench, follow the steps below:\n "),e("h5",{staticClass:"mt-3"},[t._v("Logging in")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v("\n In a support browser (Microsoft Edge or Google Chrome),\n navigate to the\n "),e("a",{attrs:{target:"_blank",href:"https://pwb.publichealthscotland.org/auth-sign-in"}},[t._v("\n PHS Posit Workbench\n ")]),t._v("\n login page.\n ")]),t._v(" "),e("li",[t._v("\n Login using your PHS LDAP credentials (the same as your laptop\n login).\n ")])]),t._v(" "),e("h5",{staticClass:"mt-5"},[t._v("Starting a session")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v('\n Open a new session by clicking the "+ New Session button" at\n the top left of the Posit Workbench home screen.\n ')]),t._v(" "),e("img",{staticClass:"text-image my-4 d-flex justify-content-center",attrs:{src:"/quick-start/posit-workbench/new_session_button_home.png",alt:"New session button home"}}),t._v(" "),e("li",[t._v("\n Enter details for the session, including the IDE (e.g. RStudio\n or VS Code). Pay particular attention to the memory and CPU\n for your session. The default (1 CPU and 4096MB) will usually\n be enough but a smaller session can also be appropriate for\n some tasks. For more guidance on session size see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Workbench%20and%20Kubernetes.md"}},[t._v("Posit Workbench and Kubernetes")]),t._v(".\n ")],1),t._v(" "),e("li",[t._v('\n Click "Start session" and wait for session to be ready. Larger\n sessions will take longer to allocate resources on the\n infrastructure but any session should be available within\n minutes of clicking "Start Session".\n ')]),t._v(" "),e("img",{staticClass:"text-image my-4 d-flex justify-content-center",attrs:{src:"/quick-start/posit-workbench/start_session_popup.png",alt:"Start session popup"}})]),t._v(" "),e("h5",{staticClass:"mt-5"},[t._v("Starting to work")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v("\n If 'Join session when ready' was selected from the 'New\n session' diaglog box, the session should automatically start\n and show the selected IDE (e.g. RStudio). Otherwise, select\n the created session from the list on the Posit Workbench\n homescreen.\n ")]),t._v(" "),e("li",[t._v("\n In RStudio, you are then asked to confirm you have read and\n agree to the\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Acceptable%20Usage%20Policy%20for%20Posit%20Workbench.md"}},[t._v("Acceptable Use Policy")]),t._v("\n in the R console with an alternating prompt keyword.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=0}}},[t._v("Prev Page")]),t._v(" "),e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=2}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Best Practice"}},[e("b-card",[e("h4",[t._v("Using Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n To be able to make the most efficient and robust use of Posit\n Workbench for any task, it is important to follow best practice.\n This includes:\n "),e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Only request as much memory and as many CPUs you need for\n your work")]),t._v(", not the max you have access to. This will maximise the\n performance and minimise the costs. For more guidance on\n memory see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Workbench%20and%20Kubernetes.md"}},[t._v("Posit Workbench and Kubernetes")]),t._v(".\n ")],1),t._v(" "),e("li",[e("strong",[t._v("Close your session(s)")]),t._v(" when finished working\n on that project or are going to be taking a longer than 10\n minute break, by clicking\n "),e("img",{attrs:{src:"/quick-start/posit-workbench/close_session.png",alt:"Close session button"}}),t._v(". All open sessions will automatically close at 8pm, unless\n they are marked “NIGHT”. For more guidance see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Overnight%20Sessions.md"}},[t._v("Overnight Sessions")]),t._v(".\n ")],1),t._v(" "),e("li",[e("strong",[t._v("If working in a large project stored on stats, use a\n 'project opener session'.")]),t._v("\n This utilises a small session which has minimal impact on the\n infrastructure to then launch the larger session. For more\n guidance see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md#how-do-i-open-or-switch-to-another-project"}},[t._v("Project Opener Sessions")]),t._v("\n in the FAQs section.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=1}}},[t._v("Prev Page")]),t._v(" "),e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=3}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Troubleshooting"}},[e("b-card",[e("h4",[t._v("Getting Help with Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n It's a normal part of the process to debug and troubleshoot\n issues. However, sometimes it can make it more difficult when\n you're not sure if it's the infrastructure. Here are some common\n concerns and links to help you resolve them:\n "),e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Sessions closing?")]),t._v(" Check that you have enough\n memory in your session for the work you're trying to do.\n Memory usage can be seen here\n "),e("img",{attrs:{src:"/quick-start/posit-workbench/memory_indicator.png",alt:"Memory usage indicator"}}),t._v(". If you need more memory, request it from the Data Science\n Team by following the guidance\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("here")])],1),t._v(" "),e("li",[e("strong",[t._v("Package installation issues?")]),t._v(" There are\n various packages, especially for geospatial work, that require\n a different installation process. See the\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md#installing-packages"}},[t._v("Installing Packages")]),t._v("\n FAQ section.\n ")],1),t._v(" "),e("li",[e("strong",[t._v("Other issues?")]),t._v(" There's extensive\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("Posit Support")]),t._v("\n guidance here, including troubleshooting steps, a link to the\n "),e("a",{attrs:{target:"_blank",href:"https://teams.microsoft.com/l/team/19%3Ae9f55a12b7d94ef49877ff455a07f035%40thread.tacv2/conversations?groupId=ec4250f9-b70a-4f32-9372-a232ccb4f713&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a"}},[t._v("\n PHS Data and Intelligence Forum")]),t._v("\n for community support, and details on how to raise specific\n issues.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=2}}},[t._v("Prev Page")])],1)],1)],1)],1)],1)],1)}),[],!1,null,"acf9e26e",null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/da0ba89.js b/docs/_nuxt/18d71ca.js similarity index 99% rename from docs/_nuxt/da0ba89.js rename to docs/_nuxt/18d71ca.js index fb8d44a..d9b01bc 100644 --- a/docs/_nuxt/da0ba89.js +++ b/docs/_nuxt/18d71ca.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},276:function(e){e.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},306:function(e,t,o){var content=o(440);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("58b80c99",content,!0,{sourceMap:!1})},439:function(e,t,o){"use strict";o(306)},440:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}b-button{margin-top:red}b-dropdown{margin-right:15px}.alert-dismissible{margin-top:1rem}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.card-footer{background-color:#fff}.btn-primary{background-color:#0078d4;float:right}.course-link{color:#000}.coming-soon{color:#0078d4}.guidance-md{padding:0 20px}.guidance-md img{width:100%}footer{margin-bottom:50px;margin-top:50px}",""]),n.locals={},e.exports=n},458:function(e,t,o){"use strict";o.r(t);o(96),o(126);var n=o(22),r=o(21),l=(o(61),o(280),o(34),o(12),o(35),o(77),o(51),o(1),o(281)),c=o.n(l),d=o(254),h=o.n(d),f=o(247),m=o(276),y={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:f,resources:m,selectedTags:[],selectedTypes:[],selectedCourse:{},selectedResource:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.f2f||""!=e.online}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=o.sent,t.selectedResource=e;case 4:case"end":return o.stop()}}),o)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(o(439),o(265),o(50)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}}),e._v(" "),t("b-card-body",[t("h3",[e._v("Develop")]),e._v(" "),t("b-card-text",{staticClass:"mb-4"},[e._v("\n Training and support materials related to Data Science\n ")]),e._v(" "),t("b-dropdown",{attrs:{variant:"outline-primary",text:"Training Pathways"}},[t("b-dropdown-item",{on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{attrs:{md:"4","align-self":"center"}},[t("b-form-input",{staticClass:"search mt-5",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter float-right mt-2 mr-3",attrs:{variant:"outline-secondary",right:"",text:"Category"}},[t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter on type:"},scopedSlots:e._u([{key:"default",fn:function(o){var n=o.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":n,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)],1),e._v(" "),t("b-row",{attrs:{"align-h":"end"}})],1),e._v(" "),t("b-row",{attrs:{cols:"1"}},[t("b-col",[t("b-alert",{attrs:{show:"",variant:"secondary",dismissible:""}},[e._v("\n In-person courses, including waitlists, are currently closed. Online courses are still available.\n ")])],1)],1),e._v(" "),t("b-row",{staticClass:"mt-4",attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=o.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),e._v(" "),t("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[e._v("\n Closed\n ")])],1):e._e(),e._v(" "),""!=o.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==o.f2f&&""==o.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+o.slug}},[e._v(e._s(o.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:o.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:o.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:o.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},276:function(e){e.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},306:function(e,t,o){var content=o(440);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("58b80c99",content,!0,{sourceMap:!1})},439:function(e,t,o){"use strict";o(306)},440:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}b-button{margin-top:red}b-dropdown{margin-right:15px}.alert-dismissible{margin-top:1rem}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.card-footer{background-color:#fff}.btn-primary{background-color:#0078d4;float:right}.course-link{color:#000}.coming-soon{color:#0078d4}.guidance-md{padding:0 20px}.guidance-md img{width:100%}footer{margin-bottom:50px;margin-top:50px}",""]),n.locals={},e.exports=n},462:function(e,t,o){"use strict";o.r(t);o(96),o(126);var n=o(22),r=o(21),l=(o(61),o(280),o(34),o(12),o(35),o(77),o(51),o(1),o(281)),c=o.n(l),d=o(254),h=o.n(d),f=o(247),m=o(276),y={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:f,resources:m,selectedTags:[],selectedTypes:[],selectedCourse:{},selectedResource:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.f2f||""!=e.online}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=o.sent,t.selectedResource=e;case 4:case"end":return o.stop()}}),o)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(o(439),o(265),o(50)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}}),e._v(" "),t("b-card-body",[t("h3",[e._v("Develop")]),e._v(" "),t("b-card-text",{staticClass:"mb-4"},[e._v("\n Training and support materials related to Data Science\n ")]),e._v(" "),t("b-dropdown",{attrs:{variant:"outline-primary",text:"Training Pathways"}},[t("b-dropdown-item",{on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{attrs:{md:"4","align-self":"center"}},[t("b-form-input",{staticClass:"search mt-5",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter float-right mt-2 mr-3",attrs:{variant:"outline-secondary",right:"",text:"Category"}},[t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter on type:"},scopedSlots:e._u([{key:"default",fn:function(o){var n=o.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":n,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)],1),e._v(" "),t("b-row",{attrs:{"align-h":"end"}})],1),e._v(" "),t("b-row",{attrs:{cols:"1"}},[t("b-col",[t("b-alert",{attrs:{show:"",variant:"secondary",dismissible:""}},[e._v("\n In-person courses, including waitlists, are currently closed. Online courses are still available.\n ")])],1)],1),e._v(" "),t("b-row",{staticClass:"mt-4",attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=o.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),e._v(" "),t("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[e._v("\n Closed\n ")])],1):e._e(),e._v(" "),""!=o.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==o.f2f&&""==o.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+o.slug}},[e._v(e._s(o.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:o.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:o.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:o.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/cf3276e.js b/docs/_nuxt/37b7acc.js similarity index 98% rename from docs/_nuxt/cf3276e.js rename to docs/_nuxt/37b7acc.js index 702b632..0769876 100644 --- a/docs/_nuxt/cf3276e.js +++ b/docs/_nuxt/37b7acc.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{466:function(t,o,n){"use strict";n.r(o);var e=n(50),component=Object(e.a)({},(function(){var t=this,o=t._self._c;return o("div",[o("b-row",[o("b-col",[o("h1",[t._v("Data Science - the docs")]),t._v(" "),o("p",[t._v("\n This page pulls together documentation relating to Data Science in\n Public Health Scotland. This is organised into sections as shown in\n the navigation on the left-side of this page. This is all stored and\n organised on a GitHub repo, each document has a button to link back,\n the aim of this is to encourage collaboration on our documentation,\n allowing us to work as a community to maintain our technical knowledge\n and guidance.\n ")]),t._v(" "),o("p",[t._v("\n You can use the "),o("strong",[t._v("search bar")]),t._v(" at the top of the page to\n look for "),o("strong",[t._v("document titles")]),t._v(". You can also use\n "),o("code",[t._v("Ctrl")]),t._v(" + "),o("code",[t._v("F")]),t._v(" (or "),o("code",[t._v("⌘")]),t._v(" +\n "),o("code",[t._v("F")]),t._v(" on Mac) to search within the current document. To\n search across documents, visit the\n "),o("a",{attrs:{href:"https://github.com/Public-Health-Scotland/technical-docs",target:"_blank"}},[t._v("GitHub repository")]),t._v("\n and use the search function there.\n ")])])],1),t._v(" "),o("div",{staticClass:"mt-4"},[o("b-row",{attrs:{cols:"1","cols-lg":"2"}},[o("b-col",[o("b-card",{staticClass:"m-3"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h3",[t._v("Top Docs")]),t._v(" "),o("eva-icon",{attrs:{name:"star-outline",fill:"#bd27b9"}})],1),t._v(" "),o("br"),t._v(" "),o("b-card-text",[t._v("\n Get started with key Posit docs. \n ")]),t._v(" "),o("b-list-group",{attrs:{flush:""}},[o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure"}},[t._v("\n What is Posit?\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Quick%20guide%20to%20your%20Posit%20Workbench%20session.md"}},[t._v("\n Quick guide to Posit Workbench sessions\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("\n Getting support with Posit\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md"}},[t._v("\n Posit Frequently Asked Questions (FAQs)\n ")])],1)],1)],1),t._v(" "),o("b-col",[o("b-card",{staticClass:"m-3"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h3",[t._v("Quick Start Guides")]),t._v(" "),o("eva-icon",{attrs:{name:"flash-outline",fill:"#bd27b9"}})],1),t._v(" "),o("br"),t._v(" "),o("div",{staticClass:"d-flex mb-4"},[o("b-card-text",[t._v("\n Get started with a guided brief overview of setup, access, and best practice.\n ")])],1),t._v(" "),o("b-row",{staticClass:"mb-3"},[o("b-col",[o("b-list-group",{attrs:{flush:""}},[o("b-list-group-item",{attrs:{to:"/quick-start/posit-workbench"}},[o("h5",{staticClass:"mb-1"},[t._v("Posit Workbench")]),t._v(" "),o("p",{staticClass:"mb-1"},[t._v("\n Quick start guide to using Posit Workbench, including access and starting a session.\n ")])]),t._v(" "),o("b-list-group-item",{attrs:{to:"/quick-start/git",disabled:""}},[o("h5",{staticClass:"mb-1"},[t._v("Git "),o("em",[t._v("(Coming Soon)")])]),t._v(" "),o("p",{staticClass:"mb-1"},[t._v("\n Quick start guide to using Git, including installation and configuration on desktop and Posit Workbench.\n ")])])],1)],1)],1)],1)],1)],1)],1)],1)}),[],!1,null,null,null);o.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{470:function(t,o,n){"use strict";n.r(o);var e=n(50),component=Object(e.a)({},(function(){var t=this,o=t._self._c;return o("div",[o("b-row",[o("b-col",[o("h1",[t._v("Data Science - the docs")]),t._v(" "),o("p",[t._v("\n This page pulls together documentation relating to Data Science in\n Public Health Scotland. This is organised into sections as shown in\n the navigation on the left-side of this page. This is all stored and\n organised on a GitHub repo, each document has a button to link back,\n the aim of this is to encourage collaboration on our documentation,\n allowing us to work as a community to maintain our technical knowledge\n and guidance.\n ")]),t._v(" "),o("p",[t._v("\n You can use the "),o("strong",[t._v("search bar")]),t._v(" at the top of the page to\n look for "),o("strong",[t._v("document titles")]),t._v(". You can also use\n "),o("code",[t._v("Ctrl")]),t._v(" + "),o("code",[t._v("F")]),t._v(" (or "),o("code",[t._v("⌘")]),t._v(" +\n "),o("code",[t._v("F")]),t._v(" on Mac) to search within the current document. To\n search across documents, visit the\n "),o("a",{attrs:{href:"https://github.com/Public-Health-Scotland/technical-docs",target:"_blank"}},[t._v("GitHub repository")]),t._v("\n and use the search function there.\n ")])])],1),t._v(" "),o("div",{staticClass:"mt-4"},[o("b-row",{attrs:{cols:"1","cols-lg":"2"}},[o("b-col",[o("b-card",{staticClass:"m-3"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h3",[t._v("Top Docs")]),t._v(" "),o("eva-icon",{attrs:{name:"star-outline",fill:"#bd27b9"}})],1),t._v(" "),o("br"),t._v(" "),o("b-card-text",[t._v("\n Get started with key Posit docs. \n ")]),t._v(" "),o("b-list-group",{attrs:{flush:""}},[o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure"}},[t._v("\n What is Posit?\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Quick%20guide%20to%20your%20Posit%20Workbench%20session.md"}},[t._v("\n Quick guide to Posit Workbench sessions\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("\n Getting support with Posit\n ")]),t._v(" "),o("b-list-group-item",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md"}},[t._v("\n Posit Frequently Asked Questions (FAQs)\n ")])],1)],1)],1),t._v(" "),o("b-col",[o("b-card",{staticClass:"m-3"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h3",[t._v("Quick Start Guides")]),t._v(" "),o("eva-icon",{attrs:{name:"flash-outline",fill:"#bd27b9"}})],1),t._v(" "),o("br"),t._v(" "),o("div",{staticClass:"d-flex mb-4"},[o("b-card-text",[t._v("\n Get started with a guided brief overview of setup, access, and best practice.\n ")])],1),t._v(" "),o("b-row",{staticClass:"mb-3"},[o("b-col",[o("b-list-group",{attrs:{flush:""}},[o("b-list-group-item",{attrs:{to:"/quick-start/posit-workbench"}},[o("h5",{staticClass:"mb-1"},[t._v("Posit Workbench")]),t._v(" "),o("p",{staticClass:"mb-1"},[t._v("\n Quick start guide to using Posit Workbench, including access and starting a session.\n ")])]),t._v(" "),o("b-list-group-item",{attrs:{to:"/quick-start/git",disabled:""}},[o("h5",{staticClass:"mb-1"},[t._v("Git "),o("em",[t._v("(Coming Soon)")])]),t._v(" "),o("p",{staticClass:"mb-1"},[t._v("\n Quick start guide to using Git, including installation and configuration on desktop and Posit Workbench.\n ")])])],1)],1)],1)],1)],1)],1)],1)],1)}),[],!1,null,null,null);o.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/6ea9bb0.js b/docs/_nuxt/56082ea.js similarity index 76% rename from docs/_nuxt/6ea9bb0.js rename to docs/_nuxt/56082ea.js index 342c584..cb9b901 100644 --- a/docs/_nuxt/6ea9bb0.js +++ b/docs/_nuxt/56082ea.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{457:function(n,e,t){"use strict";t.r(e);var l={},o=t(50),component=Object(o.a)(l,(function(){return(0,this._self._c)("div",{},[this._v("\n Hello World\n")])}),[],!1,null,"3e6c4b34",null);e.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{461:function(n,e,t){"use strict";t.r(e);var l={},o=t(50),component=Object(o.a)(l,(function(){return(0,this._self._c)("div",{},[this._v("\n Hello World\n")])}),[],!1,null,"3e6c4b34",null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/a5092ef.js b/docs/_nuxt/5abc679.js similarity index 98% rename from docs/_nuxt/a5092ef.js rename to docs/_nuxt/5abc679.js index 13ee2da..bc10e26 100644 --- a/docs/_nuxt/a5092ef.js +++ b/docs/_nuxt/5abc679.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},312:function(e,t,o){var content=o(454);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("137923c7",content,!0,{sourceMap:!1})},453:function(e,t,o){"use strict";o(312)},454:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.title-container{margin-bottom:20px}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}h5 a{color:#000}h5 a:hover{color:#000;-webkit-text-decoration:none;text-decoration:none}b-button{margin-top:red}b-dropdown{margin-right:15px}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.btn-primary{background-color:#0078d4;float:right}.btn-block{margin-bottom:20px}.coming-soon{color:#0078d4;float:right}.guidance-md{padding:0 20px}.guidance-md img{width:100%}",""]),n.locals={},e.exports=n},463:function(e,t,o){"use strict";o.r(t);var n=o(22),r=o(21),l=(o(61),o(280),o(34),o(12),o(35),o(77),o(51),o(1),o(126),o(96),o(281)),c=o.n(l),d=o(254),h=o.n(d),m=o(247),f={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:m,selectedTags:[],selectedTypes:[],selectedCourse:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook","Guidance"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=this.courses.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=o.sent,t.selectedCourse=e;case 4:case"end":return o.stop()}}),o)})))()}}},y=f,v=(o(453),o(265),o(50)),component=Object(v.a)(y,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{sm:"12"}},[t("b-card-body",[t("h3",[e._v("Hey, you ready to learn?")]),e._v(" "),t("b-card-text",[e._v("\n Welcome to the PHS Data Science Knowledge Base. It is here that\n you'll find access to all resources related to Data Science (R,\n Python, git, etc.) created by and for PHS staff. This includes\n in-person and online training, internally developed textbooks,\n and all technical documentation, including guidance, how-tos,\n and best practice.\n ")]),e._v(" "),t("b-card-text",[t("strong",[e._v("Data Science")]),e._v(" is used in the broadest possible\n sense, capturing introductory content to technologies, and\n pulling existing and creating new more advanced content from the\n topic experts across the organisation. If you have something to\n offer, get in touch by\n "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[e._v("emailing the Data Science team.")])])],1)],1)],1)],1)],1),e._v(" "),t("div",[t("b-row",{staticClass:"text-center mb-3",attrs:{cols:"1","cols-sm":"2","cols-lg":"4"}},[t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/develop"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/rahouxil.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Courses icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/develop"}}},[e._v("Courses")])],1),e._v(" "),t("p",[e._v("\n Internally developed courses from foundations to specific topics\n relevant to all data-informed roles.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/develop",query:{type:["Textbook"]}}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/lenjvibx.json",trigger:"morph-two-way",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Textbook icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/develop",query:{type:["Textbook"]}}}},[e._v("Textbooks")])],1),e._v(" "),t("p",[e._v("\n For learning or reference, see a complete textbook on one of the\n technologies.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/docs"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/wzwygmng.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Guidance document icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/docs"}}},[e._v("Documentation")])],1),e._v(" "),t("p",[e._v("\n Keeping everyone on the same page, sharing common knowledge. This\n includes style guides, FAQs, etc.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/docs/Posit%20Infrastructure?doc=FAQs.md"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/wzrwaorf.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"FAQs icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/docs/Posit%20Infrastructure?doc=FAQs.md"}}},[e._v("FAQs")])],1),e._v(" "),t("p",[e._v("Frequently asked questions about the Posit infrastructure.")])],1)],1)],1),e._v(" "),t("div",{staticClass:"mt-4"},[t("b-row",[t("b-col",{staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"m-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h4",[e._v("Quick Start Guides")]),e._v(" "),t("eva-icon",{attrs:{name:"flash-outline",fill:"#bd27b9"}})],1),e._v(" "),t("br"),e._v(" "),t("div",{staticClass:"d-flex mb-4"},[t("b-card-text",[e._v("\n Get started with a guided brief overview of setup, access, and best practice.\n ")])],1),e._v(" "),t("b-row",{staticClass:"mb-3"},[t("b-col",[t("b-list-group",{attrs:{flush:""}},[t("b-list-group-item",{attrs:{to:"/quick-start/posit-workbench"}},[t("h5",{staticClass:"mb-1"},[e._v("Posit Workbench")]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n Quick start guide to using Posit Workbench, including access and starting a session.\n ")])]),e._v(" "),t("b-list-group-item",{attrs:{to:"/quick-start/git",disabled:""}},[t("h5",{staticClass:"mb-1"},[e._v("Git "),t("em",[e._v("(Coming Soon)")])]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n Quick start guide to using Git, including installation and configuration on desktop and Posit Workbench.\n ")])])],1)],1)],1)],1),e._v(" "),t("b-card",{staticClass:"m-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h4",[e._v("Learning Pathways")]),e._v(" "),t("eva-icon",{attrs:{name:"compass-outline",fill:"#bd27b9"}})],1),e._v(" "),t("br"),e._v(" "),t("div",{staticClass:"d-flex mb-4"},[t("b-card-text",[e._v("\n Structured learning pathways to find the right courses for your development.\n ")])],1),e._v(" "),t("b-row",{staticClass:"mb-3"},[t("b-col",[t("b-list-group",{attrs:{flush:""}},[t("b-list-group-item",{attrs:{to:"/develop/r-pathway"}},[t("h5",{staticClass:"mb-1"},[e._v("R Pathway")]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n A structured pathway to learning R, including topic-led training modules, guidance, and related technologies.\n ")])]),e._v(" "),t("b-list-group-item",{attrs:{to:"/develop/python-pathway",disabled:""}},[t("h5",{staticClass:"mb-1"},[e._v("Python "),t("em",[e._v("(Coming Soon)")])]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n A structured pathway to learning Python, including topic-led training modules, guidance, and related technologies.\n ")])])],1)],1)],1)],1)],1)],1)],1)],1)])}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},312:function(e,t,o){var content=o(458);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("137923c7",content,!0,{sourceMap:!1})},457:function(e,t,o){"use strict";o(312)},458:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.title-container{margin-bottom:20px}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}h5 a{color:#000}h5 a:hover{color:#000;-webkit-text-decoration:none;text-decoration:none}b-button{margin-top:red}b-dropdown{margin-right:15px}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.btn-primary{background-color:#0078d4;float:right}.btn-block{margin-bottom:20px}.coming-soon{color:#0078d4;float:right}.guidance-md{padding:0 20px}.guidance-md img{width:100%}",""]),n.locals={},e.exports=n},467:function(e,t,o){"use strict";o.r(t);var n=o(22),r=o(21),l=(o(61),o(280),o(34),o(12),o(35),o(77),o(51),o(1),o(126),o(96),o(281)),c=o.n(l),d=o(254),h=o.n(d),m=o(247),f={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:m,selectedTags:[],selectedTypes:[],selectedCourse:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook","Guidance"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=this.courses.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=o.sent,t.selectedCourse=e;case 4:case"end":return o.stop()}}),o)})))()}}},y=f,v=(o(457),o(265),o(50)),component=Object(v.a)(y,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{sm:"12"}},[t("b-card-body",[t("h3",[e._v("Hey, you ready to learn?")]),e._v(" "),t("b-card-text",[e._v("\n Welcome to the PHS Data Science Knowledge Base. It is here that\n you'll find access to all resources related to Data Science (R,\n Python, git, etc.) created by and for PHS staff. This includes\n in-person and online training, internally developed textbooks,\n and all technical documentation, including guidance, how-tos,\n and best practice.\n ")]),e._v(" "),t("b-card-text",[t("strong",[e._v("Data Science")]),e._v(" is used in the broadest possible\n sense, capturing introductory content to technologies, and\n pulling existing and creating new more advanced content from the\n topic experts across the organisation. If you have something to\n offer, get in touch by\n "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[e._v("emailing the Data Science team.")])])],1)],1)],1)],1)],1),e._v(" "),t("div",[t("b-row",{staticClass:"text-center mb-3",attrs:{cols:"1","cols-sm":"2","cols-lg":"4"}},[t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/develop"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/rahouxil.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Courses icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/develop"}}},[e._v("Courses")])],1),e._v(" "),t("p",[e._v("\n Internally developed courses from foundations to specific topics\n relevant to all data-informed roles.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/develop",query:{type:["Textbook"]}}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/lenjvibx.json",trigger:"morph-two-way",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Textbook icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/develop",query:{type:["Textbook"]}}}},[e._v("Textbooks")])],1),e._v(" "),t("p",[e._v("\n For learning or reference, see a complete textbook on one of the\n technologies.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/docs"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/wzwygmng.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"Guidance document icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/docs"}}},[e._v("Documentation")])],1),e._v(" "),t("p",[e._v("\n Keeping everyone on the same page, sharing common knowledge. This\n includes style guides, FAQs, etc.\n ")])],1),e._v(" "),t("b-col",{staticClass:"mb-4"},[t("NuxtLink",{attrs:{to:{path:"/docs/Posit%20Infrastructure?doc=FAQs.md"}}},[t("lord-icon",{staticStyle:{width:"200px",height:"200px"},attrs:{src:"https://cdn.lordicon.com/wzrwaorf.json",trigger:"hover",colors:"primary:#3f3685,secondary:#80ba27",stroke:"light",title:"FAQs icon"}})],1),e._v(" "),t("h5",[t("b-link",{attrs:{to:{path:"/docs/Posit%20Infrastructure?doc=FAQs.md"}}},[e._v("FAQs")])],1),e._v(" "),t("p",[e._v("Frequently asked questions about the Posit infrastructure.")])],1)],1)],1),e._v(" "),t("div",{staticClass:"mt-4"},[t("b-row",[t("b-col",{staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"m-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h4",[e._v("Quick Start Guides")]),e._v(" "),t("eva-icon",{attrs:{name:"flash-outline",fill:"#bd27b9"}})],1),e._v(" "),t("br"),e._v(" "),t("div",{staticClass:"d-flex mb-4"},[t("b-card-text",[e._v("\n Get started with a guided brief overview of setup, access, and best practice.\n ")])],1),e._v(" "),t("b-row",{staticClass:"mb-3"},[t("b-col",[t("b-list-group",{attrs:{flush:""}},[t("b-list-group-item",{attrs:{to:"/quick-start/posit-workbench"}},[t("h5",{staticClass:"mb-1"},[e._v("Posit Workbench")]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n Quick start guide to using Posit Workbench, including access and starting a session.\n ")])]),e._v(" "),t("b-list-group-item",{attrs:{to:"/quick-start/git",disabled:""}},[t("h5",{staticClass:"mb-1"},[e._v("Git "),t("em",[e._v("(Coming Soon)")])]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n Quick start guide to using Git, including installation and configuration on desktop and Posit Workbench.\n ")])])],1)],1)],1)],1),e._v(" "),t("b-card",{staticClass:"m-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h4",[e._v("Learning Pathways")]),e._v(" "),t("eva-icon",{attrs:{name:"compass-outline",fill:"#bd27b9"}})],1),e._v(" "),t("br"),e._v(" "),t("div",{staticClass:"d-flex mb-4"},[t("b-card-text",[e._v("\n Structured learning pathways to find the right courses for your development.\n ")])],1),e._v(" "),t("b-row",{staticClass:"mb-3"},[t("b-col",[t("b-list-group",{attrs:{flush:""}},[t("b-list-group-item",{attrs:{to:"/develop/r-pathway"}},[t("h5",{staticClass:"mb-1"},[e._v("R Pathway")]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n A structured pathway to learning R, including topic-led training modules, guidance, and related technologies.\n ")])]),e._v(" "),t("b-list-group-item",{attrs:{to:"/develop/python-pathway",disabled:""}},[t("h5",{staticClass:"mb-1"},[e._v("Python "),t("em",[e._v("(Coming Soon)")])]),e._v(" "),t("p",{staticClass:"mb-1"},[e._v("\n A structured pathway to learning Python, including topic-led training modules, guidance, and related technologies.\n ")])])],1)],1)],1)],1)],1)],1)],1)],1)])}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/878d09b.js b/docs/_nuxt/68c09d3.js similarity index 99% rename from docs/_nuxt/878d09b.js rename to docs/_nuxt/68c09d3.js index d9bddeb..c727182 100644 --- a/docs/_nuxt/878d09b.js +++ b/docs/_nuxt/68c09d3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{247:function(t){t.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},253:function(t,e,o){var content=o(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("9ab7227a",content,!0,{sourceMap:!1})},265:function(t,e,o){"use strict";o(253)},276:function(t){t.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},277:function(t,e,o){var n=o(59)((function(i){return i[1]}));n.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{background:#fff;display:block;height:38px;position:absolute;right:1px;top:1px;width:40px}.multiselect__spinner:after,.multiselect__spinner:before{border:2px solid transparent;border-radius:100%;border-top-color:#41b883;box-shadow:0 0 0 1px transparent;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{opacity:1;transition:opacity .4s ease-in-out}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;color:#35495e;display:block;min-height:40px;position:relative;text-align:left;width:100%}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;opacity:.6;pointer-events:none}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{background:#fff;border:none;border-radius:5px;box-sizing:border-box;display:inline-block;line-height:20px;margin-bottom:8px;min-height:20px;padding:0 0 0 5px;position:relative;transition:border .1s ease;vertical-align:top;width:100%}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{margin-bottom:8px;padding-left:5px}.multiselect__tags-wrap{display:inline}.multiselect__tags{background:#fff;border:1px solid #e8e8e8;border-radius:5px;display:block;font-size:14px;min-height:40px;padding:8px 40px 0 8px}.multiselect__tag{background:#41b883;border-radius:5px;color:#fff;display:inline-block;line-height:1;margin-bottom:5px;margin-right:10px;max-width:100%;overflow:hidden;padding:4px 26px 4px 10px;position:relative;text-overflow:ellipsis;white-space:nowrap}.multiselect__tag-icon{border-radius:5px;bottom:0;cursor:pointer;font-style:normal;font-weight:700;line-height:22px;margin-left:7px;position:absolute;right:0;text-align:center;top:0;transition:all .2s ease;width:22px}.multiselect__tag-icon:after{color:#266d4d;content:"\\D7";font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{border:1px solid #e8e8e8;border-radius:5px;min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap}.multiselect__current,.multiselect__select{box-sizing:border-box;cursor:pointer;display:block;line-height:16px;margin:0;-webkit-text-decoration:none;text-decoration:none}.multiselect__select{height:38px;padding:4px 8px;position:absolute;right:1px;text-align:center;top:1px;transition:transform .2s ease;width:40px}.multiselect__select:before{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;color:#999;content:"";margin-top:4px;position:relative;right:0;top:65%}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:block;max-height:240px;overflow:auto;position:absolute;width:100%;z-index:50}.multiselect__content{display:inline-block;list-style:none;margin:0;min-width:100%;padding:0;vertical-align:top}.multiselect--above .multiselect__content-wrapper{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px;bottom:100%}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{cursor:pointer;display:block;line-height:16px;min-height:40px;padding:12px;position:relative;-webkit-text-decoration:none;text-decoration:none;text-transform:none;vertical-align:middle;white-space:nowrap}.multiselect__option:after{font-size:13px;line-height:40px;padding-left:20px;padding-right:12px;position:absolute;right:0;top:0}.multiselect__option--highlight{background:#41b883;color:#fff;outline:none}.multiselect__option--highlight:after{background:#41b883;color:#fff;content:attr(data-select)}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{background:inherit;color:silver;content:attr(data-selected)}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;color:#fff;content:attr(data-deselect)}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;color:#fff;content:attr(data-deselect)}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{display:inline-block;line-height:20px;margin-bottom:8px;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{left:1px;right:auto}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{left:0;right:auto}[dir=rtl] .multiselect__clear{left:12px;right:auto}[dir=rtl] .multiselect__spinner{left:1px;right:auto}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}',""]),n.locals={},t.exports=n},310:function(t,e,o){var content=o(450);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("5b7cce88",content,!0,{sourceMap:!1})},448:function(t,e,o){t.exports=o.p+"videos/phs-r-overview.d08fedf.mp4"},449:function(t,e,o){"use strict";o(310)},450:function(t,e,o){var n=o(59)((function(i){return i[1]}));n.push([t.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.title-container{margin-bottom:20px}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}b-button{margin-top:red}b-dropdown{margin-right:15px}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.btn-primary{background-color:#0078d4;float:right}.coming-soon{color:#0078d4;float:right}.guidance-md{padding:0 20px}.guidance-md img{width:100%}footer{margin-bottom:50px;margin-top:50px}",""]),n.locals={},t.exports=n},461:function(t,e,o){"use strict";o.r(e);o(1),o(126),o(77),o(51);var n=o(22),r=(o(61),o(254)),l=o.n(r),c=o(247),d=o(276),h={components:{VueMarkdown:l.a},data:function(){return{courses:c,resources:d,selectedCourse:{},selectedResource:{}}},computed:{pathwayResources:function(){this.resources.filter((function(t){return"R"==t.technology}))}},methods:{showGuidance:function(t){var e=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,e.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+t.link);case 2:t.md=o.sent,e.selectedResource=t;case 4:case"end":return o.stop()}}),o)})))()}}},m=(o(449),o(265),o(50)),component=Object(m.a)(h,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{sm:"12",md:"9"}},[e("b-card-body",[e("h3",[t._v("R Pathway")]),t._v(" "),e("b-card-text",[t._v("\n Here is the pathway for learning and development in R.\n ")])],1)],1),t._v(" "),e("b-col",{attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("/docs/R")}}},[t._v("\n R Documentation\n ")])],1)],1)],1)],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-md":"2"}},[e("b-col",{attrs:{cols:"12",lg:"6"}},[e("h4",[t._v("What is R?")]),t._v(" "),e("b-row",[e("b-col",[e("p",[t._v("This video is an overview of what R is and what it can do. Without getting into technical details, the video has a focus on how to get started and build your skills within PHS.")]),t._v(" "),e("p",[t._v("This page has all resources related to R. See below for the training pathway, this is split into 3 sections (each link will take you directly to the section on this page): ")]),t._v(" "),e("b-row",{staticClass:"mb-3"},[e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_started")}}},[t._v("Get Started")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#take_it_further")}}},[t._v("Take it Further")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_advanced")}}},[t._v("Get Advanced")])],1)],1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"6"}},[e("video",{attrs:{width:"100%",controls:""}},[e("source",{attrs:{src:o(448),type:"video/mp4"}}),t._v(" "),e("track",{attrs:{kind:"subtitles",srclang:"en",src:"phs-r-overview_vtt_English.vtt",label:"English"}})])])],1),t._v(" "),e("div",[e("b-row",[e("b-col",[e("b-row",[e("b-col",[e("a",{attrs:{id:"get_started"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Started")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"1"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"take_it_further"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Take it Further")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"2"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"get_advanced"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Advanced")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"3"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("h4",{staticClass:"mt-5"},[t._v("Related Technologies")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return t.related.includes("R")})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("Closed")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v("\n "+t._s(o.title)+"\n ")])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1)],1)],1)],1)],1),t._v(" "),e("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:t.selectedResource.title}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedResource.richLink}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("br"),t._v(" "),e("vue-markdown",{staticClass:"guidance-md",attrs:{source:t.selectedResource.md}})],1),t._v(" "),e("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedCourse.f2f}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),t.selectedCourse.f2f?e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:t.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):t._e()])],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{247:function(t){t.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},253:function(t,e,o){var content=o(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("9ab7227a",content,!0,{sourceMap:!1})},265:function(t,e,o){"use strict";o(253)},276:function(t){t.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},277:function(t,e,o){var n=o(59)((function(i){return i[1]}));n.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{background:#fff;display:block;height:38px;position:absolute;right:1px;top:1px;width:40px}.multiselect__spinner:after,.multiselect__spinner:before{border:2px solid transparent;border-radius:100%;border-top-color:#41b883;box-shadow:0 0 0 1px transparent;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{opacity:1;transition:opacity .4s ease-in-out}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;color:#35495e;display:block;min-height:40px;position:relative;text-align:left;width:100%}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;opacity:.6;pointer-events:none}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{background:#fff;border:none;border-radius:5px;box-sizing:border-box;display:inline-block;line-height:20px;margin-bottom:8px;min-height:20px;padding:0 0 0 5px;position:relative;transition:border .1s ease;vertical-align:top;width:100%}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{margin-bottom:8px;padding-left:5px}.multiselect__tags-wrap{display:inline}.multiselect__tags{background:#fff;border:1px solid #e8e8e8;border-radius:5px;display:block;font-size:14px;min-height:40px;padding:8px 40px 0 8px}.multiselect__tag{background:#41b883;border-radius:5px;color:#fff;display:inline-block;line-height:1;margin-bottom:5px;margin-right:10px;max-width:100%;overflow:hidden;padding:4px 26px 4px 10px;position:relative;text-overflow:ellipsis;white-space:nowrap}.multiselect__tag-icon{border-radius:5px;bottom:0;cursor:pointer;font-style:normal;font-weight:700;line-height:22px;margin-left:7px;position:absolute;right:0;text-align:center;top:0;transition:all .2s ease;width:22px}.multiselect__tag-icon:after{color:#266d4d;content:"\\D7";font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{border:1px solid #e8e8e8;border-radius:5px;min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap}.multiselect__current,.multiselect__select{box-sizing:border-box;cursor:pointer;display:block;line-height:16px;margin:0;-webkit-text-decoration:none;text-decoration:none}.multiselect__select{height:38px;padding:4px 8px;position:absolute;right:1px;text-align:center;top:1px;transition:transform .2s ease;width:40px}.multiselect__select:before{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;color:#999;content:"";margin-top:4px;position:relative;right:0;top:65%}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e8e8e8;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:block;max-height:240px;overflow:auto;position:absolute;width:100%;z-index:50}.multiselect__content{display:inline-block;list-style:none;margin:0;min-width:100%;padding:0;vertical-align:top}.multiselect--above .multiselect__content-wrapper{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e8e8e8;border-top-left-radius:5px;border-top-right-radius:5px;bottom:100%}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{cursor:pointer;display:block;line-height:16px;min-height:40px;padding:12px;position:relative;-webkit-text-decoration:none;text-decoration:none;text-transform:none;vertical-align:middle;white-space:nowrap}.multiselect__option:after{font-size:13px;line-height:40px;padding-left:20px;padding-right:12px;position:absolute;right:0;top:0}.multiselect__option--highlight{background:#41b883;color:#fff;outline:none}.multiselect__option--highlight:after{background:#41b883;color:#fff;content:attr(data-select)}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{background:inherit;color:silver;content:attr(data-selected)}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;color:#fff;content:attr(data-deselect)}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;color:#fff;content:attr(data-deselect)}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{display:inline-block;line-height:20px;margin-bottom:8px;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{left:1px;right:auto}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{left:0;right:auto}[dir=rtl] .multiselect__clear{left:12px;right:auto}[dir=rtl] .multiselect__spinner{left:1px;right:auto}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}',""]),n.locals={},t.exports=n},310:function(t,e,o){var content=o(450);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("5b7cce88",content,!0,{sourceMap:!1})},448:function(t,e,o){t.exports=o.p+"videos/phs-r-overview.d08fedf.mp4"},449:function(t,e,o){"use strict";o(310)},450:function(t,e,o){var n=o(59)((function(i){return i[1]}));n.push([t.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.filter{flex:0 1 auto}.title-container{margin-bottom:20px}.head-card{border:none}.tag-cloud{padding:0 10px}.tag-button{margin:2px 0}b-button{margin-top:red}b-dropdown{margin-right:15px}.grid{display:grid}.multiselect__option--highlight,.multiselect__option--highlight:after{background:#80ba27!important}.multiselect__option--selected.multiselect__option--highlight,.multiselect__option--selected.multiselect__option--highlight:after{background:#bd27b9!important}.multiselect__tag{background:#80ba27!important}.btn-primary{background-color:#0078d4;float:right}.coming-soon{color:#0078d4;float:right}.guidance-md{padding:0 20px}.guidance-md img{width:100%}footer{margin-bottom:50px;margin-top:50px}",""]),n.locals={},t.exports=n},465:function(t,e,o){"use strict";o.r(e);o(1),o(126),o(77),o(51);var n=o(22),r=(o(61),o(254)),l=o.n(r),c=o(247),d=o(276),h={components:{VueMarkdown:l.a},data:function(){return{courses:c,resources:d,selectedCourse:{},selectedResource:{}}},computed:{pathwayResources:function(){this.resources.filter((function(t){return"R"==t.technology}))}},methods:{showGuidance:function(t){var e=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,e.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+t.link);case 2:t.md=o.sent,e.selectedResource=t;case 4:case"end":return o.stop()}}),o)})))()}}},m=(o(449),o(265),o(50)),component=Object(m.a)(h,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{sm:"12",md:"9"}},[e("b-card-body",[e("h3",[t._v("R Pathway")]),t._v(" "),e("b-card-text",[t._v("\n Here is the pathway for learning and development in R.\n ")])],1)],1),t._v(" "),e("b-col",{attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("/docs/R")}}},[t._v("\n R Documentation\n ")])],1)],1)],1)],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-md":"2"}},[e("b-col",{attrs:{cols:"12",lg:"6"}},[e("h4",[t._v("What is R?")]),t._v(" "),e("b-row",[e("b-col",[e("p",[t._v("This video is an overview of what R is and what it can do. Without getting into technical details, the video has a focus on how to get started and build your skills within PHS.")]),t._v(" "),e("p",[t._v("This page has all resources related to R. See below for the training pathway, this is split into 3 sections (each link will take you directly to the section on this page): ")]),t._v(" "),e("b-row",{staticClass:"mb-3"},[e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_started")}}},[t._v("Get Started")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#take_it_further")}}},[t._v("Take it Further")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_advanced")}}},[t._v("Get Advanced")])],1)],1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"6"}},[e("video",{attrs:{width:"100%",controls:""}},[e("source",{attrs:{src:o(448),type:"video/mp4"}}),t._v(" "),e("track",{attrs:{kind:"subtitles",srclang:"en",src:"phs-r-overview_vtt_English.vtt",label:"English"}})])])],1),t._v(" "),e("div",[e("b-row",[e("b-col",[e("b-row",[e("b-col",[e("a",{attrs:{id:"get_started"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Started")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"1"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"take_it_further"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Take it Further")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"2"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"get_advanced"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Advanced")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"3"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("\n Closed\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("h4",{staticClass:"mt-5"},[t._v("Related Technologies")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2","cols-lg":"3"}},t._l(t.courses.filter((function(t){return t.related.includes("R")})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),t._v(" "),e("b-button",{attrs:{variant:"outline-secondary",disabled:""}},[t._v("Closed")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v("\n "+t._s(o.title)+"\n ")])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1)],1)],1)],1)],1),t._v(" "),e("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:t.selectedResource.title}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedResource.richLink}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("br"),t._v(" "),e("vue-markdown",{staticClass:"guidance-md",attrs:{source:t.selectedResource.md}})],1),t._v(" "),e("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedCourse.f2f}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),t.selectedCourse.f2f?e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:t.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):t._e()])],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/3acae81.js b/docs/_nuxt/6edcb0e.js similarity index 99% rename from docs/_nuxt/3acae81.js rename to docs/_nuxt/6edcb0e.js index 653587d..70911fd 100644 --- a/docs/_nuxt/3acae81.js +++ b/docs/_nuxt/6edcb0e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{307:function(t,e,n){var content=n(442);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("cd3ff2b8",content,!0,{sourceMap:!1})},441:function(t,e,n){"use strict";n(307)},442:function(t,e,n){var r=n(59)((function(i){return i[1]}));r.push([t.i,".active{font-weight:700}.not-active{font-weight:400}.gh-button{align-items:center;display:flex;justify-content:space-between}a li{font-weight:400}.collapsed>.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0 4px 10px 0 #dcdcdc}@media(max-width:767.98px){.search-results{right:15px;width:95%}}@media(min-width:767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),r.locals={},t.exports=r},459:function(t,e,n){"use strict";n.r(e);n(96),n(14),n(18),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(22);n(61),n(8),n(1),n(77),n(51),n(98),n(10),n(176);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0 4px 10px 0 #dcdcdc}@media(max-width:767.98px){.search-results{right:15px;width:95%}}@media(min-width:767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),r.locals={},t.exports=r},463:function(t,e,n){"use strict";n.r(e);n(96),n(14),n(18),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(22);n(61),n(8),n(1),n(77),n(51),n(98),n(10),n(176);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i').concat(n,""):"[".concat(n,"](/knowledge-base/docs/").concat(e.$route.params.doc.replace(/ /g,"%20"),"?doc=").concat(r,")")}));case 16:case"end":return n.stop()}}),n)})))()}},created:function(){this.getMarkdownFile()}}}).call(this,n(302).Buffer)},308:function(t,e,n){var content=n(444);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("7af28c24",content,!0,{sourceMap:!1})},443:function(t,e,n){"use strict";n(308)},444:function(t,e,n){var r=n(59)((function(i){return i[1]}));r.push([t.i,".toc-anchor-link{display:none}",""]),r.locals={},t.exports=r},465:function(t,e,n){"use strict";n.r(e);var r=n(278).a,c=(n(443),n(50)),component=Object(c.a)(r,(function(){var t=this._self._c;return t("div",[t("vue-markdown",{attrs:{source:this.source,toc:""}})],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{278:function(t,e,n){"use strict";(function(t){var r=n(22),c=(n(61),n(98),n(14),n(12),n(32),n(33),n(10),n(97),n(77),n(51),n(254)),o=n.n(c);e.a={components:{VueMarkdown:o.a},data:function(){return{source:"",raw:""}},watch:{$route:function(){this.getMarkdownFile()}},methods:{getMarkdownFile:function(){var e=this;return Object(r.a)(regeneratorRuntime.mark((function n(){var path,r;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.$route.query.doc=e.$route.query.doc||"README.md",path=e.$route.params.doc,n.next=4,e.$axios.get("/repos/Public-Health-Scotland/technical-docs/contents/"+path,{baseURL:"https://api.github.com",headers:{}}).then((function(t){return t.data})).catch((function(t){return{}}));case 4:if(r=n.sent,Array.isArray(r)&&(r=r.find((function(t){return t.name==e.$route.query.doc}))),"file"!=r.type){n.next=12;break}return n.next=9,e.$axios.get(r.git_url).then((function(e){return t.from(e.data.content,"base64").toString("ascii")})).catch((function(t){return""}));case 9:e.source=n.sent,n.next=13;break;case 12:e.source="";case 13:e.raw=e.source,console.log(e.$route.query.doc),e.source=e.source.replace(/(?').concat(n,""):"[".concat(n,"](/knowledge-base/docs/").concat(e.$route.params.doc.replace(/ /g,"%20"),"?doc=").concat(r,")")}));case 16:case"end":return n.stop()}}),n)})))()}},created:function(){this.getMarkdownFile()}}}).call(this,n(302).Buffer)},308:function(t,e,n){var content=n(444);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("7af28c24",content,!0,{sourceMap:!1})},443:function(t,e,n){"use strict";n(308)},444:function(t,e,n){var r=n(59)((function(i){return i[1]}));r.push([t.i,".toc-anchor-link{display:none}",""]),r.locals={},t.exports=r},469:function(t,e,n){"use strict";n.r(e);var r=n(278).a,c=(n(443),n(50)),component=Object(c.a)(r,(function(){var t=this._self._c;return t("div",[t("vue-markdown",{attrs:{source:this.source,toc:""}})],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/faaedf1.js b/docs/_nuxt/9fe9a49.js similarity index 98% rename from docs/_nuxt/faaedf1.js rename to docs/_nuxt/9fe9a49.js index f809895..81bb17f 100644 --- a/docs/_nuxt/faaedf1.js +++ b/docs/_nuxt/9fe9a49.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},313:function(e,t,o){var content=o(456);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("3e86983e",content,!0,{sourceMap:!1})},455:function(e,t,o){"use strict";o(313)},456:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".breadcrumb[data-v-17615772]{background-color:#fff}.pathway-notice[data-v-17615772]{background-color:#3f3685;border:none;color:#fff;font-size:1.1rem}",""]),n.locals={},e.exports=n},464:function(e,t,o){"use strict";o.r(t);o(126),o(1),o(77),o(51);var n=o(247),r={data:function(){return{courses:n}},computed:{course:function(){var e=this,t=n.filter((function(t){return t.slug==e.$route.params.course}))[0];return t||{}}}},l=(o(455),o(50)),component=Object(l.a)(r,(function(){var e=this,t=e._self._c;return t("div",{},[t("b-breadcrumb",[t("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/")}}},[e._v("Home")]),e._v(" "),t("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/develop")}}},[e._v("Develop")]),e._v(" "),t("b-breadcrumb-item",{attrs:{active:""}},[e._v(e._s(e.course.title))])],1),e._v(" "),t("b-row",{staticClass:"pt-4"},[t("b-col",[t("h3",[e._v(e._s(e.course.title))])])],1),e._v(" "),t("b-row",{staticClass:"pt-5",attrs:{cols:"1","cols-lg":"2"}},[t("b-col",{staticClass:"pb-5",attrs:{cols:"12",lg:"8"}},[t("h4",[e._v("Description")]),e._v(" "),t("p",[e._v(e._s(e.course.description))]),e._v(" "),t("span",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.course.overview))])]),e._v(" "),t("b-col",{attrs:{cols:"12",lg:"4"}},[""!=e.course.f2f?t("b-card",{staticClass:"mb-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h5",[e._v("In-Person Course")]),e._v(" "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=e.course}}},[e._v("\n Book\n ")])],1)]):e._e(),e._v(" "),""!=e.course.online?t("b-card",{staticClass:"mb-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h5",[e._v("Online Course")]),e._v(" "),t("b-button",{attrs:{href:e.course.link,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1)]):e._e(),e._v(" "),"R"==e.course.technology?t("b-card",{staticClass:"mb-5 pathway-notice"},[t("h6",{staticClass:"pathway-notice"},[e._v("Part of the "),t("strong",[t("NuxtLink",{staticClass:"pathway-notice",attrs:{to:"/develop/r-pathway"}},[e._v("R technology pathway")])],1)])]):e._e()],1)],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-lg":"2"}},[t("b-col",{attrs:{cols:"12",lg:"8"}},[t("h4",[e._v("Details")]),e._v(" "),t("h5",{staticClass:"pt-3"},[e._v("Prerequisites")]),e._v(" "),"none"==e.course.prereqs?t("p",[e._v("There are "),t("strong",[e._v("no")]),e._v(" prerequisites for this course.")]):t("ul",e._l(e.courses.filter((function(t){return e.course.prereqs.includes(t.title)})),(function(o){return t("li",[t("NuxtLink",{attrs:{to:"/develop/"+o.slug}},[e._v(e._s(o.title))])],1)})),0),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?t("h5",{staticClass:"pt-2"},[e._v("In-Person Timetable")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?t("p",[e._v("This course is ran over "),t("strong",[e._v(e._s(e.course.timetable))]),e._v(".")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?t("h5",{staticClass:"pt-2"},[e._v("In-Person Materials")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?t("p",[t("a",{attrs:{href:e.course.materials,target:"_blank"}},[e._v(e._s(e.course.materials))])]):e._e()])],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.course.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.course.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,"17615772",null);t.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"This course is a complete introduction to creating and using reproducible environments in R, using the `{renv}` package. It covers reproducibility and the basics of working with environments. The course continues and shows how environments are managed with code, all integrated into R, making your coding experience and collaboration much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-renv","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-renv","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r","renv"],"prereqs":["Introduction to R","Introduction to Git"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},313:function(e,t,o){var content=o(460);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("3e86983e",content,!0,{sourceMap:!1})},459:function(e,t,o){"use strict";o(313)},460:function(e,t,o){var n=o(59)((function(i){return i[1]}));n.push([e.i,".breadcrumb[data-v-17615772]{background-color:#fff}.pathway-notice[data-v-17615772]{background-color:#3f3685;border:none;color:#fff;font-size:1.1rem}",""]),n.locals={},e.exports=n},468:function(e,t,o){"use strict";o.r(t);o(126),o(1),o(77),o(51);var n=o(247),r={data:function(){return{courses:n}},computed:{course:function(){var e=this,t=n.filter((function(t){return t.slug==e.$route.params.course}))[0];return t||{}}}},l=(o(459),o(50)),component=Object(l.a)(r,(function(){var e=this,t=e._self._c;return t("div",{},[t("b-breadcrumb",[t("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/")}}},[e._v("Home")]),e._v(" "),t("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/develop")}}},[e._v("Develop")]),e._v(" "),t("b-breadcrumb-item",{attrs:{active:""}},[e._v(e._s(e.course.title))])],1),e._v(" "),t("b-row",{staticClass:"pt-4"},[t("b-col",[t("h3",[e._v(e._s(e.course.title))])])],1),e._v(" "),t("b-row",{staticClass:"pt-5",attrs:{cols:"1","cols-lg":"2"}},[t("b-col",{staticClass:"pb-5",attrs:{cols:"12",lg:"8"}},[t("h4",[e._v("Description")]),e._v(" "),t("p",[e._v(e._s(e.course.description))]),e._v(" "),t("span",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.course.overview))])]),e._v(" "),t("b-col",{attrs:{cols:"12",lg:"4"}},[""!=e.course.f2f?t("b-card",{staticClass:"mb-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h5",[e._v("In-Person Course")]),e._v(" "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=e.course}}},[e._v("\n Book\n ")])],1)]):e._e(),e._v(" "),""!=e.course.online?t("b-card",{staticClass:"mb-4"},[t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("h5",[e._v("Online Course")]),e._v(" "),t("b-button",{attrs:{href:e.course.link,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1)]):e._e(),e._v(" "),"R"==e.course.technology?t("b-card",{staticClass:"mb-5 pathway-notice"},[t("h6",{staticClass:"pathway-notice"},[e._v("Part of the "),t("strong",[t("NuxtLink",{staticClass:"pathway-notice",attrs:{to:"/develop/r-pathway"}},[e._v("R technology pathway")])],1)])]):e._e()],1)],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-lg":"2"}},[t("b-col",{attrs:{cols:"12",lg:"8"}},[t("h4",[e._v("Details")]),e._v(" "),t("h5",{staticClass:"pt-3"},[e._v("Prerequisites")]),e._v(" "),"none"==e.course.prereqs?t("p",[e._v("There are "),t("strong",[e._v("no")]),e._v(" prerequisites for this course.")]):t("ul",e._l(e.courses.filter((function(t){return e.course.prereqs.includes(t.title)})),(function(o){return t("li",[t("NuxtLink",{attrs:{to:"/develop/"+o.slug}},[e._v(e._s(o.title))])],1)})),0),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?t("h5",{staticClass:"pt-2"},[e._v("In-Person Timetable")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?t("p",[e._v("This course is ran over "),t("strong",[e._v(e._s(e.course.timetable))]),e._v(".")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?t("h5",{staticClass:"pt-2"},[e._v("In-Person Materials")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?t("p",[t("a",{attrs:{href:e.course.materials,target:"_blank"}},[e._v(e._s(e.course.materials))])]):e._e()])],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.course.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.course.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,"17615772",null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/ffa5a58.js b/docs/_nuxt/ab8f660.js similarity index 98% rename from docs/_nuxt/ffa5a58.js rename to docs/_nuxt/ab8f660.js index 2f4b6b3..d0e535e 100644 --- a/docs/_nuxt/ffa5a58.js +++ b/docs/_nuxt/ab8f660.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{122:function(t,e,n){"use strict";e.a={}},152:function(t,e,n){var content=n(207);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("ad839196",content,!0,{sourceMap:!1})},153:function(t,e,n){var content=n(209);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("252f4f7d",content,!0,{sourceMap:!1})},154:function(t,e,n){var content=n(216);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("39ff5931",content,!0,{sourceMap:!1})},171:function(t,e,n){"use strict";var r=n(22),o=(n(61),n(12),n(6)),c=n(7),l=window.__NUXT__;function f(){if(!this._hydrated)return this.$fetch()}function d(){if((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey){var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;var data=l.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(var e in data)o.default.set(this.$data,e,data[e])}}function h(){var t=this;return this._fetchPromise||(this._fetchPromise=m.call(this).then((function(){delete t._fetchPromise}))),this._fetchPromise}function m(){return v.apply(this,arguments)}function v(){return(v=Object(r.a)(regeneratorRuntime.mark((function t(){var e,n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1,e=null,n=Date.now(),t.prev=6,t.next=9,this.$options.fetch.call(this);case 9:t.next=15;break;case 11:t.prev=11,t.t0=t.catch(6),e=Object(c.p)(t.t0);case 15:if(!((r=this._fetchDelay-(Date.now()-n))>0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.l)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.default.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=h.bind(this),Object(c.a)(this,"created",d),Object(c.a)(this,"beforeMount",f))}}},178:function(t,e,n){n(179),t.exports=n(180)},180:function(t,e,n){"use strict";n.r(e),function(t){n(9),n(2),n(47);var e=n(13),r=n(22),o=(n(140),n(186),n(190),n(191),n(61),n(14),n(1),n(3),n(77),n(51),n(8),n(34),n(12),n(35),n(6)),c=n(164),l=n(122),f=n(7),d=n(40),h=n(171),m=n(95);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(y.c)(t)),o(t,e,n)},n}var $={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,l=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,d=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&d++,n=n.$parent;data.nuxtChildDepth=d;var h=l[d]||f,m={};C.forEach((function(t){void 0!==h[t]&&(m[t]=h[t])}));var v={};S.forEach((function(t){"function"==typeof h[t]&&(v[t]=h[t].bind(c))}));var y=v.beforeEnter;if(v.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(c,t)},!1===h.css){var x=v.leave;(!x||x.length<2)&&(v.leave=function(t,e){x&&x.call(c,t),c.$nextTick(e)})}var w=o("routerView",data);return r.keepAlive&&(w=o("keep-alive",{props:r.keepAliveProps},[w])),o("transition",{props:m,on:v},[w])}},C=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],S=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],P={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},E=(n(206),n(50)),R=Object(E.a)(P,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?e("p",{staticClass:"description"},[void 0===t.$route?e("a",{staticClass:"error-link",attrs:{href:"/"}}):e("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this._self._c;return t("div",{staticClass:"logo"},[t("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt")])])}],!1,null,null,null).exports,A=n(23),T=(n(32),n(33),{name:"Nuxt",components:{NuxtChild:$,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(x.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),D=(n(34),n(35),n(9),n(47),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),clearTimeout(this._hide),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),this._hide=setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),N=(n(208),Object(E.a)(D,undefined,undefined,!1,null,null,null).exports),L=(n(210),n(212),n(215),Object(E.a)({},(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header-container"},[e("header",[e("div",{staticClass:"container"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"left"},[e("img",{staticClass:"logo cursor-pointer",attrs:{src:n(214),alt:"PHS Logo"},on:{click:function(e){return t.$router.push("/")}}})])])])])]),t._v(" "),e("div",{staticClass:"nav-container"},[e("b-navbar",{attrs:{toggleable:"sm",type:"dark"}},[e("div",{staticClass:"container"},[e("b-navbar-brand",{staticClass:"cursor-pointer",on:{click:function(e){return t.$router.push("/")}}},[t._v("\n Data Science Knowledge Base\n ")]),t._v(" "),e("b-navbar-toggle",{attrs:{target:"nav-collapse"}}),t._v(" "),e("b-collapse",{attrs:{id:"nav-collapse","is-nav":""}},[e("b-navbar-nav",{staticClass:"ml-auto"},[e("NuxtLink",{attrs:{to:"/develop",tag:"b-nav-item"}},[t._v("Develop")]),t._v(" "),e("NuxtLink",{attrs:{to:"/docs",tag:"b-nav-item"}},[t._v("Documentation")]),t._v(" "),e("NuxtLink",{attrs:{to:"/social",tag:"b-nav-item"}},[t._v("Social")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.help-modal",modifiers:{"help-modal":!0}}]},[e("eva-icon",{attrs:{name:"question-mark-circle-outline",fill:"#fff"}})],1),t._v(" "),e("b-modal",{attrs:{id:"help-modal",size:"lg",title:"Help"}},[e("p",{staticClass:"my-4"},[e("strong",[t._v("Training Request")]),t._v(" - If you can't find what you're looking for or have a specific training requirement, use this link to "),e("a",{attrs:{href:"mailto:phs.staffdevelopment@phs.scot?Subject=DSKB - Training Request"}},[t._v("email Staff Development.")])]),t._v(" "),e("p",{staticClass:"my-4"},[e("strong",[t._v("Knowledge Base Enquiry")]),t._v(" - Feedback, issues, or suggestions for the knowledge base? "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/knowledge-base/issues/new/choose",target:"_blank"}},[t._v("Open an issue")]),t._v(" on the GitHub repo or "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[t._v("email the Data Science team.")])])])],1)],1)],1)])],1),t._v(" "),e("div",{staticClass:"container body"},[e("Nuxt")],1),t._v(" "),e("div",{staticClass:"container my-3 d-flex justify-content-between align-items-center"},[e("div",[e("footer",[e("b-nav",[e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.accessibility-modal",modifiers:{"accessibility-modal":!0}}]},[t._v("Accessibility")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.attribution-modal",modifiers:{"attribution-modal":!0}}]},[t._v("Attributions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/contact-us/freedom-of-information-foi-and-environmental-information-regulation-eir-requests/",target:"_blank"}},[t._v("Freedom of Information")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/terms-and-conditions/",target:"_blank"}},[t._v("Terms and Conditions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/our-privacy-notice/organisational-background/",target:"_blank"}},[t._v("Privacy notice")]),t._v(" "),e("b-nav-item",{attrs:{disabled:""}},[t._v("© Public Health Scotland")])],1)],1)]),t._v(" "),e("div",{},[e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.feedback-modal",modifiers:{"feedback-modal":!0}}],staticClass:"feedback-button",attrs:{pill:""}},[e("eva-icon",{attrs:{name:"message-square-outline",fill:"#fff"}})],1)],1)]),t._v(" "),e("b-modal",{attrs:{id:"accessibility-modal",size:"lg",scrollable:"",title:"Accessibility"}},[e("h5",[t._v("Accessible Content")]),t._v("\n This website is run by the Data Science department in Public Health Scotland. We want as many people as possible to be able to use this website. For example, that means you should be able to:\n\n "),e("ul",[e("li",[t._v("change colours, contrast levels and fonts")]),t._v(" "),e("li",[t._v("zoom in up to 300% without the text spilling off the screen")]),t._v(" "),e("li",[t._v("navigate most of the website using just a keyboard")]),t._v(" "),e("li",[t._v("navigate most of the website using speech recognition software")]),t._v(" "),e("li",[t._v("listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)")])]),t._v("\n\n We’ve also made the website text as simple as possible to understand.\n\n We're always looking to improve the accessibility of this website. If you find problems not listed on this page or think we're not meeting accessibility requirements, please email the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Accessibility"}},[t._v("Data Science team.")]),e("p"),t._v(" "),e("h5",[t._v("Testing")]),t._v(" "),e("i",[t._v("This website is currently undergoing development and testing is not yet been complete.")])]),t._v(" "),e("b-modal",{attrs:{id:"attribution-modal",size:"lg",scrollable:"",title:"Attributions"}},[e("h5",[t._v("Attributions")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://lordicon.com/",target:"_blank"}},[t._v("Icons on homepage by Lordicon")])])])]),t._v(" "),e("b-modal",{attrs:{id:"feedback-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:"https://forms.office.com/r/RhjP2yNq4y"}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1100px",src:"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmlMENbvENPtAs5eceNN9kYdUQ0JJWlY4UjNOQ1ZCSVlEOUpTSEo3N0JaWS4u&embed=true",frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,null,null).exports);function I(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return M(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(x.h)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),o=n.map(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n){var p,r,o,component;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=[],n.$options.fetch&&n.$options.fetch.length&&p.push(Object(x.q)(n.$options.fetch,t.context)),n.$options.asyncData&&p.push(Object(x.q)(n.$options.asyncData,t.context).then((function(t){for(var e in t)c.default.set(n.$data,e,t[e])}))),e.next=5,Promise.all(p);case 5:p=[],n.$fetch&&p.push(n.$fetch()),r=I(Object(x.e)(n.$vnode.componentInstance));try{for(r.s();!(o=r.n()).done;)component=o.value,p.push(component.$fetch())}catch(t){r.e(t)}finally{r.f()}return e.abrupt("return",Promise.all(p));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.prev=5,e.next=8,Promise.all(o);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(x.k)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&U["_"+t]||(t="default"),this.layoutName=t,this.layout=U["_"+t],this.layout},loadLayout:function(t){return t&&U["_"+t]||(t="default"),Promise.resolve(U["_"+t])}},components:{NuxtLoading:N}},B=n(94);for(var F in B)c.default.component(F,B[F]),c.default.component("Lazy"+F,B[F]);var K=n(172);c.default.use(K.a,{});var H=n(76),J=n.n(H),Q=n(168);function V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function W(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=X(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;e?this.defaults.headers[c][t]=e:delete this.defaults.headers[c][t]}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return nt(Object(Q.a)(t,this.defaults))}},Z=function(){var t=et[tt];Y["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},tt=0,et=["request","delete","get","head","options","post","put","patch"];tt has been deprecated and will be removed in Nuxt 3, please use instead")),m.a.render(t,e)}})),c.default.component($.name,$),c.default.component("NChild",$),c.default.component(T.name,T),Object.defineProperty(c.default.prototype,"$nuxt",{get:function(){var t=this.$root?this.$root.$options.$nuxt:null;return t||"undefined"==typeof window?t:window.$nuxt},configurable:!0}),c.default.use(l.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var ht={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function mt(t){return bt.apply(this,arguments)}function bt(){return bt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,o,l,f,d,path,h,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));l[t="$"+t]=e,l.context[t]||(l.context[t]=e);var n="__nuxt_"+t+"_installed__";c.default[n]||(c.default[n]=!0,c.default.use((function(){Object.prototype.hasOwnProperty.call(c.default.prototype,t)||Object.defineProperty(c.default.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},null,t.next=5,k(0,n);case 5:return o=t.sent,l=pt({head:{title:"PHS Data Science - Knowledge Base",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:""}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"}],script:[{src:"https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"}],style:[]},router:o,nuxt:{defaultTransition:ht,transitions:[ht],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},ht,{name:t}):Object.assign({},ht,t):ht})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,l.context._errored=Boolean(t),t=t?Object(x.p)(t):null;var n=l.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},z),f=e?e.next:function(t){return l.router.push(t)},e?d=o.resolve(e.url).route:(path=Object(x.f)(o.options.base,o.options.mode),d=o.resolve(path).route),t.next=11,Object(x.t)(l,{route:d,next:f,error:l.nuxt.error.bind(l),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,beforeSerializeFns:e?e.beforeSerializeFns:void 0,ssrContext:e});case 11:h("config",n),l.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l.previewData=Object.assign({},t),h("preview",t)},t.next=16;break;case 16:t.next=19;break;case 19:if("function"!=typeof it){t.next=22;break}return t.next=22,it(l.context,h);case 22:t.next=25;break;case 25:if("function"!=typeof lt){t.next=28;break}return t.next=28,lt(l.context,h);case 28:return l.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=31,new Promise((function(t,e){if(!o.resolve(l.context.route.fullPath).route.matched.length)return t();o.replace(l.context.route.fullPath,t,(function(n){if(!n._isRouter)return e(n);if(2!==n.type)return t();var c=o.afterEach(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,Object(x.j)(n);case 3:l.context.route=e.sent,l.context.params=n.params||{},l.context.query=n.query||{},c(),t();case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}))}));case 31:return t.abrupt("return",{app:l,router:o});case 32:case"end":return t.stop()}}),t)}))),bt.apply(this,arguments)}},7:function(t,e,n){"use strict";n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return w})),n.d(e,"l",(function(){return _})),n.d(e,"e",(function(){return O})),n.d(e,"b",(function(){return j})),n.d(e,"s",(function(){return k})),n.d(e,"g",(function(){return $})),n.d(e,"h",(function(){return C})),n.d(e,"d",(function(){return S})),n.d(e,"r",(function(){return P})),n.d(e,"j",(function(){return E})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return D})),n.d(e,"q",(function(){return N})),n.d(e,"f",(function(){return L})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return M})),n.d(e,"p",(function(){return U})),n.d(e,"a",(function(){return Q})),n.d(e,"v",(function(){return V})),n.d(e,"n",(function(){return W})),n.d(e,"u",(function(){return X}));n(2),n(47),n(4),n(5);var r=n(13),o=n(22),c=n(0),l=n(23),f=(n(61),n(1),n(195),n(12),n(14),n(8),n(3),n(34),n(35),n(9),n(10),n(97),n(96),n(54),n(32),n(33),n(200),n(77),n(51),n(6)),d=n(39);function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:[],r=v(t.$children||[]);try{for(r.s();!(e=r.n()).done;){var o=e.value;o.$fetch&&n.push(o),o.$children&&O(o,n)}}catch(t){r.e(t)}finally{r.f()}return n}function j(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function k(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=f.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function $(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function C(t){return $(t,arguments.length>1&&void 0!==arguments[1]&&arguments[1],"instances")}function S(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function P(t,e){return Promise.all(S(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){var l,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=11;break}return t.prev=1,t.next=4,n();case 4:n=t.sent,t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(1),t.t0&&"ChunkLoadError"===t.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(l=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e4=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){f=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(f)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},canPrefetch:function(){var t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents:function(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((function(t){return t.components.default})).filter((function(t){return"function"==typeof t&&!t.options&&!t.__prefetched}))},prefetchLink:function(){if(this.canPrefetch()){d.unobserve(this.$el);var t,e=o(this.getPrefetchComponents());try{for(e.s();!(t=e.n()).done;){var n=t.value,r=n();r instanceof Promise&&r.catch((function(){})),n.__prefetched=!0}}catch(t){e.e(t)}finally{e.f()}}}}}}},[[178,14,3,15]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{122:function(t,e,n){"use strict";e.a={}},152:function(t,e,n){var content=n(207);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("ad839196",content,!0,{sourceMap:!1})},153:function(t,e,n){var content=n(209);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("252f4f7d",content,!0,{sourceMap:!1})},154:function(t,e,n){var content=n(216);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("39ff5931",content,!0,{sourceMap:!1})},171:function(t,e,n){"use strict";var r=n(22),o=(n(61),n(12),n(6)),c=n(7),l=window.__NUXT__;function f(){if(!this._hydrated)return this.$fetch()}function d(){if((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey){var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;var data=l.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(var e in data)o.default.set(this.$data,e,data[e])}}function h(){var t=this;return this._fetchPromise||(this._fetchPromise=m.call(this).then((function(){delete t._fetchPromise}))),this._fetchPromise}function m(){return v.apply(this,arguments)}function v(){return(v=Object(r.a)(regeneratorRuntime.mark((function t(){var e,n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1,e=null,n=Date.now(),t.prev=6,t.next=9,this.$options.fetch.call(this);case 9:t.next=15;break;case 11:t.prev=11,t.t0=t.catch(6),e=Object(c.p)(t.t0);case 15:if(!((r=this._fetchDelay-(Date.now()-n))>0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.l)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.default.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=h.bind(this),Object(c.a)(this,"created",d),Object(c.a)(this,"beforeMount",f))}}},178:function(t,e,n){n(179),t.exports=n(180)},180:function(t,e,n){"use strict";n.r(e),function(t){n(9),n(2),n(47);var e=n(13),r=n(22),o=(n(140),n(186),n(190),n(191),n(61),n(14),n(1),n(3),n(77),n(51),n(8),n(34),n(12),n(35),n(6)),c=n(164),l=n(122),f=n(7),d=n(40),h=n(171),m=n(95);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(y.c)(t)),o(t,e,n)},n}var $={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,l=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,d=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&d++,n=n.$parent;data.nuxtChildDepth=d;var h=l[d]||f,m={};C.forEach((function(t){void 0!==h[t]&&(m[t]=h[t])}));var v={};S.forEach((function(t){"function"==typeof h[t]&&(v[t]=h[t].bind(c))}));var y=v.beforeEnter;if(v.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(c,t)},!1===h.css){var x=v.leave;(!x||x.length<2)&&(v.leave=function(t,e){x&&x.call(c,t),c.$nextTick(e)})}var w=o("routerView",data);return r.keepAlive&&(w=o("keep-alive",{props:r.keepAliveProps},[w])),o("transition",{props:m,on:v},[w])}},C=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],S=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],P={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},E=(n(206),n(50)),R=Object(E.a)(P,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?e("p",{staticClass:"description"},[void 0===t.$route?e("a",{staticClass:"error-link",attrs:{href:"/"}}):e("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this._self._c;return t("div",{staticClass:"logo"},[t("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt")])])}],!1,null,null,null).exports,A=n(23),T=(n(32),n(33),{name:"Nuxt",components:{NuxtChild:$,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(x.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),D=(n(34),n(35),n(9),n(47),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),clearTimeout(this._hide),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),this._hide=setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),N=(n(208),Object(E.a)(D,undefined,undefined,!1,null,null,null).exports),L=(n(210),n(212),n(215),Object(E.a)({},(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header-container"},[e("header",[e("div",{staticClass:"container"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"left"},[e("img",{staticClass:"logo cursor-pointer",attrs:{src:n(214),alt:"PHS Logo"},on:{click:function(e){return t.$router.push("/")}}})])])])])]),t._v(" "),e("div",{staticClass:"nav-container"},[e("b-navbar",{attrs:{toggleable:"sm",type:"dark"}},[e("div",{staticClass:"container"},[e("b-navbar-brand",{staticClass:"cursor-pointer",on:{click:function(e){return t.$router.push("/")}}},[t._v("\n Data Science Knowledge Base\n ")]),t._v(" "),e("b-navbar-toggle",{attrs:{target:"nav-collapse"}}),t._v(" "),e("b-collapse",{attrs:{id:"nav-collapse","is-nav":""}},[e("b-navbar-nav",{staticClass:"ml-auto"},[e("NuxtLink",{attrs:{to:"/develop",tag:"b-nav-item"}},[t._v("Develop")]),t._v(" "),e("NuxtLink",{attrs:{to:"/docs",tag:"b-nav-item"}},[t._v("Documentation")]),t._v(" "),e("NuxtLink",{attrs:{to:"/social",tag:"b-nav-item"}},[t._v("Social")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.help-modal",modifiers:{"help-modal":!0}}]},[e("eva-icon",{attrs:{name:"question-mark-circle-outline",fill:"#fff"}})],1),t._v(" "),e("b-modal",{attrs:{id:"help-modal",size:"lg",title:"Help"}},[e("p",{staticClass:"my-4"},[e("strong",[t._v("Training Request")]),t._v(" - If you can't find what you're looking for or have a specific training requirement, use this link to "),e("a",{attrs:{href:"mailto:phs.staffdevelopment@phs.scot?Subject=DSKB - Training Request"}},[t._v("email Staff Development.")])]),t._v(" "),e("p",{staticClass:"my-4"},[e("strong",[t._v("Knowledge Base Enquiry")]),t._v(" - Feedback, issues, or suggestions for the knowledge base? "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/knowledge-base/issues/new/choose",target:"_blank"}},[t._v("Open an issue")]),t._v(" on the GitHub repo or "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[t._v("email the Data Science team.")])])])],1)],1)],1)])],1),t._v(" "),e("div",{staticClass:"container body"},[e("Nuxt")],1),t._v(" "),e("div",{staticClass:"container my-3 d-flex justify-content-between align-items-center"},[e("div",[e("footer",[e("b-nav",[e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.accessibility-modal",modifiers:{"accessibility-modal":!0}}]},[t._v("Accessibility")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.attribution-modal",modifiers:{"attribution-modal":!0}}]},[t._v("Attributions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/contact-us/freedom-of-information-foi-and-environmental-information-regulation-eir-requests/",target:"_blank"}},[t._v("Freedom of Information")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/terms-and-conditions/",target:"_blank"}},[t._v("Terms and Conditions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/our-privacy-notice/organisational-background/",target:"_blank"}},[t._v("Privacy notice")]),t._v(" "),e("b-nav-item",{attrs:{disabled:""}},[t._v("© Public Health Scotland")])],1)],1)]),t._v(" "),e("div",{},[e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.feedback-modal",modifiers:{"feedback-modal":!0}}],staticClass:"feedback-button",attrs:{pill:""}},[e("eva-icon",{attrs:{name:"message-square-outline",fill:"#fff"}})],1)],1)]),t._v(" "),e("b-modal",{attrs:{id:"accessibility-modal",size:"lg",scrollable:"",title:"Accessibility"}},[e("h5",[t._v("Accessible Content")]),t._v("\n This website is run by the Data Science department in Public Health Scotland. We want as many people as possible to be able to use this website. For example, that means you should be able to:\n\n "),e("ul",[e("li",[t._v("change colours, contrast levels and fonts")]),t._v(" "),e("li",[t._v("zoom in up to 300% without the text spilling off the screen")]),t._v(" "),e("li",[t._v("navigate most of the website using just a keyboard")]),t._v(" "),e("li",[t._v("navigate most of the website using speech recognition software")]),t._v(" "),e("li",[t._v("listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)")])]),t._v("\n\n We’ve also made the website text as simple as possible to understand.\n\n We're always looking to improve the accessibility of this website. If you find problems not listed on this page or think we're not meeting accessibility requirements, please email the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Accessibility"}},[t._v("Data Science team.")]),e("p"),t._v(" "),e("h5",[t._v("Testing")]),t._v(" "),e("i",[t._v("This website is currently undergoing development and testing is not yet been complete.")])]),t._v(" "),e("b-modal",{attrs:{id:"attribution-modal",size:"lg",scrollable:"",title:"Attributions"}},[e("h5",[t._v("Attributions")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://lordicon.com/",target:"_blank"}},[t._v("Icons on homepage by Lordicon")])])])]),t._v(" "),e("b-modal",{attrs:{id:"feedback-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:"https://forms.office.com/r/RhjP2yNq4y"}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1100px",src:"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmlMENbvENPtAs5eceNN9kYdUQ0JJWlY4UjNOQ1ZCSVlEOUpTSEo3N0JaWS4u&embed=true",frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,null,null).exports);function I(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return M(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(x.h)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),o=n.map(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n){var p,r,o,component;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p=[],n.$options.fetch&&n.$options.fetch.length&&p.push(Object(x.q)(n.$options.fetch,t.context)),n.$options.asyncData&&p.push(Object(x.q)(n.$options.asyncData,t.context).then((function(t){for(var e in t)c.default.set(n.$data,e,t[e])}))),e.next=5,Promise.all(p);case 5:p=[],n.$fetch&&p.push(n.$fetch()),r=I(Object(x.e)(n.$vnode.componentInstance));try{for(r.s();!(o=r.n()).done;)component=o.value,p.push(component.$fetch())}catch(t){r.e(t)}finally{r.f()}return e.abrupt("return",Promise.all(p));case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),e.prev=5,e.next=8,Promise.all(o);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(x.k)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&U["_"+t]||(t="default"),this.layoutName=t,this.layout=U["_"+t],this.layout},loadLayout:function(t){return t&&U["_"+t]||(t="default"),Promise.resolve(U["_"+t])}},components:{NuxtLoading:N}},B=n(94);for(var F in B)c.default.component(F,B[F]),c.default.component("Lazy"+F,B[F]);var K=n(172);c.default.use(K.a,{});var H=n(76),J=n.n(H),Q=n(168);function V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function W(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function G(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=X(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;e?this.defaults.headers[c][t]=e:delete this.defaults.headers[c][t]}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return nt(Object(Q.a)(t,this.defaults))}},Z=function(){var t=et[tt];Y["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},tt=0,et=["request","delete","get","head","options","post","put","patch"];tt has been deprecated and will be removed in Nuxt 3, please use instead")),m.a.render(t,e)}})),c.default.component($.name,$),c.default.component("NChild",$),c.default.component(T.name,T),Object.defineProperty(c.default.prototype,"$nuxt",{get:function(){var t=this.$root?this.$root.$options.$nuxt:null;return t||"undefined"==typeof window?t:window.$nuxt},configurable:!0}),c.default.use(l.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var ht={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function mt(t){return bt.apply(this,arguments)}function bt(){return bt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,o,l,f,d,path,h,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));l[t="$"+t]=e,l.context[t]||(l.context[t]=e);var n="__nuxt_"+t+"_installed__";c.default[n]||(c.default[n]=!0,c.default.use((function(){Object.prototype.hasOwnProperty.call(c.default.prototype,t)||Object.defineProperty(c.default.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},null,t.next=5,k(0,n);case 5:return o=t.sent,l=pt({head:{title:"PHS Data Science - Knowledge Base",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:""}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"}],script:[{src:"https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"}],style:[]},router:o,nuxt:{defaultTransition:ht,transitions:[ht],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},ht,{name:t}):Object.assign({},ht,t):ht})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,l.context._errored=Boolean(t),t=t?Object(x.p)(t):null;var n=l.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},z),f=e?e.next:function(t){return l.router.push(t)},e?d=o.resolve(e.url).route:(path=Object(x.f)(o.options.base,o.options.mode),d=o.resolve(path).route),t.next=11,Object(x.t)(l,{route:d,next:f,error:l.nuxt.error.bind(l),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,beforeSerializeFns:e?e.beforeSerializeFns:void 0,ssrContext:e});case 11:h("config",n),l.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l.previewData=Object.assign({},t),h("preview",t)},t.next=16;break;case 16:t.next=19;break;case 19:if("function"!=typeof it){t.next=22;break}return t.next=22,it(l.context,h);case 22:t.next=25;break;case 25:if("function"!=typeof lt){t.next=28;break}return t.next=28,lt(l.context,h);case 28:return l.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=31,new Promise((function(t,e){if(!o.resolve(l.context.route.fullPath).route.matched.length)return t();o.replace(l.context.route.fullPath,t,(function(n){if(!n._isRouter)return e(n);if(2!==n.type)return t();var c=o.afterEach(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,Object(x.j)(n);case 3:l.context.route=e.sent,l.context.params=n.params||{},l.context.query=n.query||{},c(),t();case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}))}));case 31:return t.abrupt("return",{app:l,router:o});case 32:case"end":return t.stop()}}),t)}))),bt.apply(this,arguments)}},7:function(t,e,n){"use strict";n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return w})),n.d(e,"l",(function(){return _})),n.d(e,"e",(function(){return O})),n.d(e,"b",(function(){return j})),n.d(e,"s",(function(){return k})),n.d(e,"g",(function(){return $})),n.d(e,"h",(function(){return C})),n.d(e,"d",(function(){return S})),n.d(e,"r",(function(){return P})),n.d(e,"j",(function(){return E})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return D})),n.d(e,"q",(function(){return N})),n.d(e,"f",(function(){return L})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return M})),n.d(e,"p",(function(){return U})),n.d(e,"a",(function(){return Q})),n.d(e,"v",(function(){return V})),n.d(e,"n",(function(){return W})),n.d(e,"u",(function(){return X}));n(2),n(47),n(4),n(5);var r=n(13),o=n(22),c=n(0),l=n(23),f=(n(61),n(1),n(195),n(12),n(14),n(8),n(3),n(34),n(35),n(9),n(10),n(97),n(96),n(54),n(32),n(33),n(200),n(77),n(51),n(6)),d=n(39);function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function m(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:[],r=v(t.$children||[]);try{for(r.s();!(e=r.n()).done;){var o=e.value;o.$fetch&&n.push(o),o.$children&&O(o,n)}}catch(t){r.e(t)}finally{r.f()}return n}function j(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function k(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=f.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function $(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function C(t){return $(t,arguments.length>1&&void 0!==arguments[1]&&arguments[1],"instances")}function S(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function P(t,e){return Promise.all(S(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){var l,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=11;break}return t.prev=1,t.next=4,n();case 4:n=t.sent,t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(1),t.t0&&"ChunkLoadError"===t.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(l=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e4=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){f=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(f)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},canPrefetch:function(){var t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents:function(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((function(t){return t.components.default})).filter((function(t){return"function"==typeof t&&!t.options&&!t.__prefetched}))},prefetchLink:function(){if(this.canPrefetch()){d.unobserve(this.$el);var t,e=o(this.getPrefetchComponents());try{for(e.s();!(t=e.n()).done;){var n=t.value,r=n();r instanceof Promise&&r.catch((function(){})),n.__prefetched=!0}}catch(t){e.e(t)}finally{e.f()}}}}}}},[[178,14,3,15]]]); \ No newline at end of file diff --git a/docs/_nuxt/720e28c.js b/docs/_nuxt/e2da3ef.js similarity index 99% rename from docs/_nuxt/720e28c.js rename to docs/_nuxt/e2da3ef.js index 2d759f8..71b4b34 100644 --- a/docs/_nuxt/720e28c.js +++ b/docs/_nuxt/e2da3ef.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{279:function(t,e,n){t.exports=n.p+"img/teams-logo.8d29ad1.png"},309:function(t,e,n){var content=n(447);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("f68e9f22",content,!0,{sourceMap:!1})},445:function(t,e,n){t.exports=n.p+"img/slack-logo.cd0c789.png"},446:function(t,e,n){"use strict";n(309)},447:function(t,e,n){var o=n(59)((function(i){return i[1]}));o.push([t.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.icon{margin:5px;max-width:20px}.social-link{margin-top:10px}.list-section{margin-bottom:15px}",""]),o.locals={},t.exports=o},460:function(t,e,n){"use strict";n.r(e);var o={},l=(n(446),n(50)),component=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{md:"7"}},[e("b-card-body",[e("h3",[t._v("Hey, it's time to get sociable!")]),t._v(" "),e("b-card-text",[t._v("\n Below you will find a curated assortment of Data Science content and links for social and support channels.\n ")])],1)],1)],1)],1)],1),t._v(" "),e("b-row",[e("b-col",{attrs:{xs:"12",md:"8"}},[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Announcements")]),e("eva-icon",{attrs:{name:"alert-circle-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("h6",[t._v("Data Science Strategy")]),t._v(" "),e("div",{staticClass:"d-flex"},[e("p",[t._v("Work is currently underway around the organisation's Data Science strategy. This work involves key areas around Training/Development, IT/Infrastructure, Tools/Techniques/Methodologies, and Communications/Engagement. If you have any queries or comments, please contact the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - DSRG"}},[t._v("Data Science Team")]),t._v(".")])])])],1),t._v(" "),e("b-col",{attrs:{xs:"12",md:"4"}},[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Social Links")]),e("eva-icon",{attrs:{name:"people-outline",fill:"#bd27b9"}})],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3ae9f55a12b7d94ef49877ff455a07f035%40thread.tacv2/conversations?groupId=ec4250f9-b70a-4f32-9372-a232ccb4f713&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("PHS R User Group")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3ade52fa8e8e3847e0bee59ad4322fbb04%40thread.tacv2/conversations?groupId=1d322b44-bb66-4789-bb8e-1c5cffc733b7&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("PHS People Development Hub")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3aQZ7-PbFVcziG2piHLt1_ifey3I2cwFL0yBuTSS8vVao1%40thread.tacv2/conversations?groupId=106d08f3-9026-40e2-b3c7-87cd87304d58&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("KIND Learning Network")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(445),alt:"Slack logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://datasciencescotland.slack.com",target:"_blank"}},[t._v("Data Science Scotland")])],1)])],1)],1),t._v(" "),e("b-row",[e("b-col",[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Spotlight")]),e("eva-icon",{attrs:{name:"bulb-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("h6",[t._v("Package Development")]),t._v(" "),e("div",{staticClass:"d-flex"},[e("p",[t._v("PHS have an internally developed R package for common tasks related to Public Health data. Check out "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/phsmethods",target:"_blank"}},[t._v("phsmethods")]),t._v(" on GitHub or get familiar with the "),e("a",{attrs:{target:"_blank",href:"https://scotland.shinyapps.io/phs-learnr-phsmethods/"}},[t._v("online course")]),t._v(". Also, feel free to get in touch with the "),e("a",{attrs:{href:"mailto:phs.transformingpublishing@phs.scot?Subject=DSKB - phsmethods"}},[t._v("Transforming Publishing team")]),t._v(" with any questions or suggestions!")])])])],1)],1),t._v(" "),e("b-row",[e("b-col",[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("External Reading")]),e("eva-icon",{attrs:{name:"bookmark-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"book-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"https://r4ds.had.co.nz/index.html"}},[t._v("R for Data Science (R4DS)")]),t._v(" "),e("i",[t._v("Hadley Wickham & Garrett Grolemund")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"This book will teach you how to do data science with R: You’ll learn how to get your data into R, get it into the most useful structure, transform it, visualise it and model it. In this book, you will find a practicum of skills for data science."')])])],1),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"book-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"http://adv-r.had.co.nz/"}},[t._v("Advanced R")]),t._v(" "),e("i",[t._v("Hadley Wickham")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"This book is designed primarily for R users who want to improve their programming skills and understanding of the language. It should also be useful for programmers coming to R from other languages..."')])])],1),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"file-text-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"https://colinfay.me/explain-environments-eli5/"}},[t._v("Explain R environments like I’m 5")]),t._v(" "),e("i",[t._v("All Code No Brain, Collin Fay")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"A blog post explaining environments in R that assumes nothing about the readers experience."')])])],1)],1)],1)],1)],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{279:function(t,e,n){t.exports=n.p+"img/teams-logo.8d29ad1.png"},309:function(t,e,n){var content=n(447);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("f68e9f22",content,!0,{sourceMap:!1})},445:function(t,e,n){t.exports=n.p+"img/slack-logo.cd0c789.png"},446:function(t,e,n){"use strict";n(309)},447:function(t,e,n){var o=n(59)((function(i){return i[1]}));o.push([t.i,".filter-row{align-items:center;display:flex}input{flex-grow:1;min-width:120px}.icon{margin:5px;max-width:20px}.social-link{margin-top:10px}.list-section{margin-bottom:15px}",""]),o.locals={},t.exports=o},464:function(t,e,n){"use strict";n.r(e);var o={},l=(n(446),n(50)),component=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{md:"7"}},[e("b-card-body",[e("h3",[t._v("Hey, it's time to get sociable!")]),t._v(" "),e("b-card-text",[t._v("\n Below you will find a curated assortment of Data Science content and links for social and support channels.\n ")])],1)],1)],1)],1)],1),t._v(" "),e("b-row",[e("b-col",{attrs:{xs:"12",md:"8"}},[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Announcements")]),e("eva-icon",{attrs:{name:"alert-circle-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("h6",[t._v("Data Science Strategy")]),t._v(" "),e("div",{staticClass:"d-flex"},[e("p",[t._v("Work is currently underway around the organisation's Data Science strategy. This work involves key areas around Training/Development, IT/Infrastructure, Tools/Techniques/Methodologies, and Communications/Engagement. If you have any queries or comments, please contact the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - DSRG"}},[t._v("Data Science Team")]),t._v(".")])])])],1),t._v(" "),e("b-col",{attrs:{xs:"12",md:"4"}},[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Social Links")]),e("eva-icon",{attrs:{name:"people-outline",fill:"#bd27b9"}})],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3ae9f55a12b7d94ef49877ff455a07f035%40thread.tacv2/conversations?groupId=ec4250f9-b70a-4f32-9372-a232ccb4f713&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("PHS R User Group")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3ade52fa8e8e3847e0bee59ad4322fbb04%40thread.tacv2/conversations?groupId=1d322b44-bb66-4789-bb8e-1c5cffc733b7&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("PHS People Development Hub")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(279),alt:"Teams logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://teams.microsoft.com/l/team/19%3aQZ7-PbFVcziG2piHLt1_ifey3I2cwFL0yBuTSS8vVao1%40thread.tacv2/conversations?groupId=106d08f3-9026-40e2-b3c7-87cd87304d58&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a",target:"_blank"}},[t._v("KIND Learning Network")])],1),t._v(" "),e("div",{staticClass:"d-flex align-items-center social-link"},[e("img",{staticClass:"icon",attrs:{src:n(445),alt:"Slack logo"}}),e("b-link",{staticClass:"mb-0",attrs:{href:"https://datasciencescotland.slack.com",target:"_blank"}},[t._v("Data Science Scotland")])],1)])],1)],1),t._v(" "),e("b-row",[e("b-col",[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("Spotlight")]),e("eva-icon",{attrs:{name:"bulb-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("h6",[t._v("Package Development")]),t._v(" "),e("div",{staticClass:"d-flex"},[e("p",[t._v("PHS have an internally developed R package for common tasks related to Public Health data. Check out "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/phsmethods",target:"_blank"}},[t._v("phsmethods")]),t._v(" on GitHub or get familiar with the "),e("a",{attrs:{target:"_blank",href:"https://scotland.shinyapps.io/phs-learnr-phsmethods/"}},[t._v("online course")]),t._v(". Also, feel free to get in touch with the "),e("a",{attrs:{href:"mailto:phs.transformingpublishing@phs.scot?Subject=DSKB - phsmethods"}},[t._v("Transforming Publishing team")]),t._v(" with any questions or suggestions!")])])])],1)],1),t._v(" "),e("b-row",[e("b-col",[e("b-card",{staticClass:"mb-4"},[e("div",{staticClass:"d-flex justify-content-between"},[e("h4",[t._v("External Reading")]),e("eva-icon",{attrs:{name:"bookmark-outline",fill:"#bd27b9"}})],1),t._v(" "),e("br"),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"book-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"https://r4ds.had.co.nz/index.html"}},[t._v("R for Data Science (R4DS)")]),t._v(" "),e("i",[t._v("Hadley Wickham & Garrett Grolemund")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"This book will teach you how to do data science with R: You’ll learn how to get your data into R, get it into the most useful structure, transform it, visualise it and model it. In this book, you will find a practicum of skills for data science."')])])],1),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"book-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"http://adv-r.had.co.nz/"}},[t._v("Advanced R")]),t._v(" "),e("i",[t._v("Hadley Wickham")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"This book is designed primarily for R users who want to improve their programming skills and understanding of the language. It should also be useful for programmers coming to R from other languages..."')])])],1),t._v(" "),e("b-row",{staticClass:"d-flex justify-content-between list-section"},[e("b-col",{staticClass:"text-center",attrs:{cols:"1","align-self":"center"}},[e("eva-icon",{attrs:{name:"file-text-outline",fill:"#bd27b9"}})],1),t._v(" "),e("b-col",[e("a",{attrs:{target:"_blank",href:"https://colinfay.me/explain-environments-eli5/"}},[t._v("Explain R environments like I’m 5")]),t._v(" "),e("i",[t._v("All Code No Brain, Collin Fay")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v('"A blog post explaining environments in R that assumes nothing about the readers experience."')])])],1)],1)],1)],1)],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/f4c07f6.js b/docs/_nuxt/f4c07f6.js new file mode 100644 index 0000000..79a6147 --- /dev/null +++ b/docs/_nuxt/f4c07f6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{311:function(t,e,n){var content=n(456);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("6ae1df94",content,!0,{sourceMap:!1})},451:function(t,e,n){t.exports=n.p+"img/new_session_button_home.19c34d8.png"},452:function(t,e,n){t.exports=n.p+"img/start_session_popup.e9ad17c.png"},453:function(t,e,n){t.exports=n.p+"img/close_session.b598b3f.png"},454:function(t,e,n){t.exports=n.p+"img/memory_indicator.78bafe4.png"},455:function(t,e,n){"use strict";n(311)},456:function(t,e,n){var o=n(59)((function(i){return i[1]}));o.push([t.i,".breadcrumb[data-v-25612da7]{background-color:#fff}.card[data-v-25612da7]{border:none;margin-top:2rem}.card-title[data-v-25612da7]{font-size:1.7rem!important;margin-bottom:1.3rem}.card-subtitle[data-v-25612da7]{font-size:1.2rem!important;margin-bottom:1.2rem!important}.card-text[data-v-25612da7]{font-weight:400!important}.card-body[data-v-25612da7]{padding-left:8rem;padding-right:8rem;padding-top:3rem}.link[data-v-25612da7]{color:#007bff;cursor:pointer}.text-image[data-v-25612da7]{margin:auto;width:80%}",""]),o.locals={},t.exports=o},466:function(t,e,n){"use strict";n.r(e);var o={data:function(){return{tabIndex:0}},methods:{}},r=(n(455),n(50)),component=Object(r.a)(o,(function(){var t=this,e=t._self._c;return e("div",[e("b-breadcrumb",[e("b-breadcrumb-item",{on:{click:function(e){return t.$router.push("/")}}},[t._v("Home")]),t._v(" "),e("b-breadcrumb-item",{on:{click:function(e){return t.$router.push("/docs")}}},[t._v("\n Documentation\n ")]),t._v(" "),e("b-breadcrumb-item",{attrs:{active:""}},[t._v("Quick Start Guides")]),t._v(" "),e("b-breadcrumb-item",{attrs:{active:""}},[t._v("Posit Workbench")])],1),t._v(" "),e("b-row",{staticClass:"pt-4"},[e("b-col",[e("h3",[t._v("Quick Start - Posit Workbench")])])],1),t._v(" "),e("div",[e("b-tabs",{staticClass:"mt-4",attrs:{align:"center"},model:{value:t.tabIndex,callback:function(e){t.tabIndex=e},expression:"tabIndex"}},[e("b-tab",{attrs:{title:"Setup"}},[e("b-card",[e("h4",[t._v("Welcome to the Posit Workbench Quick Start Guide")]),t._v(" "),e("b-card-text",[t._v("\n This quick start guide is aimed at new Posit Workbench users, or\n those who need a refresher in how to use it. You can navigate\n between sections using the tab buttons at the top or buttons to\n progress through each section at the bottom of every page. This\n guide will take you through:\n "),e("ul",{staticClass:"mt-2"},[e("li",[t._v("Setup")]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=1}}},[t._v("Access")])]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=2}}},[t._v("Best Practice")])]),t._v(" "),e("li",[e("span",{staticClass:"link",on:{click:function(e){t.tabIndex=3}}},[t._v("Troubleshooting")])])])]),t._v(" "),e("div",{staticClass:"mt-3"},[e("h4",{staticClass:"mt-5"},[t._v("Setup")]),t._v(" "),e("b-card-text",[e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Setup user account on Posit.")]),t._v("\n You'll need an account in order to access Posit Workbench,\n this is handled via Service Now with specific guidance here:\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=How%20to%20Access%20Posit%20Workbench.md"}},[t._v("\n Access to Posit Workbench ")]),t._v(".\n "),e("em",[t._v("\n Accounts may be deactivated following inactivity, the\n guidance document includes details on what to do if this\n affects you.\n ")])],1),t._v(" "),e("li",[e("strong",[t._v("Setup network.")]),t._v("\n You need to be on the internal network to access Posit\n Workbench. This can be accessed onsite or by using the VPN.\n ")])])])],1),t._v(" "),e("div",{staticClass:"d-flex justify-content-end"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=1}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Access"}},[e("b-card",[e("h4",[t._v("Accessing Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n To start using the PHS Posit Workbench, follow the steps below:\n "),e("h5",{staticClass:"mt-3"},[t._v("Logging in")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v("\n In a support browser (Microsoft Edge or Google Chrome),\n navigate to the\n "),e("a",{attrs:{target:"_blank",href:"https://pwb.publichealthscotland.org/auth-sign-in"}},[t._v("\n PHS Posit Workbench\n ")]),t._v("\n login page.\n ")]),t._v(" "),e("li",[t._v("\n Login using your PHS LDAP credentials (the same as your laptop\n login).\n ")])]),t._v(" "),e("h5",{staticClass:"mt-5"},[t._v("Starting a session")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v('\n Open a new session by clicking the "+ New Session button" at\n the top left of the Posit Workbench home screen.\n ')]),t._v(" "),e("img",{staticClass:"text-image my-4 d-flex justify-content-center",attrs:{src:n(451),alt:"New session button home"}}),t._v(" "),e("li",[t._v("\n Enter details for the session, including the IDE (e.g. RStudio\n or VS Code). Pay particular attention to the memory and CPU\n for your session. The default (1 CPU and 4096MB) will usually\n be enough but a smaller session can also be appropriate for\n some tasks. For more guidance on session size see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Workbench%20and%20Kubernetes.md"}},[t._v("Posit Workbench and Kubernetes")]),t._v(".\n ")],1),t._v(" "),e("li",[t._v('\n Click "Start session" and wait for session to be ready. Larger\n sessions will take longer to allocate resources on the\n infrastructure but any session should be available within\n minutes of clicking "Start Session".\n ')]),t._v(" "),e("img",{staticClass:"text-image my-4 d-flex justify-content-center",attrs:{src:n(452),alt:"Start session popup"}})]),t._v(" "),e("h5",{staticClass:"mt-5"},[t._v("Starting to work")]),t._v(" "),e("ol",{staticClass:"mt-2"},[e("li",[t._v("\n If 'Join session when ready' was selected from the 'New\n session' diaglog box, the session should automatically start\n and show the selected IDE (e.g. RStudio). Otherwise, select\n the created session from the list on the Posit Workbench\n homescreen.\n ")]),t._v(" "),e("li",[t._v("\n In RStudio, you are then asked to confirm you have read and\n agree to the\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Acceptable%20Usage%20Policy%20for%20Posit%20Workbench.md"}},[t._v("Acceptable Use Policy")]),t._v("\n in the R console with an alternating prompt keyword.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=0}}},[t._v("Prev Page")]),t._v(" "),e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=2}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Best Practice"}},[e("b-card",[e("h4",[t._v("Using Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n To be able to make the most efficient and robust use of Posit\n Workbench for any task, it is important to follow best practice.\n This includes:\n "),e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Only request as much memory and as many CPUs you need for\n your work")]),t._v(", not the max you have access to. This will maximise the\n performance and minimise the costs. For more guidance on\n memory see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Workbench%20and%20Kubernetes.md"}},[t._v("Posit Workbench and Kubernetes")]),t._v(".\n ")],1),t._v(" "),e("li",[e("strong",[t._v("Close your session(s)")]),t._v(" when finished working\n on that project or are going to be taking a longer than 10\n minute break, by clicking\n "),e("img",{attrs:{src:n(453),alt:"Close session button"}}),t._v(". All open sessions will automatically close at 8pm, unless\n they are marked “NIGHT”. For more guidance see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Overnight%20Sessions.md"}},[t._v("Overnight Sessions")]),t._v(".\n ")],1),t._v(" "),e("li",[e("strong",[t._v("If working in a large project stored on stats, use a\n 'project opener session'.")]),t._v("\n This utilises a small session which has minimal impact on the\n infrastructure to then launch the larger session. For more\n guidance see\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md#how-do-i-open-or-switch-to-another-project"}},[t._v("Project Opener Sessions")]),t._v("\n in the FAQs section.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=1}}},[t._v("Prev Page")]),t._v(" "),e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=3}}},[t._v("Next Page")])],1)],1)],1),t._v(" "),e("b-tab",{attrs:{title:"Troubleshooting"}},[e("b-card",[e("h4",[t._v("Getting Help with Posit Workbench")]),t._v(" "),e("b-card-text",[t._v("\n It's a normal part of the process to debug and troubleshoot\n issues. However, sometimes it can make it more difficult when\n you're not sure if it's the infrastructure. Here are some common\n concerns and links to help you resolve them:\n "),e("ul",{staticClass:"mt-2"},[e("li",[e("strong",[t._v("Sessions closing?")]),t._v(" Check that you have enough\n memory in your session for the work you're trying to do.\n Memory usage can be seen here\n "),e("img",{attrs:{src:n(454),alt:"Memory usage indicator"}}),t._v(". If you need more memory, request it from the Data Science\n Team by following the guidance\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("here")])],1),t._v(" "),e("li",[e("strong",[t._v("Package installation issues?")]),t._v(" There are\n various packages, especially for geospatial work, that require\n a different installation process. See the\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md#installing-packages"}},[t._v("Installing Packages")]),t._v("\n FAQ section.\n ")],1),t._v(" "),e("li",[e("strong",[t._v("Other issues?")]),t._v(" There's extensive\n "),e("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("Posit Support")]),t._v("\n guidance here, including troubleshooting steps, a link to the\n "),e("a",{attrs:{target:"_blank",href:"https://teams.microsoft.com/l/team/19%3Ae9f55a12b7d94ef49877ff455a07f035%40thread.tacv2/conversations?groupId=ec4250f9-b70a-4f32-9372-a232ccb4f713&tenantId=10efe0bd-a030-4bca-809c-b5e6745e499a"}},[t._v("\n PHS Data and Intelligence Forum")]),t._v("\n for community support, and details on how to raise specific\n issues.\n ")],1)])]),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(e){t.tabIndex=2}}},[t._v("Prev Page")])],1)],1)],1)],1)],1)],1)}),[],!1,null,"25612da7",null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/19bc231.js b/docs/_nuxt/fb9543a.js similarity index 92% rename from docs/_nuxt/19bc231.js rename to docs/_nuxt/fb9543a.js index ac8d834..802b592 100644 --- a/docs/_nuxt/19bc231.js +++ b/docs/_nuxt/fb9543a.js @@ -1 +1 @@ -!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];iPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1%F9IK~zXfjaJ!m z6IT#Dcbm~j)@sW(7_h@;3`HO*ijbG&Eme8R7vux-8TqGt1yxxqm0~F%CfI@4U@S`- zjb^!%b4Nl*c){%&OEbE+Pj}zbr$>DE{SP@#X`=YgPMKaVx%PUjYt zEI~UN;C$4@#i&zUYtaE#hCQ^>2ql|B<)?!_F;i_Vs#%P-jj$wQ%=;E~FGop@eowhG zN`d`Y;=fqol_+6Pl@KWnJ6dw29Sdp*xSaHHMTEFevsjoD@I48w1f=IdNR2EW!e%M5 z4CoCkw)b;98yIYwD)zO<8cpgyV`}}=J3o%UPfW8+%V~&Px{vE^V6mYPFg;@=lxI-h zxQFtsuaS3NK@9uF^MC<00-y?}&h-1a#!xEc;xO=`GgUml#bgAyu_(}N7c&_pjp!eS-jO7&`WEGw;m&Ucpurp8;3I9F*cha-Q7a;=st2f_pjcC zo<9SrCE9g~6*)w}z@|@j0_ro%1Z+w=7W87>9y&|JLO~wz$=HjIU z7B&XSi$B*iqhy>-Jf;jQ$^}vR@@L81sso~qPY$|ZQ`t|D0f z0*Y%~hQlYnAZ1GpqXd7yws@FUIOhDBX)`lV9mncyk#!37XU!B#ElnK_n8^yfwVOpo z(v{gcaOy;&*v#cqOM`(-@kY#p$Q)AqqUC4-sCz%rXCMom&n zDH!Op>35zZ+b6l0xg%H}N4(!by!{yQj^T{I?<0U&oIMwC&z<0z^1NXK-L~L z#E*SlaSByqR%dO9b6$caz8}@tIVH-P;X9HOF6sySkZnPY*yHhUMH*Yy$F2^FiXCSs zzL>c)cC*lFXPuK`-VO`#E^$;j+NWF*3WbjJuq*t6rS26a`-qsF2>Q-kfh2X<@KOxI z-3#ubfE7)jkx(fw_x+>JXeWm>Hs{DiACZN9_Gyn-*Ni?xihGgWDFFfCe+gZI2bSEP QvH$=807*qoM6N<$g2?x@ZU6uP literal 0 HcmV?d00001 diff --git a/docs/_nuxt/img/memory_indicator.78bafe4.png b/docs/_nuxt/img/memory_indicator.78bafe4.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5f29aee4fc8cc8fe7a27bf5e8aeb6f0f7fef0f GIT binary patch literal 2490 zcmV;r2}SmaP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2~SBxK~!i%?U`v% zTh|rG|9VdwLIT7hcCbP01cMF61}8Rz7-Qlswqv(-;+baB$#|wSnNB;?Z=LpATYuA`l~Bm?v`hmb)XC*CC=_x?>081C zJ?%vi4KkiT0-sD(h!PoTDJUx`Le=XFQCwPxi1c`bCPX1TE)t3mg{Nnb>B6|24$2{c zg)G5v39&I)SzUn*E0IXMm3mg*-J1iZmUxSxHc9!#r07nGOu^<^v8_ zu`$tDzp@$&<`p2G45JQJK`DeQsT6J+gJ&6VQVF;)Il{7&pw&fst_%_=lERXOeEz(J z7#*|0SCObxDzRy8EsFB9pOMHs&*OS;H+DB&^t6m4^pM%y7;Wo;#W*_N=mVuD9Bbd* zh~*3Op=1G5&o%t+kDuc9BTomBV*Kh4n@|u=9VXy*Sa5LfXV_Wafz-kUSYK0tqFGT; z%2{wWGg{6Z!`}{HK)=!Exnd$LX6xUFMfDL7_IQ#K$@n?$_sabj0^5JHrM}<5|0%pSizCExHN6+7ZiJN+k z#Y)|C>=Tw&ennX^3UV@^F@`UM*KmhO5uU7rTqz%K^noD1uU$HiFZVWMz|Mn}3bm2v z$0u~*_}5?KAA1fy`Rv?ZkL%r|aB^lChX$#S7I_)j(6Pg~*mxRy4xT_$w-tGBtiX?# z6(LeN^(#v#bhAY+let7gRJ5?NLML6tw5MQ7mM^U za9Jsmc-m;m!C|w)Y_`DmlqXTxz(98gjvlYW&VTO4=erufX(FJB)cBnTzXlNoD4$;> zDl2ceTy8jp?HA9vlwpw+u0>6D0cvszP@>l(IX?E4)H;kT1y$9H5pHh5;Zsd8+k{DR z!aOpJM}`qt>>NEG2UDLB=21EpX421AD(`Y(xUZiaEe*BvG~@}?C{g3J3_apQ?C9(= zfzs|cicq|^r~)6nzY2>fmrg>$!^LrMP_A{1nqV5srj7omb0_TE)dz#Y_l)p7hrWR}^q7JC$~TcpVM`eugPg1c*n3)V!Q^<#LnIW= zrBsVaA@#I~&|GOEV=#QQZlXuEL}t=&di6u$58*C5((4dk+CZuf*MEw@nL za2|KtJ2CcP5DRrwo6OQfr`Cu?<6|PiG!%EekMVp+k(@aftIKmS*4>1YEnTpC$(0g% zhLqeQY*=0j+0ZQir-HAizT49kz;tdi-SqbX#5a@gVxI6u zezqP_kyBIBxn9=)E~JDK64Nn1BN>+VD>!m*gruqGHxCj z-rKSnabxY+zGFYGb`1Ir7f;|_=xDx+4x=5h`eMA5pM;@~yBIW%3Hdqzc-So_+_~P2 zFFxIdUvE1AJ}w94X?m!=EZC>mI@WVCOxVi>wmRBK87d6Qf zoRlPc9}U1xp7b(crKH{p@~IXW#L;7yseYO;E+a>BUMaTx>?bIaKg5@Nj-a`7G$7A- z8os{;hZ;Kpbqr!67+k#Bg(2%S7Zu%;l~J;H456Q-e4I=Hf1668oc85Kf`?pcxTEiZd_<~2qfvWW{4-)Q zWAC9lG~H~ShC$@egek%BPFP4*J11NwVHD7)<>2gg*eDE6T5yyRfVk+NqOaRJ}E6j?CdR1JVw|)SyDD1)l166O+|lL#;hcX z&*AjBD>Sy<(;CDV;$D_KBor>HwEZC{tuq&|VgJ#3Jm~2qxjQ*r2nH3B_XElqyAFIq z#<(0b#x#*ETeq24szL(}DT1d&lhn=4OhamNBEr>b$Yd-T$cf<*6Yh8Q;7-Rq3{j2p zvhv3N3u4Hs{lSO4Q2b37A+`$tg{XyiNrj(-bHY4o0Y~2EEA$1K8Zl%&@1~zH>4GF4 zFbq?jF-RU^B%@Fm3mW5vpgJUQ85rc%^L*|Rdy{ssI2007*qoM6N<$ Ef___al?zH2MxzOCfJp3bh0HY`@0lT4DSl$-y-8bx}=5Gm6cILEg#|o*1L1MY_r>g}r zX?HS2Ip2^aU?T*LL_%7QcAcNH-h||GXKhfW<0xhRTi!e^EG%eU_%l&HQvL5x-04U9 zM5Mxly8pi>&IM0-|Hdm7i}wGoct1d&$WEjD|J@t_$btX1FKCN?EVstLyi_oabMZy8 zWvDRpnB%0DiF1Ln@4?c`%E_63{3ai;~>tp9fEKtsD+5lxKp*p>~D}_8o za$Wi>iL3()B!yB&b-YNK*6hD+coK>V5C7tEdVB`l>jqdl%`E*a+}p&)Gx@K|4)Ar=%!G4jnHqW&(ef5?Bd zE)WPm-S}ExK9`f)_W8SUuJvJ5otH(0^dEtgf5n=y2^V?k;k>+~4GgUDsDaVkmdtf@ z<5ozdlxgkwuWYMqmu+{2oD_l61!j;0TearqA0pnZ@5+^hI_jt^wX%5$J#J4G#g5`U zJ1`c~l@@`H)Ph11v$K&c(~I6GV^x^_Q^LQpxA!<f^T+_!|ZfiGvdqzPGatWg@>E`Ce$5C24*8Yp1Bn;+0o`(^S=%D}%fS-LlA zL-)Ex6kc9(WjU8ax@W*|ihqL*8s@8rk=;`Ep>7Ex+zC{8Y)UOpfc54(|FOecbYo}B7_Sx9ETQ_XgQ()Y#e~y6j*!8@ez9Lz&L;{setNnjXHY?p?;FTld zMh6u?I1E@lCMfv`qr$tOMo(&Vl!uwx$xYaR@=qZl^8(~o4E%ba>!YVE(0S+>Q-+J34S8oA9^!<{>`N#v;P)2i_DRy z#a`?0FRVi#7bb7|ugSU1SHG!mG`qrBpdKc}{gkwEQd=X5r-u1<5d9}X=kIGXO2Vt3 zITQqmRw(L9fRKq8Kfce9%aI1dC(iwF=_uWPftMw=y3urfGc>P=E5681<^hG?Z-u7W+-U4Q}e?2D-(8NIGNjH_~%ue;M8eHj$ z4jUd~jn>D9S2}T&2X3u?PRidAi@C>l^JDOGyP5>PKM9JBdiiOm8kDtHXhEGHH@La0 z-vYTpuG?8}h?Zb=(_XzSBO;!EO<11wf)2h>N4BH8UlD-?{~hf$xFW~#;%CduR-T*> zN(u97VBIAb%8LzFt!AK0v6b3jgw`V`-ILwWI7ORZUG0SAfFDC<%n47_yC<#c&ZB;m za|U1Z7qHnio($F}KVj|YyE+y#NN=ySpy-Q{JJvorz{(Z!bLpgdrU*1|{ICzUYm$4{ z;$iyYbwNdTxaa#-fk@wDWAa0;qBq+v zN7|QZWW0CNJXH}@;!qC6?PJRu7)hzmh6k9H{HM1#mo@?y8`bFN{^b~+p5l{Fnputc z+kc>`Ej}=VVDnfb_1}hi@}dB=3#mr-v-D(-k}QrVKi@3P*9QE%etNJu-UXQ*ROvC< z{_StlM$yTl{~D+0dQ6cv1w2!57jSTjsEYxnPC-U1*{RD$;V3Vj<>6mB4@8D@SS+9cO8AqO zlt3^%hts8tpHWj1A7st)Z|}*cJEy;MORW{Z<0~_T{4nk=_d}a>uAhu54A~>@2G&Mz ztFul1?#E~orAJlRFvz^w&sSolI6ID`zqzlD5qZ=%m`P#ris+rDc-*7g^Kt5mG$6!Tdh$(poS#pf@e$&D`3 zsaAK1<^n=%?3OVuXLi#oYig(qBzS_+4<$n*ZZsZJBy?yV><66N$voo}F-SEW{7cgk zdSk~P?CDgBfh_R;^b7)r4M)9LzGPn}hszFqrUSO0A0Nar9^1txTIbB;FQcn>Lt5lQ z!#S9g?20puV1gs@Wzs+0*^))Hb5y+8lgc%cQ8bkZKB|=@cu2aK3{6T|AD{icEQ%?l zl$oxiID(aZ<7%o^+$hCifq3ueAM;0V*71Z)QH~)na6rh)MfDQEzZ&ZBc`lGu4ZK-> zFSJ}Pv{GN`Wq1Ztuz0OxfVkCR1*yf>dDqpg0L7e2OITq)Hu>}yywXFWiLh4Hty?1x zi(}w3X64SSl+@)j5!v~aUN!s9l%!c@R*x0N#3%0OOmMLdr!?Jv zWB65xgMog6^Nwn1ix>^CJY0HBj^U@NnC%*1v_=fx-d;27wU*)+d8ITRh%~RjZ(TbY z=!7F<&spcSIGJGe&Bvr7AU0~s+ONmFcn~}iCX$#a7T&9Hg?U70Fq-?B6*Worn2DF| z9oEtoS2ngdD$$$ltEa~8}w8$fiLj=7S#wn z2j&^)jG71fI8e{3r}aVzxbF32#mIIeh9{=jw+23bqW}`QpB}I!Wv>y?l8@-15Z+LM zY#?M*GLI7~9ZV_0S|ig-q@%~!x0U*TN45!lV0@iGP5nLko~G#H1|KeLi!R4Pj;z?P z4T?H>6OwMepWnE2FRsSxy6R1zgnjspeP*(h2Ln4}8=hU4$aZyS# zzDn%ma)r^g9GSIBMn2;hXQhE}Z_AhLKP(=f-4`s;1(~0N9l(r)cF(h`{^9&HUcLC&~3{&S^mi zrOqH?(YiTVCfjdl1I&b2tFHxD`v0p74i|(cf7c!`qIv3;B}oFed9Sj24nSkU-zQ0^&MtKsXq7fs58b}2pJ3F zM6hBf?`wAota08>5H7I=7-y32FAP=NvCi=>0NGcs=hLBwHZd{zR3oZF{Terw45UAA zO*;RPLdNdb4KGhQabs_)`McbYi!NoUJMY@lh+QFGpF4S^{D$m%tG6sLT@=f6Lo6#Z zF{2DI#r5YASem_ICYuVq$-FgvuoN}64!dbqDFPib3@`L9Q%HjHN=V7T4_N>VwB*7} zz;7|*X!l-=dRBp+xJ3?WSG$S8@sBknlDeW=2?{+2Y8jDXG`l|Zsh<5?zd=0%)6Wjo z6Pa|$CF@Bw&X(+1t~O2*?3J=Xr8K;l@#0}U@ZJJW4$U^%1Vg+HA%zinHApwT{kq3m z3e0+ut92x^ssdwJqlC(Ra#|U^ExvN8{zK8h#$f$@6=vh35XPw6-1Qve`-Ma$h7tJ< zM;Ad{MZm&}9iAP$kSD=#UpC)(3xp<2Vd#qhLkMOdCW9?Q?CI;%(?AY*V<*cuW8@!8 z3=!=WACPo7c+ioTT4klKqVJ-ytlq_N34}Vf<^iwdZ$#YZJGX$`TO?uuY*y}5SVP+q z;AtYAU*ER4tta9Q#~Zxu<^Tv+N0JN@o%!}OA!~u&Jm}$OTMv@sT8|K@{pzE=0u3#% zO)DKsj-&JHb8mjmdkC_|lUX{D8|XQ0dTnVc8k;J@z@r`qv>8xoB~Jgkg`u8oQeef! zyNwX-ow~7IWCBF9C_R!z87M#)YA*_2LYq8xb3a3VA5H^3cIWM+uQwLm*Y<{!NQ(}V z>n_0FW-aFiaHk!JF|TM zaf;}Ww^(uG&TutefxMKQIo}AYrY%pGok38%a~gTW{sV3cmdm8(Equ5uaIpCAH_g@h z^A~zDa97i=9^#`8Y#1Sc>!XAgSw2>p5bHHs4X(elWf6%#T z(W%ZtIr3)#&wDVKSZvEeL(cMfZTOB9lT(TaaWLFD(HP3TJX%)2NnLxPmJX+4!_DPZ zU5OCiU>}=LRZEr5x8POw8dMt$f|p{Rq@s!g%{gP!@8XNO6uJU{j(DxYGx*-4Wpf%~ zKo1ICzP3ND&gjr8UPPog)8UKjo{7aqF9fak_sydgtvWs73}T*psL-7IU(`0&Vy|oa z;{XW&e^=GQIFQ5b^7YIqgN`j<@i$F_L+8Ly6dV4~#5j$TY0ejhGJ}3TQ;`>y$r}MR%MCU#g~zE8gcAElx+Cz;nkee<)ENm#e4ko{ifvod^OCOS6l?u}lA#s4N zqd$XxkFML7a}yMkFEjuKBi~CRCq5occv0_X7U35PoOES>u-zK-$Bh+wju1ehjffjI z?yU!05X5=|IHp|_`jFk#N1;H>=k6!~Stn3xTFX!EWa{U<+YJYkngX4<706CxN^Wid zu(JAMN1rWX!MERsi>xKxnmrk4=fvZad|@1r)h&3nmwu39$+bUbulB=xRN`7WJJiWO%6jS)Rw;d2slUzq>3*pn-5HXSy#o!!*spWOpY_!kPa7 zPQrZ+Rs0|;Rh<`r*VyrUr{Dm0js*3#s?5{^RDCwTRGr4lxkL?R-=-h~;Vh#x&#aVo+z2bAA*QW<4XUl;! zQi3wsZYL?8e^Vk<`Wn&OAY~Ijg3%5Yvb8#Kt;5P8lx`n74lZj5%H1U6G?XBvY7eL>1W{?sOK*c@w-WL9fW2^yDWsp2^)-A!O}^hl}(3ru)6&A7Cc`EG-MEu)14# zD|T(}2V@JoP;!@Z6wRvFUzexuI9W=RUzMU>gVUy&EC#1p_%f=^_kTkX=b!rzhwAoU{UrC--FnYR z6X}5!$NGpJ#Y9S7BJtyTbLZVDr!$R8KL$922;K}R`O?BI0d#bTY}nZR5MF5s$<|NG zRUBs6woV$f3+`20v8t2%n-}-kq!y3pS7H3|l2hhgYH&eZu1h>L3-obN!{=y&V$5NN zxfhrZaas9KuYGd^sjNoskoqH)&r3B-Y4_@?mjG&MwH#Uj=Rz&6&13a))Nwm>*4@#? zV_xUrW3kHPGpYA52s}MbY5R4BAPU-PB++L@gSJEAI2`Ro?ad>AQfM+vZr1I6o3^q0 z=1XoNoMDyQecO_L;(cRnec${z8cQ34nx$+;X1}|B1*obX5KVQPME;_=bEmd?C0}Bu5)0QVf2q=}oqP~w>#9<*w|*6KRKdKH36%Mk3Oj$wYG_ob-yv27 z8%k_?5Q(*eS2k5LORQ6$+>u(e6@*hVR%yL>_!a4H&`F=tg+WQyYFLq>K-@M5I69D` zWo7j(m$P@E8;wXWqITPwb$>`fL`l={LgN6_*NNL23K_z%PLe~xh8AKuRIIzQCqWRQ z!_~?cGdW-?CJv$~P)TXkpL$^NC{!R>9)N?R?s_Pw+UG;l??W>|8S1KHlmw$z#_&~u zBJg8nr=9N=M_iZyj-1_!4j3AG!#(aE_CdjzJFHkK@$GgI8wpTz28yeTmCyDiO&p9s z@vKL_A=iJ{Os48H;CN~Xp0cbx>`2xz^=4sFBvvf(_GGx5&E>o*x@!};5LNST^uNH+ z+bT~N=KkYlf>p=;9G3TFIre13`qeF|gx>Je)~hk#K=Xy}#7bLC$b;iM$xKU&hpq8R2>>8M`yHcnuwj7^_X#T7i{K3_JY zKK`Kns`!0onFa6|A058Fk(pIBn6u)nKXP%D*K@N8kbfxbRAvT%%0Ow1Hp?f9&$qV6 zdAaXQaqS}6PJU1@=^(;wkq?_cwNKpN$H!EQ`0z#K^W$_gHx`*EaG)QJ>N!OBo$g>7 zdK#0T`P?I}gP)^(LBrU|u3RbvaDXV%y?$tRVcU(HAyYYoH?`VNx38%8Vh8tab@EA& z#y!!**pNs{4Q~Fh=JL~DimwsZ0izCrZ`gWGODO(sjT#UPW;<1nhy6Y>H7qHiD zb>H52dMnEnp)svT(*^3Di$Rss2#L~FXwT8kO~>-bQw8Op$LllPpSVntrhd(AJr}(oZR)rlwS1KjgNv)$mcI z!LsddQn%C0HTn2~I$sE6q zJR)wEx!LTeIRvM!j7fdYMO$x=N6+#6&D@uETav9qk}tbcFi=RZDf0&+jjwCEQ9K{H zl1{^bnA|&NJ^bKD03wyA4nQ2uR*@Rb(x$fab2%^2^ZbhkJdRVrJh5;3-_@Ja zsQ290o*pO_$UK9=H-hv+c-6yYq!eAg1ljcl6-yq!ZK%fk5j}mbRBwwpHy(<;KRb>G zGYjrNZ>jUAQq@}b;>N<`iTYVnBd_^np!+|>Gspq=PTo?#2EwyjzbsxNwmhZqn|+>W zXOHMJampe#0{2-;a##;|)nd7`-t1mHpZQaG?9JZsCaB(UeW{WLfy)=-;A7-TCDq8t z9$jpH-MyyzG#uRC<@rNIe-H#AA-qXmdp+W`!WV;p)u8B&AV^ojmJf-S{dZC#fix%6 z0S!}+ES_S&Vau4{)Fh{0;ggLq7mqs=_Zuxz7c6|EBa23t1IXL>{Er%)`lJ$~=31H4 zNlSM(7SHL~7vl&M%7grgU3&`KFIriH(jZSU=UdeRp4JymZhLx@wVw8moYwc7CEG+ zGguRD282|?`H8;PS1;7+3pu2ndvP zC6<=VQ>Mg{1T+sC3=fQ}v~$W;Y}cxZ6CEE+^JhGDkc>DlRHTcaizB0tvB!BhyaEi< zI?~V3Eli8sPO`Dp;XWfY5dZME7q9Nf6XM_T3ZD2@MXJV@roBRU^Lg>fN$YQd zfBS+|Dg?{BXM3YgD}50=+o#S6^VMO21axf|u5Nz^j?Xgu=kxnUhB1hWU;1e9)MM>b zRN7WeUC>-89-DX$*6&o-vO&RWscGeVJPApEK9k7Ui5+T0>Fy(AF1Gp-NjWS0(mRA- zBfQ3p)xl`Lc!=?NJBfKdA3s{r8kMZjcmU1e71RRyi4A>j1TbH`FQ=5Qv|AmSvB;b) zM>BZv*`0EEZAYz5lh2>GCu;BO5w=Ah)6R-~2kWbgrx!P|;|-sZU=DU&&#$R;hy~ii zS+f1ZS?&bb&l?<4-j-D@x~^y+HR>LodnZE2X}g54m$3KRg_5lGkoKRzG0%^^ck)lq z_WTRGb)C&#qCcz+>HRBW$a`-vf`y2G$`)v)yPrz_l>2~OR7u&*X*6C$VKFKny)B+i z!>=Zj9z1KJ)gSBOVL$J)uY*yQp5fyC#K?oa)R zQ)LN$vejNFPfc}*uJasT@>gL8W@3ww;jeC31TFt_U}x(GeAA1Mmf1hj8c(|S-Gwcu zw)*7>*FNk%7>qqwaVkZ>1dkB?qiVc;DAlot&U%?x%BaJZ?O;SARvQ?hSHgwN zy>h_5EN9-*(Min~DTu(Ws`ED&V03$;eWE=G`QdT*tGG5z-R&Sc{?ihkcy`xJYwUY; zd39*MKk36=5ZgCcLi6uI6QbmwDu%Q(&bQX1-l|z0nyaz=y9!TLYqu0RT=n=RWPxd% zhy`KUQ6455Vz7*&o3Ar&T-$c)*x7apRLop4%^Wh%oIFVsR=y;~pjq5wtCmYQK|SNm3j4 zX(XHK_ZAwt+67Kk2;n3q_ev)gGL=vE*jVB{9jWT#FA<6P147c~zX~#D1XuF2Zk4ie zBG-2`Hw0rc=nCIrv!HnY#vN!4y=ydH7VVg8To6h;QKLudx%A#_ta9SpjWN! zLKeojK5b-1PZ7oZh(;NmGoLT5f*shG6Q!Z_Qa*CO;dgdtiu|8I>mD3zdLHt$CeyQ) z0wgx^S(IQ-OeJVwF-299#ccD(mCrJ!GY5-1Rsd#>zA?U(#*?Kf)&;{AXF)3$2iv74 z2c>lHv@L+1t5sq=?s#;dfYq}&`VxNvnZvSICBf1d>doA6g^-7L%$*1!ETMxKnAC5; z648Ka-dsvQC=sFV`sOa_FKOrVq;!Dv5Yjr8|?Co%IHd2-`Y!yhaJhm(+ z!xaxa+WrDOQ0^Xq>fHa%&B3pN)lDKWCd~AR4Mxdsq7~XNB*$CpT6XraVS|Dbny9UJ zrM_z+U+Z!qT22@x1_FPz(k7qb0iZYQrVAeAfgFoA_4LSTE6YF0f@kt`12K7cYF|(O zpv}uEz(#2L(i+@?xo;EL(c*D>c&)B+B70yF)D)8_?ODQCb47XJ6=>~^VioRs95F&Z z@k8dMb)fT_nWQCS1xRUgv+Ei-5>Red%LyL~uAwEeq1@)Pw$N+r95`vCiX3Hb=-w&= zM=>au)Kts{R`XChdJU=?lFS9c8{=l^J@Xr!9*smQ(3I8=DB@J;2Rb#)#MfJJwV7fL z(KBLL21`RyG*H&y@RSHS5xXx;@_9{2q3_75M@?T7u|mK(e7b;kuL3M~HWi{cuu>%f#I8q6u3T_#7CZ0^N;g4EU6J?{F8c#0Q0b zPoHyjY}OWBN;zd8G$c+xTEi1J;j`FALZfo|VbxTW{CKYhKXp}_wUA7Gx!vO$I@%gM zO5xiEN^ufep+5>9?`tr`<6oUenx~hYAgGq&saAG!m=3?%eT3F6K(?Oo$oibh0n2#i z$+AI5uNL_8cUvkve%z=U9FEk^h);@5rjGM_+6K)<2_Ia@reN^Qk=DUF3TyU)Yj2L9 zX#oWUbRGgrCQN|yUG;l-1XI)Gp~ez*NWI=SYpK9Nnv2IAc;bbw?3oN3NeI0y;oUPC z7OAb++@rN!)xwtpu0>2un$V9oY~ZZw*Yv82X49S7+wS#)>GX=_;p)ZwNYbUSm8he| zOi!A2tFN`0y%&NpmD_7DKYy0yVGC09W zw_eWS;vdTxF=G49!U!uQly&CkJ|G_-eEpamcT9YH#y1$IPZFJVTJIL{^AQbpv6OaX z#BBa%gu=RkSim`L0`F`$i0>(-^^{Ypwtm6mfxRf72aHRfG2#qY>A3;2NUmIG=pe)} zsiKgAH60LNULzq-k*Dvj2H>Bew1zZ2ac`9(1X!O^1@K<{oUwx3`?_NuAPIQ6+Jbj} zjeBm!wq9HBM0?|q$O-7BZ_>dBY4$F16oui1{?N-z4%02rGRSz9>?kCZr2B}4zOG4W zwyW$Smxjw&$jcGYQ-S;Ye$j~Mq(Zsu6JRmky;H9zN#RIG&=fOj9PRv+2RW=mxuPn~ zF8$gP970jE{6_cUeQh$Nww=mrPA#zQTsGxZKp^~qX$156f=*|rU;tPm9tCC!UhjGi zuck-iz%@R_Rc!l`d_=iXoiGG4NNrwT{=7lYoYy5teTqpYDfbX^{ zs@Uxt6EOp)j0N8G??ylsu})(!kjHTA5 z++VZ~#BsVWj|)1SvtG!t-D|E0pODJ~o784?_L>r=F&+Hz?3j>;+K$p7N$(z3AYP#D zmceUu@F&*&A&{4;I3+W2%#yeaApAC9)$mZU<{56fSm+TnYhotlPme3hwP$S|rK559 zv4~k@DE;bApIbhS;k9cAf699I$WM?xo*0On7Nq@y2~%!dKY@~JH#RL}Ab5vdU9%B3 z*lV(H{DU3`3>4fKHVJyXeh4D|{9&^-Wvn)sSYJY!fH_Z~gRO@Fym;1lG9J8Ga21qMAR&fPzv3hw4Eo?$-oveHb5NMnc(|m;$b=Wq3A@OTE$lJh2QVm zzeaeXp2Y!wPj&z$wN{=03_aMyF6iSMH`DQ&=X>|I;sW*6LSMHIvQ#iH_Cmy;47WzNTARw#EK=r2;Lp zQ_=KIGIsw5`c8k}FIjwTDOX@*!FL0Zn^v!T`j#3J`+}nAiEJyFDkT0^^f6vzWMy)O z$>4-Et?gb_ckUK{W$G7hjs=Q^B{qP5HzHlt9+wbl)%zn}xrP4odQNCa#uFeKh+sfC z;5)X*$W&?>Q*&~jI!bg`>O_3rA$1JXuL6GS0Njt@>k%r-@X8u!NgXp)bty$ree6AS z>v@ljmMs%^CMr5Tez`xWlZ)5{{#r6+;=v)DjZ|sr%_e|Bl~`pYJ7<*C^BThTp3tb z%b886G18LFb&{wY3mt0qdKsBx(=%9$Y+YD;UJ<(`i-0Z%wc&Hw)A&;#IbPi6*cxc) zfa5jGspy0<8)64NdFs%GK8^esGxb@# zKZrux!!Z4WrzwsNfWb>^#tS+c6sRm!ZyQgokTI5|m@d5$x|4?K&0)r;ODr_)Cr5`T z+-Cj!wY5r>zmG<1Ul%KxA+M3-jd9x~{%%w->N3Y`?TN<$%fR;P7QD-7d*kl1Y>%g2 z0^;|d2^Wdu&;+&|rm?-9Ju-r~HC(YY5m_j8rxv5O=sv{+`=+pwo6jqEIa)Rg!PF7TKpd&YQbDDl?#jYFw0hT%7I*%@qa)BH1YOVR}|g zJa+DAmBsefqmF=1j4gLlw@l;B3qejK4#8uV)nd86UWfHm{qV7q=ITHqQXByUtx`v~ z+TQu8OA~}~!ptlonILU`-YFSaufoHRiv5XA0osI_LsR-NAN&-5x25FDiA*?X41ka_ zj%GHuH^=u$?JANj4+oVfdyX^SLFm!%!rFv{1Q*rX8F9dM@R!(%*m8^Kn z+a@6)Q93$=qSod?Z41JQY$RXjxVl)geM92MN-rBGA*`-*YZOlrvUf>;!jlKqUVEh#X|t9bF#cSX`vldc>s)i#Zw9|*aB zo>?+eAC%$ZL@~Jwj|a>iX|q~>D8D89VJGM9^yPT}zFQKl`Z4MuV*VUD&w{yOV*UuG zg0sZC7)0U{Iy(wYf0^~?VYdQ?Wn3`;U-_lOrC|(K^51hbpfPoxYLuviL0ERjJ@1Jn znSrQN7sF=dEE-Z%IObvE=PjevEvj5CExQKRbP}w#*5-k4zCzYoUE&1}oXH;zD?x9K zd6z3tcK8`nIinGOWB zBcsg=OTWEu&z|87*X|}`7+^)A?zkpNcB=tC!X^Ugw_8_*mTe1O-bGAr=ESicxfX-g zEjvYVnow^)uG{7diG-B1tx~;yAqig}45KmH9-0!C6G8+nuXd6Z(xQ2_sD&CQtS2mv zYQIt-a>*L5e0H_T0pz!414*cEQwp4IBNh>!l8J>de3l0(QYnIVvl-WWa;1vZag$fcg&4y#)aTL2~Y)M`>_XDz&r4vvqEJwvhgdr@DNQ?Dpu$s?mIgzcm zZTn1l?RSl+*5BL0b$0W;>s8xgAMe_z9LqJ$*o^K3 zT-q}wchyR;-Vrk=x=U*rqORWjm!5V`yJuHwTeSXIje`CKvj$b`99E&g-|3z8o>4?cHap~ zBV_EOv-K9Rg-J5%KA1l6s#AI7fw6CFM0)(GSncXPLu;JV?JA8EiCkZhL8&iub5et4 zqM{U3UO-GWk!zrk)eayk{?l{Mi@uf0M2xV#Eu>qi z`=Tz@EP}JqXzAJO#3WQ0{7L5Dt+)@zO7w;H&?3Rv6;vfXU5JkK^lSiv(=$SyysNiTB7I|oC4U8^#wM1wkXvmS? zQo`{`>D;|8-@xGP5+e%!rk-q61Q|(Au3|8XJxU`cH427VhmA3{^ACsNN#DhJ%L0`& zK_Nj^=hqnr?d;D@;c(xX9IG{wA6;!X>2KdOWPYt|KeN7CCnYuR6lzH+OZha_?gZr0 z2F`Z1Ph2_pjy9SWhYAoXj1ALrGaC*~K!lBNhCdl*UJF+C^H~+uOD1~Z=b2lI)>w0A81=bt5qEnf| z!6Tz-C4HF0!~w2OSP*$Ks>lR6RXu}Hx<{;&4;FG#0mRr2{m^?MZ*r%``GNfQ=#bs` zn{5WY%bdR+-vbr^x4&ZX2viCbQRrPM&07K#I>)e>-IwqT+gwvRD0rZd9UV1Q>JI3y z@T776oo9?6G7>T0BWnv2cKc(W&Rq*w)t#%*?H;QZ*}Gcbvc6on@?mo&SLhh6hJl-- z?ynjov2vyeNO+Wbf*$&we=yWSlfh=;9xDBCfKcS+$Gk$ z-_Crob~S;w%_Q43L&N{1uft6(gN5NFd9;Yd&|;*qPVjl43B`u43Jzk#OcC8w*^(B; zVG)NtlbWUQ!s~Cv1#wSiZGP+h&8wF`uCx~;A)=z~%?h*pJAq5yjRQOQs2z#J%_2RM zo>Wy&tHxtZ_STZlvA(H)L_bJTO&lZ{<8VbPxL8f3a2T@Tl?hYKB)z?mHO}~I|5acs zyru!fDDu$%UD5PZI)9EF^K?3kzrn|e)eTqgw$gd2T^*y|-t_fZf>;J(VsHHQ6+mk{ zC2x8nlMV><*y^^pZ(i1H&OtH9>E4b$HM{ed?f zJV<&baU|JrQCm$OAz+Kla^sPzW+3w8)Rv?Q!e@`6R}{Uo3y0=&4s~}anIw!ijF(#J zW@0p|`DSM;JjXp}enWv`qK7Oe`>D$zhgZ{}Wc$eFJKp;fbowL-2b&pSle|XX);AdH zu`?aTz+p5#$-3GZboWb*3*De$}JsE5UfYAx83)&D!E9_Flh zR5m`}z2}AV89b*8qd6o_S~#LJVcYl!vu6im6E@L|^#V$3a#;>IT1MrNFZ<{+G}@ExU;dGoE>Ff>#BWH0zfiN{dKn(wZi1q{B$R8Ani-8o4o-w=J>M zH0u3a^*A#6{Z|v|3r6l7^-^)=*a=J!YS-XSPE&2+dT-Re&Zr`6kC#g!(wM}zKOToD z5bl1g^vYs4CI>_8!I5&_#5G9XNJMJ*x;tK2ZB{15J|-om*H#KaU$24r@kfeBPGI8z zkW(*YEvG=#!`IMjCV6W?dVrB*kCuQZXXW=4`qY$YZ}Dhes9>sTnio)4%HzUjo!UGb zwZ+qH-a+$rQF?RZ=N0JXf7!iyFJ5dX>P(%wpbVOH^;L-3jal6dBv7oVI#cm!xpbGmAbG{BCb0T@G~Uja?N&oe@^hza_vBXxYzMBTchA&$0gU)my2VqntZM(_;e`#C^-2KUOBQ>&9C;pZN^t8 zr0lWfZvfDRX5Qd*HNhLv3o(pWJ=NdExRquRg3J5fk|zh_S)e^jIgN+Kt?BP}?9pOi z(xu&?@)!y~_|&M|o23)HRf1x7Y*)IPhtAS22;W2!=(%6{O*6xA2u3S`6_Tm*y$kSN zM{PP@!Mm%t5I7qK+S-8;eCji0oIx{R9!O?m^iDT~iN1QB%HB7cATb9B=7-#FhirBB zy}f??HGj@Ox%cwb;DNf3iNpWpHvj`X&kV4N^EN?ciS$X*X|sQDJTa1QUdMkg zzQ%;b`T5%CtLmM4wLu9hm&x1~nr^Tji*XqVazjHp;(kx~IOtL`b21j~JinSOPDG9E zgDMTa2o1`c*>D?{Ri2&1c~I?rt)E2v0s zhY?PV+hVc{l3OmTCkq8xTSz^?R_8{Qrh>Uq_UTTa=TrONl)|#vLt46#uUu?F^%a;I z9|O)^od1HsACa#Z(oQseWId`DxhhMZ8f6#oS0Rq`l66fJcB1Kmm>&a8- zz)X}Bbip&^!1j-}$%)X$`r49OlWLHfOy+$S8v@783Ln^#;QaHiq7V>;I)mKUn0&up z)sN>6Ojkr%WI52WZ6+9AR$@|%ys@;o<_{*MPTkzrsM7#ddVg_w}z44(6bov;n)i)rlaXgEfgXVmx; zQ8t#=YZB-e5c#5=4PM6PqUi{brutl@{inEzBbQl|_J%4Wa+tDVMw{_gObdm2%YD56 zjGtdS`6k~g7i@aBD0c1jeUU$DT(41(tvbBJWv8^!8<2-o6~U`=uR% zd}L$CT2S#6sJhz!_u->yt7IXq(Yjnessp(4)5rc1wHl}`sofJ2oIMSz`HWAZi(Um-)d@y{;VjG4iqbZtBe}_K32?AbQ2yv#PS&$H9~4h!@$^o$-Lv2 z0QXCYal4MMi><7I#S1j%gCV>iz#q1b+odOyr(TWIWso8T$b}Ca!Jt97x-?HaWf+J= zZ_pJFwJ;H?l8#8UiJ+T#cWMJ%yge2<3LDy?VF?49=(-3P&4EX|R`PI8*$R6Gnf$PI zT6%6=SFXW81F^DE81TW2;6y2M-@v7L1#nv=cb{Mv8z!=@6NbIm|L*mfD zyGCzk*Qa|pgB^A>j9-jDVY&TaVJAAPJpAzBt}gH&nrp%GK^HNstb4H@7HpD0!?nDEr%Vz(v@<{)7nC>;e0%0I-(5F^TiJhWiN1rE5YNgjC*oa1y z%xA>2J6l!Kg|&}M@uQxA86ab5<3`kh905cEHb6@P>Q44w_Au9U7XhsBwBVm_F>)lF z843(PW?$>(Cz#?3Y?~8Bb4086CP&CTx5p>=Y(5pKO}s|puSD!M2v()G<*|%x?B8;Y zWea8F=tX~?e9)opxW%>)AZG4_Ee$jKtPR9@2j$uR6(+;AyLS9>0rBpivZ4p*^$W3~ znNay_0@*;l$^3a!6yk-LMpqwkWsAp4raXnUacH%FpG5t8$(BeD!TW{0laqn(fkwMG(BSEw^~Uz-9g?1u-yN6cQR)!m1R^vN8o-%KZ6u_lw}qyed0e2W5V(wc z&u_4*(@yzLe*7N~oATWY-pPPM|GH~gPi8!nC6^Z{&!D?(Isu;ci zQgVU7FAz9W(1=Q=jPCzWF{;acTw%G{rIF!EmCdOBYIs}3_AmQ9`G4$lvDeAiBBk95 zMs-ef*W^k!!4=L}=^}i&~+j!A`Ij$~JlaheK{c(2%(;r2u(^XkK zzew5LCCVOxT|Ny$hKr7Yr{7nnNcdH6A3heJ5GiE8w*d$(O8kD`s#7FdSj5g(@)XJp z7ttjzOr%9mk0NViI-0~eKe+ZHVzMLCDj!X1>}!g}y)q5(m(StS>mOI_@0R6%|1I!H zB0%@}BiuS#PJOe%=@|%@lA8J-?z-;(Y{uy8f&!-`5+ZzCU_C;Gq({VvfJXZ!Xn|df zgi2|NqgpZbmCSCsOQCe?$5rp$%&k+O-woNHY=_7H+v%q|Ri($jHE%!tixU{$yJDfq zI%8@2`H9z8%P*CjxlA)W*tKP`fw_5a<6Oh#7tUS}aX!vVZeOE5o z{cVADm5)pNCqcEll4o9B*RD29{QHRIjC@A^EG^GTU*1oEst)>Z63o*0wD*8W{ZHMt zJ*QsBcwX9n^hUwN)cf~R=db-|&NF3GU>R_9hYfmafz97e37)9jo6or|TY(#pXKv4J z{hF;m^O(z-=MNf;3=V*{yoVG+a?&qigf{p8$@NfAeI!5O%wA! a{@%O4d%p677XeSTVDNPHb6Mw<&;$TkG;o0c literal 0 HcmV?d00001 diff --git a/docs/_nuxt/img/start_session_popup.e9ad17c.png b/docs/_nuxt/img/start_session_popup.e9ad17c.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee729f00eb507881d18005e4697c54210c237ab GIT binary patch literal 35144 zcmb@u2Q=3I|2K}5Q5ngojF4m#*(0(_$R1_yvPrg*Qi!N1vyi>F>=3faUfFx^eLr75 z-~aia`*(ilcYn|KzB{MS=j3u-*L%EP&*x)3-)|o%$ehQ&jE{kVasIBXq%sBumOlLD zz&!&$=`=C3fd64SD9cD-WVBGu!auOh#O1{?FtUTr9vGa4f8*K8YB^wF5LBbTm~}Qu z#uylHhVDv=t2*m04&k_8e7aY+%J}ix#;}`=s|+@4Qqt8e*EuZ(k&EI8o3I++hg7*dMGrUu_{$l0Hs|gs_;l&F#PjkYH!S9)#qhs>9k9i+ny=IKB z|L?z*iW}3iCqt*etTlQj&USIIxYKEQn9AcCd_vuiqEo#ERs##!b=0}7V#kBk^3tKK zT84bX&T;Rq@UaVCbI&zvEf88Ns%{ZGb}yL-kz4qrp_`rmq({2$Xtg^{YrN5Gy_t{n zCmdBxEmb8h35!NX9=yHU^Ki50T&kR^XDHjlDFZgkw2>@>>V<*<>s+{44<~@!* z?k=>^D>**e_t2!!Z1FyQ)^fPi1+MsIDrR(WIX<$seyKXvjiGGR#;?y^GR%M6m6I6l z`a4BE{W4VvdDTmdjaILt&i*_L5~|CAYN_gd>4n3OZ$0VG^Ew!(QID4;CNyDDPs@5b z->nrT_>}e8(qMb?F~2HKAK|OBu^3z;$xnOuqZ!I(7Mb z77cbd|H!UX4V##i+MLgxt7EmEabG8--9)7>~$(`cccz%y=E-d)gz3pWi5x1=kPi@uskPjag{W;3B zGAoYywF|AI$h2{l2}L&Ew`PjJJOgX_FRk&PB&DqmIS#GP1o^U`7oW^`r*Dl1iMeK3 zbftWnY>g2UG}UYJU35O$olbY#Uh?$%TlpgNF0EsGW<|-3LWc3nnI}@+JLVIPAxn<$EbMEc@0I^}*^{ z`r@g|-~DW8IM!C)X> ziBmqD-|vi~F?_;EJNi_J8Iw>PU#-HVfoi>`qdu-X36#aW^z+49ySI^X!XI zmV(V~CU`CJ+gE|*L5J4-PDQaH7G<9|0TL7*-;xN3yJsTQzTU=UQAr4(iIV+HXUk(f z*n98e4Fi>g`>XGz)~|ia38WHoee>nklh9Uw{PsV|DrI;duYROfE4pG`RJEU+ofagz zSI=Iyp&a*@&!Xd64Bz_K6v+?Q4BjzcF3fEaY`n~CIWrn?k7iyi+fa(oH;sE+izZYY zBkr>F=}hzXSoNd_v_hjkB&Ez@#NM5JBko4iQO}}VUrw%;HnNvAv6xb-{dRrfQE!{T zrk?hhFUD!^Ps8@9c~oo!I%)CrzcvKkBN2Zwb#ssTJDzFP7j>l!q8FoTDEgW@7CuI)C>$S;8j+OEsq0(`_ z8hP`jsaT4t&sA$4%#MZ6o*unq-o$E*u-YtC`i``p7}^KpcPrJt{Pze%m2LT zU?Sd4+-vvm)Hww1#NEwwS)UTs+w-@Zpp{W?i4^FJSiLC}Mo!8jp})Yyrb!@kW$kmy z zyHWq>YeQ%pQ=fXc9qgounWt@u-~Li+L{7c9ec|ge>FAsHk`6TT0oc?jnyQifu|bU& zi670ZOU7i0dh9vd8VG;$v!i5^or!G-TB*K?d&^PP%u_?xTKa|94ce_#?%)5z5Ibfl9}?r7TG8nD@SPEokK-JhVhS48e)g(A7N8OJN#x!bY3y)-=L6=;Ruzh^J2E( zd1#M+wk6Q3>NI)$X}%P7Y_S$8X?~+G8zLnuKhKth$jBOfN#jTiy6Sl0>(N$W#qM6m zBiR@p3EFAQxOGt(_6sez#v8L^e<-mz_rkNSePqHVzK|OPEq>em#Bv7v@NaKL#lf0C z4yWKQ4*ysPy|flzVE9GAG?9!;a>P`uWO5{wQG-T7XAbDIC_`mF-=n!`L>%fpdlTQO z${p8uwp~1CI+qPQGtDqMO~omi9#xV7gR>_9s4nHsFrFU5OIwQn0W$i(09F6}TjhGQ z?AD`aJYYKz{)haT&B9p-P&cGfv9^ctw8sAfl4|7b|j$h5}8!)s3-t1hMS+%ZVi%1t<& zx34q@H->Q( z0^VEVK3^RM;I`Odddu#9wMS@JIX<7s?~8iAw0B->mbq@G0U{M`4!Fea?jh(n^S5zA zbbT<##NURzGfg|6*=k7Z%zU0j=XJubmNY?q1ZjE|!-cP=jSJY}JnSv~g`Qgtm-a<$ z;xgCzlNU<7!vB8yd^kfgkCG1E&N(W6}6Jadjh|LNSHRTB|_AG~f`mV~06iHe1~ zWv*HuuFDHwtPSU}2;sBfwHY1+SYirqS-0@UkbZwK=Feeyu(L`{;I=U{I$!srbbqO2 zYd*7LuON_Gq(7{}dDZY?vHf?OX+KhyG`N$z&z2s!?M{Y?L=yk`oMAutn_3m!Xe_(J zWzV_aS9cuDL_q{Msi6kt+n1O1Ao+h-?to z-;{8;{)t_pONPcHPw@j2DQovA)YR=wen7y&0ZO}ug5FogXQ!oaKWUGBrC7(Sd_Ml> z_GFlzHWX41{sFH+yE?6ra*sGUBG`$2EK3;D4#P}|k%ly02iav%)u`_!T~s2C6_ljO zUM}BnVUgsiCbm@&-8H_#Z5p6BQsL#5>C^@I?ByRoV2hua_Ka#{nKF$VLevo|GGz@* z>4l{r-1{Oy;wPy%foku~JL?RXwo^@Cwwn1y;^nV2xdHUtswNcctq-QR0uU=oa2o&O ziph#Qv(f!V2j?ayBH`rcO1rVzb?<&tbSh1ra6n2&!eC6(IFkO}UT5lB_c*_XoHZj_5NuXrCMW~Ehls4dcIfjh-Fw`l}a`w>m z%2R~Sbz9sm{PcoS2MYY7*d+*qS!BbZm9wVU@%UaiXVf!(8#f}-@8y(ockrUie0pIi z^9@v-Se8h#*LcFu;4!PZ%}kRH{Q1St{D_Ct{x|L~C5zZjVLoqd+qpA8FRg#`tH~43 zHEK)4Nx9b)^tXs;L?dQIsC3vNxB?pM2~*8_CU zbaIMn;!t-o1{hS$GI>8mi$Hwvq?1XGkvt=b2jcUlM&{pXZB7pW>aZ?HPDZcmBB_9q zh5wi_jCUf$Z}pAPbK>#@g{ZkOsxhB9!M>!Emy7O?0RcV;c}vQy`i7txDFGjuRMLQx zQkTP8kPN&fnFIy&ArR-Br@In0LpT9v<;|WMz=ffcIjenKlt&k)*_2UqilRqYH8&1@ zW@8b%qwu@8g7`?_`1eGLoFc^Eq=?V+Keq2t`bU3vL@xcfcO z0v5ubWMl(1?*rPk0Q|OjtHHR>1oeYpdYQf5HheNxb5t&KM{_cK@f*JgyX0{AZW;@q ziar4?A%8l2K{w>aM_8HDKrnLqa?RX&Y4yuMve=r53)=I0xw2VLAGC96>&t8I#x>`@ z923##t2Z5I+KO88F{2Be7PTvUE=)B?n4vw$_OM`QeBp1$DQE#-Gg%n*AO3JmE`y3! zuH)N})Q`&Nn0D!j=t_Q(NPcdYy;O0und!7zOFqzN7PD9la*I*npuN9_6MN~3#C(5# z>gMvuNVNOf-OLT!SPcmrOy3WYhbz^DN1tb3l2o2ye0iQ4C*p#ew`KyKb*t!p8rxx6C%mm_d$#1^LP_uG#r?K=@l|l_HrK@u&x_(jP%o`6~({)3U;@S+Mo0p@bHUox^ z^mX?K2w-Un@UN;@{!5ZLOU|Bm)8w}#%_5Ebd$FUPxUNjSk<74**m&U#AlN*SkKoP6 zBf0MUYGI>Ov2bF-n2^AS0IMDv{bGbo`KlkuCzfC2sQzm;gfMi5Pf_r>ZkXE?Ozf(* zi|)WlAr z-yzvZ_oDBON*^b-dS`64ODTLCI0M;6zP=okUI(kxAxmZ3x>s&J{-~$Hl=SyKGoH~# z_T#p%FL21B<%-@~ZN(LbV30M%m`Ws+9PQ1gL(`^?#C6oy!sh;^Qsz4QJIcA~d(sf~0VrrM* zXs;ue7+6=C`Oq@l%(1@tJ#Yi4F@VPy`4=;I)_m#O$Lwg<>CGO!?L||n;=_aWR%!(; z#ex`<3eb)asoj0I4|3?b39QBXVA?+z(n-4`$4Ar60oc)J*^4SqktTHrZ~jpk-if~hrLrp8@TK~{NYz@%6CmumEvCehJ*amcS^@~BR7_? zU+id=kWj-%BK-a=y>vzP#^at0t00lB&l<@`yRBZXx#mP6xT=nA6-z(nOXq6ys01Bl z=j)`BLmrcjQ?$IZqID;}a7lsUyB6=^4`q>Yr{lxzeL?$@*@TEvn@4S7f%r7?X!)#I zO-bK4?|rhRJindc+zTMaHFu?#RH}MwH5NxF$shMpv@7l_GpTA=j^AUVsIB>~)a?>_ z9BzDT)l_qd0IQ1c79ZzG(Oe?XK9^k3$$_^>gdq4?;a%Uz=U* z#Y%eu5V&mQ@?ndnMv6Mmp%U?Ydz|k`k|!}Mo<858?aOV<@jOz{1-uSt?qXdyYyhS1 zETNT;z>lf+$V)7_n*wdFXdMSL{J|jm`Xwmggn~vKnN!Ez@ob~Pr)0QWi(2?4-Yd$l z44o}yzf}v!hx!nQvzWC+T14>KY}uVlwBU>r)d694ZMV&a^>*&H7l2Cq+G*X0J7$ha zBdJe0eofpBHdVC_IQvsGYpKd!i!bGgYBO$ZWDqOpGPXQs9X0i90z_BIDvX7{KJDW3!7SS4S2b0$8+P7RqFTe@jm9w^(lnVEQIFDf!LFoU zl3MS_YMHua!nbo45GWTK54)lCb3dH8S3Cdlq(=>ZM=(9HfX->E)!9TThimh4+^keH zvtiPo<1a|(2i*Q8m}l9y_N_6~QeaOd%NSIJ4=mf4L{XZLLFrrcAsC^u!F`X`7T)uw6X3LiYO zt0fhsstQ<Vj7mpz1sgdjGUr%WQW|AnMGh|8$n# zj87|V`hw6eyDY5E>~hO1GHMqdxrnZt72lUT=G-gK_7dl2>f-7STSaYgrpE2E-vfo3 zaH^^~55l>5p2d{|!m2{=5bdzvJ%YurG0sI?Q>nN2nCpjuw%z!ka==z9%H? zO%fCj>Zx-yQvgSJy*N<#@ZLSY%o_0~X@p>8MztHOZbgsVJ@^NbD$|Yq{?*&pDcZZH!PIiUGdm2EBpfN{+(H?NKevs?ZG_wuC(FmT=gbN#N zBsYj@Irk@dtBJc+^AocgvNl8mSYGNmwo9p}s>u5bDG%}Ks>Ia|CyZax0r0;qFTwy--X*ez|rW2!fulg z3E0nLtIw=F5yDw2OFrapCT02Ki=!9C>5{+Q;pZW?P|$F zPGcI7arHuL9iiFy53#K~@>SlaMV`0Q##khIu9ku#k9cXi^t;PWs11XFVF{X^u6U|S zVxW%K;U@LmiRpJOQ7{QZ`l>4&#bPbFUfy(!*D#B&YATX&KvM`(_;d?94Y^RkA>zmE z;S94l(io?j1Lx9^up}@fewx$!!izTq8{*S$uU9$5S&7_I{F+vTQ?z}u(D|3fhKhN4 zdQoC?qZJgn@D+;!(_(3`c(~60%C?G%O4;svf}JNl8JnJu9Fr7-IHk<#ZQ1n72NOk( zcE%4~BBKqVih1tg@A;V&h9k;me+@(rrSw>Ckwes{*(>bs;d}QYsQPV=!)w^IS!7px?fsdi9 zBg232DABbpkgAw)yjG zFG7aUx-a`Z=?|xa;2v6y|9bZ&1D#zx4Fl9X!b>-6z|o=b$n)|^4%2mQNVxxHEJ(mX z)U2%nWRP@Nww}0*sa%i$+}Hs@dO0ZX8I&!?zA%uHM1-4_1j1zH@uFE88 zOwT*MVe_GqXN8`JdwnknMa>!HLIV^S;8a4MKDv|y>`@&m)y(@eyzf{AZrj!oAWcQt z|7JpTsUJ$n66UoAmkkn??&gol(1)o0QKxWP_Hw3bX2(XkOnp)R zevdTMvkbtss7TT91^L&QSfuh_d`c=oA{ExJ9b4VooZtQuh|yhO^^ov6$b*3dLqduv zmV;yGUC}q-*!K#Kl9VTTpC-LQ?ci~j-R@%j2gV?rq{3m>#$oq$`F#MyW@eFguRWj; z4&UFM_@LMi@?)Gz#5)?X;bG7H#XKVEt_4M}y$?`r`<9Bv2_BX@+i7QA<}&mda-B~v z04>q$eq{+j?nSuv+gH{D&%2|q_Pv*c8F2k}iV~`Opxt&=Yk(o^K}pJyqST}7mhPJb z#A;{berK`@;}h6YI!=8iTcGu6?{6(03Owmf>zm$_bKEdH@<|hLm~wuDAAS>PkhM+A zIc9?REkes1*Cl=u%YWGD1D)t&SNg-A#G#S=FkH1bnV^FH{3ip& z)6w%DWts}Prp=`tp~DM(xrYKiVpGlbnynxWyULzy>5mfU^^vwiGbu~M5q=p@JzLyQ z)KK*&wc7$0k|WFT>{k9(^(_TSeGUg-6BKMFxu}H`Dc62-?JL<0<@h(g9D&wI>k~j9 zrW%uEOk9I23kLZ8Cl>;wC}Lf^;_s3WKJGiO?<1(7A%2{ZCLETa7)?^b&SP~`*z4%v z#OtH;{bexgqd4hLumYuSyHv)i>Bj{PwZBzgTJQ$1aKm@&ZQCP%__q={;qCIW@QcbK-T ziQD)4e(sh)gCv2ii5(8QWcyrCrVWyL4UjjD@BoPK28hH=i3*kxUgoJ+ly5J2X0u#T zTU?E+t(sfDH^&ko>hVJ(71z`!1-VCe28-;*EkT4Bo~UQKjs)~-q$3j=QnKBZjl=3m zQDa#)lm1)s*ZXYg><1Hfh-eJ&#ytHj_%ubwW3y|R%ggJq8JhS+Z*7;`%+HGh@0eI5 z1V}{vuUaDM0RQ3*BB~$Hz6;Rhz?V=*7TqTzWl4G9=#zNIz0D#zh2mR~olh(X8GD@G zR}%g8UBk~M8@C_Gnj0SZ+)UABeYyEpbo^4?8b7@lDferKWV$`~?E9fqC(`3J`qgMW zv5zOA7keJTSPm&<8PioL{rlmV8m5+9ms*<23nV0m@k!|2b<7!CB#}I#LI@Z#May9_ z`9L?X&wkA^W4lSk?(li2k%$%{L#2h&XUTRNvXYOhZtX+OK z9|+R4pe+yhC|5p`zx`+}tfCjJg~!PJ=F=$$efNmcdnoGJ@a%~chD`UxoJRKCCz)m4 zuL)_E*29IKWgtCmYi~Yt;5^@;KDSxR#y=M)1yC+@`^BR1zyU^g6I1Au0IPoF;rDc> zKRn#!(NgBxpVvEnjB*&H@Nm20IDf3xe*lNZT^~feJQSn>qL=iu%I)2j_)vKHLs()B4EEOr=xH_g3B17AoT0vzCD zZH*o@8l~uggOdZAflCGV(saXzx&--%sc(U8UBwP&$9#I_?(M}VWabO3;1d!4PZg!) z7l3j5kb;>MUkDUhS~0yVxSS|6lHucnovNA~;+uyULzjl0Rl0Wm+GrCaWF^{@Pi})H z+y-8&{@$eD0 zU5YFwCl;+7V@G^+ZjrE7q>nRE)}(?(uoA(HeX}7@MtJorpL+yK$BU6iO(p`?X!hOc zGdzH^I&dVB3uDiR%jfLHj&(_mZO>cDU|ayu5rh%W0w&zcC<)F`iC-(&$f4jGiOq3@3=V^<=8~)7`swJ&oz9mLa+GXn6!G zcIJ|}Ym&5fH4W=|EEG?Jl(k!Cyk(+O;6 zt)qk8vK%QDW6R318q@tJ1x+^sRwFl>qq5ftydQC%yWhAHkn*I;!Q0{#fS^@;&Aq38 zxjNS(H^x7URgVi8M8I{R6psmE}6s)|4s?t=`Zh0YJhZ1~N-sn(d~aWXb-V~A_`B0(N$ zv2F*eb%)xaNYO-G8If?Wmc#848-R3c)B3==j)Z?fC3D#Vrs<-2h0i)t1axa&`w7{T zkR`c< z0ojPitHUyx`CJypOUGHO?h8vD#rot@ubrn69o&D{9uq($_4hK+?;yr=TnEQT%g1Rl zLDWv|QsjN0PmQ;l4F}M0>OUW{tv*lP!3p9#p(FNj)V~h~0v6+-FxuWd@fw$yd<((y0IK9XRv>SSxe1nc({C+PT5rJ@A_qPMFOBI#o^p zoy&d!@78mrNxI4hOuv&XR&R&%*({AFgW1|$WM@Pu?%0xecfDk}d_7CDo>umjMMurc zJ|8@igW^X#ADGEHA#FFW3D^J6(ZRIXz5`@KA2UWf$I3?w_nqpkc}s$FrlJ8URGm=y z{@l4LpXei#@~jE&gSM`T(EzR|tN(5c@C9Dmzqgl{LEIaweP@!*R%}ldN`@l40!Q9%;UWhs)zq3v3bnl3CQ{%uX`6rR^n81P!4g^tbrDoJQ_$Z7b(}|EIYE-f`GFCI z0j_Y^tdY>ZgBS(j5=jBBwLdw>*1gNkQB6U+&|gd1nY@A$RG4*nJZ_5cr5LfIdVeAi zpjNRS7cTw5_(2~aWKes65LDjjymFY5MBOgqH>W0y%c0saQ`!2dKG|;w2uOFLVocr@ zd8A+kiPF0z*|!I!f@xr}4nD(?;ibC}n*iwSx^BdI2r*wvj`E#Y1SU>|&XFT1`U6n^ z4nJNNKSq#7pnx)zmy=lu)@S1OY5J@-%De9&`utfV7gqzDJMdP7C+0k&6Iw<85BjnCcCYTHnyZxW~V8292=Kigrm z7QEb7?FNG`4Wf_K3(idrQ0OLlKkOUyV~=Mc{tbCXumjr@=jv#@@?aAp8`7PE^!lEn z-8K4Af6<2<#GuuO#c%{n{eZ^ks>kxHIa*|(`h0UJw1|9;ii3_*=jGoC$9Sr3jLZ!b zX7ZiBNn^b+K!@uAh<=z=w*J&;fFGI1&zX_aflbB&W>HT=eI=PK#m!tp<;~ppUVY-w z8@@wEwPleKpPUOq6s(t9F`mByE)CNJtn$d`SaXzZgdnC@mu-bC#KUi%s1pc~zasl_ z*{(6rN93c~*zM`<*XOTDgGcs>S}>W!(LC^MmibSzV^CwdPZ5$bVqKvcpZy@!#-v+X zgp=@fPiltNolAb9-A6TvLWVTpxy*wxJt&`kS0!UuIXSSXJF%;A{VuM%&6f8%@^GvEoIb$=d{peod_iJ7p-$c3Ijf()G~ z9Xp&8VEs1epWgK!rQZLGCgjWdd~vvJAd}FgD9f^Y^nt*ib;LdKDF5VNb(sSr{6zTy z@uo3?FB6d+j{9Fee!Lj<+Y*2>C_+DH;_4+xE~KGmODxB(Uu@n^7jvB+B*m3k3KXPC zg>>mBR;`?{wyK1W6-J~{hBD;ycIfF@jqpA8^{SZ*!!QEOwtXXPk=zo!MCCUWkD1uU$o zaok7A$;qA-fMg*}On*hd-dLLmU)}e84RRE_f$!0XK_I6>FHwOi#) zVf%4Rd34A0Cq4P;T*V%ev1;n0U=xVc+7O-={`x0Ht+AT)6LX4!YAWt+)elJ@QT7?( zFsQoWfB>7IHO+S2jP618{l0M6)jt4tk&*!@sNv;oWGOrmvY&_ zzm4=NZq6Y5Y+$B6j$4PFl%x9z$YV#8SXbxKc!GUW4QXYPsFF+UkBdChr_BxH@j{p{ z7%-AmnF1xCj!b&4^lFTZkXh@-!-6!NOwDt0_wVO{*eK<@AjKcISKv6SOlUUyQ11&N zDX-wjHUJ0Dol%^az(ue_hy_%~=1xgpodp+MBkG6a?ASLJvS#NGjEV|RLeK3zXJBM> zlkrGV`Fb}8q-M~!u^SD`PAalwBh9Org*PQ6 zo=8mp*#)AFM~c2`&`hsF<+o~~!$e$tAI8Aj@x>v(FKs7#o*q5hho@g+-fkGP z+h!2+UMfEokjy@I7A)9)NQ7C!?0|0YxJ#NMQ6-io&Zz&U0Xgx+&Hmy5e+P18M=D+Q zkb9(#@+RdP*c5?2*V>3A_(^M_m6v%-%53+lh(9k^#lD*Iz$dD=?V}D4X~$@^tqg^c zjwVhxuNKbF3tfd9n%8OH&pjl{!4fw0bo^^(W*_%kri-1siQ}_6-;iUcJp4y!%NiwP zlyt@pG$9Zy3CwTPv;o2*E}eRy)^l6t2&vAjwBE$M9myLD(50L}wIInEa!7U+XP;-A z7hF5{Yl)xPl_!RPg0phEE}3N}pfykMG?K3=neAd;d)rE3pe&=Jozo;Us*Gvu>)(10}-yq8f(;c^6xXrTD9NzsaJG z1^Az*T&ga%i zF#xZjAt7UCAE$Ff0fgqDX&O)Hv?GN`287_jd#3`Iscpz4>`r>21zim#L^6=qPNTA@ zU<{I6HY4uq?{sXdPNO-LK1ALD0%UU;{o48dLOoO03e1r5p{G4MPGDVX1yPG2zOg+o zcr(zJ%)bpu_7xZfC+EuyDu&&dB%vJA2Sgr$!#kuPIC~ArtmzO+(d~*|Q-k_|rcE@; ztxFbpBLts54n0LiYYlhZ^My6+zTh}1;9MTd8J~-A1lPys~f+r?O3+XcqxqJ6=0MyCQm<0UY z+!+rV0R4T2b}p||As3O4RO9-zW3h2)F0+RXkW4s#9G0S`&TIw;K_>%|E(#guj=pGu z%`Z%kin0)b-5T|!=?79}hH~vVd>5h9rJD2HJp-H%$wTVN$_%L*nb9I30(r(yAO#Xd zOlTO8z!lO7rv(Ex2z;KTNAjOJt3-DvNC*{SjA_kl_J$Wk zMm2#YmaPlRh$=VV3$my<+Iw;Z_{g(~#E@TE^BE;Ah$eL9gRHbCP>mW2DWAf#U@aUk zbOR&DzADtc8zM5n3$;( zI0Sx6h6e6d{QwnxTfD?=y7OhOI3o`0bA7uF#JW6{ATln%4-G$Kw_a;rK(6c!b`ZSEk;A)(e*8ZV29mjApiD99 zz-R=J3at`*OCVo%eX+oqe%eI-l8_7(jT~?RrdZ&4=vuM*j3#pV3ypr{9nK=C;%ruf zusW^4gQ_S=IaB>52I|YT|J`O{HH3rQT5IG$HfI`i=`EOJ(z3U=2jQpzkHGP|JC+(G za~EMhZ#}62C^V2d#2Domf;Q5c2?-?ZT07-%Ln;!_ETDj!^f9V{m=@6M#3vzW(?c>PoBHNb6-$ zXBE8W(6kR5J`29aEh|FAtzhrj^NKP_}wrXW(DJkPT)2V!0?bw zruhp`{Yz1?uN8KYQI2%N0h{Yz6-RxAaD;Ga~87BIglRvr6`gMU}>4>crGUBDRVpPu5DkZPg;V%m7N7hXPKHMZU z*t1`e`$CAa<*L(L#0|6rj?|ptL;|s^AnUAV)x6*XxVq7)%maesu*)=6Okn2&+rX@i zq~|F22~3+NGge8>s2}d_?(~`FpqFRPuX&oHm@G?XX~(HAaIHyzTLs5ezrfODWgb#3 z9@~8(W#V6MtlHI~@tdNB^E3x>L&G1O`;tdQK8en$1FCiWUiy10uOM3S3SL_M5Bjs# zAZEb&N{tJ_iN$23J&2hG^$rxY&=UoZxFMy8L#pQ10MaR-#^zjLxR-SKy8Sr{kpDwZ z%$6@;<{LmYFEFgduaIRYZy^niyYgundX*&2+c&bM1kC?(+mWvwZ<+V!k1C5+tg~ai zje5GS(do76LLfX+zLdQn3R~8ubg5_Dzts4F@tNZcjZGtz6Z@{q6?!Sgc6!SJoI@#H zPplw5A=*5=IBX;rmicDEH!2iO&ng$aCuLLa<+xhvG~`FS6=Q)eS+-uZ>CIF`1(p{yom9*8PXjaF0_Bck;dJd+ox8qux10T z-H+hV$g01zuYC6?QTFrwYzDcofvjMobkoh0iibx5S`G{I)*^KCMg0*vUR0vLous|N zMV4CV%q;2KvKp}J3ctl`-itdxR;*WS=rS+nY<|rrJ(u|tv+K;yOnT{k$4@NkvR6lNWZu|t@KXVPabs?#8L7Vg+C_??UU zq54A=Z@=+VnD(f|X{&*)MP1@?frs?#hUJ5doU88E5p?VN{L0Uk@)if4?X08^6!ZoD zQPrDjskdFq^iN}~?tGYSpZ|$X=XZmbkK0;L;XFJR zzq7a>v)9{3Y$VKco{Fpg%z3KOW*2&yp!K#KmqzvZ;nYkqv-&Kh;90K%+G-i?!uoa3 zxz3R@1k|Q69_wYzUkWP=WPUbkj65yudeXgTKP~w=52}LypbrXpCWBHD36El(p*D>(bpK z0!$5$)l*>kMDY92)eO1^8Cr!cWbC?g%^v}Z75ogI-8O6Pe_CFy+NEGI z@+;!z3AKYz+qt@~jM>A&*Fn_N^1idDn&x0vF8DCDis5 zH9qq6USjx1F+EXGNP;GtKQLbS>F4sfF-EMyH{&qBw>_ZV@xCHyhUT?OhMTN6D|C3= z65MW%KI!-~%gd4DNgg%O7ZTz*-}?IJ>9fwAW^In2hYPF*ENAMucpL`o%yNAZLe?=De`xmu;?hI8W{>6Hm^K(6`p33r<{|qFa z67ooUE#-apyWeEG;VXL!wQGTwBX4>n+)C1@`=t=MP_<}#)g1;_J7;F86q;6MYVao; z`%`W`vD*Dz)|~d&Ww?o=LEX|Tj9VeszjfYnG0^5q!Qo`%r?-~JDS1<}%x-d_?70_$ zIq&Yoj%bDDDy$z_-^xC#z1}Hpml&x3|XGwEvo@+O7Yajgl!^qcaIHxu= zU2~R{*1P_%0sWyWfulCZqpYv*C~md*nvs&G-y?18`;7O&axYDQ*KTg(K8x!99TJme z&kD_<{##`deAZ(hJ-o^I(D%N8FLdb^NwrwtoX6S}@{|IeP6 z@n4if@JylAJ%nKpPy$&5jrD|_7P8PJ3LxRQJFo^MvEf$$>-C|8Bq&6=pteZ*F6Be| zY5!<{8Ah4*BLH%avxInYzzzxf{q-_de9~EL1aE;kNoaM$>Q|L zw3F-L_ImG#GvXc9Z2tsCa_lGX4ZuJmXzCGj$S@~sBCK|Zwf zhpLQ%RG^rMWFezHkw(Nd&uXx!9X&(?dE&cBD?dX(X%6b%>MZ!;)AC=CgonJXiG~kW zAYh5IL!^q=^T63=Z9)KzTmWf7&o|*9Pn!nzXNW>7fLCZvf`CPos*DFP<1ydy-Tyq5 zAWu3zLJ@>Q$T#t&C+bFdDHhPUZ$17~4^F)`niug+p%!uNHH+~ug`Z}jh#gpAR`fD~ zNbVm%4=(sAU5O?rJRqima5PFwqC{wnTs@i&5rN3i(E+4Q`XPwF=u6`%JMV>5FF01c z{yiXB~!pVIlb zwNH$S)Iu=YkPhaj)7V=^*L8-`cXjB&8*I9zy)V1qAs506Xc{t{*Xl8Pas-Y5vw=^R zLX==1a^%im=E;JEF#wK#+2w+#^Xi!aQINLQy^9#6z#xI(^Y-{>$RD~LJ15CK<}w{M zU4_3>}B?HjRL zSr9=GJ>Qj%Lg?^NmjhOfcyqyPmhE9Il^)^OXXigrk7mO1rp6bzhlqWOCyLAvkH5#} zlpy;y2fo$%RP6>Dq|20sqiBv`+70tG)Dn@QP%D57>5@AMf=`*ZG))%d_}q%*f;PWp zUh3isrzxgUJt5Wvg&<3iGKCYJ+Bg;W^OKm@(F~E?6T>tZeAR*UGDG*U2YK0m$Ni$-AZw9?{YLRpoj_Q2{v$lrn>HF#6PEsEWd+#0}AqUjbmviXtH=Y0?liq!!GgfGS;IV%$}v0!aMN z4-N8VIPpLfje?ITvxH4|;IT0t;Tr@zqGU1_a|;J2=jOM6f9KBYbJ-`hl?hc{{jOY-u%n|X25-3%7U<#vGND>!9Sz{S;uU7XnSAj4i zYL4_Mjysaq81c)ne)%qe>@_RyPpD4x8)e%-r)pgQwW08#b#blOb9k7D7Ald7>+tN1 zel%=`rl8QgRO&-8?3DX`?Vl4a)=|4Pfv}gJyWvmy0#_eox%GgC zCBj0nkT|QqF#z$>!ZeV*(A)>1;@|40U?HJgJ&a5$_1lKC_ZL__fr7s>6#%Nv_gfm? zrv4KX6M2OCQ=On_#DwC9vwyf|Z#?es9KWYG+bHf%6J*eAPM+hyilr^R6YzIAqBR5* z9`pdE3D$4eoSt1B6EIsLQL^@%#j9ufCE*ZE2c8I4ceb|Hkq2^ofn7D}{q|(+F?koK zC)fJ7=Ay4b2vQc4~pw`C0{ccC5+5?bPS8+}Dy>cB1|ri@4bag`-}zX`H!%NubCGk4I) zpDPKDjH2D2_&1a;Gt#!Tq#8Sf49vYCN}z!Rsk)=rG)4zSvBx*O1|ZR$yiF6qWh4#i zT5u%8M-1fo5o#j8NACydxoECrCsRl8uLCpQPl^ibQ>ytpwvhV%aeR5I=jJC)cj$+n zet3ctFaJt=1^0^5JN8fBki8}DN7=U%+y%j`<8wuj6X#y+sWrQ8J8mOd^p9}G>6wmF z1BxXl;|pp0A;Cmyank2)l&`*rfq-HISY{w*5t=gVU%l_K(Jpg@=>fX^_w$KC6!H-p z#Alh&Ovl=s252XaJn{9!0k@@APDZFk%%o>d{n|ZD`Usu0KH6pKQmS@-ibe_Od$Ipa zmYhBOfh(^?41D=YbC3@`0aGFgTQiaSXM1YSK-Yx2k)D*N|4W3Wgpp?0p4M76jHJ4$U^epJ)7YG7fr*JNa1>XGG{+p7Mgokg9@BTBaqwXp~ zu07ZGOEf66v2+&2&X&$FM%sFBZ>lo76E`GFh>?iy+-k&OmJiB~vg(1+TnMzU5bFIR zUh!roSK|t25lODD+v4oM_J(wHYi{svq8~e7Cr4g>e)opbWQIQcv>zeRz4$p0WkM=PWUe`g%REj2JhLHL_&A%J z=9XDrpg#&;dU=2bh9Or>K0GQeIfMZu$|pVPh14E$~M3 z1y#r`H@ahxHLX>yf3xTwblEyG(;G+=Sf>x#*5R$1@zwQ6vz%29Y2 zuy!j29Nn;Yey@vA@-x?y!1I@QI|QFD=$rihm=jcS(9LVpH@9vOF~y;6DMmZ$ z-5|TbYJ?h3?Ss|WM~i*S<6rXstF$)_hcf>EzAJ<_TataRY>n*e2w76L?8Ml2DY9jT zEZLVNd)7kPmy8Ny%Th=PgY0V=>oArXT;H?*?|O0_*L~l=h76P^`}@;S-r@#Y1Xi^nI6ACThM3KisB` z1^Q84PLiH_-3^nrDYMGymvfBO%BmXJk@5-BFGhyq`+Kuo@9rmtr=6kLws?E!BO)s> zaOIB5??DG4_s0ve;!gc_KykX$)^~$d`bo`NO!&p6TS0@ry1nc76{sYkk?q(SjI~uM zr6X9FYDD03^J=e@BR1-AZ=Uv{NcmJnyOD?TyYJA(T)~)?pH1jT6OM|9JM~2uS1rK2 z+W7sW{5Gj3>9NmNKsKbSjbOBeCg?LLTc4~QUNo+Jq%Fk6JpEB0#ff&oJLWR2wg$;z z9K?H)N@_32%So!?nzj0vBHSqt^s9AN_M5z7lXW z`aus|u_)5$J7vXYCC_6OnhQftKhR(fFl~~nOK%A?NSr!y-&?mtBRjN+=s;ahDU14` zCh1|iyr7uyH@m9_3JMoFv>#3HuCP;c1bDQ(v>~itM~wfllvn(Ek@Z%m@4NMn zr^6!ERenziPQ21I&ElYbFoE8vvQna{!ZcqtE7++?0jQlo5e$SNT^VQkS4|z|>;LGccw7AOx53nVMB{LIhd2=@m2u`t% z@jNz!`s>w}tPdWzFaDKGqLu3dLg;D_G#Ep<+=$-+UKSIYRaaT5Z;-$GBfgCNwwADm zd5~AKTO8Y8n>^03G0d4MBDk1*gCj1TtZzAfQiSM*^7voLYhM}618=yq2mBCN zoAB>&HRAjD)wuP&E5#~Htkx7zTFcbyzK@8~e_Hy1xJ(^GhRjg7E=hmtx^9-u2YJ7M zT#-y&Ghayj9N#fRKU*{3SXT3%t&3-bpG5+%5UC)e%kNU^^9$-n@I?otJP!{9?27FSr~an3IL zeyQ~8K%9p2d*i|y?d)4UrSRyauId~63kkjv*Ejk2`H4q)45Z_Q7;?D{P0l{K=)2L! zu;EfNMQH#rQm+)Gn<_CW$F(}IlU^jG@29F-`}qw2#CS-`L53p*r7r z$>18DV!tW^kUSIEb+pc>{~3O7+(FFnk*W5u&rmB+4Q}`HU7K3OBkCW8MGh(i1S2}Y z$eYAFs!SkQ~k8`jh5^#20b=PVgM)J$r#; z36)hNC?GIEG(=67M>erg-zgm}>!}jhy8Yf6g+J0I%q~x37d{N};tzicnNysPmp?BD28nWFc*PXxQ*9%~IU|PLyXB68%#Kf{FKXbP z6*I-%YpzHNAwK>2?|ZH6)CT^hqaNdS359aiNoD^>z45;~I{cT_YN#mz*{f)%KNgxb;&Ndk&)aKb^(;2*Kd9mFOkKz{8Jgrk&n$Nq%E5UdLR zRiGn03Q8g7kTkXUy>Q(PT=y$+_E(ox7hNInXoIf@L{d2+0-O3@xfeo2l|TGEc=jTT zJ&66(K~i67CFbvJ{A_z9O+9eb#(>Xf3;Cj`{n^M7P{M=QY2Xahive+LAQPf?6~SWKdSx4}UP|0u$zJN=0eKm+zny zW(Q^6pc)520YL0tt4TrgkMH^U`1bdK$re~U5315l<7y5bAWIb#40_~)UX|--`4BB z`xQrZ6n725=^xzU35>2W`585U_Byo@yYw{=#>DLo#Lba>Rm#eOfy%g_Y8`P}%qh1b zD5d|A+<0V-KuFn9Rc?Cdqm0M6#D+ho1i#oD9U|21JDNT@%7w@@R%(!G+XSX#29 z*PwQFlN=d5X{K^gGG z*Z+Q1(R1*N9j(?$%AB{>yZGV+!~j`v zw#MP1hA|jeA3$SF($fqv;6?ve4-Z-R^Cv2upcv5#hFoTLubr``!1^OlwUYARv~K3a z0@)>()(^A~i5C((jzLu@8u59?`KzyXw%jmCBC@i-@_D1_-26NmuvQ={Q&|XjBPQz-Ih63%@c2r6UT$OF^d}3xXdOg4aUzs>RlA{LP>gtgkmf(=`$Zygo4bqXvE?ocv9UAD|W}t)d zR`u8vN|^z2&d@cTH&@xc>@!7eLN8twoyk*`59S5xmE0Uzaa8y0V?zn$v-x}%K+vih zDgcA-7z;c7B^A@EctfITBqYH!-vA7%zwJQUw!5dTz5D0W{T_&S3>;CCim8p(0ReS@TjSc4P==9VZP<4lc+eCi7sf={ zbA3G387XI!4tmPZG&K|ds%dF`hcgkD;6vN@kRaC^L_lpWRz2HwrQucc_6_F))v>e>eGk*6K#b!Ob&|utioe++1%y34-e9 zKo~ix%@B7wEY$pTbpup#aRVBhbwC!k0PGnYc$aL`JOdQzQIJAiz(aL}av-uE7g~Z| zGjU@2cnMDgu_imH5eBm#iM-YTl*tJYR#`y&K-xg`A$TIlH`K7e9(g!Y-60~^q)CB?Fsr>dtKljMCT|5 zj)RMsUG1xrADZ9Y2k1o{xZAf-eQ9>!1-%A1@A#P==#>hTJLJScn+PCQH-XLzhQ^sN zU&nP}4%GLy9Sq{#@rQz1l(^AAO!zQg6J27n}qvw(y~EsRZpEIRLee; z`b$tc_7BdM^Tn;8X8hNo&?E#Oa@dxut(5oqyC97Y*?rspu*&ml5P)bE8GXTCneu+9 z@ezi z%os%7)}U9xA1tg<=V8~&$9;j3Gwt|;25S_Qgr8jjpLIjF@3_lU922=W8Zz;S;eDs@ z%ZmO>8BT{mb4TiWJa1|rJ#0?d6T;gEno(v}xQs9P+y%K#z%@M#d_KAab+1Sp2}fR_ z>vkx&eLP>cGFqA2tm96jT>{auJ%u(#Aq4-P;)Y$O%{~ zsa#?C27fpasN}@}ywDl>1bm%wK;XpF;DOG*pC*zL0ierf;B0mjmO?5Nef&iFtovTr9KScOC8SK4)(B!(jxu|i%xuh{; zcTCPw#c2vBK8FQHFdT<2GJM*fqeQeJ2Wk?K+-I?r$R~p|aj<0`wHW(-{_G@h4lP~_ zCNNii1Fg`e4{^_1j(MW=9p-u@-_MXw00KFmP0UdT+7Ntm)+G7d#ruI9fo&I4&VcQJ zTNJul*K2xrU0{1nUx|Q#78ndk#wL*Y2kE^E{Ug&Z zYsG;6>T;6vOjGa2@W&C=C#}TLJ*Ew&&Rp*wvKWpsPe=bt8=Rr^{j;baBw(Se&YRs# zu|vmlp8f4K8MeogVlYK>x=k|JpmqA{h7y52KN@w9f&jdZt(U#qR5^{F{@DSjgMk*e z)@R|vzl3;RF#xT5zilZjoyJW?1<-Mu4qH$dwt!wHI?iq6te)gtY!XZy6Mk^!-MOz! zx0=x(e$w7f&w-s^4_n@B?H9#FUG0Z?We%H4X}cT3_d{(nloumh_KkipQ5x}Z;MML* z#=}%OYA^Qk0>{b4h+goq8MQ2OOHbQ|HJ#E(zKuUbw1r9DNHUb6`EN$VIo^q{Ucga7 zwK!B;Rp$!}rRSWx9KwxtDueZD2*dX07Bz>Uf(dvArY$3DDqKBtik;I`O6UA8x$`O`d#!CfiXq>N@m zpvptSQXDptI~vl=l-eFNgJQRcE*R91d^vj2opa;#ROyBJrZxrYZo|pYJ)wynIXnz+ z&w6PGV-u{mxb&O>91JaQfa6Rtv|S^Z{oiJTGCD)D_r{wJt(1Px$WOt4ht1GQXl#e% z=wGGAJa<_?m&xifN7g5TwAm`uDhxxAkQpHXTMkUU$*@Z$Mi<^PztCdBD_*T$?Lh;( zBky!7bp%6DXjLjl|6*(+jKHP$JfIqb9CM1F^$p3A;&4MNhRmi)Xz2m*Lh+e9 zpQ6+l6E^8d{--KASHA~J5$gJ=hAh3l@mpEWBQk%5c_d6ml5>S#AyVLIQppIEDP}4j zqQZ(xDaVqDM_Kk$U=={se#6`7*HtVuBO#6lae{AvuA2oq#eEUTt-pUCRb49aHx+$K+~6S`WFX(yDDa8PusRGr!veQ$U4c~|sL&nape$SCJ(nf@%hYRzKRjIHXin`$>~y>$8M zSQ-dY>{WHa`Kc&u_qg%zbj{T_&QG~DjtGnI-)iv=%VX)rdGfVPpF{Ppbg2akp9yrV zv{MfjI&H;y*i2zb2F^l`z|F&)qEbP+=zXRJ2F~Sy(FlVxdXoi$YDzgfjAWaIT};=H ze5jt1OBXrhTcC+HjnTp_S<(g1kEAl_}C?tMJ<)IpQiZL|k_y#DVro zs3T{l%X^;cY{Qt9{>#Ely@?4w;_PG)ddSm57hZGp`^CBhPW6x`9M@7q{ua@nQ!c$mQ%;rv*=+x!u`cDZy9{zzzBpB@_eoEh}6 z42I`z5v9p2-!CW<{7RA$OJ4fYOH1p#R1l_6sigd3G>q&N)-m&H1|>0iG$)`#inY^L z$)KE9=AFik{0-*S4!AWl`AwC}#Kh5*Q6VYP*-Giv%Z;4=O&>CIo^&!}gb($qVHyc+ ze~OQ1WXm{-oMqQ%6ZP8N)V$f+KLMlxiXrx3NI|n%Z0cU)s6V0>nQ2RNmiRJ&e*Jx0 zHG5;RSX&5RxL;2Dsy3c;`SbZrj{IlrhOdU^>*jpyrpbvnsWuxm0-8mG3Dg@fg5rkL z)IFShP7fIGWki=AC`7w{tCN zjM}i)4_Eei$nu{DDH;ku;O>*nVorK0?WdVVZS69dvMa$1NSAjS(-NVSl&5H?WX1%P zLxMDg!c!a~zvAYhR4YB)P#e%ffY<*G^D6iLSh}-Vo?sx-X!G}=nMLO6j=wNY* ztuyJVFekZ2!dKqLDkZFw`*n@fEq=<9K#7fku}s=FDTAcho`fUd;!2;KS?GCnq=Dcm zNe*XiqosOI{&1<4;Qe-7)!B}?zg=XOHX6FTB_oa_6Lb$3JrvegD;WP8H0x6s(=Ml% z4T_Vs(oXtx-&S_HZ~WZK8s%3U$sSGl&VaW;jlpmRZD)vauADt_YE`y!m;PFxY{K%R zm(*3rDw!(T*+&8<{Y9vT*j~4+>Q=ow0P9U`!bdY_!7n;~rJEymZAo&Wsm&LUd8fpj zJv=YVB6?-D&nsY~#!}+^pnV2i3Ci$T=4bex{OLE(Ik^-DK5EJIQ4vG-#5dRp(ybZI zc2@OyFc#uVNAu%~jD+TU1WERT5508jY5<~~|0d!LIT!pnwG}h!Lk&wf874h6FDb*? z9P?`^IO*&>6^}A!?rqV8W&6vUgKy2%DZ&uj)vLXtXnr*80{&XM=rk8ONKjCbkzbO7 z6$eipSM{5Y9FIt1N3af#6ssNHrin*uwPe(SG42M&)t0}pm484uowIOyx!M$w)7(SS9FniT31VCAfoq;%91nUE*JOSYGe$%I)Yj67t8^sJ=;Yb4 ziknyVR(ZJJJM`)Pjyc<7JHAut;utK1V~t>Uo@S#;(aDZb0gfzaT+EzLL@Z^Xm_^^f zV#|sGJ6S3Lr#SMTzJ+1F>_H| z0icY~{0+p-+hP{rT2aj9Wc~f$iJ{AmJDHAz`Zl*WDJWhZuaAS*XE@_vXdo%VErwN+ z{Ar)cI9)vwRJ*g#U37{-IX?wGps7wEU_J92! zdB*=}!1u5~y}8*b0tr(E;YMyF|AB+tu+hD!acN7~x zq0G!JP|70){z{d%)ywF^<)+}3e{HG-y$P$}3ExUH29$lO+=|JBq{p+JBsO|#>Qv;s z&j4lMV#CHp>dW-2sLTHlD@km&{b-M4Ppx9Shptx4niV@WqQUn-lv=l9uuvi0Oy#DK z*#2^pjj##fnGd_+DT@Y|hCa(2Th{t@(GD3|`o$k9){8MrRV)tYi723qIq$`!q{{7^ zOd$Ko&OOw~Lk2hWf$MV*u&Dp|Fhx*3aviwp?j48agn{SG#)VJ0g4_hI#69*xUkq>)O;$>Eg-vEv1~j~?2)J<%f$aW7 z_;~X}Mj_LrAVm>wV5Gk61$7EIi|Ekzv~Ev_n1#ekbh2V=35^}ZI177^L?O59zeHHU zIy8+hAR;;j5?e>pcFH*l0m8DfWAx7BZ9lTnivuU)=sl$=qD<$ZdAx_d)}slGcK+lEY4 z9xPEnq@)v++~7^Q{D@2+J`HT6;_z8rGsnH0X+Ak{Jg^6ibF}?8`et3xyXW~e1TZmR z5!%0UHc({`s@=84<2lY^Yc7(!|nx@mrLu#jXu1 zGT`t!}AG&*03pyJIW!^skc3XEZjjMRM_Lsh++Q(+P!0Gs}jE2h*4 zYYQMTyMmlbjfk#7))kE2%t5h;XVwT>Q1aW-O|y5KK6kKo0rU?%Ix^MJPXlWhnSYON z=S*?S-4v60_SMx95>*$XYQ2|rdQ$q@4-?OV34GT>7q*3~B~52HFaTkn{TxE$)#QYT zj|n08#(&i={Et%WYkCI4#U2gPXG~tr9mcnd9fcG*1Oe%#XItUK`ORAT?xi6>wnBZD zrEqEmZ7A=Zq$tgi&9N`Y1FwI!1ZZ69x_|d;nH2*SyljtL3kI99Aaf%hb)$;287TQDT-^fx+Dc%nagH zTvK4SX&*~%bS+VhM#5%4Rey>&4cDt1-Mf>Ugc6<~BuFak+wslE%pw1Hh?eK>P1nxO-OZ&M_4vFhksG znBx)D_5}zl_e6#5C`FJ_gUIUp)H;c3YUlaJ#zac6e_yW=rYpO~-y-6wPmr>m7*;81 zG56AxSn|Bi;d`b@qzr__;cY5w@=r1R=Ro)+_T?}?{f{dZg-AQ&1*7_KtG3NxO74VfH19xRDr4*+)_BFy;5K##f3@-z`TIffnT0@BkPT{@V^<1?ezq! zRnXS0XAqSjz8oO%6nu51>^d(Xt_^L?wvf`9@b5mvFIP=H3<}+~W@+PRlphH@5aaCZ zu*wWWAj$PY+3@qSy|Do`R&h=oW#af{dZswLNtXnB_JEr`)^a1sUW#~I_V*)O`4E+p zvkQI^Eq!HvjOl)VV+O3pX1cl(D-95VJEN~q?GlaZBr##or>1eT9Mf7C^B zemTJh$ZOl5+ns20!;lr52VD}#sjY*4Cs&*kO|DtoymzY0fx-e_jNq;CDT04~Kdrw7 zl7wA~vzKzG&04);wA1YyuIa{KiUxW$k^R_{uN~|6mM1ql-~nkXgtkn_^T9y7@y3%_ zj~+rc$FrsK-_8ME%QdNWT11aO<07eF-0Ig7aLEcuNBYGo`m1czk39aSR%bU5uz%wx zkiVmMznj&Gy->tvPkbq16iT;`4)6|4o*Q9ra5u7-b(ij;el7S4CWa{xi7F#KzkAQ! z&Hne_*B(+zHJ2KALa6!A@mrLR7p{eWaVURge>`E}H`ZDHA!)Q*0h|3RuTiqnY&?c3 z4k_)STj!DFkP=PaKuFqkVKh7O0*{yo5qWoug@B8^HdW?-RHRT_QzcFr1qVDsucO`X znU(6JAKM4|YAiMJ)+job^Y)aPRYaNm&`Cfly>xpYUpDcP*JJXMeNRQGuW_xHdaFm5 zZj;AoTt=YA9fB&R;n8%U5*c_zO_?%NR6$XBVBnCnwGEg(S8(K2pdso1IYWu%cm|Y| z-Js|zlHGv8$A2j&}c(8_%5Y@S>jq9=u;h1pHr8mwYZi625)#%_{(&yF3lh zv;E1tGm$eulv&P=MH+9bzT(XNIQ|sa=MaHrT9rh*h)?Xdgd=GDPN^OVc9h#J&KZAL znBpuim2$7kPI|0g0b>Xf0VY^9HjQHPXAEXf~{ zV{4NApo`2B&r(=sjcJ@pD|6YUH~wtTeXlpUCric;_uB(+?0&z&l)h4ZUh_r?;&XaR zB6*=D`4>&S^JjEA=qc7VmZfT*rNoT=?iTy2F|tdVFCDA#v1p9mnZjq8Mz?)K`}bXw zFI1*L6xU^;$CPfmyAJb&xX%979{HlfO!FeVqGw|C<2-L-L!#A8Pvh#F&SThwDpn3A z<~j0&P;-2nM9A_N+yk4x8Eg6Axr%2L)V>zc+<7r$~U5LKg?D-UFInM`e zOxzADKl6_Z-&i8Q;k$f*X%Wcy&)GR}__YzObU|y7yapJ0ScoJRtXaL!sA}p8mZ+S} z>SfzqJ^c>kI*v7d$T4J6DUiSh6+397Ck_-Zc9cwu99XHNpjysyg#()*y3&K^f;Th|hm}it9!Kun0#ZORnO1xMHHn_b<#v;*K{}6W}&X zR{r^rym*|^oA@{g7t+55xs}aK5F5?{G=WH6GP#vV^{s;=Xp5{8tg>-i>*OI#%vrDo zrY<|^@Xzt*uE#;Ywq=7p(Y=8)(;m<@K1K1}NZHB5H#fhTVJu`^tsj3LeNR}DUj56Z zY$uvv&~MeXbZqLpSwpGB>Hzc2wf7|Cuu#iSl&?K;c5>t5=9m5XXtkHrp|mFt?%q3z9L!TD zqmhR|XeVE|4fR@i$bTxoQ8G`c;bzk-=?G$ zB$@{7F4+V?P6SRD-@kW?59zR*Rt@kP`^fpO-^ZH)ZBI$oOWtq#FALhV`jG=!nXtv& z?L<2yt_$u1)jGhwa+$srw=5pN!Lih}M{Y!dwp&}Azsf=0&>p|ksiDNVhH8e#gx^y6 z9?zawt8NrKaq~oB+OC0TT7;agCATz~Z2*2@+x7S4vJ`q%r_}8Qp8wgV z`6n*}d&>uFUxrr4huK{N3(t{DWIky4Sn`+sklOohz+Sur#j9=e#Rn9M&Navpx4upf z@aB}u^-IzeZBO`RiT2;UHhrncA@^PGDCcYNkLH z9G`y=b_iIF74$RX^M({xyXbPNhk2K}q`pR!aLw5JWFLsms8hTQV0cPZK+ZzA9&(dP zoY{u0-xF9ro($5Vx3p`EiSCrDzF4; z*hb~es~)%6f@$`kPqL%QMIqO>+r`95qKj1DAbUKEwwC4PzWZFQ?7j_4?BW(Xv_~t@ zC?49S=MKPzPUAEyyr;DjhIm@T5;k&aa@InMZ5F3F54wwGG{oUs%Of1_D~J^7Jxp#r zF7ZCRVlVcwdJ3*#)_aXehi?+t`V`Y4th-Kb(eR`Jb=Y%1@a^d3=E;+R$AQB1Bb|K~ z9yIE0^Pgl(*WMj2u6Zs?)F|aXn7C3tZcl?$XgjN8{`aW!(dw_3n@ZKGo+i)FU0K!9 zi(5-pSGuL6pF|W5PGmzD8gS=V(rE{ixHngMYGE^`_uIYwj{%IVDUo(|;IN z?S-SP3U&MZLCum09iBT%e{v449IG@VU{K_5J(EVK{7R`Mk4(`f#AhxsC5Cxb>ngXz zX4h5H;2CWcNT4Sl;N9Xp3cS$G7|-hT>#KW!#1vQ`XI4Y zeW{EyL>!gu?z^e1>3xd(Und2BduDmC25l|Fd+?vTI{ z4%^%a`k|-c^DFBue$*&GJJqYX%1F-5F%?cL!N1UEqP5WTH#Jvto^T=6^%sj_Zn(yS zxVb>?tDT9D9+9l$)*6Fl^qX8CG`&j^Zmi!BrH=hhyJDJaRenxwZ4N!`@wcGPx67jW za3Ds4o8!VIa_1{%k#iKuq+7(o+g==Ct49M*M`FUllL}4i0&lpq+z#dN$Hi5&zrl)# z=LG`XR-$nGq1@dlI4&0GDRlSnBI6{e$Z8LB+jKTRUqhEpZ41y{6-ve1qk zBkhk(=Q$BOZy4en!9=ioO#AG80SPpG@nW#G^`}t__cB}oc^TyZ1t_E`2B&W{q`Wz0 z#BvFN0g<;Rk=%f-NOeg!u;(qvsv6Lwf0o`S(a~GW97eDzN0Cvju-?Az8+1|ssKC=y z4|BFP^4Q*;vL^uaXPTHRK#6SZu)PpLMtt#|iT_FFnGEUK1XQgOvg&7Z+*%V@r9kSG z{a!;KA>K|&JE2uv*nC88h`Y z3lHqhVk*5N%S*V8bgtR7`7dF{Z_d=lHxLE68mlz~$#Ruz#c5PkDLYvumibX8eKOOg zo9vxRJM&+bL$48jE{fnH61v8wzes%aHaDs}5Rx9-|6JPC&#b)KnXrosl^VuvcONPq z7N`2UG_Z_RyQl?j4qov!pO2Xu$l>~Iy{PV{_u1dx-&?*kfZvUQ*{aACPUBjQYLOY= zP7~W{wUEKO8i@^O#M`}_Lw=MHa%%(i}X_i}HEW@n0B6os|j$N3i( zn}7Xs>rKEd-7^&PRF_&w;^w*5X_P~o=`Q=cPMO%*>eYbwH+g}=$C1@@rn%_x4vQhUX zR^aApLwV;uJli@@Mp$Q3gjFzmHtnX?KmJJ(TEcvE4^+6lHr#b@yu~Z#D$h_ViZHTW z{o1(Ss=dO~tN+Kz+?;vkxHT#9*==O21{k4b;|gwh(ZoSalfg~>9vT;9e6@o_JI%dF?=fU}7XB}OcCcd+ub z7AvRNqFq*XRwW8sC;EJ9xqX87*d3Z9Us{= zFvLZX=N&VonI`I=AC#L5)F5g;m%By({Cz0hE61CYGe-j>o>LZtL5V-D$o(72d#yB8V1a#8*821w0{biVPU?x7eGv1m z(>>2!f*4^Ck!jXb;+XZQp~n|_GCxI^w0D2&#Q-mlIPJ4j^L=-zOyHA}+RM$vwU zxcf?v!A=XvV<&*s?v7%b=9jC>RT7uLj9-Vb`?w1bSO?Trh1=h&5h z!TR)}!V?LukkFzA)3~>)a!2o|_;0+1ZMVycDI9&wuxW5{U3h5wG_#*dInF@s@j0p= z?J0C}T@0^QiW#jHWvHH`a)VG;IhZ{Jvi#m<6L@%AYr?#v*tNFKR)qzo0qoH=Z9|ga zH=MdfLt7g8`@F4t;tkrhfV#uORY-%Fk-ssuNdXTN3xxN`V>fp-@>$dn6>(=6=Vb~+ zsSq=7%*-w#xY+djz6&F{LHVF|lVXHd3K_C%H^p48t7U&x!-3=dtINVfy~xV2C-xYF zJA?Vudzweqpe69_Ch9Fj>-;Z3uM1J_`u$IGio`VL*&K-SlRBYK2Hj9Toci=$78T*R zW|Lh(VBpY2_9Q(Sja>^h(6~xZRw$(|mJJ6Q zGoAeB5}Ky3y)syfA(bfnHo-6@mCe)Ne#n{HLt;ChBC6Cw1bcC$Q0VO1_g&*pmla=k zl|6+v$%fCN-AxQ88f$5HMJF!}dG!1UML*UsXxQJUH?B4fUCR_3en8xb#n@6_0mxgc z^;=_^!#7;OAx=FK?D+H#)6Hz|+~!}bKA%vD_REW6+k#d-0dbq)cEWM~{o#`*8#5P< zS6R?iimTH5N4Hx?5j6_&tm9Q{jJVQ)29LfgnXYen`6a&2+aCB$9B9**O_DHh_aW{2 zK+Q`FiU)UucD5P@G@6ScfuE{R;OUf$9XJ^3E%c#QsvsP-=*PGcQ2ZwG2s{HpGOe(9jgFiHXUkcoO%_v}l(D(eN~mTk1B+X3g1A798KI-GP+01&j$Pv?sqtM$n82wW>) z;jLY>Y#3XA5nGVBkoaoj#{`eEo9B>ij#Rmb=fV{j#M4Y-d$df41xcmjsF=S7vK6p|8ODEiEtu)`$Ub+v1{-Y_;XiH=T3!+b?E;Bjm(X{ literal 0 HcmV?d00001 diff --git a/docs/admin/index.html b/docs/admin/index.html index b961870..c457d8c 100644 --- a/docs/admin/index.html +++ b/docs/admin/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index b961870..c457d8c 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index b961870..c457d8c 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index b961870..c457d8c 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index b961870..c457d8c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/quick-start/posit-workbench/index.html b/docs/quick-start/posit-workbench/index.html index b961870..c457d8c 100644 --- a/docs/quick-start/posit-workbench/index.html +++ b/docs/quick-start/posit-workbench/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index b961870..c457d8c 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/pages/quick-start/posit-workbench.vue b/pages/quick-start/posit-workbench.vue index 869319d..a1f927d 100644 --- a/pages/quick-start/posit-workbench.vue +++ b/pages/quick-start/posit-workbench.vue @@ -106,7 +106,7 @@ the top left of the Posit Workbench home screen. New session button home @@ -128,7 +128,7 @@ minutes of clicking "Start Session". Start session popup @@ -194,7 +194,7 @@ on that project or are going to be taking a longer than 10 minute break, by clicking Close session button. All open sessions will automatically close at 8pm, unless they are marked “NIGHT”. For more guidance see @@ -249,7 +249,7 @@ memory in your session for the work you're trying to do. Memory usage can be seen here Memory usage indicator. If you need more memory, request it from the Data Science Team by following the guidance