165 lines
8.5 KiB
Twig
165 lines
8.5 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block css %}
|
|
{{ parent() }}
|
|
|
|
<link rel="stylesheet" href="{{ web_path }}app/css/prism.css">
|
|
|
|
{% if theme_settings.name == 'dark' %}
|
|
<link rel="stylesheet" href="{{ web_path }}app/css/prism-okaidia.css">
|
|
{% else %}
|
|
<link rel="stylesheet" href="{{ web_path }}app/css/prism-solarizedlight.css">
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block title %}{{ gist.title ? gist.title : 'gist.untitled'|trans }} - {{ commit|slice(0, 10) }}{% endblock %}
|
|
|
|
{% block body %}
|
|
{% set routeParams = app.request.attributes.get('_route_params') %}
|
|
|
|
{% if type_overrided is defined %}
|
|
{% set routeParams = routeParams|merge({type: gist.type}) %}
|
|
{% endif %}
|
|
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<ul class="nav nav-tabs">
|
|
<li class="active">
|
|
<a href="{{ path('view', {gist: gist.file}) }}" class="cipher-link">
|
|
{{ 'gist.action.view'|trans }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ path('revisions', {gist: gist.file}) }}" class="cipher-link">
|
|
{{ 'gist.action.history'|trans }}
|
|
<span class="badge">{{ history|length }}</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<div class="row">
|
|
<div class="col-md-6 col-xs-9">
|
|
{{ gist.title ? gist.title : 'gist.untitled'|trans }}
|
|
</div>
|
|
<div class="col-md-6 col-xs-3">
|
|
<div class="visible-sm visible-xs pull-right">
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<span class="glyphicon glyphicon-menu-hamburger"></span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-right">
|
|
<li>
|
|
<a target="_blank" href="{{ path('view', routeParams) }}" class="cipher-link">
|
|
<span class="btn btn-warning btn-xs">
|
|
{{ commit|slice(0, 10) }}
|
|
</span>
|
|
</a>
|
|
</li>
|
|
{% if not gist.cipher %}
|
|
<li>
|
|
<a href="{{ path('raw', routeParams) }}">
|
|
{{ 'gist.action.raw'|trans }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ path('download', routeParams) }}">
|
|
{{ 'gist.action.download'|trans }}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a href="{{ path('clone', routeParams) }}" class="cipher-link">
|
|
{{ 'gist.action.clone'|trans }}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="visible-md visible-lg">
|
|
<div class="text-right actions">
|
|
<span class="btn btn-warning btn-xs">
|
|
{{ commit|slice(0, 10) }}
|
|
</span>
|
|
|
|
{% if not gist.cipher %}
|
|
<a href="{{ path('raw', routeParams) }}" class="btn btn-default btn-sm">
|
|
<span class="glyphicon glyphicon-eye-open"></span>
|
|
{{ 'gist.action.raw'|trans }}
|
|
</a>
|
|
<a href="{{ path('download', routeParams) }}" class="btn btn-default btn-sm">
|
|
<span class="glyphicon glyphicon-save-file"></span>
|
|
{{ 'gist.action.download'|trans }}
|
|
</a>
|
|
{% endif %}
|
|
|
|
<a href="{{ path('clone', routeParams) }}" class="btn btn-success btn-sm cipher-link">
|
|
<span class="glyphicon glyphicon-copy"></span>
|
|
{{ 'gist.action.clone'|trans }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel-body">
|
|
<div class="tab-content">
|
|
<div id="view" class="tab-pane active in">
|
|
<div id="viewer">
|
|
<pre><code {% if gist.cipher %}data-cipher{% endif %} class="line-numbers language-{{ gist.highlightType }}">{{ raw_content }}</code></pre>
|
|
</div>
|
|
</div>
|
|
<div class="btn-toolbar">
|
|
<div class="pull-right">
|
|
<div class="btn-group">
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
|
{{ ('form.type.choice.' ~ gist.type)|trans }}
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-right">
|
|
{% for item in types %}
|
|
{% if gist.type != item %}
|
|
<li>
|
|
{% set params = app.request.attributes.get('_route_params')|merge({type: item}) %}
|
|
|
|
<a href="{{ path('view', params) }}">
|
|
<label for="type-{{ loop.index }}">
|
|
{{ ('form.type.choice.' ~ item)|trans }}
|
|
</label>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
{{ 'gist.action.embed'|trans }}
|
|
</div>
|
|
<div class="panel-body" id="embed">
|
|
<div class="tab-content">
|
|
<div class="tab-pane active in">
|
|
<pre><code class="language-html">{{ '<div%key%id="gist-' ~ gist.file ~ '-' ~ commit ~ '" class="gist-container"></div>
|
|
<script src="' ~ app.request.getSchemeAndHttpHost() ~ path('embedjs', routeParams) ~ '" async></script>' }}</code></pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
{{ parent() }}
|
|
|
|
<script src="{{ web_path }}app/js/prism.js" {% if gist.cipher %}data-manual{% endif %}></script>
|
|
{% endblock %}
|