Agregar soporte para Blogs
Visión general
¡Scully es la mejor opción para migrar un blog a Angular! Provee schematics que permiten que las aplicaciones Angular utilicen archivos markdown para guardar el contenido de los blogs.
IMPORTANTE: Si no tienes una aplicación Angular con Scully, por favor revisa primero la Guía Cómo empezar
Uso
Agregar soporte para blog ejecutando el siguiente comando:
ng generate @scullyio/init:blog
El comando anterior agrega las rutas de los módulos del blog en la aplicación Angular.
También agrega una carpeta ./blog
para los archivos markdown del blog.
En caso de querer un nombre de carpeta diferente, ejecutar el siguiente comando:
ng generate @scullyio/init:markdown
Este comando presentará las siguientes preguntas:
? What name do you want to use for the module? blog
? What slug do you want for the markdown file? title
? Where do you want to store your markdown files? mdblog
? Under which route do you want your files to be requested? blog
Después de agregar el soporte para blog, se visualiza ver el siguiente mensaje:
✅️ Update scully.{{yourApp}}.config.js
UPDATE scully.{{yourApp}}.config.js (653 bytes)
UPDATE src/app/app-routing.module.ts (726 bytes)
UPDATE src/app/blog/blog-routing.module.ts (429 bytes)
UPDATE src/app/blog/blog.component.css (157 bytes)
UPDATE src/app/blog/blog.component.html (160 bytes)
UPDATE src/app/blog/blog.component.spec.ts (639 bytes)
UPDATE src/app/blog/blog.component.ts (508 bytes)
UPDATE src/app/blog/blog.module.ts (391 bytes)
✅️ Blog ./mdblog/2020-03-24-blog.md file created
CREATE mdblog/2020-03-24-blog.md (95 bytes)
Alternativamente, es posible ejecutar el comando @scullyio/init:markdown
directamente con los parámetros como se muestra a continuación:
ng generate @scullyio/init:markdown --name="blog" --slug="title" --source-dir="mdblog" --route="blog"
Opciones disponibles
Option | Description | Default |
---|---|---|
name |
Define el nombre del módulo creado | 'blog' |
slug |
Define el nombre del parámetro :slug para identificar un archivo |
'id' |
routingScope |
Establece el alcance de ruteo (Root or Child ) |
Child |
sourceDir |
Define el nombre de la carpeta fuente (default: name ) |
valor de la opción name |
route |
Define una ruta base para usar antes del :slug (default: name ) |
valor de la opción name |
Crear un punto de entrada (Página de inicio)
Crear un Módulo Home con las rutas configuradas y un Componente Home con el siguiente comando:
ng generate module home --route=home --module=app-routing
Scully depende de una ruta de entrada.
Configurar un Módulo de entrada como raíz del proyecto
Abrir el archivo app-routing.module.ts
y agregar una ruta vacía para el módulo raíz como se muestra a continuación:
const routes: Routes = [
// ...
{
path: '',
loadChildren: () => import('./home/home.module').then((m) => m.HomeModule),
},
];
Extendiendo funcionalidad
Scully funciona muy bien con otras herramientas y utilidades.
Por ejemplo, si el contenido markdown incluye bloques de código y quieres resaltarlo, entonces utilizarás una utilidad.