From e0b9611b7449b3ef690bf3a4a3563e8b8a118a12 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 16 Apr 2025 19:15:22 +0100 Subject: [PATCH] Reformat and style the "Submitted by" text --- config/sync/core.date_format.short.yml | 2 +- .../templates/node--daily-email.html.twig | 83 +++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 web/themes/custom/opdavies/templates/node--daily-email.html.twig diff --git a/config/sync/core.date_format.short.yml b/config/sync/core.date_format.short.yml index bec35f555..bc16becf5 100644 --- a/config/sync/core.date_format.short.yml +++ b/config/sync/core.date_format.short.yml @@ -7,4 +7,4 @@ _core: id: short label: 'Default short date' locked: false -pattern: 'j M Y - H:i' +pattern: 'F jS, Y' diff --git a/web/themes/custom/opdavies/templates/node--daily-email.html.twig b/web/themes/custom/opdavies/templates/node--daily-email.html.twig new file mode 100644 index 000000000..bb54e1f8c --- /dev/null +++ b/web/themes/custom/opdavies/templates/node--daily-email.html.twig @@ -0,0 +1,83 @@ +{# +/** + * @file + * Default theme implementation to display a node. + * + * Available variables: + * - node: The node entity with limited access to object properties and methods. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: (optional) 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. + * - date: (optional) Themed creation date field. + * - author_name: (optional) 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". + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * + * @see template_preprocess_node() + * + * @ingroup themeable + */ +#} + + {{ title_prefix }} + {% if label and not page %} + + {{ label }} + + {% endif %} + {{ title_suffix }} + + {% if display_submitted %} +
+ {% set created = node.getCreatedTime() %} + + +
+ {% endif %} + + + {{ content }} + +