{% endif %}
{% for code_line in code_lines %}
{{ code_line }}
diff --git a/templates/pages/privacy.jinja b/templates/pages/privacy.jinja
index 1b38f97..35e1783 100644
--- a/templates/pages/privacy.jinja
+++ b/templates/pages/privacy.jinja
@@ -13,170 +13,177 @@
{% block main_content %}
- {{ render_h1(l10n("introduction.title", "privacy", user_lang), "fad fa-info") }}
- {{ render_paragraph(l10n("introduction.text.1", "privacy", user_lang)) }}
- {{ render_paragraph(l10n("introduction.text.2", "privacy", user_lang) +
- '
- https://gdpr.eu/
-
- https://eur-lex.europa.eu/')}}
+
+ {{ render_h1(l10n("introduction.title", "privacy", user_lang), "fad fa-info") }}
+
+ {{ render_paragraph(l10n("introduction.text.1", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n("introduction.text.2", "privacy", user_lang) +
+ '
+
https://gdpr.eu/
+
+
https://eur-lex.europa.eu/')}}
+
+
- {{ render_h1(l10n("v2.data.title", "privacy", user_lang), "fad fa-database") }}
- {{ render_paragraph(l10n("v2.data.intro.1", "privacy", user_lang) +
- '
' + l10n("v2.data.intro.2", "privacy", user_lang)) }}
- {{ render_paragraph(l10n('v2.data.private.1', "privacy", user_lang) +
- render_list_ul([
- l10n('v2.data.private_list.1', "privacy", user_lang),
- l10n('v2.data.private_list.2', "privacy", user_lang),
- ])
- ) }}
- {{ render_paragraph(l10n('v2.data.non_private.1', "privacy", user_lang) +
- '- ' + l10n('v2.data.non_private_list.1', "privacy", user_lang) +
- '
- ' + l10n('v2.data.non_private_list.2', "privacy", user_lang) +
- '
') }}
- {{ render_paragraph(l10n("v2.data.end.1", "privacy", user_lang)) }}
- {{ render_paragraph(l10n("v2.data.end.2", "privacy", user_lang) +
- '
' + l10n("v2.data.end.3", "privacy", user_lang)) }}
- {{ render_paragraph(l10n("v2.data.end.4", "privacy", user_lang)) }}
- {{ render_paragraph(l10n("v2.data.end.5", "privacy", user_lang) +
- '
' + l10n("v2.data.end.6", "privacy", user_lang)) }}
+
+ {{ render_h1(l10n("v2.data.title", "privacy", user_lang), "fad fa-database") }}
+
+ {{ render_paragraph(l10n("v2.data.intro.1", "privacy", user_lang) +
+ '
' + l10n("v2.data.intro.2", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n('v2.data.private.1', "privacy", user_lang) +
+ render_list_ul([
+ l10n('v2.data.private_list.1', "privacy", user_lang),
+ l10n('v2.data.private_list.2', "privacy", user_lang),
+ ])
+ ) }}
+ {{ render_paragraph(l10n('v2.data.non_private.1', "privacy", user_lang) +
+ '
- ' + l10n('v2.data.non_private_list.1', "privacy", user_lang) +
+ '
- ' + l10n('v2.data.non_private_list.2', "privacy", user_lang) +
+ '
') }}
+ {{ render_paragraph(l10n("v2.data.end.1", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n("v2.data.end.2", "privacy", user_lang) +
+ '
' + l10n("v2.data.end.3", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n("v2.data.end.4", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n("v2.data.end.5", "privacy", user_lang) +
+ '
' + l10n("v2.data.end.6", "privacy", user_lang)) }}
+
+
- {{ render_h1(l10n("v2.data_dns.title", "privacy", user_lang), "fad fa-database") }}
- {{ render_paragraph(l10n("v2.data_dns.intro.1", "privacy", user_lang) +
- '
' + l10n("v2.data_dns.intro.2", "privacy", user_lang)) }}
- {{ render_paragraph(l10n('v2.data_dns.private.1', "privacy", user_lang) +
- '- ' + l10n('v2.data_dns.private_list.1', "privacy", user_lang) +
- '
') }}
- {{ render_paragraph(l10n('v2.data_dns.non_private.1', "privacy", user_lang) +
- '- ' + l10n('v2.data_dns.non_private_list.1', "privacy", user_lang) +
- '
- ' + l10n('v2.data_dns.non_private_list.2', "privacy", user_lang) +
- '
') }}
- {{ render_paragraph(l10n("v2.data_dns.end.1", "privacy", user_lang)) }}
+
+ {{ render_h1(l10n("v2.data_dns.title", "privacy", user_lang), "fad fa-database") }}
+
+ {{ render_paragraph(l10n("v2.data_dns.intro.1", "privacy", user_lang) +
+ '
' + l10n("v2.data_dns.intro.2", "privacy", user_lang)) }}
+
+ {{ render_paragraph(l10n('v2.data_dns.private.1', "privacy", user_lang)) }}
+ {{ render_list_ul([
+ l10n('v2.data_dns.private_list.1', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph(l10n('v2.data_dns.non_private.1', "privacy", user_lang)) }}
+ {{ render_list_ul([
+ l10n('v2.data_dns.non_private_list.1', "privacy", user_lang),
+ l10n('v2.data_dns.non_private_list.2', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph(l10n("v2.data_dns.end.1", "privacy", user_lang)) }}
+
+
- {{ render_h1(l10n("v2.third.title", "privacy", user_lang), "fad fa-handshake") }}
- {{ render_paragraph(l10n("v2.third.intro.1", "privacy", user_lang) +
- '
' + l10n("v2.third.intro.2", "privacy", user_lang)) }}
- {{ render_paragraph(l10n("v2.third.intro.3", "privacy", user_lang)) }}
- {{ render_paragraph(l10n('v2.third.intro.4', "privacy", user_lang) +
- '
IONOS' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '
ChicagoVPS' +
- '' +
- l10n('english', "langs", user_lang) + '') }}
+
+ {{ render_h1(l10n("v2.third.title", "privacy", user_lang), "fad fa-handshake") }}
+
+ {{ render_paragraph(l10n("v2.third.intro.1", "privacy", user_lang) +
+ '
' + l10n("v2.third.intro.2", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n("v2.third.intro.3", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n('v2.third.intro.4', "privacy", user_lang) +
+ '
IONOS' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
ChicagoVPS' +
+ '
' +
+ l10n('english', "langs", user_lang) + '') }}
+
+
- {{ render_h1(l10n("v2.cookies.title", "privacy", user_lang), "fad fa-cookie-bite") }}
- {{ render_paragraph(l10n("v2.cookies.intro.1", "privacy", user_lang)) }}
-
-
-
- {{ render_h1(l10n("v2.update.title", "privacy", user_lang), "fad fa-sync-alt") }}
- {{ render_paragraph(l10n("v2.update.intro.1", "privacy", user_lang)) }}
- {{ render_paragraph('' + l10n("v2.update.history.1.date", "privacy", user_lang) +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '
' +
- '- ' + l10n('v2.update.history.1.desc.1', "privacy", user_lang) + '
' +
- '
' )}}
- {{ render_paragraph('' + l10n("v2.update.history.2.date", "privacy", user_lang) +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '
' +
- '- ' + l10n('v2.update.history.2.desc.1', "privacy", user_lang) + '
' +
- '- ' + l10n('v2.update.history.2.desc.2', "privacy", user_lang) + '
' +
- '- ' + l10n('v2.update.history.2.desc.3', "privacy", user_lang) + '
' +
- '
' )}}
- {{ render_paragraph('' + l10n("v2.update.history.3.date", "privacy", user_lang) +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '
' +
- '- ' + l10n('v2.update.history.3.desc.1', "privacy", user_lang) + '
' +
- '' +
- '- ' + l10n('v2.update.history.3.desc.1.1', "privacy", user_lang) + '
' +
- '- ' + l10n('v2.update.history.3.desc.1.2', "privacy", user_lang) + '
' +
- '
' +
- '- ' + l10n('v2.update.history.3.desc.2', "privacy", user_lang) + '
' +
- '
' )}}
- {{ render_paragraph('' + l10n("v2.update.history.4.date", "privacy", user_lang) +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '
' +
- '- ' + l10n('v2.update.history.4.desc.1', "privacy", user_lang) + '
' +
- '' +
- '- ' + l10n('v2.update.history.4.desc.1.1', "privacy", user_lang) + '
' +
- '
' +
- '- ' + l10n('v2.update.history.4.desc.2', "privacy", user_lang) + '
' +
- '
' )}}
- {{ render_paragraph('' + l10n("v2.update.history.5.date", "privacy", user_lang) +
- '' +
- l10n('english', "langs", user_lang) + '' +
- '' +
- l10n('french', "langs", user_lang) + '' +
- '
' +
- '- ' + l10n('v2.update.history.5.desc.1', "privacy", user_lang) + '
' +
- '- ' + l10n('v2.update.history.5.desc.2', "privacy", user_lang) + '
' +
- '
' )}}
- {{ render_paragraph(l10n("v2.update.end.2", "privacy", user_lang)) }}
+
+ {{ render_h1(l10n("v2.cookies.title", "privacy", user_lang), "fad fa-cookie-bite") }}
+
+ {{ render_paragraph(l10n("v2.cookies.intro.1", "privacy", user_lang)) }}
+
+
- {{ render_h1(l10n("contact.title", "privacy", user_lang), "fad fa-mailbox") }}
- {{ render_paragraph(l10n("contact.text.1", "privacy", user_lang) +
- '
herwin.bozet@gmail.com') }}
+
+ {{ render_h1(l10n("v2.update.title", "privacy", user_lang), "fad fa-sync-alt") }}
+
+ {{ render_paragraph(l10n("v2.update.intro.1", "privacy", user_lang)) }}
+ {{ render_paragraph('
' + l10n("v2.update.history.1.date", "privacy", user_lang) +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' )}}
+ {{ render_list_ul([
+ l10n('v2.update.history.1.desc.1', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph('
' + l10n("v2.update.history.2.date", "privacy", user_lang) +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' )}}
+ {{ render_list_ul([
+ l10n('v2.update.history.2.desc.1', "privacy", user_lang),
+ l10n('v2.update.history.2.desc.2', "privacy", user_lang),
+ l10n('v2.update.history.2.desc.3', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph('
' + l10n("v2.update.history.3.date", "privacy", user_lang) +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' )}}
+ {{ render_list_ul([
+ l10n('v2.update.history.3.desc.1', "privacy", user_lang),
+ l10n('v2.update.history.3.desc.1.1', "privacy", user_lang),
+ l10n('v2.update.history.3.desc.1.2', "privacy", user_lang),
+ l10n('v2.update.history.3.desc.2', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph('
' + l10n("v2.update.history.4.date", "privacy", user_lang) +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' )}}
+ {{ render_list_ul([
+ l10n('v2.update.history.4.desc.1', "privacy", user_lang),
+ l10n('v2.update.history.4.desc.1.1', "privacy", user_lang),
+ l10n('v2.update.history.4.desc.2', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph('
' + l10n("v2.update.history.5.date", "privacy", user_lang) +
+ '
' +
+ l10n('english', "langs", user_lang) + '' +
+ '
' +
+ l10n('french', "langs", user_lang) + '' )}}
+ {{ render_list_ul([
+ l10n('v2.update.history.5.desc.1', "privacy", user_lang),
+ l10n('v2.update.history.5.desc.2', "privacy", user_lang)
+ ]) }}
+
+ {{ render_paragraph(l10n("v2.update.end.2", "privacy", user_lang)) }}
+
+
- {{ render_h1(l10n("complaint.title", "privacy", user_lang), "fad fa-gavel") }}
- {{ render_paragraph(l10n("complaint.text.1", "privacy", user_lang)) }}
- {{ render_paragraph(l10n('complaint.text.2', "privacy", user_lang) +
- '
' +
- 'https://ec.europa.eu/' +
- '(' + l10n('english', "langs", user_lang) + ')' +
- '
' +
- 'https://gegevensbeschermingsautoriteit.be/' +
- '(' + l10n('french', "langs", user_lang) + ')' ) }}
+
+ {{ render_h1(l10n("contact.title", "privacy", user_lang), "fad fa-mailbox") }}
+
+ {{ render_paragraph(l10n("contact.text.1", "privacy", user_lang) +
+ '
herwin.bozet@gmail.com') }}
+
+
+
+
+
+ {{ render_h1(l10n("complaint.title", "privacy", user_lang), "fad fa-gavel") }}
+
+ {{ render_paragraph(l10n("complaint.text.1", "privacy", user_lang)) }}
+ {{ render_paragraph(l10n('complaint.text.2', "privacy", user_lang) +
+ '
' +
+ '
https://ec.europa.eu/' +
+ '
(' + l10n('english', "langs", user_lang) + ')' +
+ '
' +
+ '
https://gegevensbeschermingsautoriteit.be/' +
+ '
(' + l10n('french', "langs", user_lang) + ')' ) }}
+
+
{% endblock %}
diff --git a/templates/pages/tools_page.jinja b/templates/pages/tools_page.jinja
index 2c90f2a..f3b86bc 100644
--- a/templates/pages/tools_page.jinja
+++ b/templates/pages/tools_page.jinja
@@ -16,7 +16,10 @@
{{ l10n("header.root", "projects", user_lang) }}
❱{{ l10n(tool_data.metadata.general.title_key, tool_id, user_lang) }}
{% else %}
- NibblePoker❱{{ l10n(tool_data.metadata.general.title_key, tool_id, user_lang) }}
+ {% if not is_brandless %}
+ NibblePoker❱
+ {% endif %}
+ {{ l10n(tool_data.metadata.general.title_key, tool_id, user_lang) }}
{% endif %}
{% endblock %}
diff --git a/templates/projects/circuitpython-ebyte-e32.jinja b/templates/projects/circuitpython-ebyte-e32.jinja
index 7714ffd..bf543f8 100644
--- a/templates/projects/circuitpython-ebyte-e32.jinja
+++ b/templates/projects/circuitpython-ebyte-e32.jinja
@@ -1,198 +1,234 @@
{% extends "projects/_project.jinja" %}
{% block project_content %}
- {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.p1", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("intro.p1", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("features.title", project_id, user_lang)) }}
- {{ render_list_ul([
- l10n("features.1", project_id, user_lang),
- l10n("features.2", project_id, user_lang),
- [
- l10n("features.2.1", project_id, user_lang),
- l10n("features.2.2", project_id, user_lang),
- l10n("features.2.3", project_id, user_lang),
- ],
- l10n("features.3", project_id, user_lang),
- [
- l10n("features.3.1", project_id, user_lang),
- l10n("features.3.2", project_id, user_lang),
- ],
- ]) }}
+
+ {{ render_h2(l10n("features.title", project_id, user_lang)) }}
+
+ {{ render_list_ul([
+ l10n("features.1", project_id, user_lang),
+ l10n("features.2", project_id, user_lang),
+ [
+ l10n("features.2.1", project_id, user_lang),
+ l10n("features.2.2", project_id, user_lang),
+ l10n("features.2.3", project_id, user_lang),
+ ],
+ l10n("features.3", project_id, user_lang),
+ [
+ l10n("features.3.1", project_id, user_lang),
+ l10n("features.3.2", project_id, user_lang),
+ ],
+ ]) }}
+
+
- {{ render_h2(l10n("limitations.title", project_id, user_lang)) }}
- {{ render_list_ul([
- l10n("limitations.1", project_id, user_lang),
- [
- l10n("limitations.2.1", project_id, user_lang),
- l10n("limitations.2.2", project_id, user_lang),
- ],
- l10n("limitations.2", project_id, user_lang),
- [
- l10n("limitations.2.1", project_id, user_lang),
- l10n("limitations.2.2", project_id, user_lang),
- ],
- l10n("limitations.3", project_id, user_lang),
- [
- l10n("limitations.3.1", project_id, user_lang),
- ],
- ]) }}
+
+ {{ render_h2(l10n("limitations.title", project_id, user_lang)) }}
+
+ {{ render_list_ul([
+ l10n("limitations.1", project_id, user_lang),
+ [
+ l10n("limitations.2.1", project_id, user_lang),
+ l10n("limitations.2.2", project_id, user_lang),
+ ],
+ l10n("limitations.2", project_id, user_lang),
+ [
+ l10n("limitations.2.1", project_id, user_lang),
+ l10n("limitations.2.2", project_id, user_lang),
+ ],
+ l10n("limitations.3", project_id, user_lang),
+ [
+ l10n("limitations.3.1", project_id, user_lang),
+ ],
+ ]) }}
+
+
- {{ render_h2(l10n("doc.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("doc.p1", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("doc.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("doc.p1", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("usage.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("usage.p1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("usage.p2", project_id, user_lang)) }}
- {{
- render_code_block([
- "import board",
- "import time",
- "",
- "import ebyte_e32",
- "",
- "PIN_M0 = board.IO13",
- "PIN_M1 = board.IO12",
- "PIN_RXD = board.IO11 # Pin marked as RX on the module",
- "PIN_TXD = board.IO10 # Pin marked as TX on the module",
- "PIN_AUX = board.IO9",
- "",
- "e32 = ebyte_e32.E32Device(PIN_M0, PIN_M1, PIN_AUX, PIN_TXD, PIN_RXD, address=0xBEEF, channel=4)",
- "",
- "# Switching to fixed transmission mode.",
- "e32.tx_mode = ebyte_e32.TransmissionMode.TRANSMISSION_FIXED",
- "",
- "# Switching to mode 0. (Normal mode)",
- "e32.mode = ebyte_e32.Modes.MODE_NORMAL",
- "",
- "# Message content:",
- "# * Receiver's address: 0x1337 (b'\\13\\x37')",
- "# * Receiver's channel: 4 (b'\\x04')",
- "# * Message: b'Hello World !'",
- "message = b'\\x13\\x37\\x04Hello World !'",
- "",
- "# Sending message with helper method",
- "e32.send(message)",
- "",
- "# The message may be truncated at specific lengths depending on the frequencies used.",
- "# Please check the documentation for more information !"
- ], "python")
- }}
+
+ {{ render_h2(l10n("usage.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("usage.p1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("usage.p2", project_id, user_lang)) }}
+ {{
+ render_code_block([
+ "import board",
+ "import time",
+ "",
+ "import ebyte_e32",
+ "",
+ "PIN_M0 = board.IO13",
+ "PIN_M1 = board.IO12",
+ "PIN_RXD = board.IO11 # Pin marked as RX on the module",
+ "PIN_TXD = board.IO10 # Pin marked as TX on the module",
+ "PIN_AUX = board.IO9",
+ "",
+ "e32 = ebyte_e32.E32Device(PIN_M0, PIN_M1, PIN_AUX, PIN_TXD, PIN_RXD, address=0xBEEF, channel=4)",
+ "",
+ "# Switching to fixed transmission mode.",
+ "e32.tx_mode = ebyte_e32.TransmissionMode.TRANSMISSION_FIXED",
+ "",
+ "# Switching to mode 0. (Normal mode)",
+ "e32.mode = ebyte_e32.Modes.MODE_NORMAL",
+ "",
+ "# Message content:",
+ "# * Receiver's address: 0x1337 (b'\\13\\x37')",
+ "# * Receiver's channel: 4 (b'\\x04')",
+ "# * Message: b'Hello World !'",
+ "message = b'\\x13\\x37\\x04Hello World !'",
+ "",
+ "# Sending message with helper method",
+ "e32.send(message)",
+ "",
+ "# The message may be truncated at specific lengths depending on the frequencies used.",
+ "# Please check the documentation for more information !"
+ ], "python")
+ }}
+
+
- {{ render_h2(l10n("demo.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("demo.p1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("demo.p3", project_id, user_lang)) }}
- {{ render_paragraph(l10n("demo.p4", project_id, user_lang)) }}
- {{ render_splide([
- '
',
- '
',
- '
',
- '
',
- ]) }}
+
+ {{ render_h2(l10n("demo.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("demo.p1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("demo.p3", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("demo.p4", project_id, user_lang)) }}
+ {{ render_splide([
+ '

',
+ '

',
+ '

',
+ '

',
+ ]) }}
+
+
- {{ render_h2(l10n("downloads.title", project_id, user_lang)) }}
-
-
-
- {{ l10n("version", "commons", user_lang) }} |
- .py |
- .min.py |
-
-
-
-
- v0.8.0 |
-
-
- {{ render_button(
- "10.42 KiB",
- False, None, "btn-primary")
- }}
-
- |
-
-
- {{ render_button(
- "4.79 KiB",
- False, None, "btn-primary")
- }}
-
- |
-
-
- v0.7.0 |
-
-
- {{ render_button(
- "10.51 KiB",
- False, None)
- }}
-
- |
-
-
- {{ render_button(
- "4.79 KiB",
- False, None)
- }}
-
- |
-
-
- v0.6.0 |
-
-
- {{ render_button(
- "10.39 KiB",
- False, None)
- }}
-
- |
-
-
- {{ render_button(
- "4.62 KiB",
- False, None)
- }}
-
- |
-
-
- v0.4.0 |
-
-
- {{ render_button(
- "19.96 KiB",
- False, None)
- }}
-
- |
-
-
- {{ render_button(
- "4.18 KiB",
- False, None)
- }}
-
- |
-
-
-
+
+ {{ render_h2(l10n("downloads.title", project_id, user_lang)) }}
+
+
+
+
+ {{ l10n("version", "commons", user_lang) }} |
+ .py |
+ .min.py |
+
+
+
+
+ v0.8.0 |
+
+
+ {{ render_button(
+ "10.42 KiB",
+ False, None, "btn-primary")
+ }}
+
+ |
+
+
+ {{ render_button(
+ "4.79 KiB",
+ False, None, "btn-primary")
+ }}
+
+ |
+
+
+ v0.7.0 |
+
+
+ {{ render_button(
+ "10.51 KiB",
+ False, None)
+ }}
+
+ |
+
+
+ {{ render_button(
+ "4.79 KiB",
+ False, None)
+ }}
+
+ |
+
+
+ v0.6.0 |
+
+
+ {{ render_button(
+ "10.39 KiB",
+ False, None)
+ }}
+
+ |
+
+
+ {{ render_button(
+ "4.62 KiB",
+ False, None)
+ }}
+
+ |
+
+
+ v0.4.0 |
+
+
+ {{ render_button(
+ "19.96 KiB",
+ False, None)
+ }}
+
+ |
+
+
+ {{ render_button(
+ "4.18 KiB",
+ False, None)
+ }}
+
+ |
+
+
+
+
+
- {{ render_h2(l10n("license.title", project_id, user_lang)) }}
- {{ render_paragraph(
- "" +
- l10n("license.mit.single", "commons", user_lang)) +
- ""
- }}
+
+ {{ render_h2(l10n("license.title", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("links.title", project_id, user_lang)) }}
- {{ render_list_ul([
- "" +
- l10n("github", "commons", user_lang) + "",
+
+ {{ render_h2(l10n("links.title", project_id, user_lang)) }}
+
+
{% endblock %}
diff --git a/templates/projects/docker-mini-cctv-nvr.jinja b/templates/projects/docker-mini-cctv-nvr.jinja
index 04ed1ce..b2d715a 100644
--- a/templates/projects/docker-mini-cctv-nvr.jinja
+++ b/templates/projects/docker-mini-cctv-nvr.jinja
@@ -1,137 +1,181 @@
{% extends "projects/_project.jinja" %}
{% block project_content %}
- {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.2", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("intro.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("intro.2", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("preamble.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("preamble.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("preamble.2", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("preamble.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("preamble.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("preamble.2", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("setup.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.2", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("setup.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("setup.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("setup.2", project_id, user_lang)) }}
+
+
- {{ render_h3(l10n("setup.camera.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.camera.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.camera.2", project_id, user_lang)) }}
- {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
- {{
- render_code_block([
- "nvr_stack:",
- " cctv_recorder_cam1:",
- " container_name: cctv-recorder-cam1",
- " build:",
- " context: .",
- " dockerfile: Dockerfile_recorder",
- " environment:",
- " - TZ=Europe/Brussels",
- " - \"NP_CCTV_URL=rtsp://user:password@address:554/sub-path\"",
- " volumes:",
- " - ./recordings/cam1:/data",
- " restart: unless-stopped",
- ], "yaml")
- }}
- {{ render_paragraph(l10n("setup.camera.3", project_id, user_lang)) }}
+
+ {{ render_h3(l10n("setup.camera.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("setup.camera.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("setup.camera.2", project_id, user_lang)) }}
+ {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
+ {{
+ render_code_block([
+ "nvr_stack:",
+ " cctv_recorder_cam1:",
+ " container_name: cctv-recorder-cam1",
+ " build:",
+ " context: .",
+ " dockerfile: Dockerfile_recorder",
+ " environment:",
+ " - TZ=Europe/Brussels",
+ " - \"NP_CCTV_URL=rtsp://user:password@address:554/sub-path\"",
+ " volumes:",
+ " - ./recordings/cam1:/data",
+ " restart: unless-stopped",
+ ], "yaml")
+ }}
+ {{ render_paragraph(l10n("setup.camera.3", project_id, user_lang)) }}
+
+
- {{ render_h3(l10n("setup.cleaner.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.cleaner.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.cleaner.2", project_id, user_lang)) }}
- {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
- {{
- render_code_block([
- "nvr_stack:",
- " cctv_cleaner:",
- " container_name: cctv-cleaner",
- " build:",
- " context: .",
- " dockerfile: Dockerfile_cleaner",
- " environment:",
- " - TZ=Europe/Brussels",
- " - \"NP_MAX_FILE_AGE_HOURS=72\"",
- " volumes:",
- " - ./recordings:/data",
- " - ./cleaner.py:/app/app.py:ro",
- " restart: unless-stopped",
- ], "yaml")
- }}
+
+ {{ render_h3(l10n("setup.cleaner.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("setup.cleaner.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("setup.cleaner.2", project_id, user_lang)) }}
+ {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
+ {{
+ render_code_block([
+ "nvr_stack:",
+ " cctv_cleaner:",
+ " container_name: cctv-cleaner",
+ " build:",
+ " context: .",
+ " dockerfile: Dockerfile_cleaner",
+ " environment:",
+ " - TZ=Europe/Brussels",
+ " - \"NP_MAX_FILE_AGE_HOURS=72\"",
+ " volumes:",
+ " - ./recordings:/data",
+ " - ./cleaner.py:/app/app.py:ro",
+ " restart: unless-stopped",
+ ], "yaml")
+ }}
+
+
- {{ render_h3(l10n("setup.web.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.web.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.web.2", project_id, user_lang)) }}
- {{ render_paragraph(l10n("setup.web.3", project_id, user_lang)) }}
- {{ render_h4(l10n("commons.web.vars.title", project_id, user_lang)) }}
- {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
- {{
- render_code_block([
- "nvr_stack:",
- " cctv_web:",
- " container_name: cctv-web",
- " image: php:apache",
- " ports:",
- " - 26880:80",
- " environment:",
- " - TZ=Europe/Brussels",
- " - \"NP_CAM_cam1=Camera #1\"",
- " - \"NP_CAM_cam2=Camera #2\"",
- " - \"NP_TITLE=NibblePoker's Mini CCTV NVR\"",
- " - \"NP_FOOTER=Made by BOZET Herwin\"",
- " volumes:",
- " - ./htdocs:/var/www/html # Cannot be \":ro\" since the recordings are mounted into it.",
- " - ./apache2.conf:/etc/apache2/apache2.conf:ro",
- " - ./recordings:/var/www/html/data:ro",
- " restart: unless-stopped",
- ], "yaml")
- }}
+
+ {{ render_h3(l10n("setup.web.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("setup.web.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("setup.web.2", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("setup.web.3", project_id, user_lang)) }}
+ {{ render_h4(l10n("commons.web.vars.title", project_id, user_lang)) }}
+ {{ render_h4(l10n("commons.example", project_id, user_lang)) }}
+ {{
+ render_code_block([
+ "nvr_stack:",
+ " cctv_web:",
+ " container_name: cctv-web",
+ " image: php:apache",
+ " ports:",
+ " - 26880:80",
+ " environment:",
+ " - TZ=Europe/Brussels",
+ " - \"NP_CAM_cam1=Camera #1\"",
+ " - \"NP_CAM_cam2=Camera #2\"",
+ " - \"NP_TITLE=NibblePoker's Mini CCTV NVR\"",
+ " - \"NP_FOOTER=Made by BOZET Herwin\"",
+ " volumes:",
+ " - ./htdocs:/var/www/html # Cannot be \":ro\" since the recordings are mounted into it.",
+ " - ./apache2.conf:/etc/apache2/apache2.conf:ro",
+ " - ./recordings:/var/www/html/data:ro",
+ " restart: unless-stopped",
+ ], "yaml")
+ }}
+
+
- {{ render_h2(l10n("startup.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("startup.1", project_id, user_lang)) }}
- {{
- render_code_block([
- "docker-compose up --build -d",
- ], "bash")
- }}
+
+ {{ render_h2(l10n("startup.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("startup.1", project_id, user_lang)) }}
+ {{
+ render_code_block([
+ "docker-compose up --build -d",
+ ], "bash")
+ }}
+
+
- {{ render_h2(l10n("screenshots.title", project_id, user_lang)) }}
- {{ render_splide([
- '
',
- '
',
- ]) }}
+
+ {{ render_h2(l10n("screenshots.title", project_id, user_lang)) }}
+
+ {{ render_splide([
+ '

',
+ '

',
+ ]) }}
+
+
- {{ render_h2(l10n("statistics.title", project_id, user_lang)) }}
- {{ render_list_ul([
- l10n("statistics.1", project_id, user_lang),
- [
- l10n("statistics.1.1", project_id, user_lang),
- ],
- l10n("statistics.2", project_id, user_lang),
- [
- l10n("statistics.2.1", project_id, user_lang),
- l10n("statistics.2.2", project_id, user_lang),
- [
- l10n("statistics.2.2.1", project_id, user_lang),
- ],
- ],
- l10n("statistics.3", project_id, user_lang),
- [
- l10n("statistics.3.1", project_id, user_lang),
- l10n("statistics.3.2", project_id, user_lang),
- l10n("statistics.3.3", project_id, user_lang),
- ],
- l10n("statistics.4", project_id, user_lang),
- [
- l10n("statistics.4.1", project_id, user_lang),
- l10n("statistics.4.2", project_id, user_lang),
- ],
- ]) }}
+
+ {{ render_h2(l10n("statistics.title", project_id, user_lang)) }}
+
+ {{ render_list_ul([
+ l10n("statistics.1", project_id, user_lang),
+ [
+ l10n("statistics.1.1", project_id, user_lang),
+ ],
+ l10n("statistics.2", project_id, user_lang),
+ [
+ l10n("statistics.2.1", project_id, user_lang),
+ l10n("statistics.2.2", project_id, user_lang),
+ [
+ l10n("statistics.2.2.1", project_id, user_lang),
+ ],
+ ],
+ l10n("statistics.3", project_id, user_lang),
+ [
+ l10n("statistics.3.1", project_id, user_lang),
+ l10n("statistics.3.2", project_id, user_lang),
+ l10n("statistics.3.3", project_id, user_lang),
+ ],
+ l10n("statistics.4", project_id, user_lang),
+ [
+ l10n("statistics.4.1", project_id, user_lang),
+ l10n("statistics.4.2", project_id, user_lang),
+ ],
+ ]) }}
+
+
- {{ render_h2(l10n("license.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("license.1", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("license.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("license.1", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("links.title", project_id, user_lang)) }}
- {{ render_list_ul([
- "" +
- l10n("github", "commons", user_lang) + "",
- ]) }}
+
+ {{ render_h2(l10n("links.title", project_id, user_lang)) }}
+
+
{% endblock %}
diff --git a/templates/projects/lscom-cli-dotnet.jinja b/templates/projects/lscom-cli-dotnet.jinja
index 818fb49..722b08a 100644
--- a/templates/projects/lscom-cli-dotnet.jinja
+++ b/templates/projects/lscom-cli-dotnet.jinja
@@ -1,169 +1,209 @@
{% extends "projects/_project.jinja" %}
{% block project_content %}
- {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.p1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.p2", project_id, user_lang)) }}
- {{ render_paragraph(l10n("intro.p3", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("intro.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("intro.p1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("intro.p2", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("intro.p3", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("requirements.title", project_id, user_lang)) }}
- {{ render_list_ul([
- l10n("requirements.1", project_id, user_lang),
- [
- l10n("requirements.2", project_id, user_lang),
- ],
- l10n("requirements.3", project_id, user_lang),
- [
- l10n("requirements.4", project_id, user_lang),
- ],
- ]) }}
+
+ {{ render_h2(l10n("requirements.title", project_id, user_lang)) }}
+
+ {{ render_list_ul([
+ l10n("requirements.1", project_id, user_lang),
+ [
+ l10n("requirements.2", project_id, user_lang),
+ ],
+ l10n("requirements.3", project_id, user_lang),
+ [
+ l10n("requirements.4", project_id, user_lang),
+ ],
+ ]) }}
+
+
- {{ render_h2(l10n("improvements.title", project_id, user_lang)) }}
- {{ render_list_ul([
- l10n("improvements.1", project_id, user_lang),
- l10n("improvements.2", project_id, user_lang),
- l10n("improvements.3", project_id, user_lang),
- l10n("improvements.4", project_id, user_lang),
- l10n("improvements.5", project_id, user_lang),
- ]) }}
+
+ {{ render_h2(l10n("improvements.title", project_id, user_lang)) }}
+
+ {{ render_list_ul([
+ l10n("improvements.1", project_id, user_lang),
+ l10n("improvements.2", project_id, user_lang),
+ l10n("improvements.3", project_id, user_lang),
+ l10n("improvements.4", project_id, user_lang),
+ l10n("improvements.5", project_id, user_lang),
+ ]) }}
+
+
- {{ render_h2(l10n("screenshots.title", project_id, user_lang)) }}
- {{ render_splide([
- '
',
- '
',
- '
',
- ]) }}
+
+ {{ render_h2(l10n("screenshots.title", project_id, user_lang)) }}
+
+ {{ render_splide([
+ '

',
+ '

',
+ '

',
+ ]) }}
+
+
- {{ render_h2(l10n("usage.title", project_id, user_lang)) }}
- {{
- render_code_block([
- "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]",
- " [-h|--help] [-H|--short-help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort]",
- " [-S|--sort-reverse] [-t|--tab-padding] [-v|--version] [-V|--version-only]",
- "",
- "Launch arguments:",
- " -a, --show-all Display the complete port's name (Equal to '-dfn')",
- " -d, --show-device Displays the port's device name",
- " -D , --divider Uses the given string or char as a separator (Can be empty string !)",
- " -f, --show-friendly Displays the port's friendly name",
- " -h, --help Display this help text",
- " -H, --short-help Display the short help text",
- " -n, --show-name-raw Displays the port's raw name (See remarks section)",
- " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")",
- " -s, --sort Sorts the port based on their raw names in an ascending order",
- " -S, --sort-reverse Sorts the port based on their raw names in a descending order",
- " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')",
- " -v, --version Shows the utility's version number and other info",
- " -V, --version-only Shows the utility's version number only (Overrides '-v')"
- ], None)
- }}
+
+ {{ render_h2(l10n("usage.title", project_id, user_lang)) }}
+
+ {{
+ render_code_block([
+ "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]",
+ " [-h|--help] [-H|--short-help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort]",
+ " [-S|--sort-reverse] [-t|--tab-padding] [-v|--version] [-V|--version-only]",
+ "",
+ "Launch arguments:",
+ " -a, --show-all Display the complete port's name (Equal to '-dfn')",
+ " -d, --show-device Displays the port's device name",
+ " -D , --divider Uses the given string or char as a separator (Can be empty string !)",
+ " -f, --show-friendly Displays the port's friendly name",
+ " -h, --help Display this help text",
+ " -H, --short-help Display the short help text",
+ " -n, --show-name-raw Displays the port's raw name (See remarks section)",
+ " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")",
+ " -s, --sort Sorts the port based on their raw names in an ascending order",
+ " -S, --sort-reverse Sorts the port based on their raw names in a descending order",
+ " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')",
+ " -v, --version Shows the utility's version number and other info",
+ " -V, --version-only Shows the utility's version number only (Overrides '-v')"
+ ], None)
+ }}
+
+
- {{ render_h2(l10n("formatting.title", project_id, user_lang)) }}
- {{
- render_code_block([
- " *┬> No launch arguments:",
- " └──> ${Raw name} => COM1",
- " *┬> '-d' or '-f'",
- " ├──> ${Device name} => \\Device\\Serial1",
- " └──> ${Friendly name} => Communications Port",
- " *┬> '-d' and '-f'",
- " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]",
- " *┬> '-n' and '-d'",
- " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]",
- " *┬> '-n' and '-f'",
- " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port",
- " *┬> '-ndf' or '-a'",
- " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]",
- " *┬> '-ndfp' or '-ap'",
- " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1",
- " *┬> '-ndfD \";\"' or '-aD \";\"'",
- " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1"
- ], None)
- }}
+
+ {{ render_h2(l10n("formatting.title", project_id, user_lang)) }}
+
+ {{
+ render_code_block([
+ " *┬> No launch arguments:",
+ " └──> ${Raw name} => COM1",
+ " *┬> '-d' or '-f'",
+ " ├──> ${Device name} => \\Device\\Serial1",
+ " └──> ${Friendly name} => Communications Port",
+ " *┬> '-d' and '-f'",
+ " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]",
+ " *┬> '-n' and '-d'",
+ " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]",
+ " *┬> '-n' and '-f'",
+ " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port",
+ " *┬> '-ndf' or '-a'",
+ " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]",
+ " *┬> '-ndfp' or '-ap'",
+ " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1",
+ " *┬> '-ndfD \";\"' or '-aD \";\"'",
+ " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1"
+ ], None)
+ }}
+
+
- {{ render_h2(l10n("packages.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.single.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.single.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.self.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.self.1", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.msi.title", project_id, user_lang)) }}
- {{ render_paragraph(l10n("packages.msi.1", project_id, user_lang)) }}
+
+ {{ render_h2(l10n("packages.title", project_id, user_lang)) }}
+
+ {{ render_paragraph(l10n("packages.single.title", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("packages.single.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("packages.self.title", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("packages.self.1", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("packages.msi.title", project_id, user_lang)) }}
+ {{ render_paragraph(l10n("packages.msi.1", project_id, user_lang)) }}
+
+
- {{ render_h2(l10n("version.current", "commons", user_lang)) }}
-
-
-
- {{ l10n("cpu.architecture", "commons", user_lang) }} |
- {{ l10n("requirements", "commons", user_lang) }} |
- {{ l10n("download.multiple", "commons", user_lang) }} |
-
-
-
-
- {{ l10n("cpu.any", "commons", user_lang) }} |
- {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
- ... |
-
-
- {{ l10n("cpu.x64", "commons", user_lang) }} |
- {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
- ... |
-
-
- {{ l10n("none.fs", "commons", user_lang) }} |
- ... |
-
-
- {{ l10n("cpu.x86", "commons", user_lang) }} |
- {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
- ... |
-
-
- {{ l10n("none.fs", "commons", user_lang) }} |
- ... |
-
-
- {{ l10n("cpu.arm64", "commons", user_lang) }} |
- {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
- ... |
-
-
- {{ l10n("none.fs", "commons", user_lang) }} |
- ... |
-
-
- {{ l10n("cpu.arm32", "commons", user_lang) }} |
- {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
- ... |
-
-
- {{ l10n("none.fs", "commons", user_lang) }} |
- ... |
-
-
-
+
+ {{ render_h2(l10n("version.current", "commons", user_lang)) }}
+
+
+
+
+ {{ l10n("cpu.architecture", "commons", user_lang) }} |
+ {{ l10n("requirements", "commons", user_lang) }} |
+ {{ l10n("download.multiple", "commons", user_lang) }} |
+
+
+
+
+ {{ l10n("cpu.any", "commons", user_lang) }} |
+ {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
+ ... |
+
+
+ {{ l10n("cpu.x64", "commons", user_lang) }} |
+ {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
+ ... |
+
+
+ {{ l10n("none.fs", "commons", user_lang) }} |
+ ... |
+
+
+ {{ l10n("cpu.x86", "commons", user_lang) }} |
+ {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
+ ... |
+
+
+ {{ l10n("none.fs", "commons", user_lang) }} |
+ ... |
+
+
+ {{ l10n("cpu.arm64", "commons", user_lang) }} |
+ {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
+ ... |
+
+
+ {{ l10n("none.fs", "commons", user_lang) }} |
+ ... |
+
+
+ {{ l10n("cpu.arm32", "commons", user_lang) }} |
+ {{ l10n("requirements.text.dotnet", project_id, user_lang) }} |
+ ... |
+
+
+ {{ l10n("none.fs", "commons", user_lang) }} |
+ ... |
+
+
+
+
+
- {{ render_h2(l10n("source.code", "commons", user_lang)) }}
-
-
-
- {{ l10n("version", "commons", user_lang) }} |
- {{ l10n("download.multiple", "commons", user_lang) }} |
-
-
-
-
- v3.0.0 |
- ... |
-
-
-
+
+ {{ render_h2(l10n("source.code", "commons", user_lang)) }}
+
+
+
+
+ {{ l10n("version", "commons", user_lang) }} |
+ {{ l10n("download.multiple", "commons", user_lang) }} |
+
+
+
+
+ v3.0.0 |
+ ... |
+
+
+
+
+
- {{ render_h2(l10n("links.title", project_id, user_lang)) }}
- {{ render_list_ul([
- "" +
- l10n("github", "commons", user_lang) +
- "",
- ]) }}
+
+ {{ render_h2(l10n("links.title", project_id, user_lang)) }}
+
+
{% endblock %}
diff --git a/website/renderers/standalone.py b/website/renderers/standalone.py
index fe21f56..22eb324 100644
--- a/website/renderers/standalone.py
+++ b/website/renderers/standalone.py
@@ -3,4 +3,6 @@ def get_standalone_common_headers() -> str:
_html = ""
with open("./static/resources/Standalone/nibblepoker.min.css", encoding='utf-8') as f:
_html += ""
+ with open("./static/resources/NibblePoker/css/extra.css", encoding='utf-8') as f:
+ _html += ""
return _html
diff --git a/website/sitemap.py b/website/sitemap.py
index d939fd4..91d2cc1 100644
--- a/website/sitemap.py
+++ b/website/sitemap.py
@@ -13,11 +13,15 @@ def reload_sitemap_entries(definition_file: str) -> None:
with open(definition_file, 'r') as f:
raw_sitemap_entries = yaml.safe_load(f)
- for sitemap_entry in raw_sitemap_entries:
- __SITEMAP_ENTRIES.append(sitemap_entry)
-
- for allowed_lang in ALLOWED_LANGS:
- __SITEMAP_ENTRIES.append(("/" + allowed_lang + "/" + sitemap_entry).replace("//", "/"))
+ for allowed_lang in [""] + ALLOWED_LANGS:
+ for sitemap_entry in raw_sitemap_entries:
+ __SITEMAP_ENTRIES.append(
+ ("/" + str(allowed_lang) + "/" + str(sitemap_entry))
+ .replace("//", "/")
+ .replace("//", "/")
+ )
+ # __SITEMAP_ENTRIES.append(sitemap_entry)
+ # for allowed_lang in ALLOWED_LANGS:
def get_sitemap_entries() -> list[str]: