Skip to content

Latest commit

 

History

History
241 lines (209 loc) · 6.52 KB

CONTRIBUTING.md

File metadata and controls

241 lines (209 loc) · 6.52 KB

How to contribute

🎉 First off, thanks for taking the time to contribute! 🎉

Conferences

Adding conference

Let's say you want to add conference React Conf 2018 that took place on October 25 & 26.

  1. Fork the project
  2. Create file data/conferences/2018/2018-10-25-react-conf-2018.yaml
    • 2018-10-25 - first day of the conference
    • react-conf-2018 - slugified name of the conference
  3. Follow the styleguide.
  4. Create a pull request named Add 2018-10-25-react-conf-2018.
  5. After you submit your pull request, verify that all status checks are passing.

Updating conference

Let's say you want to update some info for conference React Conf 2018.

  1. Fork the project
  2. Follow the styleguide.
  3. Create a pull request named Update 2018-10-25-react-conf-2018.
  4. After you submit your pull request, verify that all status checks are passing.

What if the status checks are failing?

Check the build log - it contains useful information on what's going wrong (look for the word_FAIL_). If it doesn't help please verify that the submitted file is a valid YAML: https://yaml-online-parser.appspot.com/ If still in doubt - ask me.

Styleguide

Minimal config

Note that talks part is optional.

conference:

  name: React Conf 2018
  status: incomplete
  series: reactjs.org
  tags:
    -
    -
    -
  links:
    playlist:
    twitter:
    youtube:
    website:
  date:
    from: 2018-10-25
    to: 2018-10-26
  location:
  description:

talks:

  - title: React Today and Tomorrow
    lang: en
    type: regular
    time: 2018-10-25
    authors:
    slides:
    videos:
    description:

Full config

conference:

  name: React Conf 2018
  status: complete
  series: reactjs.org
  tags:
    - javascript
    - react
    -
  links:
    playlist: https://www.youtube.com/playlist?list=PLPxbbTqCLbGE5AihOSExAa4wUM-P42EIJ
    twitter: reactjs
    youtube: UCz5vTaEhvh7dOHEyd1efcaQ
    website: https://conf.reactjs.org/
  date:
    from: 2018-10-25
    to: 2018-10-26
  location:
    country: United States
    city: Henderson, NV
  description: |-
    React Conf 2018 is the official Facebook React event. This year's event will be held in Henderson, Nevada.

talks:

  - title: React Today and Tomorrow
    lang: en
    type: regular
    time: 2018-10-25 09:30:00
    authors:
      - name: Sophie Alpert
        twitter: sophiebits
        github: sophiebits
        website: https://sophiebits.com/
      - name: Dan Abramov
        twitter: dan_abramov
        github: gaearon
        website: https://overreacted.io/
    slides:
      - https://slides.com/danabramov/react-today-and-tomorrow
    videos:
      - https://youtu.be/V-QO-KO90iQ
    description: |-
      Let's see where's React today and where it's going to…

All fields explained

  • conference
    • Type: required
    • Value:
    • Description: object containing information about conference itself
  • conference.name
    • Type: required
    • Value: free-form string
    • Description: conference name
  • conference.status
    • Type: required
    • Value: [complete, incomplete]
    • Description: if all talks are present complete otherwise incomplete.
  • conference.series
    • Type: required
    • Value: slugified string
    • Description: stripped domain name, used to match other seasons
  • conference.tags
    • Type: optional
    • Value: array of slugs
    • Description: see INFO_TAGS_VALUES in test/conferences.test.js
  • conference.links.playlist
    • Type: optional
    • Value: URL
    • Description: playlist URL (on YouTube, Vimeo, …)
  • conference.links.twitter
    • Type: optional
    • Value: slugified string
    • Description: official conference Twitter ID
  • conference.links.youtube
    • Type: optional
    • Value: free-form string
    • Description: YouTube channel ID
  • conference.links.website
    • Type: optional
    • Value: URL
    • Description: official conference website
  • conference.date.from
    • Type: required
    • Value: date
    • Description: first day of the conference in format yyyy-mm-dd
  • conference.date.to
    • Type: required
    • Value: date
    • Description: last day of the conference in format yyyy-mm-dd
  • conference.location.country
    • Type: optional
    • Value: free-form string
    • Description: country the talk is taking place in, see test/countries.json
  • conference.location.city
    • Type: optional
    • Value: free-form string
    • Description: city the talk is taking place in
  • conference.description
    • Type: optional
    • Value: free-form string
    • Description: one-line description of the conference
  • talks
    • Type: optional
    • Value:
    • Description: array of talks
  • talks.title
    • Type: required
    • Value: free-form string
    • Description: title/name of the talk
  • talks.lang
    • Type: required
    • Value: ISO 639-1 string
    • Description: language the talk is given in, see test/iso-639-1.json
  • talks.type
    • Type: required
    • Value: [regular, lightning, workshop]
    • Description: type of the talks
  • talks.time
    • Type: required
    • Value: date or datetime
    • Description: yyyy-dd-mm or yyyy-dd-mm hh:mm:ss
  • talks.room
    • Type: optional
    • Value: free-form string
    • Description: room/hall/auditorium name
  • talks.authors
    • Type: optional
    • Value:
    • Description: array of authors
  • talks.authors.name
    • Type: optional
    • Value: free-form string
    • Description: name and surname
  • talks.authors.twitter
    • Type: optional
    • Value: slugified string
    • Description: Twitter ID
  • talks.authors.github
    • Type: optional
    • Value: slugified string
    • Description: GitHub ID
  • talks.authors.website
    • Type: optional
    • Value: URL
    • Description: author's web, must start with http:// or https://
  • talks.slides
    • Type: optional
    • Value: array of URLs
    • Description: every entry must start with http:// or https://
  • talks.videos
    • Type: optional
    • Value: array of URLs
    • Description: every entry must start with https://youtu.be/, https://vimeo.com/, or for other services an arbitrary URL starting with http:// or https:// is valid
  • talks.description
    • Type: optional
    • Value: free-form string
    • Description: one-line description of the talk