eb8dbf66a1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.7 KiB
2.7 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| extract_obsidian_embeds | function | py | obsidian | 1.0.0 | pure | def extract_obsidian_embeds(body: str) -> list | Extrae SOLO los embeds !... (attachments incrustados: imagenes, pdf, otras notas) del cuerpo de una nota de Obsidian, ignorando los wikilinks normales .... Para cada embed devuelve el target tal cual (nombre de archivo), quitando alias (|...) y anclas (#...). Deduplica preservando orden de aparicion. Pura, sin I/O. Util para detectar que attachments arrastra una nota al migrar un subgrafo. |
|
false |
|
|
Lista de strings con los nombres de los attachments embebidos (el target de cada !...), unicos y en orden de aparicion. Solo embeds: los wikilinks normales ... se ignoran. Lista vacia si no hay embeds. | true |
|
python/functions/obsidian/extract_obsidian_embeds_test.py | python/functions/obsidian/extract_obsidian_embeds.py |
Ejemplo
body = (
"Texto con [[Nota normal]] y un embed ![[imagen.jpg]]. "
"Luego ![[doc.pdf]] y otra vez ![[imagen.jpg]]."
)
extract_obsidian_embeds(body)
# ["imagen.jpg", "doc.pdf"]
extract_obsidian_embeds("![[dni enmanuel (2).jpg]]")
# ["dni enmanuel (2).jpg"]
Cuando usarla
Usala cuando migres o extraigas un subgrafo de notas y necesites saber QUE
attachments hay que copiar junto a cada nota. A diferencia de
extract_obsidian_wikilinks (que devuelve todos los enlaces, incluidos los
embeds), esta funcion aisla solo los ![[...]], que son los archivos fisicos
incrustados. Combinala con resolve_obsidian_embed para localizar el path real
de cada attachment dentro del vault.
Gotchas
- Devuelve el nombre del attachment tal cual aparece en el embed (p.ej.
dni enmanuel (2).jpg), NO un path. Obsidian resuelve embeds por nombre de archivo unico; para obtener la ruta real usaresolve_obsidian_embed. - Quita deliberadamente el alias (
|300, util para dimensionar imagenes) y el ancla (#Seccion, util para embeber un trozo de otra nota). Si necesitas esos modificadores, parsea el body tu mismo. - Solo reconoce embeds con doble corchete
![[...]]. Los embeds Markdown estandar de imagenNO se detectan.