Para leer el contenido de un archivo Markdown local en Atajos para Mac, convierte la entrada del archivo en texto antes de usarla. Comprueba el resultado con un ejemplo desechable; si la conversión falla, lee el archivo con cat y pasa su contenido al atajo mediante una canalización.
Esta guía explica cómo seleccionar un archivo Markdown local en Finder y mostrar su texto fuente literal, incluidos los marcadores de encabezado y la puntuación de las listas. La distinción útil es entre tres cosas: el archivo seleccionado, su ruta y el texto que contiene.
¿Por qué el atajo recibe un archivo en lugar de su texto?
Finder proporciona una entrada de archivo. Apple define Files y Text como tipos de entrada distintos en Atajos: un archivo puede ser un documento de cualquier tipo, mientras que el texto es texto sin formato y sin formato aplicado. Por tanto, aceptar un archivo Markdown no implica que la siguiente acción reciba su contenido como texto. Comprender los tipos de entrada en Atajos para Mac.
Atajos usa su Content Graph para convertir entre tipos cuando las acciones lo requieren. Apple también documenta un control explícito: haz clic en un token de variable y cambia su Type. Esa conversión es distinta de elegir una propiedad, como el nombre de un archivo. Un nombre o una ruta siguen siendo solo una descripción del archivo. El motor Content Graph, Ajustar variables en Atajos para Mac.
La guía citada de Apple explica el mecanismo de conversión, pero no garantiza que todos los archivos con la extensión .md se conviertan en su texto fuente. Comprueba la conversión con contenido conocido. El método con comandos que aparece a continuación ofrece una forma explícita de leer el archivo cuando la conversión nativa no produce el texto esperado.
Crea un archivo Markdown desechable con contenido conocido
Usa este ejemplo sintético para no confundir el nombre de un archivo con una lectura correcta. Pega toda la configuración en Terminal. Crea un directorio temporal nuevo, escribe un archivo de ejemplo y abre ese directorio en Finder.
demo_dir=$(/usr/bin/mktemp -d /tmp/markdown-shortcuts.XXXXXX) &&
printf '%s\n' '# Sample board' '' '- Blue square' '- Green circle' > "$demo_dir/sample.md" &&
/usr/bin/open "$demo_dir"
El contenido esperado del archivo es:
# Sample board
- Blue square
- Green circle
La opción -d indica a mktemp que cree un directorio, y los caracteres X al final permiten elegir un nombre único. Así, cada configuración correcta obtiene un directorio nuevo. Si la creación falla, la cadena de operadores && impide que se ejecuten los comandos posteriores. Apple distribuye el manual de mktemp correspondiente.
El comando printf escribe las líneas sintéticas, incluida la línea en blanco. La redirección de salida crea sample.md dentro del directorio nuevo. La redirección habitual > puede sobrescribir un archivo existente, así que conserva esta configuración tal cual en vez de cambiar el destino por un documento existente. En este ejemplo, el directorio nuevo evita conflictos de nombres. Manual de printf de Apple, Entrada y salida del shell.
Crea un atajo de Finder que solicite texto explícitamente
Crea un atajo llamado Read Markdown Text. Apple documenta cómo crear un atajo con el botón para añadir de la barra de herramientas, ponerle un nombre y agregar acciones desde la biblioteca de acciones. Crear un atajo personalizado en Mac.
Configura su punto de entrada desde Finder:
- Abre el panel
Detailsdel atajo. - Activa
Use as Quick Actiony seleccionaFinder. - En el bloque de entrada de la parte superior del editor, permite
FilesyText. Los archivos permiten usar el flujo de Finder; el texto permite usar la alternativa de Terminal que aparece a continuación. - Para la entrada que falta, elige
Stop and Responde introduceSelect one example Markdown file.
Apple documenta la opción de Finder y señala que puede ser necesario permitir entradas de archivos o carpetas para activarla. La configuración de entrada también permite detener el atajo y responder cuando no recibe nada. Ejecutar un atajo mientras trabajas en el Mac, Limitar la entrada de un atajo.
Ahora añade las acciones para procesar el contenido:
- Añade una acción
Text. - Pon únicamente la variable
Shortcut Inputen el campo de texto. - Haz clic en el token de esa variable, abre el menú
Typey seleccionaText. No selecciones una propiedad del nombre del archivo. - Añade
Quick Lookdespués de la acciónTexty usa la salida de esa acción.
La conversión explícita de la variable solicita texto en el punto en que se consume la entrada. La salida de la acción Text es el valor que debes usar en los siguientes pasos de procesamiento de texto. Apple documenta cómo cambiar los tipos de variables desde el editor de variables. Ajustar variables en Atajos para Mac.
Para confirmar el comportamiento en la versión que tienes instalada, haz Control-clic en el icono de una acción y elige Show Info. Apple documenta este método para consultar las entradas aceptadas y las salidas resultantes de una acción. Es especialmente útil al adaptar un atajo existente que contiene varias variables de archivo y de texto. Navegar por la lista de acciones en Atajos para Mac.
En Finder, selecciona solo sample.md, haz Control-clic y elige Quick Actions y luego Read Markdown Text. Apple documenta este método para ejecutar el atajo. Si no aparece, comprueba primero la configuración de Finder y los tipos de entrada admitidos. Ejecutar un atajo mientras trabajas en el Mac.
El resultado correcto contiene # Sample board y los dos elementos de la lista. Ver solo sample.md o la ruta de su directorio no supera esta comprobación. Apple recomienda colocar Quick Look entre acciones para inspeccionar el contenido que pasa por un atajo. Probar tus acciones en Atajos para Mac.
Si la conversión falla, lee el contenido antes de llamar a Atajos
Usa Terminal para hacer explícita la operación de lectura. La guía de Terminal de Apple identifica cat como una herramienta para ver el contenido de archivos de texto. Su guía de la línea de comandos para Atajos distingue entre la entrada de archivo proporcionada con -i y el texto proporcionado mediante una canalización. Ver archivos de texto en Terminal para Mac, Ejecutar atajos desde la línea de comandos.
Lo siguiente es una continuación del ejemplo de configuración, no un programa independiente. Ejecútalo en la misma pestaña de Terminal después de que la configuración se haya completado correctamente y de guardar el atajo con el nombre exacto Read Markdown Text:
(
set -o pipefail
if [ -f "$demo_dir/sample.md" ] && [ -r "$demo_dir/sample.md" ]; then
/bin/cat "$demo_dir/sample.md" |
/usr/bin/shortcuts run "Read Markdown Text"
else
printf '%s\n' 'The example file is missing or unreadable.' >&2
exit 1
fi
)
Aquí, cat lee el archivo y escribe su contenido en la salida estándar. La canalización entrega ese contenido al atajo. Las comillas mantienen la ruta unida como un solo argumento. Las comprobaciones -f y -r exigen que exista un archivo normal que se pueda leer. Introducción a la línea de comandos, Manual de test de Apple.
Los paréntesis limitan el cambio de opciones del shell a este grupo de comandos. pipefail hace que el estado de salida del grupo refleje los errores de las etapas de la canalización. Las comprobaciones preliminares no garantizan que el archivo siga disponible durante una lectura posterior; si cat encuentra un error de lectura, examina ese error en vez de aceptar una vista previa parcial como si estuviera completa.
Esta alternativa cambia el contenido que recibe el atajo: pasa de ser un archivo a ser texto. No cambia el nombre del archivo Markdown ni crea un documento convertido. Las acciones Text y Quick Look existentes pueden inspeccionar ese texto de entrada.
Estas tres formas de comando tienen significados distintos:
| Forma del comando | Qué recibe el atajo |
|---|---|
shortcuts run "Read Markdown Text" -i "$demo_dir/sample.md" |
Entrada de archivo; aún hay que convertirla dentro del atajo. |
printf '%s\n' "$demo_dir/sample.md" | shortcuts run "Read Markdown Text" |
La ruta como texto. |
cat "$demo_dir/sample.md" | shortcuts run "Read Markdown Text" |
El contenido del archivo mediante la entrada estándar. |
La tabla ilustra la distinción documentada por Apple entre pasar rutas de archivos con -i y pasar texto mediante una canalización. La operación anterior a la canalización determina si ese texto es una ruta o el cuerpo del documento. Ejecutar atajos desde la línea de comandos.
Diagnostica el resultado antes de añadir más acciones
Usa el ejemplo conocido para decidir qué corregir:
- Solo aparece un nombre de archivo: Comprueba si la variable extrae la propiedad del nombre en vez de solicitar texto.
- Solo aparece una ruta: Comprueba si el comando muestra la ruta en vez de leer el archivo.
- La conversión nativa falla, pero el método de Terminal funciona: Usa el método de lectura explícita para este flujo; cambiar solo la etiqueta de entrada no ha resuelto la conversión.
- No se recibe ninguna entrada: Ejecuta el atajo desde el archivo seleccionado en Finder o con el comando documentado de Terminal. Al iniciar un atajo desde el Dock, no se le proporciona automáticamente el archivo seleccionado.
- El texto fuente está en blanco: Compáralo con el ejemplo. Un archivo vacío válido y un archivo inexistente son situaciones distintas.
Apple documenta por separado las propiedades de las variables y la conversión de tipos de contenido, y señala que los atajos iniciados desde el Dock pueden no recibir ninguna entrada inicial. Estas distinciones ayudan a localizar el fallo antes de modificar acciones posteriores. Ajustar variables en Atajos para Mac, Limitar la entrada de un atajo.
Durante las pruebas, limita el flujo a un archivo de texto local pequeño. Las selecciones múltiples requieren decidir por separado si se procesa cada archivo o se combina su contenido. Este ejemplo permite obtener texto fuente legible; no sirve para copiar archivos byte por byte.
Cuando la vista previa muestre el encabezado y las líneas de la lista esperados, conecta las siguientes acciones de procesamiento de texto a la salida de la acción Text. Conserva el ejemplo sintético hasta que funcione todo el flujo y luego elimina su directorio desechable en Finder. El punto esencial es sencillo: la siguiente acción debe recibir el cuerpo del documento que verificaste.
Fuentes
Comprender los tipos de entrada en Atajos para Mac — Soporte técnico de Apple.
El motor Content Graph en Atajos para Mac — Soporte técnico de Apple.
Ajustar variables en Atajos para Mac — Soporte técnico de Apple.
Crear un atajo personalizado en Mac — Soporte técnico de Apple.
Ejecutar un atajo mientras trabajas en el Mac — Soporte técnico de Apple.
Limitar la entrada de un atajo al ejecutarlo desde otra app en Mac — Soporte técnico de Apple.
Navegar por la lista de acciones en Atajos para Mac — Soporte técnico de Apple.
Probar tus acciones en Atajos para Mac — Soporte técnico de Apple.
Ver archivos de texto en Terminal para Mac — Soporte técnico de Apple.
Ejecutar atajos desde la línea de comandos — Soporte técnico de Apple.
Introducción a la línea de comandos — Archivo de documentación para desarrolladores de Apple.
Entrada y salida del shell — Archivo de documentación para desarrolladores de Apple.
mktemp(1): crear un nombre de archivo temporal (único) — Distribuciones de código abierto de Apple.
printf(1): salida con formato — Distribuciones de código abierto de Apple.
test(1): utilidad de evaluación de condiciones — Distribuciones de código abierto de Apple.