Blog de Landing Pages ✈️

Funciona, pero ya no se mantiene [julio de 2022]

Ahora puedes usar el Plugin de Páginas de Aterrizaje para ejecutar un blog con Discourse :tada:. Configura una categoría como tu blog, y la primera publicación de cada tema en esa categoría tendrá su propia página de blog y aparecerá en una página de lista de publicaciones del blog.

Screen Shot 2021-05-13 at 5.04.18 PM

Este proyecto ha sido un esfuerzo conjunto entre @meghna y yo. Todo el trabajo de diseño es de ella. Si te gusta el diseño de este blog, asegúrate de revisar sus Temas de Discourse. Cualquier error que encuentres en la funcionalidad es mío :slight_smile:

Obtener el código

GitHub-Mark-64px Plugin de Páginas de Aterrizaje
GitHub-Mark-64px Páginas de Aterrizaje de Blog
GitHub-Mark-64px Tema de Aterrizaje de Blog

Verlo en acción

try.thepavilion.io/blog

Tenga en cuenta que todo el contenido del blog y mostrado en las capturas de pantalla de esta publicación proviene de The Conversation y se utiliza bajo la Licencia Creative Commons utilizada por ese sitio. Todo el contenido pertenece a sus autores originales y se utiliza únicamente con fines demostrativos.

Cómo configurarlo

Sigue estos pasos en orden:

  1. Instala el Plugin de Páginas de Aterrizaje (cómo instalar un plugin en Discourse).
  2. Instala el Tema de Aterrizaje de Blog (cómo instalar un tema en Discourse).
  3. Configura las Páginas de Aterrizaje de Blog como tu repositorio de páginas de aterrizaje.
  4. En la interfaz de administración de Páginas de Aterrizaje, cambia la categoría de la página “Blog” a la categoría que quieras usar para ejecutar tu blog.

¡Eso es todo! La primera publicación de cada tema en esa categoría ahora serán publicaciones en tu blog :slight_smile:

Restringir la publicación a colaboradores

Probablemente quieras restringir la publicación en esa categoría a un grupo de colaboradores del blog. Si no estás seguro de cómo hacerlo, aquí tienes una guía rápida:

  1. Crea un grupo de usuarios, por ejemplo “Colaboradores”, yendo a /groups y haciendo clic en “Nuevo grupo”.
  2. Añade usuarios al grupo (“Añadir miembros” en la esquina superior derecha).
  3. En la configuración de “Seguridad” de la categoría del blog, elimina el permiso “Crear” de “Todos” y añade tu grupo de Colaboradores.

Ahora solo tus colaboradores pueden publicar en tu blog, pero todos pueden comentar en las publicaciones.

¿Qué lo hace diferente de otras soluciones de blogs?

Existen algunas excelentes soluciones existentes para ejecutar un blog dentro o junto a Discourse, incluyendo:

Esto es un poco diferente ya que es un conjunto completamente separado de páginas que no forman parte de la aplicación cliente de Discourse, pero aún utiliza el mismo servidor. Esto te ofrece algunas ventajas sobre ejecutar un blog separado (por ejemplo, en WordPress) o usar una categoría de Discourse directamente (por ejemplo, con un componente de tema), incluyendo:

  • Puedes crear contenido y permitir que los usuarios respondan en Discourse, pero tener un entorno de blog dedicado para leer y compartir. Los lectores de tu blog sentirán que están leyendo un blog en lugar de una publicación de foro.
  • Tienes un único sistema de cuentas de usuario (el de Discourse).
  • Puedes usar grupos de Discourse para restringir el acceso al blog.
  • Puedes hacer que las publicaciones de Discourse aparezcan como comentarios en tu blog sin configuración adicional.
  • Obtienes un tema de blog responsivo y atractivo desde el principio.
  • Solo tienes que configurar y pagar por un servidor.
  • El blog no necesita cargar tu foro para funcionar, por lo que puede cargarse rápidamente.
  • Puedes mantener fácilmente tus páginas de blog (y tema) bajo control de versiones.
  • Obtienes un correo electrónico de notificación de “Nueva publicación de blog” bien formateado (ver más abajo).
  • Puedes gestionarlo fácilmente junto con cualquier otra página de aterrizaje que necesites usando el Plugin de Páginas de Aterrizaje.

Sin embargo, aunque las Páginas de Aterrizaje de Blog tienen algunas ventajas claras, no serán la mejor solución de blog comunitario para todos. Deberías probar las diferentes soluciones y ver cuál funciona para ti.

¿Qué significa “Suscribirse” al blog?

Si has iniciado sesión y haces clic en el botón “Suscribirse”, verás un modal (si no has iniciado sesión, serás redirigido al inicio de sesión de Discourse).

Si has marcado la casilla junto a “Suscribirse a las publicaciones de [nombre del sitio]” y has enviado el formulario, automáticamente se te establecerá como “Observando primera publicación” para la categoría del blog. Eso significa que recibirás una notificación por correo electrónico cada vez que haya una nueva publicación en esa categoría, ¡como si estuvieras suscrito a un blog!

También puedes configurar tus notificaciones para la categoría del blog como “Observando primera publicación” de la manera habitual (en Discourse) y eso tendrá el mismo efecto. “Observar” la categoría (donde recibes un correo electrónico por cada publicación, incluidas las respuestas) también cuenta como estar suscrito.

Las notificaciones por correo electrónico para una categoría de blog son un poco especiales. En primer lugar, a menos que hayas hecho la publicación tú mismo, siempre recibirás una notificación por correo electrónico si estás suscrito, incluso si has visitado el sitio recientemente. En segundo lugar, están diseñadas para parecerse a un correo electrónico de publicación de blog.

Planeamos permitir que un administrador del sitio edite el HTML del correo electrónico de publicación de blog en la interfaz de administración de Páginas de Aterrizaje en un futuro cercano. Ten en cuenta que si estás “Observando” la categoría del blog, solo la notificación por correo electrónico de la primera publicación en cada tema será diferente. Las notificaciones de las respuestas se verán como notificaciones normales de Discourse.

Más allá de los blogs

Puedes usar la funcionalidad descrita anteriormente para crear un conjunto de páginas de aterrizaje para cualquier contenido, al igual que WordPress es un motor de blogs que puedes usar para mostrar otros tipos de contenido (no relacionados con blogs). Podrías usar una categoría para gestionar un conjunto de productos, lugares o personas, y obtener automáticamente tanto una página de aterrizaje como un tema de discusión para el contenido, simplemente haciendo una sola publicación en Discourse.

Cualquier desarrollador que conozca un poco Ruby on Rails podría lograr cualquiera de esos casos de uso adicionales usando este sistema. No necesitas saber cómo funciona Discourse. Como estas páginas de blog forman parte del plugin de páginas de aterrizaje, también tienes acceso a todas las plantillas existentes en ese plugin, incluidos formularios de contacto, encabezados, pies de página, listas de temas y perfiles de usuario. Puedes leer más sobre estas plantillas, y otras, en la documentación del plugin.

41 Me gusta

¡Se ve genial, buen trabajo! ¿Es obligatorio el tema de la página de inicio del blog? En ese caso, ¿sería posible que fuera un componente (ya que quienes ya tienen otro tema o uno personalizado podrían querer mantenerlo)?

2 Me gusta

Las páginas de aterrizaje del blog y la funcionalidad del plugin Landing Pages en la que se basan están diseñadas para funcionar con cualquier tema :slight_smile: Puedes personalizarlas como prefieras.

No es necesario que esté activo en tu sitio de Discourse para que funcione; solo debe estar instalado y luego seleccionado en la página correspondiente de la interfaz de administración de Landing Pages. Así es como se ven los ajustes del tema en try.thepavilion.io (puedes ver la configuración de la página en el primer mensaje)

3 Me gusta

¡Genial! Tengo muchas ganas de probarlo. Gracias por esto :slight_smile:

2 Me gusta

:exploding_head:

Esto es realmente genial. Me ha hecho replantearme todo mi enfoque. ¡Gracias! :laughing:

2 Me gusta

¡Esto es genial!

Para personalizar, ¿debería hacer un fork del repositorio para ingresar la información de mi sitio? ¿O hay una mejor manera de hacerlo?

2 Me gusta

Gracias @sethm, sí, el Tema de Página de Inicio del Blog y las Páginas de Inicio del Blog están diseñados como plantillas, por lo que podrías:

  • importarlas directamente en tu instancia como se describió anteriormente;
  • bifurcarlas; o
  • descargarlas y modificarlas como lo harías con una plantilla para WordPress, Ghost, etc.
3 Me gusta

¿Hay alguna forma de que un subconjunto del contenido de Discourse sea visible públicamente (como el contenido de este blog) en lugar de requerir registro / inicio de sesión? Gracias.

–Peter

1 me gusta

Hola Peter, sí, por defecto el contenido en Discourse es visible públicamente. Si no lo es, significa que tienes activado el ajuste del sitio “login required”. Luego puedes controlar la visibilidad de categorías específicas usando permisos específicos de categoría (en los ajustes de la categoría). Puedes ver una captura de pantalla de los ajustes de acceso específicos de categoría arriba.

1 me gusta

Gracias, pero ¿no veo la captura de pantalla de la configuración de acceso específica de la categoría?

1 me gusta

¿Alguna ayuda?
¿Quizás la configuración específica de la categoría no aparece a menos que elimine el inicio de sesión obligatorio?
Pero no quiero eliminar eso hasta que tenga las categorías configuradas como públicas o con inicio de sesión obligatorio…
Gracias.

–Peter

1 me gusta

Deberías poder ver los permisos de la categoría desde la pestaña Seguridad en la llave inglesa de administración en la página de la categoría:

Espero que eso ayude. :slightly_smiling_face:

2 Me gusta

¡Ah! Gracias.
Entonces, ¿establecer todas las categorías y los usuarios actuales en el nivel de confianza 2, y la nueva categoría que quiero que sea pública en el nivel de confianza 0, y cambiar el inicio de sesión requerido, debería funcionar? ¿O esa lógica es incorrecta?

–Peter

1 me gusta

Si desea que la categoría del blog sea visible tanto para personas anónimas como para titulares de cuentas, querrá que el grupo Everyone tenga al menos ‘Ver’.

Y luego establezca las otras categorías en al menos trust_level_0 para que las personas necesiten tener una cuenta para ver e interactuar con los temas en ellas.

1 me gusta

Gracias, eso funcionó. Agradezco la ayuda.

2 Me gusta

Necesito un poco de ayuda para entender este plugin. Por un lado, dices que puedes

Establecer una categoría como tu blog, y la primera publicación de cada tema en esa categoría tendrá su propia página de blog y aparecerá en una página de lista de publicaciones de blog.

y por otro lado

  1. Configura las páginas de destino del blog como tu repositorio de páginas de destino.

Estoy confundido. ¿Puedo ejecutar un blog con mis publicaciones de Discourse sin un repositorio git y sin archivos *html.erb?

1 me gusta

El contenido del blog se extrae de las publicaciones de Discourse. El diseño del blog se maneja mediante archivos HTML, que podrían estar en el repositorio de Páginas de destino del blog.

Este plugin no es como Hugo, donde creas publicaciones de blog en formato de marcado. Aunque integrarlo con Hugo sería genial, podríamos intentarlo en algún momento (cc @jumagura)

3 Me gusta

He estado ejecutando un foro con Discourse durante un par de meses, así que todavía soy bastante nuevo en esto. He instalado un plugin antes, pero cuando intenté instalar el Landing Pages Plugin esta noche, obtuve un error cuando la aplicación se reconstruyó y no arrancó. Quizás haya un problema de compatibilidad o de versión con algo, pero no estoy seguro de por dónde empezar. ¿Alguien puede darme una pista? He revisado el registro pero no puedo decir cuál podría ser el problema.

Esta es la última parte de los resultados de ejecutar la reconstrucción:

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 364 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
fb680c9c3b46dcd068abe877ed4187c730351c10139cc3eda2a8b7202822bf07
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 

Gracias por cualquier ayuda.

1 me gusta

¿Alguien puede revisar este plugin? Tengo el mismo problema que el usuario anterior. Me aparecen algunos errores al intentar compilarlo, aparentemente está roto desde la versión 2.9.0 beta 4 y superiores.

Podría proporcionar algunos registros, pero sería mejor si el creador revisara una instalación limpia de Discourse y luego intentara compilarlo, porque probé esto tanto en una instalación existente de Discourse como en una nueva, y siempre falla al compilar.

Seguí exactamente los pasos proporcionados en la publicación inicial.

  1. Instalar el Plugin de Páginas de Destino (cómo instalar un plugin en Discourse).
  2. Instalar el Tema de Destino de Blog, (cómo instalar un tema en Discourse).
  3. Configurar las Páginas de Destino de Blog como su repositorio de páginas de destino.
  4. En la Interfaz de Administración de Páginas de Destino, cambie la categoría de la página “Blog” a la categoría que desee utilizar para ejecutar su blog.
1 me gusta

Actualizaré este plugin para que sea compatible con la última versión de Discourse la próxima semana.

4 Me gusta