# Workflow de Artigos - Ideiasti

## Comandos de Automação

Todos os comandos rodam em `C:\ideiasti\`:

| Comando | Descrição |
|---------|-----------|
| `npm run new-article` | Cria novo artigo `.md` interativamente |
| `npm run import` | Importa todos os artigos para o WordPress |
| `npm run watch` | Modo vigia: importa automaticamente ao salvar |
| `npm run delete-post` | Exclui um artigo do WordPress pelo ID |
| `npm run set-image` | Define imagem destacada de um artigo pelo ID |
| `npm run import-single` | Importa um artigo específico pelo número ou nome |
| `npm run admin` | Abre o painel MD Publisher no navegador |

---

## 1. Criar Novo Artigo

```bash
npm run new-article
```

O script pergunta:
- **Título do artigo** (obrigatório)
- **Meta Description** (opcional, para SEO)
- **Categoria**: `1` para "Introdução a Qualidade de Software", `2` para "Testes Automatizados"
- **Imagem destacada**: `s` ou `N`

Gera automaticamente `artigos/NN_titulo_do_artigo.md` com template pronto.

---

## 2. Adicionar Imagens

### Opção 1 — URL remota (recomendada)
No arquivo `.md`, adicione:

```markdown
![Descrição da imagem](https://source.unsplash.com/random/600x338)
```

O importador baixa a imagem automaticamente para a biblioteca de mídia do WordPress.

### Opção 2 — Imagem local
Coloque o arquivo em `C:\ideiasti\img\` e referencie com URL completa do site:

```markdown
![Descrição](http://localhost/ideiasti/wp-content/uploads/2025/01/sua-imagem.jpg)
```

Ou faça upload pelo admin do WordPress (`/wp-admin` → Media) e use a URL gerada.

---

## 3. Editar Artigo Existente

1. Edite o arquivo `.md` em `C:\ideiasti\artigos\`
2. Salve
3. Rode `npm run import`

---

## 4. Importar para o WordPress

> **Pré-requisito:** WordPress rodando em `http://localhost:8082/ideiasti` (ou URL configurada).

```bash
SITE_URL=http://localhost:8082/ideiasti npm run import
```

O script envia todos os artigos para o WordPress via `admin-ajax.php` usando um token de importação compartilhado (definido no plugin). Artigos já importados são ignorados (não duplica).

| Variável | Descrição |
|----------|-----------|
| `SITE_URL` | URL raiz do site (opcional, default `http://localhost/ideiasti`) |
| `IMPORT_TOKEN` | Token de autenticação (opcional, default definido no plugin) |

Para importação automática contínua:

```bash
SITE_URL=http://localhost:8082/ideiasti npm run watch
```

O watch fica monitorando a pasta `artigos/` e executa o import automaticamente ao detectar alterações (com debounce de 2 segundos).

---

## 5. Importar Artigo Específico

Para importar ou atualizar um artigo específico sem processar todos:

```bash
SITE_URL=http://localhost:8082/ideiasti npm run import-single
```

O script mostra a lista de artigos disponíveis. Digite o **número** da lista ou parte do **nome** do artigo.

Também pode passar direto:

```bash
FILENAME=41_testes_automatizados_com_implementacao_de_ia SITE_URL=http://localhost:8082/ideiasti npm run import-single
```

---

## 6. Excluir Artigo

```bash
SITE_URL=http://localhost:8082/ideiasti npm run delete-post
```

O script pergunta o **ID do artigo** e confirma antes de excluir permanentemente.

Também pode passar o ID direto:

```bash
POST_ID=42 SITE_URL=http://localhost:8082/ideiasti npm run delete-post
```

---

## 7. Definir Imagem Destacada

```bash
SITE_URL=http://localhost:8082/ideiasti npm run set-image
```

O script pergunta o **ID do artigo** e a **URL da imagem**. A imagem é baixada para a biblioteca de mídia do WordPress e definida como imagem destacada do artigo.

Também pode passar via env vars:

```bash
POST_ID=42 IMAGE_URL=https://exemplo.com/imagem.jpg SITE_URL=http://localhost:8082/ideiasti npm run set-image
```

---

## 8. Estrutura de Arquivos

```
C:\ideiasti\
├── artigos\              # Artigos em markdown
│   ├── 01_introducao_qualidade_software.md
│   ├── 02_tendencias_qa_2025.md
│   ├── sobre.md
│   ├── politica-de-privacidade.md
│   ├── termos-de-uso.md
│   └── ...
├── img\                  # Imagens locais (opcional)
├── scripts\              # Scripts de automação
│   ├── new-article.mjs
│   ├── import.mjs
│   ├── watch.mjs
│   ├── delete-post.mjs
│   ├── set-image.mjs
│   └── import-single.mjs
├── docs\                 # Documentação
└── wp-content\           # WordPress (tema + plugin)
```

---

## 9. Alterar Fotos de Artigos Já Publicados

1. Faça upload da nova foto pelo admin do WordPress (`/wp-admin` → Media)
2. Copie a URL da mídia
3. Substitua a referência no `.md`
4. Rode `npm run import`

---

## 10. Páginas Especiais

Os arquivos abaixo são importados como **páginas** (não posts):

- `sobre.md` → `/sobre/`
- `politica-de-privacidade.md` → `/politica-de-privacidade/`
- `termos-de-uso.md` → `/termos-de-uso/`

Para editá-las, altere o `.md` e rode `npm run import`.

---

## 11. Formato do Arquivo Markdown

```markdown
<!--
Meta Description: Descrição curta para SEO
Keywords: palavra-chave, outra-palavra
Focus Keyphrase: palavra-chave-principal
-->

# Título do Artigo

![Imagem destacada](https://source.unsplash.com/random/600x338)

## Introdução

Texto introdutório...

---

## Desenvolvimento

Conteúdo principal...

---

## Conclusão

Resumo e considerações finais.

---

*Última atualização: mês de ano*
```
