Container de Docker para mostrar fuentes en una carpeta

No hay un contenedor Docker simple que pueda encontrar que actúe como una especie de repositorio de fuentes donde puedo navegar y previsualizar fuentes y luego descargarlas. Así que decidí hacer uno. Este contenedor de Docker usa PHP: Apache, Composer y Php-Font-5 para extraer una lista de fuentes de un directorio, leer los metadatos, almacenar en caché la información y mostrar sus nombres y una vista previa en una página web donde los usuarios pueden descargarlos. Este proyecto se encuentra en etapas muy tempranas, así que asegúrese de informar cualquier problema o error que encuentre, y sea paciente porque soy un diseñador gráfico, ¡no un programador!
Use Git Clone para copiar el repositorio en su computadora o haga clic en el botón Verde "Código" en la parte superior de esta página y descargue y extraiga el archivo ZIP a donde desee. Para construir y iniciar FontShow, abra un símbolo del sistema (o como ejecute estos comandos en su sistema operativo) en la misma carpeta que Docker-Compose.yml y ejecute:
docker-compose up --build
Esto tomará un momento, ya que construye el contenedor y lo lanza. Verifique http: // localhost: 8090 para asegurarse de que el contenedor se haya lanzado correctamente. Para lanzarlo en el futuro sin reconstruirlo:
docker-compose up -d
Para cambiar el número de puerto que utiliza FontShow, simplemente cambie el puerto de 8090 a otro número de puerto en el archivo Docker-Compose.yml:
ports:
- 8090:80
El archivo Docker-Compose.yml establece "usuario" y "contraseña" como las credenciales predeterminadas para la base de datos. Cambielos por razones de seguridad. Una vez que los haya cambiado, asegúrese de cambiarlos también en php/www/config.php. La contraseña de root no se usa en ningún lugar por FontShow, pero también debe cambiarse por razones de seguridad.
environment:
MYSQL_ROOT_PASSWORD: CHANGEME
MYSQL_DATABASE: fontshowDB
MYSQL_USER: user
MYSQL_PASSWORD: password
Casi todo, desde el color del sitio hasta el contenido del pie de página, se puede cambiar en PHP/www/config.php.
PHP/www/config.php tendrá las credenciales de base de datos predeterminadas. Si los cambió en el archivo de composición antes (¡ debería haberlo hecho! ) ¡Entonces deberá cambiarlos en el archivo de configuración!
El caché está configurado para actualizar todos los días, pero se puede activar mediante un botón en el extremo delantero junto al cuadro de vista previa de texto. Esta duración de la duración no se ha hecho configurable, ya que no es algo que la mayoría de las personas necesitarán cambiar, ya que hay un botón de actualización para actualizarlo inmediatamente. Para cambiar la duración entre actualizaciones, edite esta línea en php/www/get-fonts.php:
$cacheTime = 86400; // Cache for 1 day
Para agregar fuentes, simplemente deje caer los archivos de fuentes en el directorio / fuentes / directorio, abra su navegador a FontShow y haga clic en el botón "Actualizar caché". FontShow ahora admite subcarpetas dentro del directorio / Fonts /. El extremo frontal del sitio donde se muestran las fuentes no se distinguen. Esto le permite organizar más bien su / fuentes / director, y hacer uso de fuentes que ya pueden estar anidadas en carpetas.
Déle algo de tiempo en su primer lanzamiento para escanear las fuentes en la carpeta / fuentes /. Esto se aplica a agregar nuevas fuentes y que aparecen en FontShow después de presionar el botón REFRESH CACHE. En el fondo, php/www/get-fonts.php está extrayendo los metadatos de cada una de las fuentes y lo está agregando a la base de datos para PHP/www/index.php para extraer. Esto puede ser bastante lento dependiendo de la cantidad de fuentes que tenga. El texto del botón actualizará que le informará que la obtención se está realizando en segundo plano.
Las fuentes variables no están respaldadas por la biblioteca PHP-FONT-LIB que estoy usando, por lo que no serán compatibles con FontShow a menos que se agregan a PHP-Font-5 o alguien recomienda otra biblioteca que pueda usar que los admita. Puede haber otros tipos de fuentes que no funcionan, pero los principales como OTF y TTF sí. Los errores se elaborarán a medida que se descubran. ¡Deje un problema si tiene algún problema!