Personalmente WordPress me parece una plataforma sencilla y que cumple su propósito pero cuando quiero meter mano en el código para crear una funcionalidad, realmente lo odio. Por eso les traigo Laravel Wink.
Laravel Wink es un paquete que nos permite añadir una plataforma de blog en nuestro proyecto. Fue lanzado en el 2018 por Mohamed Said, uno de los cabecillas en el mantenimiento y desarrollo de Laravel.
lo que nos brinda facilidad en la instalación, en la configuración y podemos personalizar con todo el poder que nos da el Framework Laravel.
Su aspecto esta inspirado en la sencillez y minimalismo de otras plataformas de publicación como Medium. Pero a la vez, muy poderoso.
Cómo instalar la plataforma de blog Laravel Wink
La instalación de Laravel Wink es muy fácil. Podemos instalarlo en un proyecto nuevo de Laravel o uno que ya tengamos desarrollado. Dentro del proyecto de Laravel, ejecutamos el siguiente comando.
composer require writingink/wink
Una vez finalizado, seguimos con el comando:
php artisan wink:install
Este comando instala los assets, archivos de configuración y archivo de migración de Wink.
Si abrimos el archivo config/wink.php
veremos que una de las variables de entorno es WINK_DB_CONNECTION
la cual tiene el valor 'wink'
por defecto. Esta es la conexión de base de datos que desea que Wink use mientras almacena y lee su contenido. Podemos modificarla para que utilice nuestra conexión de mysql.
Ahora debemos correr el siguiente comando:
php artisan wink:migrate
Ahora disponemos de las tablas necesarias que Wink necesita para manejar las paginas, post, tags y autores que creemos en nuestro blog en Laravel.
NOTA: Debes tener generado el link simbólico en tu proyecto ya que Laravel Wink guarda las imágenes en storage/
. Si no es así, puedes ejecutar el siguiente comando.
php artisan storage:link
Ingresando a nuestro blog con Laravel Wink
Como podemos ver el comando anterior, además de ejecutar las migraciones, también nos brinda un usuario y contraseña para ingresar a Wink. Para ello debemos dirigirnos a http://nuestro-proyecto.com/wink
.
Una vez que ingresemos tenemos un panel simple para crear nuestra primera entrada en nuestra Blog.
Características de Laravel Wink
Laravel Wink tiene muchas características interesantes que no tienen nada que envidiarle al editor de WordPress o el de Medium.
- Auto guardado: Laravel Wink viene con toda la lógica necesaria para que se guarde automáticamente nuestra publicación en borradores para no perder lo que estamos escribiendo.
- Subir imágenes: Tenemos la posibilidad de subir y editar imágenes para nuestra entrada de blog.
- Código HTML: Podemos embeber código HTML, como por ejemplo, el código que nos brinda YouTube para que se muestre el vídeo.
Si hacemos click en el icono de configuración ubicado arriba a la izquierda, dispondremos de mas características para nuestra publicación.
- General Settings: Desde aquí configuramos el slug de nuestra publicación, el autor, los tags y una breve descripción del autor de la publicación.
- Featured Image: Podemos subir una imagen destacada.
- SEO & Social: Aquí agregamos todo lo necesario para el SEO y las redes sociales, como por ejemplo, agregar meta descripción, configurar las Open Graph de Facebook y las tarjetas de Twitter.
- Editor: Dispone de un editor muy completo para enriquecer nuestro contenido.
Estas son algunas de las características que ya vienen creadas en Wink para nosotros. Pero, como dijimos anteriormente, también tenemos la posibilidad de tocar código y hacer a Laravel Wink más potente.
Personalizar Laravel Wink
El paquete viene con funciones ya creadas para manejar las publicaciones, autores, paginas y tags como deseemos. Veamos el ejemplo que hay en la documentación oficial.
Podemos incluir el modelo Wink\WinkPost
para obtener las publicaciones. En el ejemplo, estamos obteniendo todas las publicaciones con sus tags, ordenadas por el post mas nuevo al mas viejo. La función live()
es un scope que nos brinda WinkPost
para obtener las publicaciones ya publicadas a partir del día actual. A continuación, su código.
public function scopeLive($query) { return $query->published()->where('publish_date', '<=', now()); }
También disponemos de los modelos WinkAuthor
, WinkPage
y WinkTag
. Si quieres ver el código de cada una de ellas, puedes navegar por la carpeta del paquete en vendor/
.
Conclusión
Laravel Wink esta en una etapa temprana y creo que le falta para superar a WordPress. Pero creo que va por un buen camino, sus características me gustan mucho y el desarrollador ya tiene pensado muchas nuevas características (que las puedes ver haciendo click aquí). Además, el paquete es publico y puedes colaborar en mejorarlo.
Espero que les haya gustado la publicación y tengan en cuenta a Laravel Wink para su próximo Blog. Yo seguramente me ponga a migrar a Laraveltip a la plataforma de Laravel Wink.
Cada día me enamoro mas de laraveltip.
Tenia pensado crear yo mismo algo parecido a WordPress, lo llevo usando como unos 3 años, pero la verdad es que desde mi punto de vista cuando ya conoces algo tan majestuoso como Laravel y ves algo como WordPress te dan ganas de ni tocarlo. Primero probare el paquete y ver todas las funcionalidades que tiene, ver hasta donde se puede personalizar sin hacer tanto esfuerzo o por lo menos mas esfuerzo que lo normal.
¡Muchas gracias por compartir este tip amigo!
¡Saludos desde Venezuela!
Como va Eduar? Me alegro que te guste el contenido de laraveltip, muchas gracias!
Lo estuve probando y esta bueno. Le falta todavía para parecerse a WordPress pero al estar respaldado por uno de los desarrolladores de Laravel y sea un paquete publico en GitHub, es cuestión de tiempo para que mejore :D.
Saludos amigo!
Genial gracias por el aporte!! Y bueno (Que caiga maduro)
Una pregunta, los paquetes se instalan en vendor, pero como hago para modificar los archivos que ya están instalados por defecto tales como los modelos o controladores?
Hola Ignacio, como estas? Como lo puse en el apartado de «Personalizar Laravel Wink» u a que situación te refieres especificamente? Gracias.
Buen dia
Primero decirte muchas gracias por el contenido que subes me ayuda bastante. Bueno instale laravel wink pero al ir a miproyecto/wink , me carga el login pero sin estilos y al ingresar me aparece una pagina en blanco. Busque en la documentación pero no encontré nada que me pueda ayudar. Nose como solucionarlo ojala me puedas ayudar.
Gracias
Me suena hay que no tenes permisos en la carpeta bootstrap/cache o storage/. También, prueba habilitar los errores para que se muestren por pantalla.
Buenas noches, quiero personalizar las vistas, como tengo acceso a ellas. porque desde mi proyecto no logro visualizar las vistas y rutas
Tienes que publicar las assets del package.