
// Header of landing pages. title or text can be skipped:
// +jumbotron("{{ page_title }}", null, "{{ page_header_image }}")
// Any extra attributes added (in a separate group) will be passed as is:
// +jumbotron("{{ page_title }}", null, "{{ page_header_image }}")(data-node-id='{{ node._id }}')
mixin jumbotron(title, text, image)
	.jumbotron.jumbotron-overlay.text-white.mb-1(style='background-image: url(' + image + ');')&attributes(attributes)
		.container
			.row
				.col-md-8
					if title
						.display-4.text-uppercase.font-weight-bold
							=title
					if text
						.lead
							=text

// Secondary navigation.
// e.g. Workshops, Courses.
mixin nav-secondary(title)
	ul.nav.nav-secondary.justify-content-center.mb-5
		if title
			li.nav-item.font-weight-bold
				=title

		if block
			block
		else
			p No items defined.

mixin nav-secondary-link()
	li.nav-item
		a.nav-link&attributes(attributes)
			block

// Takes as argument the number of columns to use in this deck. 1-6
mixin card-deck(columns)
	.card-deck.card-padless(class='card-' + columns + '-columns')
		if block
			block
		else
			p No cards defined.

// Passes all attributes to the card.
// You can do fun stuff in a loop even like:
// +card(data-url="{{ url_for('projects.view', project_url=project.url) }}", tabindex='{{ loop.index }}')
mixin card()
	.card.card-fade.cursor-pointer.mb-4.js-project-go&attributes(attributes)
		if block
			block
		else
			p No card content defined.
