Cozinha de 3 minutos: Lance um blog ou site em segundos com o Lume CMS do Deno

5 min

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

Screenshot_20240620_011217.png

Olá, sou um incompetente.

Eu estava acompanhando o Deno há um tempo e procurando por um CMS fácil de implementar em um ambiente simples e acessível, e então encontrei o LumeCMS.

https://lume.land

Assumindo que o Deno já está instalado, vamos criar um diretório.

mkdir newsite

E então, vamos instalar o Lume.

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

Agora, como quero usar um tema, seleciono 'Install a theme' e depois '_config.ts'.

Com isso, seleciono 'Simple Blog'.

Sim, foi só isso. Agora, vamos executá-lo.

deno task lume cms

Ao acessar, então...

Uau, é muito rápido...

No entanto, a pasta de upload padrão está em `./uploads`, o diretório onde `deno task lume cms` foi executado. Se você copiar e colar imagens em formato Markdown no blog, o caminho da imagem será `./_site/uploads`, o que fará com que as imagens não sejam exibidas devido a um caminho incorreto.
Acredito que essa especificação existe para que o LumeCMS possa ser usado em outros ambientes SSG, como Hugo.

Então, abrimos o arquivo `_config.ts`.

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

const site = lume();

site.use(blog());
// Para copiar para a pasta uploads aqui
site.copy("uploads", "uploads");

export default site;

Com isso, as imagens carregadas em `./uploads` serão copiadas para a pasta `./_site/uploads` e poderão ser visualizadas corretamente. Deixei os arquivos originais em `./uploads` para que as imagens copiadas para `./_site/uploads` possam ser facilmente manipuladas (como conversão de formato).

A estrutura de diretórios resultante após criar um artigo de teste é esta:


├── 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

E a página de criação de artigos é assim:

A fraqueza dos SSGs, que é não poder postar de smartphones (embora não seja impossível), e o fato de que Markdown é fácil de escrever, mas difícil em smartphones, agora se tornou muito mais fácil de fazer com isso.

Para mim, era exatamente o que eu procurava, então espero conseguir migrar o site a partir de agora.
Artigos sobre a migração de WP para SSG devem aparecer em abundância. Dito isso, geralmente só faço quando sinto que consigo levantar o ânimo.

Então.

Conto com você novamente.

Related Posts