Skip to content

Commit 15f87ea

Browse files
author
Sangeeth Sudheer
committed
Adds self and content for next workshop
- adds support for multiple speakers in a workshop event
1 parent 9d048fb commit 15f87ea

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

.vuepress/components/EventWorkshop.vue

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<template>
22
<section class="talk">
33
<h3 class="title">{{ title }}</h3>
4-
<EventSpeaker :speaker="speaker" />
4+
<div v-if="description" v-html="description"></div>
5+
<EventSpeaker v-for="speaker in allSpeakers" :speaker="speaker" />
56
<ItemRow v-if="deck">
67
<Icon name="deck" slot="icon" />
78
<a :href="deck" target="_blank">Speaker Deck</a>
@@ -19,11 +20,16 @@
1920

2021
<script>
2122
export default {
22-
props: ['title', 'speaker', 'deck', 'issue', 'source'],
23+
props: ['title', 'speaker', 'speakers', 'description', 'deck', 'issue', 'source'],
2324
filters: {
2425
filename (value) {
2526
return value.split('/').pop()
2627
}
28+
},
29+
computed: {
30+
allSpeakers() {
31+
return this.speakers ? this.speakers : [this.speaker];
32+
}
2733
}
2834
}
2935
</script>
@@ -34,10 +40,9 @@ export default {
3440
}
3541
.title::before {
3642
content: "Workshop:";
37-
font-size: .5rem;
38-
position: absolute;
39-
top: -.6em;
40-
opacity: .75;
43+
padding-right: 10px;
44+
display: inline-block;
45+
text-decoration: underline;
4146
}
4247
</style>
4348

23/README.md

+23-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,29 @@ photos:
1313
agenda:
1414
- title: Vue - Zero To One Workshop
1515
type: workshop
16-
speaker: Nimit Bhargava <@NimitBhargava>
16+
speakers: [ Nimit Bhargava <@NimitBhargava>, Sangeeth Sudheer <@sangeeth96> ]
17+
description: |
18+
<p>This workshop is aimed at web developers who are new to the Vue.js ecosystem. We will walk you through all the essential bits and pieces of Vue.js that's required to make a modern single page application.</p>
19+
<p>If you're familiar with an existing framework such as React or Angular or have worked with JavaScript applications in general, you should be able to follow this workshop with ease. We would only need minimal tooling to run the project and examples (Node.js, Yarn, Visual Studio Code).</p>
20+
<p>We will learn these concepts and apply them by building a <a href="https://hnpwa.com/">Hacker News SPA</a>. Since real-world applications often make HTTP calls, we will see how you can do the same within Vue.js and what are the best practices for structuring your Vue.js application. For a sneak peek of what we will be trying to build, check the Hacker News PWA built by Evan You, the creator of Vue.js: <a href="https://github.com/vuejs/vue-hackernews-2.0">https://github.com/vuejs/vue-hackernews-2.0</a></p>
21+
<p>For those of you curious about the specific concepts we will be tackling, we've listed them below:</p>
22+
<ul>
23+
<li>Overview of Vue.js</li>
24+
<li>Getting familiar with @vue/cli</li>
25+
<li>Modern JavaScript concepts for Vue.js development</li>
26+
<li>Understanding reactivity: <code>data</code>, <code>computed</code> and <code>methods</code></li>
27+
<li>Creating and composing Single File Components (SFCs)</li>
28+
<li>Routing with <code>vue-router</code></li>
29+
<li>Styling your Vue.js SFCs</li>
30+
<li>Conditionally rendering elements</li>
31+
<li>Event handling</li>
32+
<li>Basics of state management</li>
33+
<li>Vue.js lifecycle methods</li>
34+
<li>Rendering lists of items</li>
35+
<li>Data binding and Forms in Vue.js</li>
36+
<li>Slots</li>
37+
<li>Best practices and gotcha's</li>
38+
</ul>
1739
sponsors:
1840
- type: venue
1941
sponsor: GeekyAnts Software Pvt Ltd <@geekyants>

0 commit comments

Comments
 (0)