-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/add presentations #108
Conversation
presentationDataFiles.keys().forEach((fileName) => { | ||
let fileData = presentationDataFiles(fileName); | ||
fileName = fileName.replace(/\.\//, '').replace(/\.json/, '') | ||
const [theme, year, title] = fileName.split("/", 3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefered keep a directory architecture. It really simple to put everything in a big json.
But I really think it will be more easier to contribute with this directory architecture.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So are you thinking each person will add their own markdown file that has YAML / JSON in it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a possibility if they want to. Actually I will strongly recommend json to keep same format across every talk.
Just saying that finding informations can be easier in directory architecture than in big json. And it will be really esay to convert to NoSql if needed.
if (filters["language"] && filters["language"] !== presentation["language"]) { | ||
return false; | ||
} | ||
if (filters["event"] && filters["event"] !== presentation["event"]["name"]) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if presentation["event"] not defined it will crash. But can't add the check because we don't want to return a presentation without event if the event filter is on.
This need a second condition just for it. Like json format can be mandatory I didn't do it. I can if asked.
return {}; | ||
}, | ||
methods: { | ||
getItemsForPresentationKey(key, subKey=null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Getting all the filter item get methods can be improved to only loop over presentation once (like done in presentationFiltered). But originally I wanted the filter to be related to each others (only display items left depends of other filters selectionned but that trigger some UX issues).
Can be change to loop only once if needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job on this first iteration!
I left some comments for you. Also, when you have a moment, can you check the preview of the site?
https://deploy-preview-108--serene-sinoussi-5f776b.netlify.com/presentations/#discover
It looks like there's some missing pieces. Also, we should make sure to have a couple of examples for people so it's not just a blank page.
presentationDataFiles.keys().forEach((fileName) => { | ||
let fileData = presentationDataFiles(fileName); | ||
fileName = fileName.replace(/\.\//, '').replace(/\.json/, '') | ||
const [theme, year, title] = fileName.split("/", 3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So are you thinking each person will add their own markdown file that has YAML / JSON in it?
src/.vuepress/data/presentations/Example/2020/My Example Presentation.json
Outdated
Show resolved
Hide resolved
src/.vuepress/data/presentations/Example2/2019/My Example Presentation2.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just finished all you review and added what was missing. You can review again. I put some real data to allow you to see the preview.
I resolved all the conversations where I though we had nothing more to discuss and keep open the one with an answer of me even if it's done to let you resolve them.
|
||
## Presentation | ||
|
||
No need to post an issue for a presentation just get the presentation author authorization and submit a pull request following [this format](https://github.com/vuejs/events/compare/master...presnetation-pr-example?template=pull-request-presentation.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wording here
assignees: '' | ||
--- | ||
|
||
Thank you for submitting a presentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wording here
<div v-for="(yearPresentation, theme) in presentationFiltered" :key="theme"> | ||
<div v-if="filteredPresentationsCountByTheme(theme) > 0"> | ||
<!-- Title actually show it like this: Theme (3 presentations) --> | ||
<h2>{{ theme }} ({{filteredPresentationsCountByTheme(theme)}} {{pluralize("presentation", filteredPresentationsCountByTheme(theme))}})</h2> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe use a methods here instead of this concatenation of items ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AMontagu Thanks for addressing some of the comments. I've made some commits to update the language and will go ahead and merge so we can iterate on a separate branch.
Great work! 🙌
First draft to display/filter speaker presentation in the event website.
RFC related:
#87
What it does
Adding a new item in the top menu presentation that list presentation stocked in
src/data/presentations
.What missing
Github template to submit presentation and a link in the presentation page in the Submit categoryDesign.Label for filter.What can be improved
Using a free text for filter by titleUsing accordion on presentation. I can do it if I can add vuetify to the websiteThis come from the work done here: Vue-Organizers/Events#1. With the help of @carwack
Update 04/04/2020