O que é
Esta feature é a camada de entrada do produto. Ela permite que o usuário leve um Markdown para dentro do Sanctuary sem depender de cadastro, projeto, banco de dados ou fluxo de importação complexo.
Objetivo no produto
O objetivo é reduzir o tempo entre “tenho um documento” e “já estou lendo”. O Sanctuary assume que o valor principal está no consumo e na transformação do conteúdo, então a entrada precisa ser rápida e flexível.
Como o usuário usa
- O usuário chega no landing.
- Escolhe uma das três portas de entrada visíveis: colar texto, carregar arquivo ou usar URL remota.
- Também pode simplesmente arrastar um arquivo para a janela.
- Depois do carregamento, o app esconde o landing e abre o leitor com o documento já renderizado.
Valor entregue
- reduz fricção para documentos locais;
- permite abrir material vindo de repositórios e links;
- não exige estrutura de projeto nem upload para servidor;
- favorece uso ad hoc, típico de estudo, revisão e leitura rápida.
Elementos de interface envolvidos
- cards de entrada no landing;
- área de colagem;
- campo de URL;
- overlay de drag-and-drop;
- input de arquivo oculto acionado pelo card de upload.
Evidências no código
src/components/sections/DocUploadModal.astrodefine o modal de entrada, os cards de arquivo, colagem e URL e a validação inicial de formatos.src/layouts/BaseLayout.astroescuta o eventosanctuary:open-doc, normaliza a carga e grava o documento pendente para o Reader.src/scripts/reader/reader-core.jsconsome o documento pendente, adapta links raw quando necessário e inicializa a renderização no Reader.
O que essa feature revela sobre o produto
Esta feature sugere um produto feito para abrir documentos já existentes, não para gerenciá-los. O Sanctuary parte do pressuposto de que o Markdown já foi criado em algum lugar e agora precisa ser lido, estudado ou adaptado.
O suporte a URLs de GitHub e GitLab reforça a hipótese de uso em documentação de times, especificações e materiais versionados em repositórios.
Limitações e comportamento implícito
- o carregamento por URL depende de
fetchdireto e pode falhar por CORS ou indisponibilidade da origem remota; - apenas um arquivo é processado por vez;
- não há histórico de documentos abertos;
- o documento atual pode ficar salvo na sessão e o editor pode espelhar rascunhos localmente para recuperação;
- ao usar “Novo documento”, o app volta ao landing, mas não mantém o estado do conteúdo anterior.
Papel da feature no produto
A ingestão de conteúdo é a porta de entrada para todas as outras features. Sem ela, o Sanctuary seria só uma shell de interface. Com ela, o produto se posiciona como ferramenta de consumo imediato de Markdown, adequada para cenários de estudo rápido e uso individual.