{% extends 'layout-page.twig' %} {% set page = 'files' %} {% block title %}P3X GitList{% endblock %} {% block content %} {% embed 'breadcrumb.twig' with {breadcrumbs: breadcrumbs } %} {% block left %} <div class="p3x-gitlist-button"> <button type="button" class="btn btn-sm btn-info" id="p3x-gitlist-tree-new-file"> <i class="far fa-file-alt"></i> New file or directory </button> {% embed 'modal/modal-commit.twig' with {type: 'new', title: 'New file', bodyTitle: 'Are you sure to add a new file or directory?' } %} {% block form %} <div class="input-group"> <span class="input-group-addon" id="p3x-gitlist-modal-{{ type }}-filename-aria"><i class="far fa-file-alt"></i></span> <input required type="text" class="form-control" placeholder="New filename" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-aria" id="p3x-gitlist-modal-{{ type }}-filename" minlength="2" maxlength="128" value=""> </div> {% endblock %} {% block buttons %} <button id="p3x-gitlist-modal-new-filename-confirm" type="submit" class="btn btn-info"> <span class="far fa-file-alt"></span> New file or directory </button> {% endblock %} {% endembed %} <button type="button" class="btn btn-sm btn-info" id="p3x-gitlist-tree-new-binary"> <i class="far fa-file"></i> Upload binary </button> {% embed 'modal/modal-commit.twig' with {enctype: 'multipart/form-data', type: 'new-binary', title: 'New binary', bodyTitle: 'Are you sure to add a new binary file?' } %} {% block form %} <div class="input-group"> <input required type="file" class="form-control-file" placeholder="New binary filename" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-binary-upload-aria" id="p3x-gitlist-modal-{{ type }}-filename-binary-upload"> </div> <br/> <div class="input-group"> <span class="input-group-addon" id="p3x-gitlist-modal-{{ type }}-filename-binary-aria"><i class="far fa-file"></i></span> <input required type="text" class="form-control" placeholder="New binary filename" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-binary-aria" id="p3x-gitlist-modal-{{ type }}-filename-binary" minlength="2" maxlength="128" value=""> </div> {% endblock %} {% block buttons %} <button id="p3x-gitlist-modal-new-filename-binary-confirm" type="submit" class="btn btn-info"> <span class="far fa-file"></span> New binary file </button> {% endblock %} {% endembed %} </div> {% endblock %} {% endembed %} {% if files is not empty %} <table class="table table-striped" id="p3x-gitlist-tree-table"> <thead> <tr> <th width="80%">Name</th> <th width="10%" style="text-align: right;">Mode</th> <th width="10%" style="text-align: right;">Size</th> </tr> </thead> <tbody> {% if parent is not null %} <tr> <td> {% if not parent %} <a href="{{ path('branch', {repo: repo, branch: branch}) }}">..</a> {% else %} <a href="{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ parent}) }}">..</a> {% endif %} </td> <td></td> <td></td> </tr> {% endif %} {% for file in files %} <tr> <td> {%- if file.type == "folder" or file.type == "symlink" -%} <span class="fas fa-folder"></span> <a href="{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}">{{ file.name }}</a> {%- elseif file.type == "module" -%} <span class="fas fa-folder-open"></span> <a title="Head: {{ head }}" href="{{ file.url }}/tree/{{ head }}">{{ file.name }}</a> @ <a title="Commit: {{ file.hash }}" href="{{ file.url }}/tree/{{ file.hash }}">{{ file.shortHash }}</a> {%- else -%} <span class="far fa-file-alt"></span> <a href="{{ path('blob', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}">{{ file.name }}</a> {%- endif -%} </a> </td> <td style="text-align: right;">{{ file.mode }}</td> <td style="text-align: right;">{% if file.size %}{{ (file.size / 1024) | number_format }} kb{% endif %}</td> </tr> {% endfor %} </tbody> </table> {% else %} <p>This repository is empty.</p> {% endif %} {% if readme is defined and readme is not empty %} {% include 'markdown.twig' with {'filename': readme.filename, 'data': readme.content} %} {% endif %} {% endblock %}