diff --git a/data/projects/circuitpython-custom-fs.yml b/data/projects/circuitpython-custom-fs.yml new file mode 100644 index 0000000..4175b25 --- /dev/null +++ b/data/projects/circuitpython-custom-fs.yml @@ -0,0 +1,29 @@ +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/circuitpython-ebyte-e32/main.png" + image_type: null +twitter: + title_key: "meta.title" + description_key: "meta.description" +index: + priority: 105 + enable: true + title_key: "meta.title" + preamble_key: "meta.description" + image_url: "/resources/NibblePoker/images/content/circuitpython-ebyte-e32/main.png" + image_alt_key: "" +general: + icon: "fab fa-python" + title_key: "meta.title" + subtitle_key: "article.subtitle" + tags: + - "experiments" + - "electronic" + - "python" + - "circuitpython" diff --git a/data/sidebar.yml b/data/sidebar.yml index 0a24ee3..4d052b5 100644 --- a/data/sidebar.yml +++ b/data/sidebar.yml @@ -27,6 +27,11 @@ icon: fad fa-microchip active_id: electronic +- title_key: text.experiments + abs_href: "/content/?tags=experiments" + icon: fad fa-flask-vial + active_id: electronic + - title_key: text.tools abs_href: "/tools" icon: fad fa-toolbox diff --git a/data/strings/en/circuitpython-custom-fs.yml b/data/strings/en/circuitpython-custom-fs.yml new file mode 100644 index 0000000..dbbd038 --- /dev/null +++ b/data/strings/en/circuitpython-custom-fs.yml @@ -0,0 +1,18 @@ +# EN - CircuitPython Custom FS + +meta.title: CircuitPython - Custom File Systems +meta.description: "Set of examples of custom file systems and block-level devices for CircuitPython that can be +used for educational purposes and expanded upon." + +intro.title: Introduction +intro.text.10: "The goal of this experiment was to try and give people a strong, clear, and documented starting point + for future experiments that may require virtual file systems and block-level devices on CircuitPython devices." +intro.text.20: "For example, by using the blank examples, you can easily create a bootstrapping code and file system + that connects securely to a remote server and pulls code directly from it without ever having to touch the MCU's + flash storage." +intro.text.30: "The second main advantage is that this project can serve as a robust educational tool." +intro.text.31: "Due to the permissive nature of Python and CircuitPython's APIs, it lets people easily test out + different designs and mechanisms for their file systems without running the risk of corrupting unrelated data or + bricking their device." +intro.text.32: "Additionally, it is possible to manipulate and add logging to many of the methods which allows you to + see and understand the inner workings of CircuitPython, filesystems and BLD devices themselves." diff --git a/data/strings/en/sidebar.yml b/data/strings/en/sidebar.yml index aca9e2f..cebdeb8 100644 --- a/data/strings/en/sidebar.yml +++ b/data/strings/en/sidebar.yml @@ -10,6 +10,7 @@ text.projects: Projects text.applications: Applications text.libraries: Libraries text.electronics: Electronics +text.experiments: Experiments text.3d-print: 3D Printing text.tools: Tools text.links: Links diff --git a/data/strings/en/svg-to-png.yml b/data/strings/en/svg-to-png.yml index 3630812..b108f43 100644 --- a/data/strings/en/svg-to-png.yml +++ b/data/strings/en/svg-to-png.yml @@ -1,5 +1,8 @@ # EN - SVG to PNG +meta.title: SVG to PNG converter +meta.description: Convert and resize SVG images into PNG files easily and locally. + upload.add.button: "Add image(s)" upload.clear.button: "Clear" diff --git a/data/strings/fr/circuitpython-custom-fs.yml b/data/strings/fr/circuitpython-custom-fs.yml new file mode 100644 index 0000000..10e4160 --- /dev/null +++ b/data/strings/fr/circuitpython-custom-fs.yml @@ -0,0 +1,20 @@ +# FR - CircuitPython Custom FS + +meta.title: CircuitPython - Systèmes de fichier perso. +meta.description: "Collection d'exemples de systèmes de fichiers personnalisés et de périphériques de bloc pour +CircuitPython pouvant être utilisés à des fins éducatives ou d'autres développements." + +intro.title: Introduction +intro.text.10: "Le but de cette expérience était de fournir un point de départ solide, clair et documenté pour + de futures expériences nécessitant des systèmes de fichiers virtuels, ou des périphériques de bloc sur + des appareils utilisant CircuitPython." +intro.text.20: "Par exemple, en utilisant les exemples modèles, il est possible de créer facilement un code de + démarrage et un système de fichiers qui vont connecter de manière sécurisée à un serveur distant, et y récupérer + directement du code sans jamais avoir à toucher à la mémoire flash du MCU." +intro.text.30: "Le deuxième avantage majeur est que ce projet peut servir d'outil éducatif." +intro.text.31: "En effet, les APIs extrêmement permissives de Python et CircuitPython permettent à leurs + utilisateurs de tester facilement différents designs et mécanismes pour leurs systèmes de fichiers sans risquer + de corrompre des données ou de rendre leur appareil inutilisable." +intro.text.32: "De plus, vous pouvez très facilement ajouter des messages de débogage et manipuler plusieurs + méthodes, ce qui permet de voir et de comprendre le fonctionnement interne de CircuitPython, des systèmes de + fichiers et des périphériques de bloc en eux-mêmes." diff --git a/data/strings/fr/sidebar.yml b/data/strings/fr/sidebar.yml index c2c9f65..b8879e7 100644 --- a/data/strings/fr/sidebar.yml +++ b/data/strings/fr/sidebar.yml @@ -10,6 +10,7 @@ text.projects: Projets text.applications: Applications text.libraries: Librairies text.electronics: Électronique +text.experiments: Expériences text.3d-print: Impression 3D text.tools: Outils text.links: Liens diff --git a/data/strings/fr/svg-to-png.yml b/data/strings/fr/svg-to-png.yml index 13da2c7..50a750c 100644 --- a/data/strings/fr/svg-to-png.yml +++ b/data/strings/fr/svg-to-png.yml @@ -1,5 +1,8 @@ # FR - SVG to PNG +meta.title : Convertisseur SVG en PNG +meta.description : Convertissez et redimensionnez facilement des images SVG en fichiers PNG localement. + upload.add.button: "Ajouter des images" upload.clear.button: "Vider séléction" diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvlYMXoAAXfGp.jpg b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvlYMXoAAXfGp.jpg new file mode 100644 index 0000000..39d1d5e Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvlYMXoAAXfGp.jpg differ diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvwnuWIAEhrYc.png b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvwnuWIAEhrYc.png new file mode 100644 index 0000000..dbf8d70 Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/FpXvwnuWIAEhrYc.png differ diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_01.PNG b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_01.PNG new file mode 100644 index 0000000..27f4979 Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_01.PNG differ diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02.PNG b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02.PNG new file mode 100644 index 0000000..42bb17c Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02.PNG differ diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02_2x.png b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02_2x.png new file mode 100644 index 0000000..678c9c3 Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_02_2x.png differ diff --git a/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_03.PNG b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_03.PNG new file mode 100644 index 0000000..ef9b14e Binary files /dev/null and b/static/resources/NibblePoker/images/projects/circuitpython-custom-fs/cpy_03.PNG differ diff --git a/templates/pages/project_index.jinja b/templates/pages/project_index.jinja index 24fc3e0..085909c 100644 --- a/templates/pages/project_index.jinja +++ b/templates/pages/project_index.jinja @@ -22,9 +22,9 @@ src="{{ url_for("static", filename=project_data.metadata.index.image_url) }}" alt="TODO">

- {{ l10n(project_data.metadata.index.title_key, project_id, lang) }} + {{ l10n(project_data.metadata.index.title_key, project_id, user_lang) }}

-

{{ l10n(project_data.metadata.index.preamble_key, project_id, lang) }}

+

{{ l10n(project_data.metadata.index.preamble_key, project_id, user_lang) }}

diff --git a/templates/pages/tools_index.jinja b/templates/pages/tools_index.jinja index fe951ac..33c3edb 100644 --- a/templates/pages/tools_index.jinja +++ b/templates/pages/tools_index.jinja @@ -22,9 +22,9 @@ src="{{ url_for("static", filename=tool_data.metadata.index.image_url) }}" alt="TODO">

- {{ l10n(tool_data.metadata.index.title_key, tool_id, lang) }} + {{ l10n(tool_data.metadata.index.title_key, tool_id, user_lang) }}

-

{{ l10n(tool_data.metadata.index.preamble_key, tool_id, lang) }}

+

{{ l10n(tool_data.metadata.index.preamble_key, tool_id, user_lang) }}

diff --git a/templates/projects/circuitpython-custom-fs.jinja b/templates/projects/circuitpython-custom-fs.jinja new file mode 100644 index 0000000..41ef09b --- /dev/null +++ b/templates/projects/circuitpython-custom-fs.jinja @@ -0,0 +1,16 @@ +{% extends "projects/_project.jinja" %} + +{% block project_content %} + {{ render_h2(l10n("intro.title", project_id, user_lang)) }} + {{ render_paragraph(l10n("intro.text.10", project_id, user_lang)) }} + {{ render_paragraph(l10n("intro.text.20", project_id, user_lang)) }} + {{ + render_paragraph( + l10n("intro.text.30", project_id, user_lang) + "
" + + l10n("intro.text.31", project_id, user_lang) + "
" + + l10n("intro.text.32", project_id, user_lang) + ) + }} + + {{ render_h2(l10n("features.title", project_id, user_lang)) }} +{% endblock %}