URI de Obsidian es un protocolo URI personalizado compatible con Obsidian que te permite activar diversas acciones, como abrir una nota o crear una nota. El URI de Obsidian permite la automatización y flujos de trabajo entre aplicaciones.
## Formato de URI
Los URIs de Obsidian utilizan el siguiente formato:
```
obsidian://action?param1=value¶m2=value
```
El parámetro `action` es la acción que deseas realizar. Las acciones disponibles incluyen:
- `open` para abrir una nota.
- `new` para crear o añadir contenido a una nota existente.
- `daily` para crear o abrir tu nota diaria.
- `unique` para crear una nueva nota única.
- `search` para abrir una búsqueda.
- `choose-vault` para abrir el gestor de bóvedas.
> [!warning] Codificación
> Asegúrate de que tus valores estén correctamente codificados para URI. Por ejemplo, los caracteres de barra diagonal `/` deben codificarse como `%2F` y los caracteres de espacio deben codificarse como `%20`.
>
Esto es especialmente importante porque un carácter "reservado" codificado incorrectamente puede romper la interpretación del URI. [Consulta aquí para más detalles](https://en.wikipedia.org/wiki/Percent-encoding).
## Abrir nota
La acción `open` abre una bóveda de Obsidian, o abre un archivo dentro de esa bóveda.
### Ejemplos
- `obsidian://open?vault=my%20vault`
Esto abre la bóveda `my vault`. Si la bóveda ya está abierta, enfoca la ventana.
- `obsidian://open?vault=ef6ca3e3b524d22f`
Esto abre la bóveda identificada por el ID `ef6ca3e3b524d22f`.
- `obsidian://open?vault=my%20vault&file=my%20note`
Esto abre la nota `my note.md` en la bóveda `my vault`, asumiendo que el archivo existe.
- `obsidian://open?path=%2Fhome%2Fuser%2Fmy%20vault%2Fpath%2Fto%2Fmy%20note`
Esto buscará cualquier bóveda que contenga la ruta `/home/user/my vault/path/to/my note`. Luego, el resto de la ruta se pasa al parámetro `file`. Por ejemplo, si existe una bóveda en `/home/user/my vault`, entonces esto sería equivalente al parámetro `file` establecido como `path/to/my note`.
> [!tip] Abrir un encabezado o bloque
> Con la codificación URI adecuada, puedes navegar a un encabezado o bloque dentro de una nota. `Note%23Heading` navegaría al encabezado llamado "Heading", mientras que `Note%23%5EBlock` navegaría al bloque llamado "Block".
### Parámetros
- `vault` puede ser el nombre de la bóveda o el ID de la bóveda[^1].
- `file` puede ser un nombre de archivo, o una ruta desde la raíz de la bóveda hasta el archivo especificado. Si la extensión del archivo es `md`, la extensión puede omitirse.
- `path` una ruta absoluta del sistema de archivos a un archivo.
- Usar este parámetro anulará tanto `vault` como `file`.
- Esto hará que la aplicación busque la bóveda más específica que contenga la ruta de archivo especificada.
- Luego el resto de la ruta reemplaza el parámetro `file`.
- `prepend` añadirá contenido al inicio del archivo e intentará fusionar las propiedades.
- `append` añadirá contenido al final del archivo y también intentará fusionar las propiedades.
- `paneType` (opcional) determina dónde se abrirá la nota en la interfaz.
- si no está presente, se reemplaza la última pestaña activa.
- `paneType=tab` abrir en una nueva pestaña.
- `paneType=split` abrir en un nuevo grupo de pestañas.
- `paneType=window` abrir en una ventana emergente (solo escritorio).
## Crear nota
La acción `new` crea una nueva nota en la bóveda, opcionalmente con algún contenido.
### Ejemplos
- `obsidian://new?vault=my%20vault&name=my%20note`
Esto abre la bóveda `my vault`, y crea una nueva nota llamada `my note`.
- `obsidian://new?vault=my%20vault&file=path%2Fto%2Fmy%20note`
Esto abre la bóveda `my vault`, y crea una nueva nota en `path/to/my note`.
### Parámetros
- `vault` puede ser el nombre de la bóveda, o el ID de la bóveda[^1]. Igual que la acción `open`.
- `name` el nombre del archivo a crear. Si se especifica, la ubicación del archivo se elegirá según tus preferencias de "Ubicación por defecto para nuevas notas".
- `file` una ruta absoluta de la bóveda, incluyendo el nombre. Anulará `name` si se especifica.
- `path` una ruta globalmente absoluta. Funciona de manera similar a la opción `path` en la acción `open`, que anulará tanto `vault` como `file`.
- `paneType` (opcional) determina dónde se abrirá la nota en la interfaz. Igual que la acción `open`.
- `content` (opcional) el contenido de la nota.
- `clipboard` (opcional) usa el contenido del portapapeles en lugar de especificar `content`.
- `silent` (opcional) incluye este parámetro si no quieres abrir la nueva nota.
- `append` (opcional) incluye este parámetro para añadir contenido a un archivo existente si existe uno.
- `overwrite` (opcional) sobrescribe un archivo existente si existe uno, pero solo si `append` no está establecido.
- `x-success` (opcional) ver [[#Usar parámetros x-callback-url]].
## Crear o abrir nota diaria
La acción `daily` crea o abre tu nota diaria. El complemento [[Notas diarias]] debe estar habilitado.
### Ejemplos
- `obsidian://daily?vault=my%20vault`
Esto abre la bóveda `my vault`, y crea o abre la nota diaria.
### Parámetros
La acción `daily` acepta los mismos parámetros que la acción `new`.
## Nota única
La acción `unique` crea una nueva nota única en la bóveda. El complemento [[Creador de nota única]] debe estar habilitado.
### Ejemplos
- `obsidian://unique?vault=my%20vault`
Esto abre la bóveda `my vault`, y crea una nueva nota única.
- - `obsidian://unique?vault=my%20vault&content=Hello%20World`
Esto abre la bóveda `my vault`, y crea una nueva nota única con el contenido `Hello World`.
### Parámetros
- `vault` puede ser el nombre de la bóveda, o el ID de la bóveda[^1]. Igual que la acción `open`.
- `paneType` (opcional) determina dónde se abrirá la nota en la interfaz. Igual que la acción `open`.
- `content` (opcional) el contenido de la nota.
- `clipboard` (opcional) usa el contenido del portapapeles en lugar de especificar `content`.
- `x-success` (opcional) ver [[#Usar parámetros x-callback-url]].
## Abrir búsqueda
La acción `search` abre [[Búsqueda]] en la bóveda especificada, y opcionalmente realiza un término de búsqueda.
### Ejemplos
- `obsidian://search?vault=my%20vault`
Esto abre la bóveda `my vault`, y abre [[Búsqueda]].
- `obsidian://search?vault=my%20vault&query=Obsidian`
Esto abre la bóveda `my vault`, abre [[Búsqueda]], y realiza una búsqueda de `Obsidian`.
### Parámetros
- `vault` puede ser el nombre de la bóveda, o el ID de la bóveda[^1]. Igual que la acción `open`.
- `query` (opcional) el término de búsqueda a realizar.
## Abrir el gestor de bóvedas
La acción `choose-vault` abre el [[Gestionar bóvedas|gestor de bóvedas]].
### Ejemplos
- `obsidian://choose-vault`
## Integración con Hook
Esta acción de URI de Obsidian está pensada para usarse con [Hook](https://hookproductivity.com/).
### Ejemplo
`obsidian://hook-get-address`
### Parámetros
- `vault` (opcional) puede ser el nombre de la bóveda, o el ID de la bóveda[^1]. Si no se proporciona, se usará la bóveda actual o la última enfocada.
- `x-success` (opcional) ver [[#Usar parámetros x-callback-url]].
- `x-error` (opcional) ver [[#Usar parámetros x-callback-url]].
Si `x-success` está definido, esta API lo usará como la x-callback-url. De lo contrario, copiará un enlace Markdown de la nota actualmente enfocada al portapapeles, como una URL `obsidian://open`.
## Usar parámetros x-callback-url
Algunos endpoints aceptan los parámetros x-callback-url `x-success` y `x-error`. Cuando se proporcionan, Obsidian proporcionará lo siguiente al callback `x-success`:
- `name` el nombre del archivo, sin la extensión del archivo.
- `url` el URI `obsidian://` para este archivo.
- `file` (solo escritorio) la URL `file://` para este archivo.
Por ejemplo, si Obsidian recibe
`obsidian://.....x-success=myapp://x-callback-url`, la respuesta sería `myapp://x-callback-url?name=...&url=obsidian%3A%2F%2Fopen...&file=file%3A%2F%2F...`
## Formatos abreviados
Además de los formatos anteriores, hay dos formatos "abreviados" más disponibles para abrir bóvedas y archivos:
1. `obsidian://vault/my vault/my note` es equivalente a `obsidian://open?vault=my%20vault&file=my%20note`.
2. `obsidian:///absolute/path/to/my note` es equivalente a `obsidian://open?path=%2Fabsolute%2Fpath%2Fto%2Fmy%20note`.
## Solución de problemas
### Registrar el URI de Obsidian
En Windows y macOS, ejecutar la aplicación una vez debería ser suficiente para registrar el protocolo URI de Obsidian en tu computadora.
En Linux, es un proceso mucho más elaborado:
1. Asegúrate de crear un archivo `obsidian.desktop`. [Consulta aquí para más detalles](https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html#desktop-files).
2. Asegúrate de que tu archivo desktop especifique el campo `Exec` como `Exec=executable %u`. El `%u` se usa para pasar los URIs `obsidian://` a la aplicación.
3. Si estás usando el instalador AppImage, puede que necesites desempaquetarlo usando `Obsidian-x.y.z.AppImage --appimage-extract`. Luego asegúrate de que la directiva `Exec` apunte al ejecutable desempaquetado.
[^1]: El ID de la bóveda es el código aleatorio de 16 caracteres asignado a la bóveda, por ejemplo `ef6ca3e3b524d22f`. Este ID es único por carpeta en tu computadora. El ID se puede encontrar abriendo el selector de bóvedas y haciendo clic en "Copiar el identificador de la bóveda" en el menú contextual de la bóveda deseada.