You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
10 KiB
224 lines
10 KiB
{# |
|
/** |
|
* @file |
|
* Magazine+'s theme implementation to display a post 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() |
|
*/ |
|
#} |
|
|
|
{% extends "node.html.twig" %} |
|
{% block node_side %} |
|
<div class="node__side"> |
|
{% if display_submitted or mt_setting.reading_time or mt_setting.share_links or mt_setting.font_resize or mt_setting.post_progress or mt_setting.print_button %} |
|
{% if display_submitted %} |
|
<div class="node__user-info"> |
|
{% if author_picture %} |
|
<div class="user-picture"> |
|
<div{{ author_attributes }}> |
|
{{ author_picture }} |
|
</div> |
|
</div> |
|
{% endif %} |
|
{{ metadata }} |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.reading_time %} |
|
{{ attach_library('magazineplus/reading-time') }} |
|
<div class="reading-time"> |
|
{% if minutes < 1 %} |
|
{% trans %} |
|
1<div class="reading-time__text">min read</div> |
|
{% endtrans %} |
|
{% else %} |
|
{% trans %} |
|
{{ minutes }}<div class="reading-time__text">min read</div> |
|
{% endtrans %} |
|
{% endif %} |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.affix_side %} |
|
{{ attach_library('magazineplus/node-side-affix') }} |
|
<div id="affix"> |
|
{% endif %} |
|
{% if mt_setting.font_resize %} |
|
{{ attach_library('magazineplus/font-resize') }} |
|
<div class="content-font-settings"> |
|
<div class="font-resize"> |
|
<a href="#" id="decfont">A-</a> |
|
<a href="#" id="incfont">A+</a> |
|
</div> |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.post_progress %} |
|
{{ attach_library('magazineplus/post-progress') }} |
|
<div class="post-progress"> |
|
<div class="post-progress__value"></div> |
|
<div class="post-progress__text">{% trans %}read{% endtrans %}</div> |
|
<div class="post-progress__bar"></div> |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.share_links_print_position == "node-side" and (mt_setting.share_links or mt_setting.print_button) %} |
|
{{ attach_library('magazineplus/share-links') }} |
|
<div class="share-links"> |
|
<ul> |
|
{% if mt_setting.share_links %} |
|
<li class="facebook{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="https://www.facebook.com/sharer/sharer.php?u={{ url('entity.node.canonical', {'node': node.id}) }}&t={{node.label | url_encode(true)}}" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"> |
|
<i class="fa fa-facebook"><span class="sr-only">facebook</span></i> |
|
</a> |
|
</li> |
|
<li class="twitter{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="http://twitter.com/share?text={{node.label | url_encode(true)}}&url={{ url('entity.node.canonical', {'node': node.id}) }}" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> |
|
<i class="fa fa-twitter"><span class="sr-only">twitter</span></i> |
|
</a> |
|
</li> |
|
<li class="email{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="mailto:?Subject={{node.label | url_encode(true)}}&Body={{ url('entity.node.canonical', {'node': node.id}) }}"> |
|
<i class="fa fa-envelope-o"><span class="sr-only">email</span></i> |
|
</a> |
|
</li> |
|
{% endif %} |
|
{% if mt_setting.print_button %} |
|
<li class="print{{ (mt_setting.share_links) ? ' share-links-enabled' : '' }}"> |
|
<div class="print"> |
|
<a href="javascript:window.print()" class="print-button"> |
|
<i class="fa fa-print"><span class="sr-only">print</span></i> |
|
</a> |
|
</div> |
|
</li> |
|
{% endif %} |
|
</ul> |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.affix_side %} |
|
</div> |
|
{% endif %} |
|
{% if mt_setting.share_links_print_position == "bottom" and (mt_setting.share_links or mt_setting.print_button) %} |
|
{{ attach_library('magazineplus/share-links') }} |
|
{{ attach_library('magazineplus/fixed-share-links') }} |
|
<div class="share-links"> |
|
<ul> |
|
{% if mt_setting.share_links %} |
|
<li class="facebook{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="https://www.facebook.com/sharer/sharer.php?u={{ url('entity.node.canonical', {'node': node.id}) }}&t={{node.label | url_encode(true)}}" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"> |
|
<i class="fa fa-facebook"><span class="sr-only">facebook</span></i> |
|
</a> |
|
</li> |
|
<li class="twitter{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="http://twitter.com/share?text={{node.label | url_encode(true)}}&url={{ url('entity.node.canonical', {'node': node.id}) }}" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> |
|
<i class="fa fa-twitter"><span class="sr-only">twitter</span></i> |
|
</a> |
|
</li> |
|
<li class="email{{ (mt_setting.print_button) ? ' print-button-enabled' : '' }}"> |
|
<a href="mailto:?Subject={{node.label | url_encode(true)}}&Body={{ url('entity.node.canonical', {'node': node.id}) }}"> |
|
<i class="fa fa-envelope-o"><span class="sr-only">email</span></i> |
|
</a> |
|
</li> |
|
{% endif %} |
|
{% if mt_setting.print_button %} |
|
<li class="print{{ (mt_setting.share_links) ? ' share-links-enabled' : '' }}"> |
|
<div class="print"> |
|
<a href="javascript:window.print()" class="print-button"> |
|
<i class="fa fa-print"><span class="sr-only">print</span></i> |
|
</a> |
|
</div> |
|
</li> |
|
{% endif %} |
|
</ul> |
|
</div> |
|
{% endif %} |
|
{% endif %} |
|
</div> |
|
{% endblock %} |
|
{% block meta_area %} |
|
{% if display_submitted %} |
|
<div class="node__user-info"> |
|
<div class="user-name">{% trans %}<span>by </span> {% endtrans %}{{ author_name }}</div> |
|
{{ metadata }} |
|
</div> |
|
{% endif %} |
|
{% if display_submitted or content.field_mt_post_category or content.comment %} |
|
<div class="node__meta"> |
|
<div class="node-info"> |
|
{% if content.field_mt_post_category %} |
|
<div class="node-info-item node-info-item-term">{{content.field_mt_post_category}}</div> |
|
{% endif %} |
|
{% if display_submitted %} |
|
<div class="node-info-item node-info-item-date">{{date}}</div> |
|
{% endif %} |
|
{% if content.comment %} |
|
<div class="node-info-item node-info-item-comments"> |
|
{% trans %} |
|
1 comment |
|
{% plural comment_count %} |
|
{{ comment_count }} comments |
|
{% endtrans %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% endif %} |
|
{% endblock %} |
|
{% block content %} |
|
{{ attach_library('magazineplus/node-post') }} |
|
<div class="node__main-content-section"> |
|
{{ content|without('links', 'field_mt_post_category', 'comment') }} |
|
</div> |
|
{{ content.comment }} |
|
{% endblock %}
|
|
|