Emoji Title
approvedby arturtupiassu
This plugin has not been manually reviewed by Obsidian staff. Add an emoji from frontmatter to the File Explorer title. Now supports inherit_emoji for folders.
Obsidian Emoji Title Plugin
Este é um plugin para o Obsidian que adiciona automaticamente emojis aos títulos de notas e pastas no explorador de arquivos (File Explorer), bem como nas abas de navegação ativas.
A resolução do emoji é feita de forma inteligente com base no frontmatter da nota, na herança da pasta pai ou na extensão do arquivo.
🚀 Funcionalidades
- Emojis em Títulos e Abas: Exibe emojis correspondentes ao arquivo tanto na barra lateral quanto no topo da aba aberta.
- Resolução Inteligente de Emojis: A escolha de qual emoji exibir segue uma ordem de prioridade específica:
- Frontmatter: Verifica se a nota possui os campos
emojiouicondefinidos no metadado (YAML frontmatter). - Herança de Pastas: Pastas com notas de pasta (Folder Notes) configuradas com
apply_to_children: true(ouinherit_emoji: true) transmitem seu emoji recursivamente para todos os arquivos e subpastas internos. - Extensões de Arquivos: Caso nenhum emoji seja especificado, o plugin atribui um emoji padrão com base no tipo de arquivo (Markdown, Canvas, Imagem, PDF, Planilhas, etc.).
- Frontmatter: Verifica se a nota possui os campos
- Folder Notes Automáticas: Criação e sincronização automática de notas de pastas para gerenciar metadados de diretórios de forma limpa.
- Prevenção de Glitches no Rename: Sistema inteligente que detecta quando um arquivo ou pasta está sendo renomeado na barra lateral, suspendendo a injeção do emoji no DOM para impedir que o Obsidian capture o emoji como parte do novo nome do arquivo.
- Debounce de Renderização: Otimizado com
requestAnimationFramepara evitar lentidão e sobrecarga no processamento visual em cofres muito grandes.
🛠️ Estrutura do Projeto
O código do plugin foi modularizado a partir do main.ts inicial para facilitar a manutenção e legibilidade:
├── main.ts # Ponto de entrada do plugin (registro de comandos, eventos e ciclo de vida)
├── manifest.json # Metadados e identificação do plugin no Obsidian
├── styles.css # Estilos CSS necessários para a renderização correta
├── esbuild.config.mjs # Configuração de empacotamento do esbuild
├── package.json # Dependências do projeto e scripts de compilação
└── src/ # Módulos especializados
├── emoji-resolver.ts # Lógica de prioridade e herança para definição dos emojis
├── folder-notes.ts # Criação, sincronização e gerenciamento de notas de pasta
├── modal.ts # Modal interativo de seleção de emojis
├── settings.ts # Esquema de configurações e aba de preferências do usuário
├── types.ts # Definições de tipos e extensões da API interna do Obsidian
└── ui-updater.ts # Manipulação do DOM para injeção de emojis na interface
⚙️ Configurações Disponíveis
Na aba de configurações do plugin, você pode personalizar:
- Auto-criar Folder Notes: Cria automaticamente uma nota de pasta correspondente sempre que uma nova pasta for criada.
- Emojis Padrão por Tipo:
- Pastas (
📁) - Markdown (
🗒️) - Canvas (
🎨) - Bases de Dados/Dataview (
📊) - Imagens (
🖼️) - PDFs (
📄) - Planilhas (
📈) - Documentos e Outros formatos
- Pastas (
- Personalização de Ícones: Modificar rapidamente os fallbacks padrão.
💻 Desenvolvimento Local e Compilação
Requisitos
- Node.js instalado.
Passos para Compilar
-
Instale as dependências do projeto:
npm install -
Compile o plugin:
npm run build
[!NOTE]
O script debuildestá configurado para copiar o arquivo final empacotado (main.js), omanifest.jsone ostyles.cssdiretamente para a pasta de desenvolvimento de plugins do seu cofre local do Obsidian:~/obsidian/Cofre de Artur Tupiassu/.obsidian/plugins/emoji-title-plugin/
📜 Licença
Este projeto é disponibilizado sob a licença MIT.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.