2018-09-07 17:20:22 +02:00
|
|
|
// {#
|
|
|
|
// 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, url)
|
|
|
|
if url
|
2018-09-16 04:28:11 +02:00
|
|
|
a.jumbotron.text-white(
|
2018-09-07 17:20:22 +02:00
|
|
|
style='background-image: url(' + image + ');',
|
|
|
|
href=url)&attributes(attributes)
|
|
|
|
.container
|
|
|
|
.row
|
|
|
|
.col-md-9
|
|
|
|
if title
|
|
|
|
.display-4.text-uppercase.font-weight-bold
|
|
|
|
=title
|
|
|
|
if text
|
|
|
|
.lead
|
|
|
|
=text
|
2018-09-19 12:39:18 +02:00
|
|
|
if block
|
|
|
|
block
|
2018-09-07 17:20:22 +02:00
|
|
|
else
|
2018-09-16 04:28:11 +02:00
|
|
|
.jumbotron.text-white(style='background-image: url(' + image + ');')&attributes(attributes)
|
2018-09-07 17:20:22 +02:00
|
|
|
.container
|
|
|
|
.row
|
|
|
|
.col-md-9
|
|
|
|
if title
|
|
|
|
.display-4.text-uppercase.font-weight-bold
|
|
|
|
=title
|
|
|
|
if text
|
|
|
|
.lead
|
|
|
|
=text
|
2018-09-19 12:39:18 +02:00
|
|
|
if block
|
|
|
|
block
|
2018-09-07 17:20:22 +02:00
|
|
|
|
|
|
|
// {# Secondary navigation.
|
|
|
|
// e.g. Workshops, Courses. #}
|
|
|
|
mixin nav-secondary(title)
|
|
|
|
ul.nav.nav-secondary&attributes(attributes)
|
|
|
|
if title
|
2018-09-15 05:41:15 +02:00
|
|
|
li.nav-item
|
2018-09-15 06:16:06 +02:00
|
|
|
span.nav-title.nav-link.font-weight-bold.pointer-events-none= title
|
2018-09-07 17:20:22 +02:00
|
|
|
|
|
|
|
if block
|
|
|
|
block
|
|
|
|
else
|
|
|
|
p No items defined.
|
|
|
|
|
|
|
|
mixin nav-secondary-link()
|
|
|
|
li.nav-item
|
|
|
|
a.nav-link&attributes(attributes)
|
|
|
|
block
|
|
|
|
|
2018-09-16 03:42:48 +02:00
|
|
|
mixin card-deck(max_columns)
|
|
|
|
.card-deck.card-padless.card-deck-responsive(class="card-" + max_columns + "-columns")&attributes(attributes)
|
2018-09-07 17:20:22 +02:00
|
|
|
if block
|
|
|
|
block
|
|
|
|
|
|
|
|
// {#
|
|
|
|
// 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()
|
2018-09-10 19:02:27 +02:00
|
|
|
.card&attributes(attributes)
|
2018-09-07 17:20:22 +02:00
|
|
|
if block
|
|
|
|
block
|
|
|
|
else
|
|
|
|
p No card content defined.
|
2018-09-10 19:02:27 +02:00
|
|
|
|
|
|
|
mixin list-asset(name, url, image, type, date)
|
2018-09-11 19:37:22 +02:00
|
|
|
if block
|
|
|
|
block
|
2018-09-11 15:14:51 +02:00
|
|
|
|
2018-11-20 16:29:01 +01:00
|
|
|
// used together with timeline.js
|
|
|
|
mixin timeline(projectid, sortdirection)
|
|
|
|
section.timeline.placeholder(
|
|
|
|
data-project-id=projectid,
|
|
|
|
data-sort-dir=sortdirection,
|
|
|
|
)
|
|
|
|
// TODO: Make nicer reuseable placeholder
|
2018-11-21 20:32:27 +01:00
|
|
|
.h3.text-center.text-secondary.p-5.border-bottom
|
2018-11-20 16:29:01 +01:00
|
|
|
i.pi-spin.spin
|
2018-11-21 20:32:27 +01:00
|
|
|
|
2018-11-20 16:29:01 +01:00
|
|
|
|
|
|
|
|