12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- {% extends "base.html" %}
- {%block head%}
- <link rel="stylesheet" href="{{ url_for('static', filename='style/fontello.css') }}">
- {%endblock%}
- {%block title%}{{selected_project.info.name}}{%endblock%}
- {%block content%}
- <div class="content">
- {%- if readme %}
- {{readme|safe}}
- {%-else%}
- <h1>{{selected_project.info.name}}</h1>
- <p>
- Here you can find artifacts for project "{{selected_project.info.name}}"
- </p>
- {%-endif%}
- </div>
- <h1 class="artifacts-header">Artifacts</h1>
- <hr />
- {%-for artifact in artifacts %}
- <div class="artifact-item">
- <div class="artifact-details">
- <span class="artifact-id">#{{artifact.id}}</span>
- {%-if artifact.hash%}
- <a class="hash-button" href="{{selected_project.info.commit_url}}/{{artifact.hash}}">{{artifact.short_hash or artifact.hash[:8]}}</a>
- {%-endif%}
- <span class="build-date-text">Build date: <span class="build-date">{{artifact.date}}</span></span>
- <span class="icon-downup icon-down-open"></span>
- </div>
- <div class="artifact-contents content">
- <h2>Downloads</h2>
- <div class="artifacts-list">
- {%-for download_item in artifact.artifacts%}
- <a class="artifact-link"
- href="{{ url_for('download_item', project_id=selected_project.id, artifact_id=artifact.id, download_item=download_item.file)}}">{{download_item.file}}</a>
-
- <span class="artifact-desc">{{download_item.description}}</span>
- {%-endfor%}
- </div>
- {%- if artifact.changelog %}
- <h2>Changelog</h2>
- <div class="changelog">
- {{artifact.changelog|safe}}
- </div>
- {%- endif %}
- </div>
- </div>
- {%-endfor%}
- <script>
- function init() {
- let dates = document.querySelectorAll("span.build-date");
- for (let date of dates) {
- date.textContent = new Date(date.textContent).toLocaleString();
- }
- let artifacts = document.querySelectorAll("div.artifact-item");
- for (let artifact of artifacts) {
- let contents = artifact.querySelector(".artifact-contents");
- let details = artifact.querySelector(".artifact-details");
- let icon = details.querySelector(".icon-downup");
- if (!contents || !(contents instanceof HTMLElement))
- continue;
- details.addEventListener("click", e => {
- if(e.target instanceof HTMLElement && e.target.nodeName.toUpperCase() == "A")
- return;
- e.preventDefault();
- if (contents.classList.contains("contents-visible")) {
- contents.classList.remove("contents-visible");
- icon.classList.remove("icon-up-open");
- icon.classList.add("icon-down-open");
- }
- else {
- contents.classList.add("contents-visible");
- icon.classList.remove("icon-down-open");
- icon.classList.add("icon-up-open");
- }
- });
- }
- }
- init();
- </script>
- {%endblock%}
|