Cocina en 3 minutos: Lanza un blog o sitio web en segundos con Lume CMS de Deno

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

Screenshot_20240620_011217.png

Hola, soy un inútil.

He estado siguiendo a Deno durante mucho tiempo, y mientras buscaba un CMS fácil de implementar en un entorno sencillo y asequible, me encontré con LumeCMS.

https://lume.land

Asumiendo que Deno ya está instalado, crearemos un directorio.

mkdir newsite

Y luego, instalamos Lume.

deno run -A https://deno.land/x/lume/init.ts

Con esto, como quiero usar un tema esta vez, selecciono "Install a theme" y luego "_config.ts".

Ahora selecciono "Simple Blog".

Sí, eso es todo. Ahora, vamos a ejecutarlo.

deno task lume cms

Y si accedo a esto...

¡Vaya, es demasiado rápido...!

Sin embargo, la carpeta de carga estándar está en `./uploads`, el directorio donde se ejecuta `deno task lume cms`. Si simplemente copias y pegas en formato Markdown en el blog, la ruta de la imagen será `./_site/uploads`, lo que significa que la ruta de la imagen será incorrecta y la imagen no se mostrará.
Supongo que esta especificación se debe a la idea de que LumeCMS pueda usarse también en otros entornos SSG como Hugo.

Así que, abrimos el archivo `_config.ts`.

vim _config.ts
import lume from "lume/mod.ts";
import blog from "blog/mod.ts";

const site = lume();

site.use(blog());
// ここでuploadsフォルダにコピーするように
site.copy("uploads", "uploads");

export default site;

Con esto, las imágenes subidas a `./uploads` se copiarán a la carpeta `./_site/uploads` y podrán verse correctamente. Dejé los archivos originales en `./uploads` pensando que sería más fácil manipular las imágenes copiadas en `./_site/uploads` (como la conversión de formato).

Aquí está la estructura de directorios después de crear un artículo de prueba.


├── 404.md
├── _cms.ts
├── _config.ts
├── _data.yml
├── _site
│   ├── 404.html
│   ├── archive
│   │   └── index.html
│   ├── favicon.png
│   ├── feed.json
│   ├── feed.xml
│   ├── index.html
│   ├── js
│   │   ├── comments.js
│   │   └── main.js
│   ├── pagefind
│   │   ├── fragment
│   │   │   └── en_3551ff1.pf_fragment
│   │   ├── index
│   │   │   └── en_8fc6f26.pf_index
│   │   ├── pagefind-entry.json
│   │   ├── pagefind-highlight.js
│   │   ├── pagefind-modular-ui.css
│   │   ├── pagefind-modular-ui.js
│   │   ├── pagefind-ui.css
│   │   ├── pagefind-ui.js
│   │   ├── pagefind.en_7625ba4347.pf_meta
│   │   ├── pagefind.js
│   │   ├── wasm.en.pagefind
│   │   └── wasm.unknown.pagefind
│   ├── robots.txt
│   ├── sitemap.xml
│   ├── styles.css
│   ├── test
│   │   └── index.html
│   └── uploads
│       └── images-(2)-(9).jpeg
├── deno.json
├── deno.lock
├── favicon.png
├── posts
│   └── test.md
└── uploads
    └── images-(2)-(9).jpeg

Y la página de creación de artículos se ve así.

La debilidad de los SSG es que no se puede publicar desde un smartphone (aunque no es imposible), y aunque Markdown es muy fácil de escribir, es difícil desde un smartphone. Pero con esto, se ha vuelto bastante fácil de hacer.

Para mí, esto era exactamente lo que estaba buscando, así que espero poder migrar mi sitio a partir de ahora.
Debería haber muchos artículos sobre la migración de WP a SSG. Dicho esto, normalmente solo lo hago cuando siento que puedo levantarme y hacerlo.

Bueno, entonces.

Hasta la próxima.

Related Posts