Chutier link from audio player cartel is working git add .

This commit is contained in:
Bachir Soussi Chiadmi
2018-03-11 18:44:32 +01:00
parent 12a4b7c6a9
commit c0d185bb6d
23 changed files with 667 additions and 197 deletions
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3.1749999 3.1750001" height="12" width="12"><path d="M0 0h3.175v3.175H0z" style="isolation:auto;mix-blend-mode:normal" color="#000" overflow="visible" fill="none"/><path style="line-height:20px;-inkscape-font-specification:'Crimson, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start" d="M2.553.402H.622v2.343l.798-.766.168-.16.167.16.798.766zm.023-.241q.043 0 .083.017.062.024.098.077.038.053.038.117v2.431q0 .064-.038.117-.036.053-.098.077-.036.016-.083.016-.09 0-.157-.06l-.831-.8-.832.8q-.068.061-.157.061-.043 0-.083-.017-.062-.024-.1-.077Q.38 2.867.38 2.803V.372q0-.064.036-.117.038-.053.1-.077Q.556.16.6.16z" font-weight="400" font-family="#dc143c" letter-spacing="0" word-spacing="0"/></svg>

After

Width:  |  Height:  |  Size: 809 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 3.1749999 3.1750001"><path style="isolation:auto;mix-blend-mode:normal" d="M0 0h3.175v3.175H0z" color="#000" overflow="visible" fill="none"/><path d="M2.576.16c.029 0 .057.007.083.018a.207.207 0 0 1 .098.077.197.197 0 0 1 .038.117v2.431a.197.197 0 0 1-.038.117.207.207 0 0 1-.098.077.212.212 0 0 1-.083.016.224.224 0 0 1-.157-.06l-.831-.8-.832.8a.225.225 0 0 1-.34-.033.203.203 0 0 1-.036-.117V.372A.204.204 0 0 1 .516.178.209.209 0 0 1 .6.16z" style="line-height:20px;-inkscape-font-specification:'Crimson, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start" font-weight="400" font-family="#dc143c" letter-spacing="0" word-spacing="0"/></svg>

After

Width:  |  Height:  |  Size: 776 B

@@ -131,6 +131,7 @@ edlp_vars = {
console.log('AudioPlayer node loaded', data);
this.$cartel.html(data.rendered);
this.$cartel.removeClass('loading');
_$body.trigger({'type':'new-audio-cartel-loaded'});
initAjaxLinks();
},
onNodeLoadFail(jqxhr, textStatus, error){
@@ -1365,67 +1365,75 @@ body.ajax-loading main[role="main"]:before {
height: 100%; }
#audio-player .cartel {
position: relative;
max-width: 400px;
max-width: 350px;
margin-left: 1em;
background-color: white;
opacity: 1;
-webkit-transition: opacity 0.5s ease-in-out;
transition: opacity 0.5s ease-in-out; }
transition: opacity 0.5s ease-in-out;
white-space: nowrap; }
#audio-player .cartel.loading {
opacity: 0; }
#audio-player .cartel .first-cartel .entrees {
#audio-player .cartel .actions, #audio-player .cartel .cartels {
display: inline-block;
vertical-align: top;
white-space: normal;
position: relative; }
#audio-player .cartel .actions {
width: 1.5em; }
#audio-player .cartel .cartels .first-cartel .entrees {
line-height: 0; }
#audio-player .cartel .first-cartel .entrees span {
#audio-player .cartel .cartels .first-cartel .entrees span {
display: inline-block;
width: 8px;
height: 8px;
background-color: black;
margin-right: 3px; }
#audio-player .cartel .first-cartel .entrees span[tid='134'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='134'] {
background-color: #2b8f2f; }
#audio-player .cartel .first-cartel .entrees span[tid='121'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='121'] {
background-color: #3a33b6; }
#audio-player .cartel .first-cartel .entrees span[tid='125'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='125'] {
background-color: #2c9f57; }
#audio-player .cartel .first-cartel .entrees span[tid='119'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='119'] {
background-color: #c48978; }
#audio-player .cartel .first-cartel .entrees span[tid='132'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='132'] {
background-color: #5270bb; }
#audio-player .cartel .first-cartel .entrees span[tid='122'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='122'] {
background-color: #fb54d3; }
#audio-player .cartel .first-cartel .entrees span[tid='129'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='129'] {
background-color: #e07483; }
#audio-player .cartel .first-cartel .entrees span[tid='120'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='120'] {
background-color: #655845; }
#audio-player .cartel .first-cartel .entrees span[tid='130'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='130'] {
background-color: #7e0868; }
#audio-player .cartel .first-cartel .entrees span[tid='118'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='118'] {
background-color: #0e7121; }
#audio-player .cartel .first-cartel .entrees span[tid='127'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='127'] {
background-color: #dabd42; }
#audio-player .cartel .first-cartel .entrees span[tid='133'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='133'] {
background-color: #0399bb; }
#audio-player .cartel .first-cartel .entrees span[tid='128'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='128'] {
background-color: #399a1c; }
#audio-player .cartel .first-cartel .entrees span[tid='124'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='124'] {
background-color: #708540; }
#audio-player .cartel .first-cartel .entrees span[tid='116'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='116'] {
background-color: #191bff; }
#audio-player .cartel .first-cartel .entrees span[tid='117'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='117'] {
background-color: #279d84; }
#audio-player .cartel .first-cartel .entrees span[tid='131'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='131'] {
background-color: #5219ab; }
#audio-player .cartel .first-cartel .entrees span[tid='126'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='126'] {
background-color: #d49cb6; }
#audio-player .cartel .first-cartel .entrees span[tid='123'] {
#audio-player .cartel .cartels .first-cartel .entrees span[tid='123'] {
background-color: #497715; }
#audio-player .cartel .first-cartel h2.node-title {
#audio-player .cartel .cartels .first-cartel h2.node-title {
margin: 0.2em 0 0;
font-size: 1em; }
#audio-player .cartel .first-cartel p {
#audio-player .cartel .cartels .first-cartel p {
margin: 0;
font-size: 0.75em; }
#audio-player .cartel .second-cartel {
#audio-player .cartel .cartels .second-cartel {
position: absolute;
top: 0;
left: 0;
@@ -1435,20 +1443,37 @@ body.ajax-loading main[role="main"]:before {
opacity: 0;
-webkit-transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out; }
#audio-player .cartel .second-cartel > * {
#audio-player .cartel .cartels .second-cartel > * {
display: inline-block;
vertical-align: top; }
#audio-player .cartel .second-cartel .col-left a {
#audio-player .cartel .cartels .second-cartel .col-left a {
display: block;
font-size: 0.90em;
font-weight: 600; }
#audio-player .cartel .second-cartel .col-right {
#audio-player .cartel .cartels .second-cartel .col-right {
font-size: 0.75em; }
#audio-player .cartel:hover .second-cartel {
opacity: 1; }
#audio-player.is-playing .btns .play-pause {
background-image: url(../img/audio-player-pause.svg); }
a.chutier-link {
display: block;
width: 1em;
height: 1em;
overflow: hidden;
text-indent: 50em;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
background-image: url(../img/favori-off.svg);
-webkit-transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out; }
a.chutier-link[action="remove"] {
background-image: url(../img/favori-on.svg); }
a.chutier-link.ajax-loading {
opacity: 0.2; }
body.path-agenda main .col > .wrapper {
height: 100%; }
@@ -1767,6 +1792,7 @@ footer {
width: 350px;
opacity: 1; }
footer #block-userlogin {
pointer-events: all;
position: relative;
width: 20px;
height: 20px; }
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg14944"
version="1.1"
viewBox="0 0 3.1749999 3.1750001"
height="12"
width="12">
<defs
id="defs14938" />
<metadata
id="metadata14941">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-293.82497)"
id="layer1">
<path
id="rect15501"
d="m 0,293.82497 h 3.175 v 3.175 H 0 Z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.05833328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
id="path11601"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:20px;font-family:Crimson;-inkscape-font-specification:'Crimson, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.42250523"
d="M 2.55331,294.22707 H 0.62185999 v 2.34264 L 1.4197,295.80392 l 0.16788,-0.16033 0.16787,0.16033 0.79786,0.76579 z m 0.0226,-0.24143 q 0.0434,0 0.083,0.017 0.0623,0.0245 0.0981,0.0773 0.0377,0.0528 0.0377,0.11694 v 2.43129 q 0,0.0641 -0.0377,0.11694 -0.0359,0.0528 -0.0981,0.0773 -0.0359,0.0151 -0.083,0.0151 -0.0905,0 -0.15655,-0.0604 l -0.83181,-0.79974 -0.83181001,0.79974 q -0.0679,0.0622 -0.15655,0.0622 -0.0434,0 -0.083,-0.017 -0.0623,-0.0245 -0.1,-0.0773 -0.0359,-0.0527 -0.0359,-0.11685 v -2.43129 q 0,-0.0641 0.0359,-0.11694 0.0377,-0.0528 0.1,-0.0773 0.0396,-0.017 0.083,-0.017 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="12"
height="12"
viewBox="0 0 3.1749999 3.1750001"
version="1.1"
id="svg14944"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="favori-on.svg">
<defs
id="defs14938" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="2.2360443"
inkscape:cy="5.0420999"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1025"
inkscape:window-x="0"
inkscape:window-y="28"
inkscape:window-maximized="1" />
<metadata
id="metadata14941">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-293.82497)">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.05833328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 0,293.82497 h 3.175 v 3.175 H 0 Z"
id="rect15501"
inkscape:connector-curvature="0" />
<path
d="m 2.57591,293.98564 c 0.028933,0 0.0566,0.006 0.083,0.017 0.041533,0.0163 0.074233,0.0421 0.0981,0.0773 0.025133,0.0352 0.0377,0.0742 0.0377,0.11694 v 2.43129 c 0,0.0427 -0.012567,0.0817 -0.0377,0.11694 -0.023933,0.0352 -0.056633,0.061 -0.0981,0.0773 -0.023933,0.0101 -0.0516,0.0151 -0.083,0.0151 -0.060333,0 -0.1125167,-0.0201 -0.15655,-0.0604 l -0.83181,-0.79974 -0.83181001,0.79974 c -0.0452667,0.0415 -0.09745,0.0622 -0.15655,0.0622 -0.0289333,0 -0.0566,-0.006 -0.083,-0.017 -0.0415333,-0.0163 -0.0748667,-0.0421 -0.1,-0.0773 -0.0239333,-0.0351 -0.0359,-0.0741 -0.0359,-0.11685 v -2.43129 c 0,-0.0427 0.0119667,-0.0817 0.0359,-0.11694 0.0251333,-0.0352 0.0584667,-0.061 0.1,-0.0773 0.0264,-0.0113 0.0540667,-0.017 0.083,-0.017 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:20px;font-family:Crimson;-inkscape-font-specification:'Crimson, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.42250523"
id="path11601"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccssccscccsccsscccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -108,6 +108,7 @@
console.log('AudioPlayer node loaded', data);
this.$cartel.html(data.rendered);
this.$cartel.removeClass('loading');
_$body.trigger({'type':'new-audio-cartel-loaded'});
initAjaxLinks();
},
onNodeLoadFail(jqxhr, textStatus, error){
@@ -248,6 +248,7 @@ main[role="main"]{
&>*{
display: inline-block;
vertical-align: middle;
// word-break:keep-all;
padding:0;
max-height: 100%;
// outline: 1px solid green;
@@ -312,49 +313,61 @@ main[role="main"]{
.cartel{
// TODO: set max-width regarding responsive
position: relative;
max-width: 400px;
max-width: 350px;
margin-left: 1em;
background-color: white;
opacity: 1;
transition: opacity 0.5s ease-in-out;
&.loading{opacity: 0;}
.first-cartel{
.entrees{
line-height: 0;
span{
@include entrie-micro-square;
}
}
h2.node-title{
margin:0.2em 0 0;
font-size: 1em;
}
p{
margin:0;
font-size: 0.75em;
}
white-space: nowrap;
.actions, .cartels{
display: inline-block;
vertical-align: top;
white-space: normal;
position: relative;
}
.second-cartel{
position: absolute;
top: 0; left:0;
background-color: white;
height:100%; min-width: 100%;
opacity: 0;
transition: opacity 0.2s ease-in-out;
&>*{
display: inline-block;
vertical-align: top;
}
.col-left{
a{
display: block;
font-size: 0.90em;
font-weight: 600;
.actions{
width:1.5em;
}
.cartels{
.first-cartel{
.entrees{
line-height: 0;
span{
@include entrie-micro-square;
}
}
h2.node-title{
margin:0.2em 0 0;
font-size: 1em;
}
p{
margin:0;
font-size: 0.75em;
}
}
.col-right{
font-size: 0.75em;
.second-cartel{
position: absolute;
top: 0; left:0;
background-color: white;
height:100%; min-width: 100%;
opacity: 0;
transition: opacity 0.2s ease-in-out;
&>*{
display: inline-block;
vertical-align: top;
}
.col-left{
a{
display: block;
font-size: 0.90em;
font-weight: 600;
}
}
.col-right{
font-size: 0.75em;
}
}
}
&:hover{
@@ -368,6 +381,32 @@ main[role="main"]{
}
}
// ___ _ _ _
// / __| |_ _ _ __| (_)___
// \__ \ _| || / _` | / _ \
// |___/\__|\_,_\__,_|_\___/
a.chutier-link{
display: block;
width:1em;height:1em;
overflow: hidden;
text-indent: 50em;
// background-color: red;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
background-image: url(../img/favori-off.svg);
&[action="remove"]{
background-image: url(../img/favori-on.svg);
}
transition: opacity 0.2s ease-in-out;
&.ajax-loading{
opacity: 0.2;
}
}
// _ _ _ _ _
// /_\ (_)__ ___ __ | \| |___ __| |___
// / _ \ | / _` \ \ / | .` / _ \/ _` / -_)
@@ -772,6 +811,7 @@ footer{
}
#block-userlogin{
pointer-events: all;
// outline: 1px solid blue;
$wh:20px;
position: relative;
@@ -1,78 +0,0 @@
{#
/**
* @file
* Theme override 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: 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.
*/
#}
<h2{{ title_attributes.addClass('node-title') }}>
<a href="{{ url }}" rel="bookmark" {{ link_attributes }}>{{ label }}</a>
</h2>
<div{{ content_attributes.addClass('node__content') }}>
{{ content }}
</div>
@@ -82,32 +82,39 @@
%}
{{ attach_library('classy/node') }}
<article{{ attributes.addClass(classes) }}>
<section class="first-cartel">
<div class="entrees">
{# THIS IS REALLY DIRTY !! #}
{% for key, child in content.field_entrees if key|first != '#' %}
{% set tid = child['#cache']['tags'][0]|replace({'taxonomy_term:':''}) %}
<span class="entree" tid="{{ tid }}" title="{{ child }}"></span>
{% endfor %}
</div>
<h2{{ title_attributes.addClass('node-title') }}>
{{ label }}
</h2>
<div class="description">
{{ content.field_description }}
</div>
<section class="actions">
{{ content.chutier_actions }}
</section>
<section class="second-cartel">
{% if col_left %}
<div class="col-left">
{{ link_transcript }}
{{ link_article }}
<section class="cartels">
<section class="first-cartel">
<div class="entrees">
{# THIS IS REALLY DIRTY !! #}
{% for key, child in content.field_entrees if key|first != '#' %}
{% set tid = child['#cache']['tags'][0]|replace({'taxonomy_term:':''}) %}
<span class="entree" tid="{{ tid }}" title="{{ child }}"></span>
{% endfor %}
</div>
{% endif %}
{% if col_right %}
<div class="col-right">
right colume
<h2{{ title_attributes.addClass('node-title') }}>
{{ label }}
</h2>
<div class="description">
{{ content.field_description }}
</div>
{% endif %}
</section>
<section class="second-cartel">
{% if col_left %}
<div class="col-left">
{{ link_transcript }}
{{ link_article }}
</div>
{% endif %}
{% if col_right %}
<div class="col-right">
right colume
</div>
{% endif %}
</section>
</section>
</article>