wip: rewrite to flask

This commit is contained in:
2025-03-22 18:27:43 +03:00
parent 9d58cf0668
commit c5d2d6237b
59 changed files with 252 additions and 249 deletions

19
app.py Normal file
View File

@@ -0,0 +1,19 @@
from flask import Flask, render_template, request, url_for
from datetime import date
from configparser import ConfigParser
locale = ConfigParser()
locale.read('locale.ini')
app = Flask(__name__)
print(locale)
@app.route("/<lang>")
def index(lang):
return render_template(f'{lang}.html', locale=locale, lang=lang, year=date.today().year) # TODO: Check for vulnerability
@app.route("/<lang>/download")
def download_page(lang):
return render_template('tmpl/download.htm', locale=locale, lang=lang)
app.run(host="0.0.0.0", debug=True)

38
locale.ini Normal file
View File

@@ -0,0 +1,38 @@
[ru]
language = Русский
kolibrios = КолибриОС
download = Скачать
downloading = Загрузка
forum = Форум
wiki = Вики
description = Официальный сайт KolibriOS
team = Команда КолибриОС
screenshots = Скриншоты
download_help = Для новичка лучше всего подойдет LiveCD.\n
\n
По сравнению с LiveCD преимущество универсального образа в том, что вы можете сохранить изменения, сделанные в KolibriOS.\n
\n
Гибридный образ включает поддержку технологии UEFI, которая используется для загрузки системы на новых компьютерах и ноутбуках.
download_description[] = На этой странице вы можете скачать ночные сборки дистрибутива.
Это означает, что они всегда содержат последние изменения в системе и,
следовательно, могут быть нестабильными. Все файлы сжаты с помощью
download_description[] = распространяется под лицензией
download_description[] = а исходный код доступен на нашем
download_description[] = Git-сервере
[ru.title]
index = KolibriOS
download_page = KolibriOS - Загрузка
[ru.screenshots]
1 = Рабочий стол KolibriOS
2 = Демки
3 = Файловые менеджеры
4 = Сетевые приложения
5 = Игры
6 = Инструменты разработчика

View File

@@ -1,159 +0,0 @@
<!doctype html>
<html lang="ru" onmouseup="dropdown_hide()">
<head>
<meta charset="utf-8">
<title>KolibriOS - Загрузка</title>
<link rel="icon" type="image/x-icon" href="../favicon.ico">
<meta name="description" content="Загрузка KolibriOS">
<meta name="keywords"
content="kolibri, kolibrios, колибри, колибриос, colibri, operating system, assembler, калибри, fasm, alternate, open source">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="../style.css">
<script src="../script.js"></script>
</head>
<body onkeydown="checkkey(event)">
<div id="lang-dropdown">
<div>
<a href="../en/download.htm"><img src="../i/fl/en.png" alt="en" />English</a>
<a href="../de/download.htm"><img src="../i/fl/de.png" alt="de" />Deutsch</a>
<a href="../es/download.htm"><img src="../i/fl/es.png" alt="es" />Español</a>
<a href="../fr/download.htm"><img src="../i/fl/fr.png" alt="fr" />Français</a>
<a href="../it/download.htm"><img src="../i/fl/it.png" alt="it" />Italiano</a>
<a href="../nl/download.htm"><img src="../i/fl/nl.png" alt="nl" />Nederlands</a>
<font bg="#90EE90">
<a class="a-sel" href="../ru/download.htm"><img src="../i/fl/ru.png" alt="ru" />Русский</a>
</font>
</div>
</div>
<nav id="menu">
<a href="../ru/index.htm">КолибриОС</a>
<a href="../ru/download.htm" class="a-sel">
<font bg="lightblue">Скачать</font>
</a>
<a href="http://board.kolibrios.org">Форум</a>
<a href="http://wiki.kolibrios.org/index.php?title=Main_Page&amp;setlang=ru">Вики</a>
<a href="https://git.kolibrios.org">Git</a>
<button onclick="dropdown_show(this)" id="lang-butt">
<img src="../i/fl/ru.png" alt="ru">
</button>
</nav>
<div id="article">
<h1>Загрузка</h1>
<table>
<tr class="tr-margin-bot">
<td class="td-image" width="40"><img src="../i/i_floppy.png" alt="floppy"></td>
<td class="td-description">Образ дискеты</td>
<td class="td-date">$autobuild_date_ru</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/en_US/latest-img.7z"
title="ver. $autobuild_cmtid_en_US, $autobuild_size_en_US_img">English</a>
<a href="//builds.kolibrios.org/ru_RU/latest-img.7z"
title="ver. $autobuild_cmtid_ru_RU, $autobuild_size_ru_RU_img">Русский</a>
<a href="//builds.kolibrios.org/es_ES/latest-img.7z"
title="ver. $autobuild_cmtid_es_ES, $autobuild_size_es_ES_img">Español</a>
</td>
</tr>
<tr class="tr-margin-bot">
<td class="td-image" width="40"><img src="../i/i_cd.png" alt="cd"></td>
<td class="td-description">Образ LiveCD</td>
<td class="td-date">$autobuild_date_ru</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/en_US/latest-iso.7z"
title="ver. $autobuild_cmtid_en_US, $autobuild_size_en_US_iso">English</a>
<a href="//builds.kolibrios.org/ru_RU/latest-iso.7z"
title="ver. $autobuild_cmtid_ru_RU, $autobuild_size_ru_RU_iso">Русский</a>
<a href="//builds.kolibrios.org/es_ES/latest-iso.7z"
title="ver. $autobuild_cmtid_es_ES, $autobuild_size_es_ES_iso">Español</a>
</td>
</tr>
<tr class="tr-margin-bot">
<td class="td-image" width="40"><img src="../i/i_uni.png" alt="universal"></td>
<td class="td-description">Универсальный образ Flash/<acronym title="Загрузка несколько операционных систем на одном компьютере">Multi-boot</acronym></td>
<td class="td-date">$autobuild_date_ru</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/en_US/latest-distr.7z"
title="ver. $autobuild_cmtid_en_US, $autobuild_size_en_US_distr">English</a>
<a href="//builds.kolibrios.org/ru_RU/latest-distr.7z"
title="ver. $autobuild_cmtid_ru_RU, $autobuild_size_ru_RU_distr">Русский</a>
<a href="//builds.kolibrios.org/es_ES/latest-distr.7z"
title="ver. $autobuild_cmtid_es_ES, $autobuild_size_es_ES_distr">Español</a>
</td>
</tr>
<tr class="tr-margin-bot">
<td class="td-image" width="40"><img src="../i/i_uefi.png" alt="uefi"></td>
<td class="td-description">Гибридный UEFI/BIOS образ <span class="beta">БЕТА</span></td>
<td class="td-date">$autobuild_date_ru</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/en_US/latest-raw.7z"
title="ver. $autobuild_cmtid_en_US, $autobuild_size_en_US_raw">English</a>
<a href="//builds.kolibrios.org/ru_RU/latest-raw.7z"
title="ver. $autobuild_cmtid_ru_RU, $autobuild_size_ru_RU_raw">Русский</a>
<a href="//builds.kolibrios.org/es_ES/latest-raw.7z"
title="ver. $autobuild_cmtid_es_ES, $autobuild_size_es_ES_raw">Español</a>
</td>
</tr>
<tr>
<td colspan="4">
<hr />
</td>
</tr>
<tr class="tr-margin-top">
<td class="td-description" colspan="2">
<div role="button" class="help-button"
onclick="alert('Для новичка лучше всего подойдет LiveCD.\n\nПо сравнению с LiveCD преимущество универсального образа в том, что вы можете сохранить изменения, сделанные в KolibriOS.\n\nГибридный образ включает поддержку технологии UEFI, которая используется для загрузки системы на новых компьютерах и ноутбуках.');">
Какой выбрать?
</div>
<td class="td-date">
<a href="//archive.kolibrios.org/ru/">Предыдущие выпуски</a>
</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/">Все ночные сборки</a>
</td>
</tr>
</table>
<p>
На этой странице вы можете скачать ночные сборки дистрибутива.
Это означает, что они всегда содержат последние изменения в системе и,
следовательно, могут быть нестабильными. Все файлы сжаты с помощью
<a href='http://www.7-zip.org' target='_blank'>7zip</a>.
<b>КолибриОС</b> распространяется под лицензией
<a href='http://www.gnu.org/licenses/gpl-2.0.html' target='_blank'>GPLv2</a>,
а исходный код доступен на нашем
<a href='https://git.kolibrios.org'>Git-сервере</a>.
</p>
<h1>Скриншоты</h1>
<div id="screen" onclick="next()">
<div id="show">
<img id="slide1" src="../i/slaid/slaid1.png" alt="Рабочий стол КолибриОС" class="visible">
<img id="slide2" src="../i/slaid/slaid2.png" alt="Демки">
<img id="slide3" src="../i/slaid/slaid3.png" alt="Файловые менеджеры">
<img id="slide4" src="../i/slaid/slaid4.png" alt="Сетевые приложения">
<img id="slide5" src="../i/slaid/slaid5.png" alt="Игры">
<img id="slide6" src="../i/slaid/slaid6.png" alt="Инструменты разработчика">
</div>
</div>
<div id="carousel"></div>
<div id="dots"></div>
</div>
<div id="footer">
<img src="../i/logo.png" />
<p>
&copy; 2004<script>document.write("&thinsp;&ndash;&thinsp;" + new Date().getFullYear());</script>
<br />
Команда КолибриОС
</p>
</div>
</body>
</html>

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 232 KiB

View File

Before

Width:  |  Height:  |  Size: 472 KiB

After

Width:  |  Height:  |  Size: 472 KiB

View File

Before

Width:  |  Height:  |  Size: 128 B

After

Width:  |  Height:  |  Size: 128 B

View File

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 398 B

View File

Before

Width:  |  Height:  |  Size: 499 B

After

Width:  |  Height:  |  Size: 499 B

View File

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

View File

Before

Width:  |  Height:  |  Size: 813 B

After

Width:  |  Height:  |  Size: 813 B

View File

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

View File

Before

Width:  |  Height:  |  Size: 516 B

After

Width:  |  Height:  |  Size: 516 B

View File

Before

Width:  |  Height:  |  Size: 259 B

After

Width:  |  Height:  |  Size: 259 B

View File

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 355 B

View File

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 418 B

View File

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 202 B

View File

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 191 B

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 747 B

View File

Before

Width:  |  Height:  |  Size: 700 B

After

Width:  |  Height:  |  Size: 700 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View File

Before

Width:  |  Height:  |  Size: 783 B

After

Width:  |  Height:  |  Size: 783 B

View File

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 843 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 702 B

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

0
i/outdated/icons.png → static/img/outdated/icons.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 137 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 81 B

After

Width:  |  Height:  |  Size: 81 B

View File

Before

Width:  |  Height:  |  Size: 84 B

After

Width:  |  Height:  |  Size: 84 B

0
i/slaid/slaid1.png → static/img/screenshots/1.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

0
i/slaid/slaid2.png → static/img/screenshots/2.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 306 KiB

0
i/slaid/slaid3.png → static/img/screenshots/3.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

0
i/slaid/slaid4.png → static/img/screenshots/4.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 124 KiB

0
i/slaid/slaid5.png → static/img/screenshots/5.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 358 KiB

0
i/slaid/slaid6.png → static/img/screenshots/6.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,7 +1,7 @@
body { body {
margin: 0; margin: 0;
font-family: "Source Sans Pro", "Open Sans", sans-serif; font-family: "Source Sans Pro", "Open Sans", sans-serif;
background: #e1e2e2 url(i/bg.png) repeat fixed 0 0; background: #e1e2e2 url(img/bg.png) repeat fixed 0 0;
} }
#menu { #menu {

View File

@@ -1,56 +1,11 @@
<!doctype html> {% extends 'tmpl/index.htm' %}
<html lang="ru" onmouseup="dropdown_hide()">
<head>
<meta charset="utf-8">
<title>KolibriOS</title>
<link rel="icon" type="image/x-icon" href="../favicon.ico">
<meta name="description" content="Официальный сайт KolibriOS">
<meta name="keywords"
content="kolibri, kolibrios, колибри, колибриос, colibri, operating system, assembler, калибри, fasm, alternate, open source">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="../style.css">
<script src="../script.js"></script>
</head>
<body onkeydown="checkkey(event)">
<div id="lang-dropdown">
<div>
<a href="../en/index.htm"><img src="../i/fl/en.png" alt="en" />English</a>
<a href="../de/index.htm"><img src="../i/fl/de.png" alt="de" />Deutsch</a>
<a href="../es/index.htm"><img src="../i/fl/es.png" alt="es" />Español</a>
<a href="../fr/index.htm"><img src="../i/fl/fr.png" alt="fr" />Français</a>
<a href="../it/index.htm"><img src="../i/fl/it.png" alt="it" />Italiano</a>
<a href="../nl/index.htm"><img src="../i/fl/nl.png" alt="nl" />Nederlands</a>
<font bg="#90EE90">
<a class="a-sel" href="../ru/index.htm">
<img src="../i/fl/ru.png" alt="ru" />Русский
</a>
</font>
</div>
</div>
<nav id="menu">
<a href="../ru/index.htm" class="a-sel">
<font bg="lightblue">КолибриОС</font>
</a>
<a href="../ru/download.htm">Скачать</a>
<a href="http://board.kolibrios.org">Форум</a>
<a href="http://wiki.kolibrios.org/index.php?title=Main_Page&amp;setlang=ru">Вики</a>
<a href="https://git.kolibrios.org">Git</a>
<button onclick="dropdown_show(this)" id="lang-butt">
<img src="../i/fl/ru.png" alt="ru">
</button>
</nav>
<div id="article">
{% block content %}
<a id="banner" href="https://git.kolibrios.org" target="_blank"> <a id="banner" href="https://git.kolibrios.org" target="_blank">
<table> <table>
<tr> <tr>
<td valign="top" width="128"> <td valign="top" width="128">
<img src="../i/logo.png" alt="Banner Image" /> <img src="{{ url_for('static', filename='img/logo.png') }}" alt="Banner Image" />
</td> </td>
<td valign="top"> <td valign="top">
<h1>КолибриОС перешла на Git!</h1> <h1>КолибриОС перешла на Git!</h1>
@@ -62,7 +17,7 @@
</p> </p>
</td> </td>
<td valign="top" width="128"> <td valign="top" width="128">
<img src="../i/banners/gitea.png" alt="Banner Image" /> <img src="{{ url_for('static', filename='img/icons/gitea.png') }}" alt="Banner Image" />
</td> </td>
</tr> </tr>
</table> </table>
@@ -101,43 +56,4 @@
<a href="https://git.kolibrios.org/KolibriOS/kolibrios">помощь</a> <a href="https://git.kolibrios.org/KolibriOS/kolibrios">помощь</a>
ценится ещё больше. ценится ещё больше.
</p> </p>
{% endblock %}
<p class="p-subscription">
<b>
Надеемся, вам понравится!<br />
Команда КолибриОС
</b>
</p>
<p class="p-socials">
<a href="https://t.me/kolibrios_news" target="_blank">
<img src="../i/i_telegram.png" />Telegram
</a>
<br />
<a href="https://discord.com/invite/FeB2NvE6bF" target="_blank">
<img src="../i/i_discord.png" />Discord
</a>
<br />
<a href="https://www.facebook.com/groups/kolibrios/" target="_blank">
<img src="../i/i_facebook.png" />Facebook
</a>
<br />
<a href="https://www.reddit.com/r/KolibriOS/" target="_blank">
<img src="../i/i_reddit.png" />Reddit
</a>
</p>
</div>
<div id="footer">
<img src="../i/logo.png" />
<p>
&copy; 2004<script>document.write("&thinsp;&ndash;&thinsp;" + new Date().getFullYear());</script>
<br />
Команда КолибриОС
</p>
</div>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<head>
<meta charset="utf-8">
<title>{{ locale['%s.title' % lang][request.url_rule.endpoint] }}</title>
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}">
<meta name="description" content="{{ locale[lang]['description'] }}">
<meta name="keywords"
content="kolibri, kolibrios, колибри, колибриос, colibri, operating system, assembler, калибри, fasm, alternate, open source">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">
<script src="{{ url_for('static', filename='script.js') }}"></script>
</head>

View File

@@ -0,0 +1,24 @@
<div id="lang-dropdown">
<div>
{%- for l, lang in (
("en", "English"),
("es", "Español"),
("de", "Deutsch"),
("fr", "Français"),
("nl", "Nederlands"),
("ru", "Русский")
) %}
{%- if request.view_args['lang'] == l %}
<font bg=#FF9800>
<a class='a-sel' href="{{ url_for(request.url_rule.endpoint, lang=l) }}">
<img src="{{ url_for('static', filename='img/flags/%s.png' % l) }}" alt='{{ l }}'/>
{{ lang }}
</a>
</font>
{%- else %}
<a href="{{ url_for(request.url_rule.endpoint, lang=l) }}"><img src="{{ url_for('static', filename='img/flags/%s.png' % l) }}" alt='de'/>{{ lang }}</a>
{%- endif %}
{%- endfor %}
</div>
</div>

12
templates/tmpl/_menu.htm Normal file
View File

@@ -0,0 +1,12 @@
<nav id="menu">
<a href="{{ url_for('index', lang=lang) }}" class="a-sel">
<font bg="lightblue">{{ locale[lang]['kolibrios'] }}</font>
</a>
<a href="{{ url_for('download_page', lang=lang) }}">{{ locale[lang]['download'] }}</a>
<a href="https://board.kolibrios.org">{{ locale[lang]['forum'] }}</a>
<a href="https://wiki.kolibrios.org/wiki/Main_Page/{{ lang }}">{{ locale[lang]['wiki'] }}</a>
<a href="https://git.kolibrios.org">Git</a>
<button onclick="dropdown_show(this)" id="lang-butt">
<img src="{{ url_for('static', filename='img/flags/%s.png' % lang) }}" alt="{{ lang }}">
</button>
</nav>

View File

@@ -0,0 +1,17 @@
<p class="p-socials">
<a href="https://t.me/kolibrios_news" target="_blank">
<img src="{{ url_for('static', filename='img/icons/i_telegram.png') }}" />Telegram
</a>
<br />
<a href="https://discord.com/invite/FeB2NvE6bF" target="_blank">
<img src="{{ url_for('static', filename='img/icons/i_discord.png') }}" />Discord
</a>
<br />
<a href="https://www.facebook.com/groups/kolibrios/" target="_blank">
<img src="{{ url_for('static', filename='img/icons/i_facebook.png') }}" />Facebook
</a>
<br />
<a href="https://www.reddit.com/r/KolibriOS/" target="_blank">
<img src="{{ url_for('static', filename='img/icons/i_reddit.png') }}" />Reddit
</a>
</p>

View File

@@ -0,0 +1,97 @@
<!doctype html>
<html lang="{{ lang }}" onmouseup="dropdown_hide()">
{% include 'tmpl/_header.htm' %}
<body onkeydown="checkkey(event)">
{% include 'tmpl/_lang-dropdown.htm' %}
{% include 'tmpl/_menu.htm' %}
<div id="article">
<h1>{{ locale[lang]['downloading'] }}</h1>
<table>
{% for ext, alt in (
('img', 'floppy'),
('iso', 'cd'),
('distr', 'universal'),
('raw', 'uefi')
) %}
<tr class="tr-margin-bot">
<td class="td-image" width="40"><img src="{{ url_for('static', filename='img/icons/i_%s.png' % alt) }}" alt="{{ alt }}"></td>
<td class="td-description">{{ locale[lang]['%s-descr' % s] }}</td>
<td class="td-date">$autobuild_date_ru</td>
<td class="td-languages">
{% for l, lang in (
('en_US', 'English'),
('ru_RU', 'Русский'),
('es_ES', 'Español')
) %}
<a href="//builds.kolibrios.org/{{ l }}/latest-{{ ext }}.7z"
title="ver. $autobuild_cmtid_{{ l }}, $autobuild_size_{{ l }}_{{ ext }}">{{ lang }}</a>
{% endfor %}
</td>
</tr>
{% endfor %}
<tr>
<td colspan="4">
<hr />
</td>
</tr>
<tr class="tr-margin-top">
<td class="td-description" colspan="2">
<div role="button" class="help-button"
onclick="alert('{{ locale[lang]['download_help']}}');">
Какой выбрать?
</div>
<td class="td-date">
<a href="//archive.kolibrios.org/ru/">Предыдущие выпуски</a>
</td>
<td class="td-languages">
<a href="//builds.kolibrios.org/">Все ночные сборки</a>
</td>
</tr>
</table>
<p>
На этой странице вы можете скачать ночные сборки дистрибутива.
Это означает, что они всегда содержат последние изменения в системе и,
следовательно, могут быть нестабильными. Все файлы сжаты с помощью
<a href='http://www.7-zip.org' target='_blank'>7zip</a>.
<b>КолибриОС</b> распространяется под лицензией
<a href='http://www.gnu.org/licenses/gpl-2.0.html' target='_blank'>GPLv2</a>,
а исходный код доступен на нашем
<a href='https://git.kolibrios.org'>Git-сервере</a>.
</p>
<h1>{{ locale[lang]['screenshots'] }}</h1>
<div id="screen" onclick="next()">
<div id="show">
{% for i in range(1, 7) %}
<img
id="slide{{ i }}"
src="{{ url_for('static', filename='img/screenshots/%d.png' % i ) }}"
{% if i == 1 %}class="visible"{% endif %}
alt="{{ locale['%s.screenshots' % lang]['%d' % i] }}" >
{% endfor %}
</div>
</div>
<div id="carousel"></div>
<div id="dots"></div>
</div>
<div id="footer">
<img src="{{ url_for('static', filename='img/logo.png') }}" />
<p>
&copy; 2004<script>document.write("&thinsp;&ndash;&thinsp;" + new Date().getFullYear());</script>
<br />
Команда КолибриОС
</p>
</div>
</body>
</html>

28
templates/tmpl/index.htm Normal file
View File

@@ -0,0 +1,28 @@
<!doctype html>
<html lang="{{ lang }}" onmouseup="dropdown_hide()">
{% include 'tmpl/_header.htm' %}
<body onkeydown="checkkey(event)">
{% include 'tmpl/_lang-dropdown.htm' %}
{% include 'tmpl/_menu.htm' %}
<div id="article">
{% block content %}{% endblock %}
{% include 'tmpl/_socials.htm' %}
</div>
<div id="footer">
<img src="{{ url_for('static', filename='img/logo.png') }}" />
<p>
&copy; 2004-{{ year }} <br />
{{ locale[lang]['team'] }}
</p>
</div>
</body>
</html>