Soluzione / Script per sincronizzare automaticamente l'Elenco di lettura di Safari con servizi di lettura successiva come Pocket o Evernote?

5

I menu contestuali di MacOSX mi permettono di usare Pocket [Precedentemente leggerlo più tardi] per archiviare tutto, e anche leggere, alcune delle enormi quantità di contenuti che trovo quotidianamente sul mio browser preferito: Safari.

Su iOS [iPad / iPhone], tuttavia, la funzionalità nativa "Aggiungi alla lista di lettura" per Safari è l'opzione più strettamente integrata quando si fa "clic" lungo un URL in molte app diverse, come Posta [tutte le newsletter con collegamenti] . Ciò ha causato molto dolore per me, dato che metà dei miei collegamenti sono stati salvati nella Lista di lettura di Safari e metà del servizio Read-it-after come Pocket.

Il consolidamento senza interruzioni quando si utilizza iOS è una sfida se si desidera evitare di aprire prima la pagina Web in Safari, quindi fare clic su un bookmarklet, ecc.

I servizi di innesco basati sul Web come "IFTTT" sono utili solo quando il contenuto è già arrivato ai servizi Cloud che supporta, come Pocket, Evernote ecc.

Una soluzione concettuale a questo problema potrebbe essere qualcosa di simile al fatto che uno script venga eseguito sul mio Mac che cerca periodicamente nuovi elementi nel file plist "Elenco di lettura" ed estrae l'url quando vede aggiunto un nuovo elemento [ poiché iCloud sincronizza iOS e MacOSX Safari]. Forse Alfred o qualche altro servizio di automazione potrebbe quindi farlo arrivare a un foglio di calcolo sul cloud che può quindi sincronizzarsi con IFTTT e Pocket ecc.

Forse questo particolare progetto non è tecnicamente fattibile o completamente sbagliato, ma sarei davvero grato se qualcuno con più esperienza o nous potesse suggerire un'implementazione o una soluzione simile.

TL; DR

Come posso sincronizzare automaticamente gli URL di "lettura elenco" di Safari con Pocket / Evernote ecc?

    
posta Neglectogram 21.05.2013 - 20:56
fonte

3 risposte

5

Ho avuto questa stessa idea qualche mese fa. Ho trovato una soluzione che funziona, usando Ruby.

Uso questo Gist per analizzare il file plist di Reading List di Safari: link

Quindi uso la gemma tascabile rubino per aggiungere ogni elemento a Pocket.

Alla fine, sono andato con Pinboard invece di Pocket, e ho un progetto funzionante su github che fa esattamente questo, tranne che usando la bacheca.

Il codice di esempio da cui trarrai vantaggio è: link

Ciò che farebbe in modo ideale per renderlo automatico è che Hazel monitora il file plist di Reading List di Safari per le modifiche, quindi esegue lo script ruby se è stato modificato di recente. In questo modo, ogni articolo lo renderà da SRL al tuo servizio di lettura in seguito scelto.

Spero che ti aiuti.

    
risposta data 05.09.2013 - 04:22
fonte
3

io uso lo stesso comando bash come Neglectogram sopra, ma usato all'interno di uno script un po 'primitivi che ho scritto, che utilizza la soluzione di Pocket "aggiungere per e-mail", come indicato nella altra risposta a questo post. Vado a al dettaglio qui come sembra che ci sia una richiesta di una soluzione a questo e tale voglio anche ai neofiti di essere in grado di utilizzare questo (se funziona correttamente).

Il mio script si concentra in particolare su Evernote e Pocket come richiesto, ma potrebbe funzionare con qualsiasi servizio che ha lo stesso "email i tuoi contenuti in" caratteristica.

Il risultato è come desiderato, per cui lo script:

  • estrae tutti i link nella lista di lettura (BUG: prende tutto segnalibri da Safari, quindi ho cancellato temporaneamente tutti i miei segnalibri e ho appena lasciato la lista di lettura, non ideale, lo so, ma funziona).

  • Esegue iterazioni sulle ognuno di questi legami e li invia al Pocket / Evernote / qualsiasi servizio individualmente.

Per utilizzare lo script da solo:

  • Basta aprirlo in qualsiasi editor di testo e sostituire gli indirizzi e-mail con l'indirizzo e-mail del tuo account Pocket / Evernote a seconda del servizio che desideri utilizzare e degli indirizzi e-mail dei destinatari con gli URL di Evernote o Pocket "email in a us". (Cambia gli indirizzi sulle linee 11, 13 e 14 per il tuo).
  • Se si utilizza solo Pocket, è necessario inviare dall'indirizzo e-mail dell'account Pocket TO [email protected]
  • Se utilizzi Evernote, puoi inviare DA uno qualsiasi dei tuoi indirizzi email al tuo indirizzo email Evernote specifico.

Ecco lo script che ho scritto di seguito ... (nota, sto usando Mac OS X, e come tale questo è uno script di bash e potrebbe non funzionare su altri sistemi operativi)

#!/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

Qui sopra c'è il modello da modificare, e sotto c'è lo script esatto che ho usato, completo di indirizzi e-mail per Pocket, per fare da esempio. (Su Mavericks, questo invia per intascare TUTTO l'elemento in Bookmarks.plist, quindi anche come segnalibro)

#!/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

Spero che questo funzioni per tutti voi e lo trovate utile in quanto questa è una delle mie prime sceneggiature pubbliche ecc. Qualsiasi domanda me lo faccia sapere! Ecco un link a GitHub Gist anche per questo.

link

Enjoy!

    
risposta data 31.08.2014 - 13:35
fonte
1

Inoltre, questo collegamento può aiutare un po '. Non è perfetto ma è un'opzione. link

    
risposta data 13.08.2013 - 01:12
fonte