Fields in YYYY-CITY.yml General Fields Date-related Fields Branding Fields Location Fields Navigation Fields Organizer Fields Team Members Organizer Emails Sponsor fields Sponsor Levels Program Fields Program Items Program Element Colors Ignite Fields Pages and Frontmatter General Page Fields Talk Page Fields Speaker Page Fields Program Page Fields Blog Post Fields Other Settings Social Sharing Image Shortcodes google_form tito_widget cfp_dates email_organizers event_start event_end event_logo event_twitter registration_start registration_end
The /data/events/YYYY/CITY.main.yml
file is the main configuration file for your event. This is what each field does.
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
name |
String | Yes | The name of the event. Four digit year with the city name in lower-case, with no spaces. | "2017-chicago" |
year |
String | Yes | The year of the event. Make sure it is in quotes. | "2017" |
city |
String | Yes | The displayed city name of the event. Capitalize it. | "Salt Lake City" |
event_twitter |
String | Yes | The twitter handle for your event such as "devopsdayschi" or "devopsdaysmsp". Exclude the "@" symbol. | "devopsdayschi" |
description |
String | No | Overall description of your event. Quotation marks need to be escaped. | "It's time for more DevOpsDays at Ponyville!" |
ga_tracking_id |
String | No | If you have your own Google Analytics tracking ID, enter it here. | "UA-74738648-1" |
gtm_tracking_id |
String | No | If you have your own Google Analytics v4 tracking ID, enter it here. | "G-NCBC4PBEMK" |
event_group |
String | No | If you'd like to group different events together (ie, "australia"), set them to the same "event_group" | "ponyville" |
speakers_verbose |
String | No | Set this to "true" if you want verbose speaker attributes (URLs visible). | "true" |
cancel |
String | No | If your event must be cancelled, add this field with the value of "true" (case-sensitive). This will keep it from being listed in the "upcoming events" views. | "true" |
All dates are in unquoted YYYY-MM-DD, like this: variable: 2016-01-05
, or like variable: 2016-01-05T23:59:00-06:00
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
startdate |
YYYY-MM-DD | No | The start date of your event. Leave blank if you don't have a venue reserved yet. | 2016-01-05 |
enddate |
YYYY-MM-DD | No | The end date of your event. Leave blank if you don't have a venue reserved yet. | 2016-01-05 |
cfp_date_start |
YYYY-MM-DD | No | The date you will start accepting talk proposals. Can be a blank value. | 2016-01-05 |
cfp_date_end |
YYYY-MM-DD | No | The date you will close your call for proposals. Can be a blank value. If you set the full datetime string with correct TZ, CFP will display as open until local close time. | 2016-01-05T23:59:00-06:00 |
cfp_date_announce |
YYYY-MM-DD | No | The date you will inform proposers of status. Can be a blank value. | 2016-01-05 |
cfp_open |
String | No | Either "true" or "false". Can be blank. This controls whether or not the "propose" button shows on your event page. Deprecated field; if you have set cfp_date_start and cfp_date_end they will serve the same purpose. |
"true" |
cfp_link |
String | No | If you have a custom link for submitting proposals, add it here. This will control the Propose menu item as well as the "Propose" button. | "https://myurlhere" - reference it like "{{< event_link url-key="cfp_link" text="Propose a talk!" >}}" |
registration_date_start |
YYYY-MM-DD | No | The date you will start accepting registration. If this is set, will make the "Register" button appear on the event's "Welcome" page. Can be a blank value. | 2016-01-05 |
registration_date_end |
YYYY-MM-DD | No | The date you will close registration. Controls the appearance of the "Register" button on the "Welcome" page. If you set registration_date_start you must set registration_date_end . Can be a blank value (unless registration_date_start has been set). |
2016-01-05 |
registration_closed |
String | No | Set this to "true" if you need to manually close registration before your registration end date. | "true" |
registration_link |
String | No | If you have a custom registration link, enter it here. This will control the Registration menu item as well as the "Register" button. | "https://myurlhere" reference it like {{< event_link url-key="registration_link" text="Register to attend the conference!" >}} |
sponsor_link |
String | No | If you have a custom sponsorship link, enter it here. This will control the "Become an X Sponsor!" links. It does NOT change the "Sponsor" button. | "https://myurlhere" |
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
masthead_background |
String | No | The image, relative to static/events/YYYY-CITY that you want to be the background of the header on your page. |
skyline-night.jpg |
sharing_image |
String | No | This allows you to set an image that is displayed when posting on social sites (eg: Slack, Twitter, Facebook). This image is used in the og:image meta tag field. This image is relative to the static/events/YYYY-CITY/sharing directory. It can be either .png or .jpg. Recommended size is 1200 × 630. |
sharing.jpg |
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
coordinates |
String | Yes | The coordinates of your city. Get Latitude and Longitude of a Point. DEPRECATED. | "41.882219, -87.640530" |
location |
String | Yes | The generator scripts will default to the value of City , but you can make it the venue name. |
"Chicago Mart West" |
location_address |
String | No | Use the street address of your venue. This will show up on the welcome page if set. Also used by the event_map shortcode. |
"350 West Mart Center Drive, Chicago, IL 60654" |
These fields are used to control the navigation elements (menu) of your event's page. The syntax for navigation is thus:
nav_elements:
- name: propose
- name: location
- name: registration
- name: program
- name: speakers
- name: sponsor
- name: contact
- name: conduct
If you would like to add a custom/additional navigation to your menu, add another element where you would like it to appear. You will also need to provide the target for the link if it not relative to your event, as so:
nav_elements
- name: propose
- name: volunteer
- name: party
url: http://www.google.com
The above example would create a new menu item called "Volunteer" which linked to devopsdays/events/YYYY-CITY/volunteer
, and another menu item called "party" which would link to http://www.google.com
The menu items also take an optional parameter of icon
where you can set the font-awesome icon that will display on small screens. Note: This feature is currently deprecated, but it won't break anything if you use this setting Choose at http://fontawesome.io/icons/. Example:
nav_elements
- name: example
icon: "map-o"
Remember, the organizers listed are are the same people you have on the mailing list and Slack channel.
Each team member is an element of team_members
.
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
name |
String | Yes | The person's full name. | "John Doe" |
pronouns |
String | No | The person's pronouns. Displayed in brackets next to the name. | "he/him" |
role |
String | No | The role of the organizer in the team. If not specified, will display "Organizer". | "Sponsor Coordinator" |
twitter |
String | No | The twitter handle of the person, without the @ symbol |
"johndoe" |
employer |
String | No | The name of the person's employer. | "Acme Anvil Co." |
github |
String | No | The GitHub username of the person | "johndoe" |
facebook |
String | No | The full URL to the person's Facebook page | "https://www.facebook.com/sally.fields" |
linkedin |
String | No | The full URL to the person's LinkedIn page | "https://www.linkedin.com/in/sallyfields" |
website |
String | No | The full URL to the person's webpage | "https://mattstratton.com" |
mastodon |
String | No | The full URL to the person's Mastodon profile | "https://hachyderm.io/@mattstratton" |
image |
String | No | The name of the image for this user, located in static/events/YYYY-CITY/organizers/ . This image must be a JPEG, and should be either 300px square or (optimally) 600px square. |
"sally-fields.jpg" |
bio |
String | No | The bio for the user. Markdown is supported. Quotation marks must be escaped. | "Thought leader paradigm affordances physical computing quantitative vs. qualitative disrupt thought leader disrupt. Venture capital Steve Jobs pitch deck moleskine sticky note agile Steve Jobs pivot disrupt grok driven. Human-centered design bootstrapping agile driven grok food-truck ship it long shadow." |
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
organizer_email |
String | Yes | Organizer email address | "ponyville@devopsdays.org" |
proposal_email |
String | Yes | Proposal email address | "ponyville-proposals@devopsdays.org" |
Each team member is an element of sponsors
.
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
id |
String | Yes | The name of the sponsor; matches to a file in `date/sponsors | arresteddevops |
level |
String | Yes | The level of sponsorship for this sponsor. | gold |
url |
String | No | Will override the URL specified in the sponsor file. Useful if you have event-specific URL's for a sponsor. | http://mysponsor.com/?campaign=me |
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
sponsors_accepted |
String | No | Set this to "yes" if you would like the "become a sponsor" link to appear | "yes" |
sponsors_showempty |
String | No | Set this to "no" to hide the sponsor levels without a sponsor | "no" |
All sponsorship levels are elements of sponsor_levels
.
Field Name | Type | Required | Description | Example |
---|---|---|---|---|
id |
String | Yes | Identifies the sponsor level as mapped to your list of sponsors. No spaces. | gold |
label |
String | Yes | How the sponsor level appears on the site. Spaces are allowed. | Gold |
max |
String | No | The maximum amount of sponsors allowed for this level. Once this has been reached, the "become a sponsor" link for that level will no longer appear. Setting this to "0", or leaving it blank, results in unlimited sponsors for that level | 10 |
The elements of your program are set in the program
section. Example:
program:
- title: "Registration, Breakfast, and Sponsor Booths Open"
type: custom
date: 2017-06-16
start_time: "08:00"
end_time: "09:00"
custom_url: "https://example.com/registration"
- title: "Opening Welcome"
type: custom
date: 2017-06-16
start_time: "09:15"
end_time: "09:00"
Field Name | Required | Description | Example |
---|---|---|---|
title |
Yes | The name of the program element. If it is a talk, ignite, or workshop, use the name of the talk/ignite/workshop file, minus the .md extension. |
"Opening Welcome" or "apple-jack" |
type |
Yes | The type for the program element. Valid choices are custom , talk , ignite , workshop , or open-space . This defines the color of the program element. talk , ignite , and workshop types will create a link to the program item named in title . |
talk |
date |
Yes | The date of the program element, in YYYY-MM-DD format. | 2017-06-16 |
start_time |
Yes | The start time of the program element. | "08:00" |
end_time |
Yes | The end time of the program element. | "13:40" |
comments |
No | Additional comments/notes about the program types talk , workshop and custom (for example, location of an evening event). Markdown is supported. |
"This will be at the Pony Club,1005 Ponyville Drive,Ponyville, IL,60612" |
background_color |
No | Allows the ability to override the color of the program element. Only the background color can be changed; please test to make sure the color works with the displayed text colors. Color is expressed in RGB HEX value. Must be in quotes. | "#FFFA99" |
custom_url |
No | Replaces the URL for various program types to link to external URL or a URL of your choosing. Valid for custom , talk , ignite , workshop , or open-space |
"https://example.com" |
block |
No | Ignite section only - if there are multiple ignites in the same day, this allows them to be broken up into multiples | "ignite-1" |
The current colors for program types (click on a link to see the color):
The Ignite elements are set in the ignites
section. Example:
ignites:
- title: "spike"
date: 2017-06-16
- title: "rainbow-dash"
date: 2017-06-16
custom_url: "https://example.com/ignites
- title: "twilight-sparkle"
date: 2017-06-16
block: "ignite-1"
Field Name | Required | Description | Example |
---|---|---|---|
title |
Yes | The title of the ignite. It should be named after the filename (without the .md extension) of a talk |
"matt-stratton" |
date |
Yes | The date of the ignite, in YYYY-MM-DD format. | 2017-06-16 |
custom_url |
No | Allows linking to URL off-site for various reasons. | "https://example.com/schedule" |
block |
No | If there are multiple blocks of ignites in the same day, this specifies which block | "ignite-1" |
The "frontmatter" refers to the TOML fields at the beginning of all .md
files in your content directory (i.e., content/events/2017-ponyville/...
). Frontmatter looks like this:
+++
Description = "DevOpsDays Ponyville is back for 2017! We will be hanging out and showing off our awesomeness."
Title = "devopsdays Ponyville 2017"
Type = "welcome"
aliases = ["/events/2017-ponyville/welcome"]
+++
The content is everything following the last +++
.
All pages have some common frontmatter elements that they share. These include:
Field Name | Required | Description | Example |
---|---|---|---|
Description |
No | The summary, or description, of the content of the page. It is highly recommended that this is populated on every page, as it is used in social sharing, as well as for SEO purposes. | "DevOpsDays Ponyville is back for 2017! We will be hanging out and showing off our awesomeness." |
Title |
Yes | The title of the page. This is usually prepopulated for you, but it is highly recommended that you do NOT use the default titles; add some flair to set your event apart. | "devopsdays Ponyville 2017" |
Type |
Yes | This is required, but is usually pre-populated. Valid types are "event", "welcome", "program", "speaker", "speakers", and "talk". The type you should use for "regular" pages is "event". | "talk" |
aliases |
No | This creates aliases to the page. For example, if you want your index page to also be accessible as /welcome under your event, you would add the alias here. |
["/events/2017-ponyville/welcome"] |
sharing_image |
No | This allows you to set an image that is displayed when posting on social sites (eg: Slack, Twitter, Facebook). This image is used in the og:image meta tag field. This image is relative to the static/events/YYYY-CITY/sharing directory. It can be either .png or .jpg. Recommended size is 1200 × 630. |
"matt-stratton-card.jpg" |
Pages of the type talk
(which can include workshops, ignites, or talks) have a few additional frontmatter elements available to them, in addition to the ones mentioned above.
Field Name | Required | Description | Example |
---|---|---|---|
speakers |
Yes | An array of the names of the speakers (relative to the filenames for the speaker in your content/events/YYYY-CITY/speakers directory). Even if there is only one speaker, it should be formatted as an array. |
speakers = ["fluttershy", "spike"] |
youtube |
No | The ID of the YouTube video (not the full URL). | "8ClZXJsgpHY" |
vimeo |
No | The ID of the Vimeo video (not the full URL). | "219025568" |
slideslive |
No | The ID of the presentation on SlidesLive | "12345678" |
speakerdeck |
No | The URL to the talk on Speakerdeck. Use the full URL. | "https://speakerdeck.com/mattstratton/shifting-left-securely" |
slideshare |
No | The URL to the talk on Slideshare. Use the full URL | "http://www.slideshare.net/mattstratton/the-five-love-languages-of-devops-54549536" |
googleslides |
No | The ID of the talk on Google Slides (not the full URL). | "1QnakgUC8AaNydPZCmKGYYja8gs2WoHbHRSjioIVdD9g" |
pdf |
No | The URL to the PDF. Use the full URL. | "http://www.mattstratton.com/my-slides.pdf" |
notist |
No | The ID of the deck on Notist, including the username. | "mattstratton/jLwszn" |
slides |
No | If the slides are available on a service other than Speakerdeck or Slideshare, enter the URL here. | "http://www.mattstratton.com/my-slides" |
Pages of the type speaker
have a few additional frontmatter elements available to them, in addition to the general ones mentioned above.
Field Name | Required | Description | Example |
---|---|---|---|
website |
No | The website for the speaker. | "https://www.mattstratton.io" |
twitter |
No | Speaker's Twitter username, without the @. | "mattstratton" |
facebook |
No | Speaker's Facebook URL | "https://www.facebook.com/matt.stratton" |
linkedin |
No | Speaker's LinkedIn URL | "https://www.linkedin.com/in/mattstratton/" |
github |
No | Speakers' GitHub username. | "mattstratton" |
gitlab |
No | Speakers' GitLab username. | "mattstratton" |
twitch |
No | Speakers' Twitch username. | "mattstratton" |
mastodon |
No | Speakers' Mastodon URL username. | "https://hachyderm.io/@mattstratton" |
image |
No | The image for the speaker. This image is relative to the static/events/YYYY-CITY/speakers directory. It can be either .png or .jpg. It is recommended to be 600px square. |
"matt-stratton.jpg" |
The page of type program
has one additional frontmatter element.
Field Name | Required | Description | Example |
---|---|---|---|
icons |
No | Toggles display of slide/video icons on the program page | "true" |
Field Name | Required | Description | Example |
---|---|---|---|
Description |
No | The short summary of this post. This is used in various places on the site, as well as for sharing. While it is optional, it is highly recommended to use it. Markdown is allowed. | "DevOpsDays Chicago took place on August 30th & 31st at Summit West in beautiful downtown Chicago. A sold-out, diverse crowd gathered for keynotes, presentations, lightning talks, and open spaces to learn, discuss, and promote all things DevOps." |
Author |
No | The name of the person who wrote the blog post. | "Matt Stratton" |
title |
Yes | The title for the blog post. | "Chicago 2016 In Review" |
sharing_image |
No | The image to use for social sharing. This is a path relative to the static directory. |
"img/blog/chicago-2016-sharing.jpg" |
An event can create a sharing image for use on social media (when the url is shared on Facebook, for instance). This image can be either PNG or JPG and must be located in the static/events/YYYY-CITY/sharing/
directory. It should be a minimum 1200 x 630px, and use ratio: 1.91:1. To set the overall sharing image for the event, set the sharing_image
field in the YYYY-CITY.yml
data file. To set a custom sharing image on a per-page basis (for example, on an individual speaker's page), set the sharing_image
field in the page's frontmatter.
Shortcodes can be used in any of your content (i.e., ".md" files. They provide easy ways to add content without having to write a lot of coding.)
This shortcode allows for the embedding of a Google form on a page, in a manner that maintains the responsive, mobile-friendly design of the site. To use it, you only need the URL of your form (not the full embed code) and enter this on your page (substituting the proper URL):
{{< google_form "https://docs.google.com/forms/d/e/1FAIpQLScvv-ty_wEBlYkJaEC1OU0qqqbIHjf9JVa-Ptdo5TcHqz5EDA/viewform?usp=sf_link" >}}
Using the tito shortcode enables the embedding of the tito sales widget described on their documentation (https://ti.to/docs/widget). To use it you just need to enter to event path of your tito event which will follow the URL of your event page. For example, if the URL is https://ti.to/devopsdays-london/2019
your event path would be devlopsdays-london/2019
. The shortcode also enables the other features described such as the ability to show specific tickets using the examples shown below
{{< tito_widget event="devopsdays-london/2019" >}}
To show only a specific ticket within the widget:
{{< tito_widget event="devopsdays-london/2019" releases="fiaurhghf2k">}}
To show discounted tickets on the page (they display as a striked through full-price along with the new price):
{{< tito_widget event="devopsdays-london/2019" discount-code="examplediscount" >}}
This shortcode displays the dates for the CFP. It is used in the default propose.md
that is generated from the script.
{{< cfp_dates >}}
This shortcode will generate a mailto
link to the organizer email address.
{{< email_organizers >}}
To add a subject to the mailto
link:
{{< email_organizers subject= "Your Subject Here">}}
Returns the start date of your event
{{< event_start >}}
Returns the end date of your event
{{< event_end >}}
If you have a logo.png
or logo.jpg
in your static/events/city-yyyy
directory, this will return the HTML for the image. This is mostly suited for use on your welcome.md
page.
{{< event_logo >}}
This returns a twitter follow link, set to either @devopsdays
if you have not set a Twitter handle in your data file, or whatever is set as your event's Twitter handle in your data file.
{{< event_twitter >}}
Returns the start date of registration for your event
{{< registration_start >}}
Returns the end date of registration for your event
{{< registration_end >}}
If you have location_address
set in your datafile, this will return a Google Map of that address. Takes two optional parameters (height
and width
) to set the dimensions of the map. Both parameters are optional. If not set, the map will default to 450px wide and 250px tall.
{{< event_map >}}
or
{{< event_map width = "600" height="500" >}}
Embeds the DevOpsDays Pretix ticket and registration system This shortcode requires two parameters, city and year, where the city is typically the organiser city and the year the event year. Please note this may be differ, please check with in your Pretix for the two names.
{{< tix city="belgium" year="antwerp-2024" >}}