Solución / Script para sincronizar automáticamente la Lista de lectura de Safari con los servicios de Read-it-Later como Pocket o Evernote?

5

Los menús contextuales de MacOSX me permiten usar Pocket [Anteriormente Léelo más tarde] para archivar todo, y también leer, algunas de las enormes cantidades de contenido que me encuentro a diario en mi navegador preferido: Safari.

Sin embargo, en iOS [iPad / iPhone], la función nativa 'Agregar a la lista de lectura' para Safari es la opción más integrada cuando se hace 'clic largo' en una URL en muchas aplicaciones diferentes, como Mail [todos los boletines con enlaces] . Esto me ha causado muchos dolores, ya que la mitad de mis enlaces se guardan en la Lista de Lectura de Safari y la mitad en un servicio de Read-it-later como Pocket.

Consolidarlo de manera transparente cuando use iOS es un desafío si desea evitar abrir primero la página web en un safari, luego hacer clic en un bookmarklet, etc.

Los servicios de activación basados en web como 'IFTTT' solo son útiles cuando el contenido ya ha llegado a los servicios de nube que admite, como Pocket, Evernote, etc.

Una solución conceptual a este problema podría ser algo similar a la ejecución de un script en mi mac que busca periódicamente nuevos elementos en el archivo plist 'Lista de lectura' y extrae la url cuando ve un nuevo elemento agregado [ ya que iCloud sincroniza iOS y MacOSX Safari]. Quizás Alfred o algún otro servicio de automator podría luego obtener una hoja de cálculo en la nube que luego se pueda sincronizar con IFTTT y Pocket, etc.

Tal vez este diseño en particular no sea técnicamente factible o esté totalmente equivocado, pero estaría realmente agradecido si alguien con más experiencia o nous pudiera sugerir una implementación o solución similar.

TL; DR

¿Cómo puedo sincronizar las URL de la 'lista de lectura' de Safari con Pocket / Evernote, etc. de forma automática?

    
pregunta Neglectogram 21.05.2013 - 20:56

3 respuestas

5

Tuve la misma idea hace unos meses. Se me ocurrió una solución que funciona, usando Ruby.

Utilizo este gist para analizar el archivo plist de la lista de lectura de Safari: enlace

Luego uso la gema de ruby Pocket para agregar cada elemento a Pocket.

Al final, fui con Pinboard en lugar de Pocket, y tengo un proyecto en funcionamiento en github que hace exactamente eso, excepto que usa Pinboard.

El código de ejemplo del que te beneficiarías es: enlace

Lo ideal sería hacer que Hazel supervise el archivo plist de la Lista de Lecturas de Safari para detectar cambios, y luego ejecute el script ruby si se modificó recientemente. De esa manera, cada elemento pasará de SRL a su servicio preferido de lectura posterior.

Espero que ayude.

    
respondido por el Nick Prokesch 05.09.2013 - 04:22
3

Utilizo el mismo comando de bash que Neglectogram anterior, pero lo usé dentro de un script algo primitivo que escribí, que usa la solución de "agregar por correo electrónico" de Pocket como se describe en la otra respuesta a esta publicación. Entro en detalles aquí, ya que parece haber una demanda de una solución para esto, y quiero que incluso los usuarios novatos puedan usar esto (si funciona correctamente).

Mi script se enfoca específicamente en Evernote y Pocket según lo solicitado, pero funcionaría con cualquier servicio que tenga la misma función de "enviar por correo electrónico su contenido".

El resultado es el deseado, mediante el cual el script:

  • extrae todos los enlaces en la lista de lectura (BUG: toma todos de Safari, así que borré temporalmente todos mis marcadores y acaba de salir de la lista de lectura, no es ideal, pero sé que funciona).

  • Iteriza sobre cada uno de estos enlaces y los envía a Pocket / Evernote / cualquier servicio individual.

Para usar el script usted mismo:

  • Simplemente ábralo en cualquier editor de texto y reemplace las direcciones de correo electrónico con la dirección de correo electrónico de su cuenta de Pocket / Evernote, dependiendo del servicio que desee utilizar y las direcciones de correo electrónico de los destinatarios con las direcciones de correo electrónico de Evernote o Pocket. (Cambie las direcciones en las líneas 11, 13 y 14 a su propio nombre).
  • Si solo usa Pocket, debe enviar DESDE la dirección de correo electrónico de su cuenta Pocket a [email protected]
  • Si usa Evernote, puede enviar DESDE cualquiera de sus direcciones de correo electrónico A su dirección de correo electrónico específica de Evernote.

Aquí está el script que escribí a continuación ... (nota, estoy usando Mac OS X, y como tal, este es un script de bash y puede que no funcione en otros sistemas operativos)

#!/bin/bash
# Script to export Safari's reading list into a text file, then import this into Pocket or Evernote (or any service with a "email in content" feature).

# First take all of Safari's Reading List items and place them in a text file.
/usr/bin/plutil -convert xml1 -o - ~/Library/Safari/Bookmarks.plist | grep -E  -o '<string>http[s]{0,1}://.*</string>' | grep -v icloud | sed -E 's/<\/{0,1}string>//g' > readinglistlinksfromsafari.txt

# Now loop over each of those URls within that text file and add them to pocket.
while IFS= read -r line
do
    echo $line
/usr/sbin/sendmail -i -f {{CHANGE THIS insert your pocket account email address here}} {{CHANGE THIS TO EITHER [email protected] OR YOUR EVERNOTE EMAIL ADDRESS}} <<END
Subject: $line
From: {{ CHANGE THIS to your pocket account email if using Pocket, otherwise any of your email accounts will do.}}
To: [email protected] {{ OR IF USING EVERNOTE YOUR EVERNOTE EMAIL ADDRESS}}

$line
END
done < readinglistlinksfromsafari.txt

Arriba está la plantilla para que la cambies, y debajo está el script exacto que usé, completo con las direcciones de correo electrónico de Pocket, para que sea un ejemplo. (En Mavericks, este elemento se envía al bolsillo TODO en Bookmarks.plist, y luego también a Bookmark)

#!/bin/bash
# Script to export Safari's reading list into a text file, then import this into Pocket or Evernote (or any service with a "email in content" feature).

# First take all of Safari's Reading List items and place them in a text file.
/usr/bin/plutil -convert xml1 -o - ~/Library/Safari/Bookmarks.plist | grep -E  -o '<string>http[s]{0,1}://.*</string>' | grep -v icloud | sed -E 's/<\/{0,1}string>//g' > readinglistlinksfromsafari.txt

# Now loop over each of those URls within that text file and add them to pocket.
while IFS= read -r line
do
    echo $line
/usr/sbin/sendmail -i -f [email protected] [email protected] <<END
Subject: $line
From: [email protected]
To: [email protected]

$line
END
done < readinglistlinksfromsafari.txt

Espero que esto funcione para todos ustedes, y les resulta útil ya que es uno de mis primeros scripts públicos, etc. ¡Cualquier pregunta, hágamelo saber! Aquí hay un enlace a GitHub Gist para esto también.

enlace

¡Disfruta!

    
respondido por el arcadia_168 31.08.2014 - 13:35
1

Además, este enlace puede ayudar un poco. No es perfecto pero es una opción. enlace

    
respondido por el Pete 13.08.2013 - 01:12

Lea otras preguntas en las etiquetas