Conteneur docker pour afficher des polices dans un dossier

Il n'y a pas de conteneur Docker simple que je peux trouver qui agira comme une sorte de réposition de police où je peux parcourir et prévisualiser les polices, puis les télécharger. J'ai donc décidé d'en faire un. Ce conteneur Docker utilise PHP: apache, compositeur et php-font-lib pour extraire une liste de polices à partir d'un répertoire, lire les métadonnées, mettre en cache les informations et afficher leurs noms et un aperçu sur une page Web où les utilisateurs peuvent les télécharger. Ce projet est à très premiers stades, alors assurez-vous de signaler tout problème ou bug que vous trouvez, et soyez patient parce que je suis graphiste, pas programmeur!
Utilisez Git Clone pour copier le référentiel sur votre ordinateur ou cliquez sur le bouton "Code" vert en haut de cette page et téléchargez et extraire le fichier zip vers où vous le souhaitez. Pour construire et lancer Fonshow, ouvrez une invite de commande (ou quelle que soit votre exécution sur votre système d'exploitation) dans le même dossier que le docker-compose.yml et l'exécution:
docker-compose up --build
Cela prendra un moment car il construit le conteneur et le lance. Vérifiez http: // localhost: 8090 pour vous assurer que le conteneur a été correctement lancé. Pour le lancer à l'avenir sans le reconstruire:
docker-compose up -d
Pour modifier le numéro de port que Fontshow utilise, changez simplement le port du 8090 vers un autre numéro de port dans le fichier docker-compose.yml:
ports:
- 8090:80
Le fichier docker-compose.yml définit "utilisateur" et "mot de passe" comme des informations d'identification par défaut pour la base de données. Veuillez les modifier pour des raisons de sécurité. Une fois que vous les avez modifiés, assurez-vous de les modifier également dans PHP / www / config.php. Le mot de passe racine n'est utilisé nulle part par Fontshow, mais doit également être modifié pour des raisons de sécurité.
environment:
MYSQL_ROOT_PASSWORD: CHANGEME
MYSQL_DATABASE: fontshowDB
MYSQL_USER: user
MYSQL_PASSWORD: password
Presque tout, de la couleur du site au contenu du pied de page, peut être modifié dans le php / www / config.php.
PHP / www / config.php aura les informations d'identification de base de données par défaut. Si vous les avez changés dans le fichier Compose plus tôt ( vous devriez avoir! ), Vous devrez les modifier dans le fichier de configuration!
Le cache est défini pour actualiser tous les jours, mais peut être déclenché par un bouton à l'avant à côté de la zone d'aperçu du texte. Cette durée de durée n'a pas été configurée car ce n'est pas quelque chose que la plupart des gens devront changer car il y a un bouton de rafraîchissement pour le rafraîchir immédiatement. Pour modifier la durée entre les rafraîchissements, modifiez cette ligne dans PHP / www / get-fonts.php:
$cacheTime = 86400; // Cache for 1 day
Pour ajouter des polices, déposez simplement les fichiers de police dans le répertoire / Fonts / Directory, ouvrez votre navigateur sur FONTSHOW et cliquez sur le bouton "Rafraîchir le cache". FONTSHOW prend désormais en charge les sous-dossiers dans le répertoire / Fonts /. L'extrémité avant du site où les polices sont affichées ne font aucune distinction. Cela vous permet d'organiser plus soigneusement votre / Fonts / Director, et d'utiliser des polices qui peuvent déjà être imbriquées dans les dossiers.
Donnez-lui du temps sur son premier lancement pour scanner les polices dans le dossier / Fonts /. Cela vaut pour ajouter de nouvelles polices et elles apparaissant dans FONTSHOW après avoir appuyé sur le bouton de cache de rafraîchissement. En arrière-plan PHP / www / get-fonts.php tire les métadonnées de chacune des polices et l'ajoute à la base de données pour PHP / www / index.php pour tirer. Cela peut être assez lent en fonction de la quantité de polices que vous avez. Le texte du bouton mettra à jour pour vous faire savoir que la récupération se fait en arrière-plan.
Les polices variables ne sont pas prises en charge par la bibliothèque PHP-Font-Lib que j'utilise, donc ils ne seront pas pris en charge par FONTSHOW à moins qu'ils ne soient ajoutés à PHP-Font-lib ou quelqu'un recommande une autre bibliothèque que je peux utiliser qui les soutient. Il peut y avoir d'autres types de polices qui ne fonctionnent pas, mais les principaux comme OTF et TTF le font. Les bugs seront élaborés au fur et à mesure qu'ils ont découvert. Veuillez laisser un problème si vous rencontrez des problèmes!