Logo Cinquin Andy Signature

Les icones disponible dans Obsidian

Développeur Freelance - Logo

Les sites et les ressources associées

Les icones disponible dans Obsidian

Publié le 23 septembre 2024 -  par Andy Cinquin

Obsidian iconsLibs icons

J'y créer un petit script pour windows et linux pour voir toutes les icones disponible dans Obsidian actuellement, ils utilisent Lucide-icon (https://lucide.dev/icons/) mais n'ont pas la dernière version, voici donc, les petits scripts en questions, et les icones :
#!/bin/bash

# Nom des fichiers de sortie
OUTPUT_FILE_SIMPLE="liste_fichiers_svg.txt"
OUTPUT_FILE_SPECIAL="liste_fichiers_svg_special.txt"
OUTPUT_FILE_SPECIAL_PLUS="icons_obsidian.md"

# Supprime les fichiers de sortie s'ils existent déjà
[ -f "$OUTPUT_FILE_SIMPLE" ] && rm "$OUTPUT_FILE_SIMPLE"
[ -f "$OUTPUT_FILE_SPECIAL" ] && rm "$OUTPUT_FILE_SPECIAL"
[ -f "$OUTPUT_FILE_SPECIAL_PLUS" ] && rm "$OUTPUT_FILE_SPECIAL_PLUS"

# Ajoute l'en-tête au fichier spécial
echo "> [!info]- Icons" > "$OUTPUT_FILE_SPECIAL"
echo "> [!info]- Icons" > "$OUTPUT_FILE_SPECIAL_PLUS"

# Boucle à travers tous les fichiers SVG dans le répertoire actuel
for f in *.svg; do
    echo "$f" >> "$OUTPUT_FILE_SIMPLE"
    # Enlève l'extension .svg pour le fichier spécial
    filename="${f%.svg}"
    # Crée le lien et affiche l'image
    icon_url="https://lucide.dev/icons/$filename"
    echo "> - [$filename]($icon_url)" >> "$OUTPUT_FILE_SPECIAL"
    echo "> - [$filename]($icon_url)" >> "$OUTPUT_FILE_SPECIAL_PLUS"
done

# Ajoute le contenu supplémentaire au fichier spécial plus
cat <<EOF >> "$OUTPUT_FILE_SPECIAL_PLUS"

\`\`\`dataviewjs
const icons = dv.current().file.lists.map((l) => l.text);
await dv.table(
    ["Icon", "Name"],
    icons.map((l) => ["", l])
);
dv.container.querySelectorAll("tbody tr").forEach((tr, index) => {
    const td = tr.querySelector("td");
    obsidian.setIcon(td, icons[index], 100);
});
\`\`\`

EOF

echo "La liste des fichiers SVG a été enregistrée dans $OUTPUT_FILE_SIMPLE, $OUTPUT_FILE_SPECIAL et $OUTPUT_FILE_SPECIAL_PLUS."

&& pour windows :
@echo off
setlocal enabledelayedexpansion

REM Nom des fichiers de sortie
set OUTPUT_FILE_SIMPLE=liste_fichiers_svg.txt
set OUTPUT_FILE_SPECIAL=liste_fichiers_svg_special.txt
set OUTPUT_FILE_SPECIAL_PLUS=icons_obsidian.md

REM Supprime les fichiers de sortie s'ils existent déjà
if exist %OUTPUT_FILE_SIMPLE% del %OUTPUT_FILE_SIMPLE%
if exist %OUTPUT_FILE_SPECIAL% del %OUTPUT_FILE_SPECIAL%
if exist %OUTPUT_FILE_SPECIAL_PLUS% del %OUTPUT_FILE_SPECIAL_PLUS%

REM Ajoute l'en-tête au fichier spécial
echo ^> [!info]- Icons > %OUTPUT_FILE_SPECIAL%
echo ^> [!info]- Icons > %OUTPUT_FILE_SPECIAL_PLUS%

REM Boucle à travers tous les fichiers SVG dans le répertoire actuel
for %%f in (*.svg) do (
    echo %%f >> %OUTPUT_FILE_SIMPLE%
    REM Enlève l'extension .svg pour le fichier spécial
    set "filename=%%~nf"
    echo ^> - !filename! >> %OUTPUT_FILE_SPECIAL%
    echo ^> - !filename! >> %OUTPUT_FILE_SPECIAL_PLUS%
)

REM Ajoute le contenu supplémentaire au fichier spécial plus
(
echo.
echo ^^^```dataviewjs
echo const icons = dv.current().file.lists.map((l) ^> l.text^);
echo await dv.table(
echo ^^^[^^^"Icon^^^", ^^^"Name^^^"],
echo icons.map((l) ^> ^[^^^"^^^", l^^^]^)
echo ^);
echo dv.container.querySelectorAll("tbody tr").forEach((tr, index) ^> ^{
echo ^^^const td = tr.querySelector("td");
echo ^^^obsidian.setIcon(td, icons[index], 100);
echo ^^^}^);
echo ^^^```
) >> %OUTPUT_FILE_SPECIAL_PLUS%

echo La liste des fichiers SVG a été enregistrée dans %OUTPUT_FILE_SIMPLE%, %OUTPUT_FILE_SPECIAL% et %OUTPUT_FILE_SPECIAL_PLUS%.

endlocal
pause
[!info]- Icons



En vous remerciant de votre visite, n'hésitez pas à me contacter pour toute demande de renseignements, devis ou proposition de collaboration. Je me ferai un plaisir de vous répondre dans les plus brefs délais.
Vous avez aimé cet article ? N'hésitez pas à le partager !

DÉVELOPPONS ENSEMBLE VOS PROJETS

Une idée, un projet ? Je suis là pour répondre à vos demandes et vous accompagner.
N’hésitez pas, je serais ravi d’échanger avec vous sur votre projet !
© 2024 Andy Cinquin - Tous droits réservés - Developed & Designed with ❤️ 🐝 ForHives co-founders