Changeset View
Changeset View
Standalone View
Standalone View
swh/web/templates/includes/content-display.html
{% comment %} | {% comment %} | ||||
Copyright (C) 2017-2019 The Software Heritage developers | Copyright (C) 2017-2019 The Software Heritage developers | ||||
See the AUTHORS file at the top-level directory of this distribution | See the AUTHORS file at the top-level directory of this distribution | ||||
License: GNU Affero General Public License version 3, or any later version | License: GNU Affero General Public License version 3, or any later version | ||||
See top-level LICENSE file for more information | See top-level LICENSE file for more information | ||||
{% endcomment %} | {% endcomment %} | ||||
{% load swh_templatetags %} | {% load swh_templatetags %} | ||||
{% if snapshot_context and snapshot_context.is_empty %} | {% if snapshot_context and snapshot_context.is_empty %} | ||||
{% include "includes/empty-snapshot.html" %} | {% include "includes/empty-snapshot.html" %} | ||||
{% else %} | {% else %} | ||||
<div class="card"> | <div class="card"> | ||||
{% if swh_object_metadata.filename %} | {% if filename %} | ||||
<div class="swh-content-filename card-header bg-gray-light swh-heading-color"> | <div class="swh-content-filename card-header bg-gray-light swh-heading-color"> | ||||
{{ swh_object_metadata.filename }} | {{ filename }} | ||||
</div> | </div> | ||||
{% endif %} | {% endif %} | ||||
<div class="swh-content"> | <div class="swh-content"> | ||||
{% if content_size > max_content_size %} | {% if content_size > max_content_size %} | ||||
Content is too large to be displayed (size is greater than {{ max_content_size|filesizeformat }}). | Content is too large to be displayed (size is greater than {{ max_content_size|filesizeformat }}). | ||||
{% elif "inode/x-empty" == mimetype %} | {% elif "inode/x-empty" == mimetype %} | ||||
<i>File is empty</i> | <i>File is empty</i> | ||||
{% elif swh_object_metadata.filename and swh_object_metadata.filename|default:""|slice:"-5:" == "ipynb" %} | {% elif filename and filename|default:""|slice:"-5:" == "ipynb" %} | ||||
<div class="swh-ipynb"> | <div class="swh-ipynb"> | ||||
</div> | </div> | ||||
{% elif "text/" in mimetype and swh_object_metadata.encoding != "binary" %} | {% elif "text/" in mimetype and encoding != "binary" %} | ||||
<div class="highlightjs"> | <div class="highlightjs"> | ||||
<pre><code class="{{ language }}">{{ content }}</code></pre> | <pre><code class="{{ language }}">{{ content }}</code></pre> | ||||
</div> | </div> | ||||
{% elif "image/" in mimetype and content %} | {% elif "image/" in mimetype and content %} | ||||
<img src="data:{{ mimetype }};base64,{{ content }}"/> | <img src="data:{{ mimetype }};base64,{{ content }}"/> | ||||
{% elif "application/pdf" == mimetype %} | {% elif "application/pdf" == mimetype %} | ||||
<div class="text-center"> | <div class="text-center"> | ||||
<div class="py-2"> | <div class="py-2"> | ||||
<button class="btn btn-default btn-sm" id="pdf-prev">Previous</button> | <button class="btn btn-default btn-sm" id="pdf-prev">Previous</button> | ||||
<span>Page: <span id="pdf-page-num"></span> / <span id="pdf-page-count"></span></span> | <span>Page: <span id="pdf-page-num"></span> / <span id="pdf-page-count"></span></span> | ||||
<button class="btn btn-default btn-sm" id="pdf-next">Next</button> | <button class="btn btn-default btn-sm" id="pdf-next">Next</button> | ||||
</div> | </div> | ||||
<canvas id="pdf-canvas"></canvas> | <canvas id="pdf-canvas"></canvas> | ||||
</div> | </div> | ||||
{% elif content %} | {% elif content %} | ||||
Content with mime type {{ swh_object_metadata.mimetype }} and encoding | Content with mime type {{ mimetype }} and encoding | ||||
{{ swh_object_metadata.encoding }} cannot be displayed. | {{ encoding }} cannot be displayed. | ||||
{% else %} | {% else %} | ||||
{% include "includes/http-error.html" %} | {% include "includes/http-error.html" %} | ||||
{% endif %} | {% endif %} | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<script> | <script> | ||||
{% if "application/pdf" == mimetype %} | {% if "application/pdf" == mimetype %} | ||||
swh.webapp.renderPdf({{ top_right_link.url|jsonify }}); | swh.webapp.renderPdf({{ top_right_link.url|jsonify }}); | ||||
{% elif swh_object_metadata.filename and swh_object_metadata.filename|default:""|slice:"-5:" == "ipynb" %} | {% elif filename and filename|default:""|slice:"-5:" == "ipynb" %} | ||||
swh.webapp.renderNotebook({{ top_right_link.url|jsonify }}, '.swh-ipynb'); | swh.webapp.renderNotebook({{ top_right_link.url|jsonify }}, '.swh-ipynb'); | ||||
{% elif content %} | {% elif content %} | ||||
let codeContainer = $('code'); | let codeContainer = $('code'); | ||||
let content = codeContainer.text(); | let content = codeContainer.text(); | ||||
swh.webapp.highlightCode(); | swh.webapp.highlightCode(); | ||||
function updateLanguage(language) { | function updateLanguage(language) { | ||||
Show All 16 Lines |