Skip to content

Commit fe79e37

Browse files
authored
Merge pull request #18 from BristolMyersSquibb/feat/videos-and-workflows
Feat/videos and workflows
2 parents a946c05 + f258eca commit fe79e37

211 files changed

Lines changed: 3437 additions & 16122 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Deploy
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-node@v4
13+
with:
14+
node-version: 22
15+
cache: npm
16+
- run: npm ci
17+
- run: npx vitepress build
18+
- name: Generate app token
19+
id: app-token
20+
uses: actions/create-github-app-token@v1
21+
with:
22+
app-id: ${{ secrets.APP_ID }}
23+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
24+
owner: BristolMyersSquibb
25+
repositories: blockr
26+
- uses: JamesIves/github-pages-deploy-action@v4
27+
with:
28+
repository-name: BristolMyersSquibb/blockr
29+
branch: gh-pages
30+
folder: .vitepress/dist
31+
token: ${{ steps.app-token.outputs.token }}

.github/workflows/trigger-deploy.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
/.quarto/
2-
3-
**/*.quarto_ipynb
1+
node_modules/
2+
.vitepress/cache/
3+
.vitepress/dist/

.nojekyll

Whitespace-only changes.

.vitepress/config.js

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
const base = '/blockr/'
2+
3+
module.exports = {
4+
base,
5+
title: 'blockr',
6+
description: 'A visual, no-code framework for R',
7+
head: [
8+
['link', { rel: 'icon', type: 'image/svg+xml', href: `${base}logos/logo-e4-light.svg` }]
9+
],
10+
themeConfig: {
11+
logo: { light: '/logos/logo-e4-light.svg', dark: '/logos/logo-e4-dark.svg' },
12+
siteTitle: 'blockr',
13+
nav: [
14+
{ text: 'Learn', link: '/learn/01-build-your-first-app' },
15+
{ text: 'Docs', link: '/docs/concepts/01-reactivity' },
16+
{ text: 'Videos', link: '/videos/getting-started' },
17+
{ text: 'Examples', link: '/examples/' },
18+
{ text: 'Playground', link: 'https://blockr.cloud/app/empty' }
19+
],
20+
sidebar: {
21+
'/learn/': [{
22+
text: 'Learn',
23+
items: [
24+
{ text: 'Build your first app', link: '/learn/01-build-your-first-app' },
25+
{ text: 'Build a dashboard', link: '/learn/02-build-a-dashboard' },
26+
{ text: 'Create a custom block', link: '/learn/03-create-a-block' }
27+
]
28+
}],
29+
'/docs/': [
30+
{
31+
text: 'Concepts',
32+
items: [
33+
{ text: 'Reactivity', link: '/docs/concepts/01-reactivity' }
34+
]
35+
},
36+
{
37+
text: 'Block Reference',
38+
items: [
39+
{ text: 'Wrangling', link: '/docs/blocks/01-wrangling' },
40+
{ text: 'Visualisation', link: '/docs/blocks/02-visualisation' },
41+
{ text: 'I/O', link: '/docs/blocks/03-io' }
42+
]
43+
},
44+
{
45+
text: 'Developer',
46+
items: [
47+
{ text: 'Create a block', link: '/docs/dev/create-block' },
48+
{ text: 'Extend blockr', link: '/docs/dev/extend-blockr' },
49+
{ text: 'Testing blocks', link: '/docs/dev/testing-blocks' }
50+
]
51+
}
52+
],
53+
'/videos/': [{
54+
text: 'Videos',
55+
items: [
56+
{ text: 'Getting Started', link: '/videos/getting-started' },
57+
{ text: 'Filtering and Selecting', link: '/videos/filtering-and-selecting' },
58+
{ text: 'Transforming Data', link: '/videos/transforming-data' },
59+
{ text: 'Joining Data', link: '/videos/joining-data' },
60+
{ text: 'Visualising Data', link: '/videos/visualising-data' },
61+
{ text: 'Exporting Data', link: '/videos/exporting-data' },
62+
{ text: 'Creating Custom Blocks', link: '/videos/creating-blocks' },
63+
{ text: 'Testing Blocks', link: '/videos/testing-blocks' }
64+
]
65+
}]
66+
},
67+
socialLinks: [
68+
{ icon: 'github', link: 'https://github.com/BristolMyersSquibb/blockr' }
69+
],
70+
footer: {
71+
message: `Developed by <a href="https://cynkra.com" target="_blank"><img src="${base}logos/logo-cynkra.png" alt="cynkra" style="height:36px;vertical-align:middle"></a> and <a href="https://www.bms.com" target="_blank"><img src="${base}logos/logo-bms.png" alt="BMS" style="height:24px;vertical-align:middle"></a>`,
72+
copyright: ''
73+
},
74+
}
75+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<script setup>
2+
const props = defineProps({
3+
id: { type: String, required: true },
4+
title: { type: String, default: 'YouTube video' }
5+
})
6+
</script>
7+
8+
<template>
9+
<div class="video-embed">
10+
<iframe
11+
:src="`https://www.youtube.com/embed/${id}`"
12+
:title="title"
13+
frameborder="0"
14+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
15+
allowfullscreen
16+
></iframe>
17+
</div>
18+
</template>
19+
20+
<style scoped>
21+
.video-embed {
22+
position: relative;
23+
width: 100%;
24+
padding-bottom: 56.25%;
25+
height: 0;
26+
overflow: hidden;
27+
border-radius: 12px;
28+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
29+
margin: 16px 0;
30+
}
31+
.video-embed iframe {
32+
position: absolute;
33+
top: 0;
34+
left: 0;
35+
width: 100%;
36+
height: 100%;
37+
border: 0;
38+
border-radius: 12px;
39+
}
40+
</style>

.vitepress/theme/custom.css

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.VPFooter .message {
2+
text-align: left !important;
3+
display: flex !important;
4+
align-items: center;
5+
gap: 8px;
6+
color: #999;
7+
font-size: 0.85em;
8+
}
9+
10+
.VPFooter .copyright {
11+
display: none;
12+
}
13+
14+
/* Let no-sidebar pages (Examples, Videos index) use full width.
15+
VitePress scoped styles require !important to override. */
16+
@media (min-width: 960px) {
17+
.VPDoc:not(.has-sidebar) .container {
18+
max-width: 1152px !important;
19+
}
20+
.VPDoc:not(.has-sidebar) .content {
21+
max-width: 1152px !important;
22+
}
23+
}

.vitepress/theme/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import DefaultTheme from 'vitepress/theme'
2+
import './custom.css'
3+
import VideoEmbed from './components/VideoEmbed.vue'
4+
5+
export default {
6+
extends: DefaultTheme,
7+
enhanceApp({ app }) {
8+
app.component('VideoEmbed', VideoEmbed)
9+
}
10+
}

README.md

Lines changed: 14 additions & 58 deletions

_quarto.yml

Lines changed: 0 additions & 70 deletions
This file was deleted.

0 commit comments

Comments
 (0)