summaryrefslogtreecommitdiff
path: root/libretube-theme/templates/article.html
diff options
context:
space:
mode:
authorsrv <enmanuel.saravia.externo@pandero.com.pe>2025-04-28 17:11:28 -0500
committersrv <enmanuel.saravia.externo@pandero.com.pe>2025-04-28 17:11:28 -0500
commitf35a7b0e70032de2feec9f3bda09da44cf0e1073 (patch)
tree1e0e09581dd3707d0ceb93346452dd14451a8423 /libretube-theme/templates/article.html
first commit
Diffstat (limited to 'libretube-theme/templates/article.html')
-rw-r--r--libretube-theme/templates/article.html270
1 files changed, 270 insertions, 0 deletions
diff --git a/libretube-theme/templates/article.html b/libretube-theme/templates/article.html
new file mode 100644
index 0000000..a29c95a
--- /dev/null
+++ b/libretube-theme/templates/article.html
@@ -0,0 +1,270 @@
+{% extends "base.html" %}
+{% block html_lang %}{{ article.lang }}{% endblock %}
+
+{% block head %}
+ {% block title %}
+ <title>{{ article.title }} - {{SITENAME}}</title>
+ {% endblock %}
+ {{ super() }}
+ {% import 'translations.html' as translations with context %}
+ {% if translations.entry_hreflang(article) %}
+ {{ translations.entry_hreflang(article) }}
+ {% endif %}
+ <!-- plyr -->
+ <link href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/modules/plyr/plyr.css" rel="stylesheet">
+ <!--/ plyr -->
+ {% if article.styles %}
+ {% for style in article.styles %}
+ {{ style }}
+ {% endfor %}
+ {% endif %}
+ {% block seo %}
+ {% set seo_description = article.summary|striptags %}
+ {% set SEO_DESC_LENGTH = 160 %}
+ {% if seo_description|length >= SEO_DESC_LENGTH %}
+ {# Quita la última palabra para no dejarla incompleta #}
+ {% set seo_description = seo_description[:SEO_DESC_LENGTH].split(' ')[:-1]|join(' ') %}
+ {% if not seo_description[-1] in ['.', '?', ':', '!'] %}
+ {% set seo_more = seo_description + '…' %}
+ {% set seo_description = seo_more|replace('"','') %}
+ {% endif %}
+ {% endif %}
+ <!-- Article Image -->
+ {% set article_image = "%s/%s/../wp-content/uploads/article/thumbnail/%s" % (SITEURL, THEME_STATIC_DIR, article.image) %}
+ <!-- Meta Article -->
+ <meta name="author" content="{{ article.author }}"/>
+ <meta name="description" content="{{ seo_description|striptags }}"/>
+ <meta name="keywords" content="{{ article.tags|join(',')|escape }}"/>
+ <!-- Schema -->
+ <meta itemprop="name" content="{{ article.title }}"/>
+ <meta itemprop="description" content="{{ seo_description|striptags }}"/>
+ <meta itemprop="uploadDate" content="{{ article.date.isoformat() }}"/>
+ <meta itemprop="thumbnailURL" content="{{ article_image }}"/>
+ <!-- OpenGraph -->
+ <meta property="article:section" content="{{ article.category }}"/>
+ <meta property="video:release_date" content="{{ article.date.isoformat() }}"/>
+ {% if article.modified %}
+ <meta property="article:modified_time" content="{{ article.modified.isoformat() }}"/>
+ {% endif %}
+ <meta property="og:title" content="{{ article.title }}"/>
+ <meta property="og:type" content="video.movie"/>
+ <meta property="og:url" content="{{ SITEURL }}/{{ article.url }}"/>
+ <meta property="og:description" content="{{ seo_description|striptags }}"/>
+ <meta property="og:image" content="{{ article_image }}"/>
+ {% for tag in article.tags %}
+ <meta property="og:video:tag" content="{{ tag | escape }}"/>
+ {% endfor %}
+ {% if article.og_video %}
+ <!-- videograph -->
+ <meta property="og:video" content="{{ article.og_video }}"/>
+ <meta property="og:video:secure_url" content="{{ article.og_video }}"/>
+ <meta property="og:video:type" content="video/webm"/>
+ <meta property="og:video:width" content="400"/>
+ <meta property="og:video:height" content="300"/>
+ <!-- /videograph -->
+ {% endif %}
+ <!-- Twitter -->
+ <meta name="twitter:card" content="summary"/>
+ <meta name="twitter:title" content="{{ article.title }} - {{ SITENAME }}"/>
+ <meta name="twitter:description" content="{{ seo_description|striptags }}"/>
+ <meta name="twitter:url" content="{{ SITEURL }}/{{ article.url }}"/>
+ <meta name="twitter:image" content="{{ article_image }}"/>
+ {% endblock %}
+{% endblock %}
+
+{% block menu_header %} <!-- empty -->{% endblock menu_header %}
+
+{%- block content -%}
+ <!-- Main -->
+ <main class="row mt-3 mt-10">
+ <div class="col-md-12">
+ <div class="row mr-3">
+ <div class="col-md-8">
+
+ <!-- dinamic article content -->
+ <div class="ml-3 mb-3">
+ {{ article.content }}
+ </div>
+ <!-- End dinamic article content -->
+
+ <!-- License -->
+ <div class="d-flex align-items-center ml-3">
+ <h6 class="mr-3 font-weight-bold">{{ _('Licencia') }}</h6>
+ {% if article.license == LICENSE['allrights']['name'] %}
+ <!-- allrights -->
+ <a>{{ article.license }}</a>
+ <!-- cc - version 4 -->
+ {% elif article.license == LICENSE['ccby4']['name']%}
+ <!-- ccby4 -->
+ <a href="{{ LICENSE['ccby4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccby4']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbysa4']['name']%}
+ <!-- ccbysa4 -->
+ <a href="{{ LICENSE['ccbysa4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbysa4']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbynd4']['name']%}
+ <!-- ccbynd4 -->
+ <a href="{{ LICENSE['ccbynd4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbynd4']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbync4']['name']%}
+ <!-- ccbync4 -->
+ <a href="{{ LICENSE['ccbync4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbync4']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbyncsa4']['name']%}
+ <!-- ccbyncsa4 -->
+ <a href="{{ LICENSE['ccbyncsa4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbyncsa4']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbyncnd4']['name']%}
+ <!-- ccbyncnd4 -->
+ <a href="{{ LICENSE['ccbyncnd4']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbyncnd4']['fullname'] }}">{{ article.license }}</abbr></a>
+ <!-- cc - version 3 -->
+ {% elif article.license == LICENSE['ccby3']['name']%}
+ <!-- ccby3 -->
+ <a href="{{ LICENSE['ccby3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccby3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbysa3']['name']%}
+ <!-- ccbysa3 -->
+ <a href="{{ LICENSE['ccbysa3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbysa3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbynd3']['name']%}
+ <!-- ccbynd3 -->
+ <a href="{{ LICENSE['ccbynd3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbynd3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbync3']['name']%}
+ <!-- ccbync3 -->
+ <a href="{{ LICENSE['ccbync3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbync3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbyncsa3']['name']%}
+ <!-- ccbyncsa3 -->
+ <a href="{{ LICENSE['ccbyncsa3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbyncsa3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['ccbyncnd3']['name']%}
+ <!-- ccbyncnd3 -->
+ <a href="{{ LICENSE['ccbyncnd3']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['ccbyncnd3']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['cc01']['name']%}
+ <!-- cc01 -->
+ <a href="{{ LICENSE['cc01']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['cc01']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% elif article.license == LICENSE['publicdomain']['name']%}
+ <!-- publicdomanin -->
+ <a href="{{ LICENSE['publicdomain']['url'] }}" rel="noopener noreferrer" target="_blank"><abbr title="{{ LICENSE['publicdomain']['fullname'] }}">{{ article.license }}</abbr></a>
+ {% else %}
+ <a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="noopener noreferrer" target="_blank"><abbr title="Attribution-ShareAlike 4.0 International">CC BY-SA 4.0</abbr></a>
+ {% endif %}
+ </div>
+ <!-- /License -->
+
+ <!-- Author -->
+ <div class="ml-3">
+ <hr class="hr-author">
+
+ <p class="mb-0">
+ {% if not HIDE_AUTHORS and article.authors %}
+ <span class="soumaicon text-info">
+ <svg>
+ <use href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/svg/master.svg#user" />
+ </svg>
+ </span>
+ {% for author in article.authors %}
+ <a class="link-author" href="{{ SITEURL }}/{{ author.url }}" title="{{ author }}">{{ author }}</a>
+ <span class="style-scope">
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false">
+ <g>
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10 S17.52,2,12,2z M9.92,17.93l-4.95-4.95l2.05-2.05l2.9,2.9l7.35-7.35l2.05,2.05L9.92,17.93z" class="style-scope yt-icon"></path>
+ </g>
+ </svg>
+ </span>
+ {% endfor %}
+ {% endif %}
+ </p>
+
+ <!-- time publish -->
+ {% set año = article.date|strftime('%Y') %}
+ {% set mes = article.date|strftime('%m') %}
+ {% set nombre_mes = article.date|strftime('%B') %}
+ <time class="entry-date published"
+ datetime="{{ article.date.isoformat() }}">
+ <small>
+ {{ _('Publicado el') }}
+ {{ article.date|strftime('%a %-d') }}
+ <a class="text-info" href="{{ SITEURL }}/archives/{{ año }}/{{ mes }}/"
+ title="{% trans %}Vídeos de {{ nombre_mes }} de {{ año }}{% endtrans %}">
+ {{ nombre_mes }}
+ </a>
+ {{ _('de') }}
+ <a class="text-secondary" href="{{ SITEURL }}/archives/{{ año }}/"
+ title="{% trans %}Vídeos de {{ año }}{% endtrans %}">{{ año }}
+ </a>
+ </small>
+ </time>
+ <!-- /time publish -->
+
+ <hr class="hr-author">
+ </div>
+ <!-- /Author -->
+
+ <!-- Comments -->
+ <div id="hashover" class="comments-container mt-4 ml-3">
+ <script src="/hashover-next/comments.php"></script>
+ <noscript>
+ <p>{% trans trimmed abre_enlace='<a href="mailto:heckyel@hyperbola.info?subject=Comentario_«%(titulo_art)s»">'|format(titulo_art=article.title|replace(' ', '%20')), cierra_enlace='</a>' %}
+ Lo siento, el sistema de comentarios no funciona sin JavaScript. Si
+ deseas, puedes {{ abre_enlace }} enviar tu comentario por correo
+ electrónico {{ cierra_enlace }}. El comentario será publicado en el espacio
+ reservado a comentarios de esta página.{% endtrans %}</p>
+ </noscript>
+ </div>
+ <!--End Comments -->
+
+ </div>
+
+ {% if SHOW_RECENT_POSTS %}
+
+ <div class="col-md-4">
+ <!-- article video 1 -->
+
+ {% for article in articles[:SHOW_RECENT_POSTS] %}
+ <article class="row justify-content-center align-items-center mt-1">
+ <!-- video next -->
+ <div class="col-md-6 mini">
+ <a href="{{ SITEURL }}/{{ article.url }}">
+ <div class="area">
+ <div class="mask">
+
+ <div class="vertical-align">
+ <i class="soumaicon play"><svg><use href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/svg/master.svg#play"/></svg></i>
+ </div> <!-- End Vertical Align -->
+
+ </div> <!-- End Mask / Hover -->
+
+ {% if article.image %}
+ <img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/../wp-content/uploads/article/thumbnail/{{ article.image }}" alt="{{ article.title }}" class="img-fluid">
+ {% else %}
+ <img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/video.png" alt="video" class="img-fluid">
+ {% endif %}
+
+ {% if article.time %}
+ <span class="duration">{{ article.time }}</span>
+ {% else %}
+ <span class="duration">{{ ('00:00') }}</span>
+ {% endif %}
+
+ </div> <!-- End Area -->
+ </a>
+ </div>
+ <!-- video next -->
+
+ <!-- description -->
+ <div class="col-md-6">
+ <h6><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="{{ _('Ver %(articulo)s', articulo=article.title|striptags) }}">{{ article.title }}</a></h6>
+ {% include "article_info_aside.html" %}
+ </div>
+ </article>
+ {% endfor %}
+
+ </div>
+ {% endif %}
+
+ </div>
+ </div>
+ </main>
+ <!-- End Main -->
+{%- endblock -%}
+
+{% block extend_js %}
+ <!-- Plyr -->
+ <script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/modules/plyr/plyr.min.js"
+ integrity="sha512-l6ZzdXpfMHRfifqaR79wbYCEWjLDMI9DnROvb+oLkKq6d7MGroGpMbI7HFpicvmAH/2aQO+vJhewq8rhysrImw=="
+ crossorigin="anonymous"></script>
+ <script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/play.js"></script>
+ <!-- /Plyr -->
+{% endblock %}