From 0b8a03ac4ea5b73f9bfd5a2fcf868b3502a88cd7 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 22 Aug 2022 09:56:01 -0700 Subject: [PATCH] Create node--ubc-project--featured-content.html.twig --- ...e--ubc-project--featured-content.html.twig | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 templates/content/node--ubc-project--featured-content.html.twig diff --git a/templates/content/node--ubc-project--featured-content.html.twig b/templates/content/node--ubc-project--featured-content.html.twig new file mode 100644 index 0000000..678d6f7 --- /dev/null +++ b/templates/content/node--ubc-project--featured-content.html.twig @@ -0,0 +1,118 @@ +{# +/** + * @file + * Theme override to display a node. + * + * Available variables: + * - node: Full node entity. + * - id: The node ID. + * - bundle: The type of the node, for example, "page" or "article". + * - authorid: The user ID of the node author. + * - createdtime: Time the node was published formatted in Unix timestamp. + * - changedtime: Time the node was changed formatted in Unix timestamp. + * - label: The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: Themed creation date field. + * - author_name: Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + * + * @todo Remove the id attribute (or make it a class), because if that gets + * rendered twice on a page this is invalid CSS for example: two lists + * in different view modes. + */ +#} +{% set container_attributes = create_attribute() %} +{% set caption_attributes = create_attribute() %} +{% set title_attributes = create_attribute() %} +{% set link_attributes = create_attribute() %} +{% + set classes = [ + view_mode ? 'node--view-mode-' ~ view_mode|clean_class, + 'relative', + 'img-cover', + ] +%} +{% + set container_classes = [ + 'container', + 'absolute', + 'inset-0', + 'z-40', + 'flex', + 'flex-col', + 'justify-center', + 'px-5', + 'mx-auto', + 'text-white', + 'md--px-4', + ] +%} +{% + set caption_classes = [ + 'p-16', + 'max-w-[640px]', + 'xl--max-w-[768px]', + ] +%} +{% + set title_classes = [ + 'mt-0', + 'text-white', + 'heading-responsive', + ] +%} +{% if node.field_show_gradient_on_image.value %} + {% set gradient = 'has-gradient--after' %} +{% endif %} + + + {% block content %} + {% if not (node.field_project_image.isEmpty == true) and content.field_project_image is defined %} + {{ content.field_project_image['0'] }} + {% endif %} + {% endblock %} +