Added PEArch page, Added strings, Updated readme

Update .dockerignore, .gitignore, and 11 more files...
This commit is contained in:
2025-09-14 00:00:22 +02:00
parent 1612416d9d
commit 1f249206e7
13 changed files with 785 additions and 231 deletions

View File

@@ -11,3 +11,8 @@ scripts/
# Docker
docker-compose.yml
Dockerfile
# Internal stuff
*.pdn
*.ai
*.private.*

1
.gitignore vendored
View File

@@ -13,6 +13,7 @@ scripts/package-lock.json
# Internal stuff
*.pdn
*.ai
*.private.*
# Temp
static/resources/DecimalJs*

View File

@@ -28,7 +28,7 @@ projects:
subtitle_key: "article.subtitle"
tags:
- "application"
- "tool"
- "cli"
- "windows"
languages:
- "dotnet"

36
data/projects/pearch.yml Normal file
View File

@@ -0,0 +1,36 @@
projects:
- id: "pearch"
metadata:
head:
title_key: "meta.title"
description_key: "meta.description"
opengraph:
title_key: "meta.title"
description_key: "meta.description"
type: null
url: null
image_url: "/resources/NibblePoker/images/content/pearch/main.png"
image_type: null
twitter:
title_key: "meta.title"
description_key: "meta.description"
index:
priority: 2000
enable: true
title_key: "meta.title"
preamble_key: "meta.description"
image_url: "/resources/NibblePoker/images/content/pearch/main.png"
image_alt_key: ""
general:
icon: "fad fa-terminal"
title_key: "meta.title"
subtitle_key: "article.subtitle"
tags:
- "application"
- "cli"
- "windows"
- "windows-pe"
- "cpu-arch"
languages:
- "purebasic"

View File

@@ -27,6 +27,10 @@ sitemap:
lastmod: "2025-09-13T16:19:00+02:00"
priority: "0.6"
"/content/pearch/":
lastmod: "2025-09-14T00:15:00+02:00"
priority: "0.6"
"/links/":
lastmod: "2025-03-01T07:40:00+01:00"
priority: "0.6"

View File

@@ -22,6 +22,18 @@ user-agent: User-Agent
server: Server
windows:
95: "Windows 95"
98: "Windows 98"
2000: "Windows 2000"
xp: "Windows XP"
vista: "Windows Vista"
7: "Windows 7"
8: "Windows 8"
81: "Windows 8.1"
10: "Windows 10"
11: "Windows 11"
cpu.architecture: CPU Architecture
cpu.responsive: "CPU<span class=\"mobile-hide\"> Architecture</span>"
cpu.any: "Any architecture"
@@ -34,6 +46,87 @@ cpu.arm64: "ARM64"
#cpu.arm64: "<p>ARM64<br>ARMv8<br>AArch64</p>"
cpu.risc-v: "RISC-V"
cpu:
human:
unknown: The content of this field is assumed to be applicable to any machine type
alpha: Alpha AXP, 32-bit address space
alpha64: Alpha 64, 64-bit address space
am33: Matsushita AM33
amd64: x64
any: Any architecture
arm: ARM little endian
arm64: ARM64 little endian
arm64ec: ABI that enables interoperability between native ARM64 and emulated x64 code.
arm64x: Binary format that allows both native ARM64 and ARM64EC code to coexist in the same file.
armnt: ARM Thumb-2 little endian
axp64: AXP 64 (Same as Alpha 64)
ebc: EFI byte code
i386: Intel 386 or later processors and compatible processors
ia64: Intel Itanium processor family
loongarch32: LoongArch 32-bit processor family
loongarch64: LoongArch 64-bit processor family
m32r: Mitsubishi M32R little endian
mips16: MIPS16
mipsfpu: MIPS with FPU
mipsfpu16: MIPS16 with FPU
powerpc: Power PC little endian
powerpcfp: Power PC with floating point support
r3000be: MIPS I compatible 32-bit big endian
r3000: MIPS I compatible 32-bit little endian
r4000: MIPS III compatible 64-bit little endian
r10000: MIPS IV compatible 64-bit little endian
riscv32: RISC-V 32-bit address space
riscv64: RISC-V 64-bit address space
riscv128: RISC-V 128-bit address space
sh3: Hitachi SH3
sh3dsp: Hitachi SH3 DSP
sh4: Hitachi SH4
sh5: Hitachi SH5
thumb: Thumb
wcemipsv2: MIPS little-endian WCE v2v2
code:
unknown: UNKNOWN
alpha: ALPHA
alpha64: ALPHA64
am33: AM33
amd64: AMD64
any: ANY
arm: ARM
arm32: "ARM32"
arm64: ARM64
arm64ec: ARM64EC
arm64x: ARM64X
armnt: ARMNT
axp64: AXP64
ebc: EBC
i386: I386
ia64: IA64
loongarch32: LOONGARCH32
loongarch64: LOONGARCH64
m32r: M32R
mips16: MIPS16
mipsfpu: MIPSFPU
mipsfpu16: MIPSFPU16
powerpc: POWERPC
powerpcfp: POWERPCFP
r3000be: R3000BE
r3000: R3000
r4000: R4000
r10000: R10000
riscv: RISC-V
riscv32: RISCV32
riscv64: RISCV64
riscv128: RISCV128
sh3: SH3
sh3dsp: SH3DSP
sh4: SH4
sh5: SH5
thumb: THUMB
wcemipsv2: WCEMIPSV2
x64: "x64"
x86: "x86"
requirements: Requirements
python: Python
@@ -92,47 +185,48 @@ format.yaml: "YAML"
action.generate: "Generate"
country.afghanistan: "Afghanistan"
country.albania: "Albania"
country.algeria: "Algeria"
country.andorra: "Andorra"
country.angola: "Angola"
country.anguilla: "Anguilla"
country.argentina: "Argentina"
country.australia: "Australia"
country.austria: "Austria"
country.azerbaijan: "Azerbaijan"
country.azores: "Azores"
country.bahamas: "Bahamas"
country.belgium: "Belgium"
country.bulgaria: "Bulgaria"
country.corsica: "Corsica"
country.croatia: "Croatia"
country.cyprus: "Cyprus"
country.czechia: "Czechia"
country.denmark: "Denmark"
country.estonia: "Estonia"
country.finland: "Finland"
country.france: "France"
country.france.corsica: "France - Corsica"
country.germany: "Germany"
country.greece: "Greece"
country.hungary: "Hungary"
country.ireland: "Ireland"
country.italy: "Italy"
country.latvia: "Latvia"
country.lithuania: "lithuania"
country.luxembourg: "Luxembourg"
country.madeira: "Madeira"
country.malta: "Malta"
country.monaco: "Monaco"
country.netherlands: "Netherlands"
country.poland: "Poland"
country.portugal: "Portugal"
country.portugal.azores: "Portugal - Azores"
country.portugal.madeira: "Portugal - Madeira"
country.romania: "Romania"
country.slovenia: "Slovenia"
country.slovakia: "Slovakia"
country.spain: "Spain"
country.sweden: "Sweden"
country:
afghanistan: "Afghanistan"
albania: "Albania"
algeria: "Algeria"
andorra: "Andorra"
angola: "Angola"
anguilla: "Anguilla"
argentina: "Argentina"
australia: "Australia"
austria: "Austria"
azerbaijan: "Azerbaijan"
azores: "Azores"
bahamas: "Bahamas"
belgium: "Belgium"
bulgaria: "Bulgaria"
corsica: "Corsica"
croatia: "Croatia"
cyprus: "Cyprus"
czechia: "Czechia"
denmark: "Denmark"
estonia: "Estonia"
finland: "Finland"
france: "France"
france.corsica: "France - Corsica"
germany: "Germany"
greece: "Greece"
hungary: "Hungary"
ireland: "Ireland"
italy: "Italy"
latvia: "Latvia"
lithuania: "lithuania"
luxembourg: "Luxembourg"
madeira: "Madeira"
malta: "Malta"
monaco: "Monaco"
netherlands: "Netherlands"
poland: "Poland"
portugal: "Portugal"
portugal.azores: "Portugal - Azores"
portugal.madeira: "Portugal - Madeira"
romania: "Romania"
slovenia: "Slovenia"
slovakia: "Slovakia"
spain: "Spain"
sweden: "Sweden"

View File

@@ -0,0 +1,48 @@
# PEArch - EN
meta:
title: "PEArch"
description: "CLI tool that tells you which CPU architecture a given Windows PE is made for."
intro:
title: "Introduction"
text:
p1:
l1: A small tool that tells you which
<a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types">CPU architecture</a>
a given <a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format">Windows PE</a> is made for.
p2:
l1: A total of 35 architectures are supported by this tool.
usage:
title: "Usage"
text:
p1:
l1: "This tool can either be used in a command prompt with the options below."
l2: "Or, you can simply drop a file onto the <span class=\"code\">.exe</span> or a shortcut to get the same result."
details:
#disclaimer: The architecture codes, as well as their descriptions, are taken from Microsoft's
# <a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types">MSDN</a>.
title: "Click here to show/hide the architecture and return codes"
thead:
code: "<span class=\"t-monospace\">STDOUT</span>"
hex: "<span class=\"t-monospace\">STDOUT</span> with <span class=\"t-monospace\">/AsHex</span>"
dec: "<span class=\"t-monospace\">STDERR</span> with <span class=\"t-monospace\">/AsError</span>"
description: "Description <i>(Source: <a href=\"https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types\">MSDN</a>)</i>"
output:
title: "Output examples"
default:
title: "Without options:"
options:
title: "With <span class=\"code\">/AsHex</span> and <span class=\"code\">/AsError</span>:"
downloads:
title: "Downloads"
license:
title: "License"
text: "This software and its source code is released in the Public Domain (CC0 1.0 Universal)."
links:
title: "Links"

View File

@@ -22,6 +22,18 @@ user-agent: User-Agent
server: Serveur
windows:
95: "Windows 95"
98: "Windows 98"
2000: "Windows 2000"
xp: "Windows XP"
vista: "Windows Vista"
7: "Windows 7"
8: "Windows 8"
81: "Windows 8.1"
10: "Windows 10"
11: "Windows 11"
cpu.architecture: Architecture de CPU
cpu.responsive: "<span class=\"mobile-hide\">Architecture de </span>CPU"
cpu.any: "Indépendante"
@@ -34,6 +46,87 @@ cpu.arm64: "ARM64"
#cpu.arm64: "<p>ARM64<br>ARMv8<br>AArch64</p>"
cpu.risc-v: "RISC-V"
cpu:
human:
unknown: Le contenu de ce champ est supposé pouvoir sappliquer à nimporte quel type dordinateur
alpha: Alpha AXP, espace dadressage 32 bits
alpha64: Alpha 64, espace dadressage 64 bits
am33: Matsushita AM33
amd64: X64
any: Indépendante
arm: ARM little endian
arm64: ARM64 little endian
arm64ec: ABI permettant l'interopérabilité entre le code natif ARM64 et le code x64 émulé.
arm64x: Format binaire qui permet à la fois au code natif ARM64 et au code ARM64EC de coexister dans le même fichier.
armnt: ARM Pouce-2 petit endian
axp64: AXP 64 (identique à Alpha 64)
ebc: Code doctet EFI
i386: Processeurs Intel 386 ou ultérieurs et processeurs compatibles
ia64: Famille de processeurs Intel Itanium
loongarch32: Famille de processeurs LoongArch 32 bits
loongarch64: Famille de processeurs LoongArch 64 bits
m32r: Mitsubishi M32R petit endian
mips16: MIPS16
mipsfpu: MIPS avec FPU
mipsfpu16: MIPS16 avec FPU
powerpc: Power PC little endian
powerpcfp: Power PC avec prise en charge de la virgule flottante
r3000be: MIPS I compatible 32 bits big endian
r3000: MIPS I compatible 32 bits little endian
r4000: MIPS III compatible 64 bits petit endian
r10000: MIPS IV compatible 64 bits petit endian
riscv32: Espace dadressage RISC-V 32 bits
riscv64: Espace dadressage RISC-V 64 bits
riscv128: Espace dadressage RISC-V 128 bits
sh3: Hitachi SH3
sh3dsp: Hitachi SH3 DSP
sh4: Hitachi SH4
sh5: Hitachi SH5
thumb: Pouce
wcemipsv2: MIPS little-endian WCE v2
code:
unknown: UNKNOWN
alpha: ALPHA
alpha64: ALPHA64
am33: AM33
amd64: AMD64
any: ANY
arm: ARM
arm32: "ARM32"
arm64: ARM64
arm64ec: ARM64EC
arm64x: ARM64X
armnt: ARMNT
axp64: AXP64
ebc: EBC
i386: I386
ia64: IA64
loongarch32: LOONGARCH32
loongarch64: LOONGARCH64
m32r: M32R
mips16: MIPS16
mipsfpu: MIPSFPU
mipsfpu16: MIPSFPU16
powerpc: POWERPC
powerpcfp: POWERPCFP
r3000be: R3000BE
r3000: R3000
r4000: R4000
r10000: R10000
riscv: RISC-V
riscv32: RISCV32
riscv64: RISCV64
riscv128: RISCV128
sh3: SH3
sh3dsp: SH3DSP
sh4: SH4
sh5: SH5
thumb: THUMB
wcemipsv2: WCEMIPSV2
x64: "x64"
x86: "x86"
requirements: "Dépendances"
python: Python
@@ -92,47 +185,48 @@ format.yaml: "YAML"
action.generate: "Générer"
country.afghanistan: "Afghanistan"
country.albania: "Albanie"
country.algeria: "Algérie"
country.andorra: "Andorre"
country.angola: "Angola"
country.anguilla: "Anguilla"
country.argentina: "Argentine"
country.australia: "Australie"
country.austria: "Autriche"
country.azerbaijan: "Azerbaïdjan"
country.azores: "Açores"
country.bahamas: "Bahamas"
country.belgium: "Belgique"
country.bulgaria: "Bulgarie"
country.corsica: "Corse"
country.croatia: "Croatie"
country.cyprus: "Chypre"
country.czechia: "Tchéquie"
country.denmark: "Danemark"
country.estonia: "Estonie"
country.finland: "Finlande"
country.france: "France"
country.france.corsica: "France - Corse"
country.germany: "Allemagne"
country.greece: "Grèce"
country.hungary: "Hongrie"
country.ireland: "Irlande"
country.italy: "Italie"
country.latvia: "Lettonie"
country.lithuania: "Lituanie"
country.luxembourg: "Luxembourg"
country.madeira: "Madère"
country.malta: "Malte"
country.monaco: "Monaco"
country.netherlands: "Pays-Bas"
country.poland: "Pologne"
country.portugal: "Portugal"
country.portugal.azores: "Portugal - Açores"
country.portugal.madeira: "Portugal - Madère"
country.romania: "Roumanie"
country.slovenia: "Slovénie"
country.slovakia: "Slovaquie"
country.spain: "Espagne"
country.sweden: "Suède"
country:
afghanistan: "Afghanistan"
albania: "Albanie"
algeria: "Algérie"
andorra: "Andorre"
angola: "Angola"
anguilla: "Anguilla"
argentina: "Argentine"
australia: "Australie"
austria: "Autriche"
azerbaijan: "Azerbaïdjan"
azores: "Açores"
bahamas: "Bahamas"
belgium: "Belgique"
bulgaria: "Bulgarie"
corsica: "Corse"
croatia: "Croatie"
cyprus: "Chypre"
czechia: "Tchéquie"
denmark: "Danemark"
estonia: "Estonie"
finland: "Finlande"
france: "France"
france.corsica: "France - Corse"
germany: "Allemagne"
greece: "Grèce"
hungary: "Hongrie"
ireland: "Irlande"
italy: "Italie"
latvia: "Lettonie"
lithuania: "Lituanie"
luxembourg: "Luxembourg"
madeira: "Madère"
malta: "Malte"
monaco: "Monaco"
netherlands: "Pays-Bas"
poland: "Pologne"
portugal: "Portugal"
portugal.azores: "Portugal - Açores"
portugal.madeira: "Portugal - Madère"
romania: "Roumanie"
slovenia: "Slovénie"
slovakia: "Slovaquie"
spain: "Espagne"
sweden: "Suède"

View File

@@ -0,0 +1,49 @@
# PEArch - FR
meta:
title: "PEArch"
description: "Outil pour invité de commande qui vous indique l'architecture de CPU pour laquelle un executable a été compilé."
intro:
title: "Introduction"
text:
p1:
l1: A small tool that tells you which
<a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types">CPU architecture</a>
a given <a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format">Windows PE</a> is made for.
p2:
l1: Un total de 35 architectures sont supportées par cet outil.
usage:
title: "Utilisation"
text:
p1:
l1: "Cet outil peut soit être utilisé dans un invité de commande avec les options ci-dessous."
l2: "Ou alors, vous pouvez simplement déposer un fichier sur le <span class=\"code\">.exe</span> ou un raccourci, et avoir le même résultat."
details:
#disclaimer: Les codes d'architecture, ainsi que leur descriptions, sont tirés de ceux de Microsoft sur
# <a href="https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types">MSDN</a>.
title: "Cliquez ici pour afficher/cacher les codes d'architecture et de retour"
thead:
code: "<span class=\"t-monospace\">STDOUT</span>"
hex: "<span class=\"t-monospace\">STDOUT</span> avec <span class=\"t-monospace\">/AsHex</span>"
dec: "<span class=\"t-monospace\">STDERR</span> avec <span class=\"t-monospace\">/AsError</span>"
description: "Description <i>(Source: <a href=\"https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#machine-types\">MSDN</a>)</i>"
output:
title: "Examples d'exécution"
default:
title: "Sans options:"
options:
title: "Avec <span class=\"code\">/AsHex</span> et <span class=\"code\">/AsError</span>:"
downloads:
title: "Téléchargements"
license:
title: "Licence"
text: "Ce programme, ainsi que son code-source sont dans le domaine public (CC0 1.0 Universal)."
links:
title: "Liens"

View File

@@ -1,9 +1,18 @@
# Website - NibblePoker.lu
Public repository containing the source code for the *nibblepoker.lu* & *nibblepoker.com* websites.
Public repository containing the source code for [nibblepoker.lu](https://nibblepoker.lu/) &
[nibblepoker.com](https://nibblepoker.com/).
## Features
TODO
* Projects
* [CircuitPython - Ebyte E32 Driver](https://nibblepoker.lu/content/circuitpython-ebyte-e32/)
* [DotNet-ListComPort](https://nibblepoker.lu/content/lscom-cli-dotnet/)
* [Mini Dockerized CCTV NVR](https://nibblepoker.lu/content/docker-mini-cctv-nvr/)
* Web-based Tools
* [Excel Password Remover](https://nibblepoker.lu/tools/excel-password-remover/)
* [IBAN Generator](https://nibblepoker.lu/tools/iban-generator/)
* [UUID Generator](https://nibblepoker.lu/tools/uuid-generator/)
* [VAT Calculator](https://nibblepoker.lu/tools/vat-calculator/)
## Related Projects

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -10,7 +10,7 @@
</div>
</section>
<section class="mt-l mt-0-if-first">
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("requirements.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_list_ul([
@@ -54,27 +54,27 @@
{{ render_h2(l10n("usage.title", project_id, user_lang)) }}
<div class="content-spacer">
{{
render_code_block([
"lscom.exe [-a|--show-all] [-d|--show-device] [-D <str>|--divider <str>] [-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 <str>, --divider <str> 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_code_block([
"lscom.exe [-a|--show-all] [-d|--show-device] [-D <str>|--divider <str>] [-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 <str>, --divider <str> 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)
}}
</div>
</section>
@@ -82,26 +82,26 @@
{{ render_h2(l10n("formatting.title", project_id, user_lang)) }}
<div class="content-spacer">
{{
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_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)
}}
</div>
</section>
@@ -122,113 +122,113 @@
<div class="content-spacer">
<table class="table-stylish table-p-xs table-v-center border r-l">
<thead>
<tr>
<th>{{ l10n("cpu.architecture", "commons", user_lang) }}</th>
<th>{{ l10n("requirements", "commons", user_lang) }}</th>
<th>{{ l10n("download.multiple", "commons", user_lang) }}</th>
</tr>
<tr>
<th>{{ l10n("cpu.architecture", "commons", user_lang) }}</th>
<th>{{ l10n("requirements", "commons", user_lang) }}</th>
<th>{{ l10n("download.multiple", "commons", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("cpu.any", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_AnyCPU.zip" class="a-hidden">
{{ render_button(
<tr>
<td>{{ l10n("cpu.any", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_AnyCPU.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 120.36 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
}}
</a>
</td>
</tr>
<tr>
<td rowspan="2">{{ l10n("cpu.x64", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64_Single.zip" class="a-hidden">
{{ render_button(
<tr>
<td rowspan="2">{{ l10n("cpu.x64", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64_Single.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 138.9 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64_SelfContained.zip" class="a-hidden mr-s">
{{ render_button(
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64_SelfContained.zip" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 7.35 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64.msi" class="a-hidden">
{{ render_button(
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x64.msi" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>MSI - 10.51 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None, "btn-primary")
}}
</a>
</td>
</tr>
}}
</a>
</td>
</tr>
<tr>
<td rowspan="2">{{ l10n("cpu.x86", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86_Single.zip" class="a-hidden">
{{ render_button(
<tr>
<td rowspan="2">{{ l10n("cpu.x86", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86_Single.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 123.56 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86_SelfContained.zip" class="a-hidden mr-s">
{{ render_button(
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86_SelfContained.zip" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 6.64 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86.msi" class="a-hidden mr-s">
{{ render_button(
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_x86.msi" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>MSI - 9.79 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None, "btn-primary")
}}
</a>
</td>
</tr>
}}
</a>
</td>
</tr>
<tr>
<td rowspan="2">{{ l10n("cpu.arm64", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_arm64_Single.zip" class="a-hidden">
{{ render_button(
<tr>
<td rowspan="2">{{ l10n("cpu.arm64", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_arm64_Single.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 130.34 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_arm64_SelfContained.zip" class="a-hidden">
{{ render_button(
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("none.fs", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/ListComPort_v3.0.0_arm64_SelfContained.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 7.04 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
}}
</a>
</td>
</tr>
<!--<tr>
<!--<tr>
<td rowspan="2">{{ l10n("cpu.arm32", "commons", user_lang) }}</td>
<td>{{ l10n("requirements.text.dotnet", project_id, user_lang) }}</td>
<td>
@@ -261,29 +261,29 @@
<div class="content-spacer">
<table class="table-stylish table-p-xs table-v-center border r-l">
<thead>
<tr>
<th>{{ l10n("version", "commons", user_lang) }}</th>
<th>{{ l10n("download.multiple", "commons", user_lang) }}</th>
</tr>
<tr>
<th>{{ l10n("version", "commons", user_lang) }}</th>
<th>{{ l10n("download.multiple", "commons", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>v3.0.0</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/DotNet-ListComPort-3.0.0.tar.gz" class="a-hidden mr-s">
{{ render_button(
<tr>
<td>v3.0.0</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/DotNet-ListComPort-3.0.0.tar.gz" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>TAR.GZ - 4.22 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/DotNet-ListComPort-3.0.0.zip" class="a-hidden">
{{ render_button(
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/DotNet-ListComPort/3.0.0/DotNet-ListComPort-3.0.0.zip" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>ZIP - 4.23 MiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
}}
</a>
</td>
</tr>
</tbody>
</table>
</div>

View File

@@ -0,0 +1,214 @@
{% extends "projects/_project.jinja" %}
{% block project_content %}
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("intro.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_paragraph(l10n("intro.text.p1.l1", project_id, user_lang)) }}
{{ render_paragraph(l10n("intro.text.p2.l1", project_id, user_lang)) }}
</div>
</section>
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("usage.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_paragraph(
l10n("usage.text.p1.l1", project_id, user_lang) +
"<br>" +
l10n("usage.text.p1.l2", project_id, user_lang)
)}}
{{ render_code_block([
"PEArch.exe [/?] [/E|/AsError] [/H|/AsHex] [/F|/FullText] <File>",
"",
"Options:",
" /? Prints this help text, and some additional details.",
" /E, /AsError Gives out the result as an error code.",
" /H, /AsHex Prints the architecture as a hex number.",
" /F, /FullText Prints a longer description of the architecture.",
]) }}
<details class="border bkgd-dark r-m mt-s">
<summary class="p-xs">{{ l10n("usage.details.title", project_id, user_lang) }}</summary>
<div class="bt ox-auto">
<table class="table-stylish table-p-xs table-v-center table-no-wrap w-full rb-m">
<thead>
<tr>
<th class="t-left">{{ l10n("usage.details.thead.code", project_id, user_lang) }}</th>
<th class="t-left">{{ l10n("usage.details.thead.hex", project_id, user_lang) }}</th>
<th class="t-left">{{ l10n("usage.details.thead.dec", project_id, user_lang) }}</th>
<th class="t-left">{{ l10n("usage.details.thead.description", project_id, user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr><td>{{ l10n("cpu.code.unknown", "commons", user_lang) }}</td><td><span class="code">0x0</span></td><td><span class="code">0</span></td><td>{{ l10n("cpu.human.unknown", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.alpha", "commons", user_lang) }}</td><td><span class="code">0x184</span></td><td><span class="code">388</span></td><td>{{ l10n("cpu.human.alpha", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.alpha64", "commons", user_lang) }}</td><td><span class="code">0x284</span></td><td><span class="code">644</span></td><td>{{ l10n("cpu.human.alpha64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.am33", "commons", user_lang) }}</td><td><span class="code">0x1d3</span></td><td><span class="code">467</span></td><td>{{ l10n("cpu.human.am33", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.amd64", "commons", user_lang) }}</td><td><span class="code">0x8664</span></td><td><span class="code">34404</span></td><td>{{ l10n("cpu.human.amd64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.arm", "commons", user_lang) }}</td><td><span class="code">0x1c0</span></td><td><span class="code">448</span></td><td>{{ l10n("cpu.human.arm", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.arm64", "commons", user_lang) }}</td><td><span class="code">0xaa64</span></td><td><span class="code">43620</span></td><td>{{ l10n("cpu.human.arm64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.arm64ec", "commons", user_lang) }}</td><td><span class="code">0xA641</span></td><td><span class="code">42561</span></td><td>{{ l10n("cpu.human.arm64ec", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.arm64x", "commons", user_lang) }}</td><td><span class="code">0xA64E</span></td><td><span class="code">42574</span></td><td>{{ l10n("cpu.human.arm64x", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.armnt", "commons", user_lang) }}</td><td><span class="code">0x1c4</span></td><td><span class="code">452</span></td><td>{{ l10n("cpu.human.armnt", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.axp64", "commons", user_lang) }}</td><td><span class="code">0x284</span></td><td><span class="code">644</span></td><td>{{ l10n("cpu.human.axp64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.ebc", "commons", user_lang) }}</td><td><span class="code">0xebc</span></td><td><span class="code">3772</span></td><td>{{ l10n("cpu.human.ebc", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.i386", "commons", user_lang) }}</td><td><span class="code">0x14c</span></td><td><span class="code">332</span></td><td>{{ l10n("cpu.human.i386", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.ia64", "commons", user_lang) }}</td><td><span class="code">0x200</span></td><td><span class="code">512</span></td><td>{{ l10n("cpu.human.ia64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.loongarch32", "commons", user_lang) }}</td><td><span class="code">0x6232</span></td><td><span class="code">25138</span></td><td>{{ l10n("cpu.human.loongarch32", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.loongarch64", "commons", user_lang) }}</td><td><span class="code">0x6264</span></td><td><span class="code">25188</span></td><td>{{ l10n("cpu.human.loongarch64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.m32r", "commons", user_lang) }}</td><td><span class="code">0x9041</span></td><td><span class="code">36929</span></td><td>{{ l10n("cpu.human.m32r", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.mips16", "commons", user_lang) }}</td><td><span class="code">0x266</span></td><td><span class="code">614</span></td><td>{{ l10n("cpu.human.mips16", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.mipsfpu", "commons", user_lang) }}</td><td><span class="code">0x366</span></td><td><span class="code">870</span></td><td>{{ l10n("cpu.human.mipsfpu", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.mipsfpu16", "commons", user_lang) }}</td><td><span class="code">0x466</span></td><td><span class="code">1126</span></td><td>{{ l10n("cpu.human.mipsfpu16", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.powerpc", "commons", user_lang) }}</td><td><span class="code">0x1f0</span></td><td><span class="code">496</span></td><td>{{ l10n("cpu.human.powerpc", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.powerpcfp", "commons", user_lang) }}</td><td><span class="code">0x1f1</span></td><td><span class="code">497</span></td><td>{{ l10n("cpu.human.powerpcfp", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.r3000be", "commons", user_lang) }}</td><td><span class="code">0x160</span></td><td><span class="code">352</span></td><td>{{ l10n("cpu.human.r3000be", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.r3000", "commons", user_lang) }}</td><td><span class="code">0x162</span></td><td><span class="code">354</span></td><td>{{ l10n("cpu.human.r3000", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.r4000", "commons", user_lang) }}</td><td><span class="code">0x166</span></td><td><span class="code">358</span></td><td>{{ l10n("cpu.human.r4000", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.r10000", "commons", user_lang) }}</td><td><span class="code">0x168</span></td><td><span class="code">360</span></td><td>{{ l10n("cpu.human.r10000", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.riscv32", "commons", user_lang) }}</td><td><span class="code">0x5032</span></td><td><span class="code">20530</span></td><td>{{ l10n("cpu.human.riscv32", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.riscv64", "commons", user_lang) }}</td><td><span class="code">0x5064</span></td><td><span class="code">20580</span></td><td>{{ l10n("cpu.human.riscv64", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.riscv128", "commons", user_lang) }}</td><td><span class="code">0x5128</span></td><td><span class="code">20776</span></td><td>{{ l10n("cpu.human.riscv128", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.sh3", "commons", user_lang) }}</td><td><span class="code">0x1a2</span></td><td><span class="code">418</span></td><td>{{ l10n("cpu.human.sh3", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.sh3dsp", "commons", user_lang) }}</td><td><span class="code">0x1a3</span></td><td><span class="code">419</span></td><td>{{ l10n("cpu.human.sh3dsp", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.sh4", "commons", user_lang) }}</td><td><span class="code">0x1a6</span></td><td><span class="code">422</span></td><td>{{ l10n("cpu.human.sh4", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.sh5", "commons", user_lang) }}</td><td><span class="code">0x1a8</span></td><td><span class="code">424</span></td><td>{{ l10n("cpu.human.sh5", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.thumb", "commons", user_lang) }}</td><td><span class="code">0x1c2</span></td><td><span class="code">450</span></td><td>{{ l10n("cpu.human.thumb", "commons", user_lang) }}</td></tr>
<tr><td>{{ l10n("cpu.code.wcemipsv2", "commons", user_lang) }}</td><td><span class="code">0x169</span></td><td><span class="code">361</span></td><td>{{ l10n("cpu.human.wcemipsv2", "commons", user_lang) }}</td></tr>
</tbody>
</table>
</div>
</details>
</div>
</section>
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("output.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_paragraph("<b>" + l10n("output.default.title", project_id, user_lang) + "</b>")}}
<div class="ml-s">
{{ render_code_block([
"Command: pearch \"C:\\Windows\\explorer.exe\"",
"> STDOUT: AMD64",
"> STDERR:",
"> ERRORLEVEL: 0",
], "bash") }}
{{ render_code_block([
"Command: pearch \"C:\\Windows\\non-existant-file.exe\"",
"> STDOUT:",
"> STDERR: Cannot open file !",
"> ERRORLEVEL: 12",
], "bash") }}
</div>
</div>
<div class="content-spacer">
{{ render_paragraph("<b>" + l10n("output.options.title", project_id, user_lang) + "</b>")}}
<div class="ml-s">
{{ render_code_block([
"Command: pearch /AsHex \"C:\\Windows\\explorer.exe\"",
"> STDOUT: 8664",
"> STDERR:",
"> ERRORLEVEL: 0",
], "bash") }}
{{ render_code_block([
"Command: pearch /AsError \"C:\\Windows\\explorer.exe\"",
"> STDOUT:",
"> STDERR:",
"> ERRORLEVEL: 34404",
], "bash") }}
{{ render_code_block([
"Command: pearch /AsError /AsHex \"C:\\Windows\\explorer.exe\"",
"> STDOUT: 8664",
"> STDERR:",
"> ERRORLEVEL: 34404",
], "bash") }}
{{ render_code_block([
"Command: pearch /AsError /AsHex \"C:\\Windows\\non-existant-file.exe\"",
"> STDOUT:",
"> STDERR: Cannot open file !",
"> ERRORLEVEL: 0",
], "bash") }}
</div>
</div>
</section>
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("downloads.title", project_id, user_lang)) }}
<div class="content-spacer">
<table class="table-stylish table-p-xs table-v-center border r-l">
<thead>
<tr>
<th>{{ l10n("cpu.architecture", "commons", user_lang) }}</th>
<th>{{ l10n("requirements", "commons", user_lang) }}</th>
<th>{{ l10n("download.multiple", "commons", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("cpu.x64", "commons", user_lang) }}</td>
<td rowspan="2">{{ l10n("windows.7", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/PEArch/1.1.0/x64-msvcrt/pearch-x64-msvcrt.7z" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>"+
"7Zip - 14.49 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None, "btn-primary")
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/PEArch/1.1.0/x64-msvcrt/pearch.exe" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>"+
"Exe - 43.5 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None, "btn-primary")
}}
</a>
</td>
</tr>
<tr>
<td>{{ l10n("cpu.x86", "commons", user_lang) }}</td>
<td>
<a href="https://files.nibblepoker.lu/downloads/PEArch/1.1.0/x86-msvcrt/pearch-x86-msvcrt.7z" class="a-hidden mr-s">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>"+
"7Zip - 10.36 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
<a href="https://files.nibblepoker.lu/downloads/PEArch/1.1.0/x86-msvcrt/pearch.exe" class="a-hidden">
{{ render_button(
"<span class=\"text-monospace\"><i class=\"fad fa-file-archive mr-xs\"></i>"+
"Exe - 31 KiB<i class=\"fas fa-download ml-xs\"></i>",
False, None)
}}
</a>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("license.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_paragraph(l10n("license.text", project_id, user_lang)) }}
</div>
</section>
<section class="mt-l mt-0-if-first">
{{ render_h2(l10n("links.title", project_id, user_lang)) }}
<div class="content-spacer">
{{ render_list_ul([
"<a href=\"https://github.com/aziascreations/PEArch\">" +
l10n("github", "commons", user_lang) + "</a>",
]) }}
</div>
</section>
{% endblock %}