Importar uma lista indentada
Transformar um outline de texto, um sumário ou uma árvore de diretórios em mapa, sem digitar nada.
Importar uma lista indentada🔗
Problema. Você tem um outline pronto — num editor de texto, num e-mail, num sumário — e não quer redigitá-lo nó a nó.
Solução. Colar como estrutura.
Antes de começar
- Ter um outline pronto em texto, com indentação consistente
O que você vai aprender
- Transformar uma lista indentada em ramos, sem redigitar
- Corrigir indentação inconsistente antes de colar
- Saber quando o caminho é colar como estrutura e quando é importar
Colar como estrutura🔗
-
No editor de origem, deixe a lista indentada com tabulações ou espaços consistentes:
Projeto Aurora Infraestrutura Servidores Rede Equipe Desenvolvimento Design Cronograma -
Copie tudo.
-
No Freeplane, selecione o nó que será o pai.
-
Editar → Colar → Como estrutura (ou
Ctrl+Shift+V, conforme a versão).
O Freeplane lê a indentação e monta a hierarquia.
O que funciona como indentação🔗
| Origem | Funciona |
|---|---|
| Tabulações | ✅ Melhor caso |
| Espaços consistentes (2, 4) | ✅ |
Markdown com - e indentação | ✅ Em geral |
Markdown com #, ##, ### | ⚠️ Depende da versão |
Numeração 1., 1.1., 1.1.1. | ❌ Vira texto plano |
| Indentação mista | ❌ Resultado imprevisível |
Se a origem usa numeração hierárquica, converta antes com um sed ou no editor.
Da linha de comando🔗
Converter numeração em indentação:
sed -E 's/^([0-9]+\.)+ /\t/; s/^[0-9]+\. //' sumario.txt
Converter uma árvore de diretórios:
find projeto -type f | sed 's|[^/]*/|\t|g'
O resultado, colado como estrutura, vira o mapa da pasta.
Importar uma árvore de diretórios direto🔗
O Freeplane tem isso pronto: Arquivo → Importar → Estrutura de pastas. Escolha o diretório e ele gera o mapa correspondente, com hiperlinks para os arquivos.
É excelente para mapear um projeto existente antes de reorganizá-lo.
Importar de outros programas🔗
| Origem | Caminho |
|---|---|
| FreeMind | Abrir direto |
MindManager .mmap | Arquivo → Importar |
| Workflowy, Dynalist | Exporte OPML, importe OPML |
| Obsidian, Zettlr | Exporte Markdown, cole como estrutura |
| Planilha | Cole a coluna, use indentação por espaços |
Gerando o mapa por programa🔗
Para importações repetidas ou grandes, escrever o .mm direto é mais confiável que colar:
import xml.etree.ElementTree as ET
def construir(pai, linhas, i=0, nivel=0):
while i < len(linhas):
linha = linhas[i]
n = len(linha) - len(linha.lstrip('\t'))
if n < nivel:
return i
if n > nivel:
i = construir(pai[-1], linhas, i, n)
continue
ET.SubElement(pai, 'node', TEXT=linha.strip(), ID=f'ID_{i}')
i += 1
return i
linhas = [l.rstrip() for l in open('outline.txt', encoding='utf-8') if l.strip()]
mapa = ET.Element('map', version='freeplane 1.11.1')
raiz = ET.SubElement(mapa, 'node', TEXT=linhas[0].strip(), ID='ID_0')
construir(raiz, linhas[1:], 0, 1)
ET.ElementTree(mapa).write('gerado.mm', encoding='utf-8', xml_declaration=True)Erros comuns
- Misturar tabulações e espaços na origem — a hierarquia sai errada e é difícil ver por quê
- Colar com
Ctrl+Vcomum, obtendo um nó só com o texto inteiro - Esquecer que linhas em branco no meio do outline podem quebrar a leitura da estrutura
- Colar um outline gigante de uma vez, sem conferir o resultado em um trecho pequeno antes
Você aprendeu
- Indentação consistente é o único requisito real da técnica
- Colar como estrutura é uma variante de colagem, não o
Ctrl+Vcomum - Vale testar com um trecho antes de colar o outline inteiro
- Para árvores de diretórios existe o caminho dedicado: Importar → estrutura de pastas
Perguntas para reflexão
- Qual é o requisito de formatação da lista de origem?
- Por que
Ctrl+Vcomum não serve aqui? - Como você testaria a importação sem arriscar o outline inteiro?
- Que caminho alternativo existe para importar uma árvore de diretórios?