Converter linhas em uma checklist Markdown
Transforme uma lista simples em uma checklist Markdown organizada sem digitar a sintaxe das caixas manualmente.
Executar grátis
Cole uma tarefa por linha e receba uma lista pronta para uma issue, nota de projeto, pull request ou página de documentação. O conversor remove linhas vazias, elimina espaços acidentais nas extremidades e adiciona uma caixa desmarcada antes de cada item restante. O resultado determinístico pode ser revisado, copiado, armazenado ou usado com segurança em um fluxo automatizado.
Prepare um item acionável por linha
Comece com um texto comum contendo uma tarefa em cada linha. As linhas podem ser lembretes curtos, frases completas, etapas de lançamento, perguntas de revisão ou outros itens de uma lista de tarefas. Você não precisa digitar marcadores, colchetes nem símbolos Markdown antes de enviar o texto. Linhas vazias podem separar grupos durante a elaboração; o conversor as ignora em vez de criar caixas sem conteúdo. Ele também remove espaços e tabulações no início e no fim de cada linha mantida, deixando uniforme o material copiado de e-mails, documentos ou notas recuadas. O conteúdo interno permanece intacto, inclusive pontuação, código inline, links, ênfase e caracteres Unicode. Para maior clareza, mantenha cada tarefa lógica em uma única linha. Caso uma descrição exija vários parágrafos ou detalhes aninhados, crie primeiro a checklist e acrescente a estrutura mais rica depois, no editor de destino.
Entenda o Markdown gerado
Cada linha não vazia se torna um item de tarefa Markdown composto por hífen, espaço, um par de colchetes vazios, outro espaço e a linha original. A maioria dos renderizadores exibe essa sequência como uma caixa desmarcada. A resposta traz a marcação completa no campo markdown e o número de entradas geradas em items. Essa contagem ajuda uma integração a confirmar quantas tarefas foram aceitas antes de publicar ou salvar o resultado. A capacidade sempre cria itens pendentes, pois converte linhas de origem e não tenta deduzir andamento pela redação. A pontuação existente não é interpretada como estado ou metadado. Linhas vazias são removidas e diferentes terminações de linha são normalizadas. Como o algoritmo não usa rede, modelo, aleatoriedade nem relógio, a mesma entrada sempre produz a mesma saída, tanto em scripts repetíveis quanto na cópia interativa.
Cole ou automatize o resultado com segurança
Copie o Markdown retornado para qualquer destino compatível com listas de tarefas, como uma issue, um modelo de pull request, um documento de repositório, uma nota da equipe ou o código-fonte de um site estático. Confira a visualização antes de publicar quando o destino tiver regras próprias, pois cada plataforma pode estilizar as caixas de maneira diferente. Em uma automação, envie o texto no campo obrigatório text, leia o valor de markdown e insira esse valor no destino sem reconstruir a sintaxe. A solicitação à API custa US$ 0,002, enquanto o navegador executa localmente a mesma conversão determinística. Considere a saída apenas como formatação: converter uma linha não executa a tarefa, avisa um responsável, define prazo nem cria uma issue. Organize as linhas antes se a ordem for importante. Para preservar grupos, adicione títulos entre resultados separados, pois linhas vazias intencionais são removidas.
Casos de uso
Prepare uma checklist para issue
Converta critérios de aceitação ou etapas de investigação em caixas prontas para uma descrição de issue.
Monte um modelo de revisão
Transforme perguntas de revisão em Markdown consistente para pull requests e notas de lançamento.
Formate notas de projeto
Converta ações de reuniões ou notas de planejamento em tarefas sem editar cada linha manualmente.
Perguntas frequentes
Quanto custa?
A API custa US$ 0,002 por solicitação. A versão do navegador executa localmente a mesma conversão.
O que acontece com linhas vazias?
Linhas vazias ou contendo apenas espaços são ignoradas e não criam itens sem conteúdo.
Alguma tarefa é marcada como concluída?
Não. Todo item usa uma caixa desmarcada para que o andamento seja registrado depois.
A ordem das linhas é preservada?
Sim. As linhas não vazias aparecem exatamente na mesma ordem na checklist gerada.
Uma linha pode conter formatação Markdown?
Sim. O conteúdo é preservado, inclusive links, ênfase, código inline e outros elementos Markdown.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/str/markdown-checklist \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Review the proposal\nAssign an owner\nSet a due date"}'const res = await fetch("https://api.kit.forhosting.com/str/markdown-checklist", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Review the proposal\nAssign an owner\nSet a due date"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/markdown-checklist",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Review the proposal\nAssign an owner\nSet a due date"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/markdown-checklist", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Review the proposal\\nAssign an owner\\nSet a due date"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Review the proposal\nAssign an owner\nSet a due date"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/markdown-checklist", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Review the proposal\nAssign an owner\nSet a due date"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.markdown_checklist",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |