Marsedit 5: un potente strumento per la pubblicazione web dal tuo Mac
Marsedit è una app di Red Sweater Software presente sul mercato dei software per Mac dal lontano 2004. Sin dalla prima versione, quando era un semplice componente di NetNewsWire (un aggregatore di notizie per Mac OS X) si era fatta subito notare per il suo ottimo editor. Successivamente, MarsEdit è diventata un’applicazione indipendente, sviluppata da diversi autori nel corso degli anni. L’attuale sviluppatore è Daniel Jalkut di Red Sweater Software, che ha acquistato MarsEdit nel 2007.
Da allora si è sempre contraddistinto per essere un potente editor di post di blog che consente di scrivere e pubblicare in molte piattaforme: WordPress, Tumblr, Blogger, TypePad, Micro.blog e molti altri servizi che supportino un’interfaccia MetaWeblog o AtomPub standard.
Introduzione
La filosofia che ha da sempre contraddistinto MarsEdit è stata quella di “pensare fuori dai browser”. Infatti, spesso le interfacce basate su browser possono essere lente, goffe e quasi sempre richiedono di essere online per essere usate: i browser Web sono meravigliosi per leggere articoli, ma non per crearli. Se quindi stai scrivendo per il web, hai certamente bisogno di un blog editor desktop. E se sei abbastanza fortunato da avere un Mac, niente è più potente ed elegante di MarsEdit, giunto da poco più di un anno alla versione 5.
Configurazione
Quando si apre per la prima volta Mars Edit ti chiederà di configurare il proprio blog o, in alternativa, ti verrà raccomandato un servizio di blog che ricadrà, abbastanza ovviamente, sulla nota piattaforma gratuita di blogging Wordpress.com. Tra le piattaforme compatibili, però, troviamo anche Tumblr e Micro.blog.
Quindi, vi verrà chiesto di inserire il nome del blog e la sua url (una nota su Tumblr: dalle mie prove ho notato che dovete inserire sempre l’indirizzo in questo formato https://[blog-id].tumblr.com/. Quindi, per esempio, la connessione al blog Tumblr funziona se inserite una url come https://levysoft.tumblr.com/ mentre non funziona se lo scrivete in uno di questi due formati analoghi: https://www.tumblr.com/blog/levysoft o https://www.tumblr.com/levysoft/)
In teoria, nella maggior parte dei casi, il processo di setup dovrebbe concludersi rapidamente con questa schermata qui. Ma più spesso di quanto ci si può immaginare la configurazione automatica può fallire per diversi motivi.
Se vi compare una finestra di dialogo del genere non vi preoccupate: significa solo che MarsEdit non è stato in grado di determinare automaticamente le impostazioni di weblog dall’URL della home page. Nella maggior parte dei casi è ancora possibile configurare manualmente il blog. E’ sufficiente, infatti, fare clic sul pulsante Continua per aprire il pannello delle impostazioni del blog.
Come potete vedere in questa schermata è possibile impostare il System Name (ovvero il nome della piattaforma di blogging) a scelta tra Wordpress, Tumblr e Micro.blog. Se il vostro sistema non è tra quelli elencati dovrete scoprire, se presente, a quale API di blogging generica si conforma. Il modo migliore per trovarlo è cercare la documentazione con termini come “XMLRPC”. Molti sistemi supportano le API “MetaWeblog” o “Movable Type”.
Quindi è possibile specificare l’API Endpoint URL (un indirizzo web che permette a un’applicazione di richiedere un servizio da un’altra applicazione tramite una chiamata API) che per Wordpress.com è https://wordpress.com/xmlrpc.php mentre per Tumblr è https://api.tumblr.com/v2/ (avendo cura di inserire nel successivo campo “Blog ID” l’id del blog ovvero la parte univoca dell’URL della tua home page di Tumblr. Nel mio caso per un blog come https://levysoft.tumblr.com/, l’ID del blog sarebbe levysoft). Se invece il blog Wordpress è ospitato su un proprio server, la url sarà qualcosa di simile a https://nomeblog.it/xmlrpc.php (per verificare che funzioni basta digitare questa link nella barra indirizzi di un browser e vi verrà mostrato un messaggio tipo: “XML-RPC server accepts POST requests only”). Attenzione, nel caso di Wordpress, nel campo Blog ID dovrete inserire semplicemente il valore 1.
In teoria, se l’Auto Detect Settings From URL, come spesso accade, funzionasse correttamente, tutte queste impostazioni non sarà mai necessario inserirle manualmente.
Nelle varie schermata delle Impostazioni possiamo anche scegliere quanti post far caricare ad ogni refresh del sito (io vi consiglio, per rendere tutto più fluido e veloce, di non superare i 50 post, specie per siti con migliaia di articoli).
Se tutto dovesse andare bene vi troverete davanti alla schermata di autenticazione al sito che vi richiederà una email e una password che verranno successivamente salvate nel Keychain Apple (il portachiavi Apple per mantenere le tue password e altre informazioni sicure aggiornate su tutti i tuoi dispositivi)
Ovviamente a seconda del servizio vi potrebbe essere richiesta una ulteriore sistema di autenticazione per garantire l’accesso a MarsEdit. Nel caso di Tumblr, per esempio, sarà molto probabile abbiate abilitata l’Autenticazione a due fattori con un SMS o con un’app di autenticazione e quindi dovrete provvedere a disabilitarla temporaneamente dalla pagina delle Impostazioni di Tumblr dato che Mars Edit non gestisce la 2FA.
Soluzione di alcuni problemi comuni
Tra i problemi di connessione comuni che possono impedire a MarsEdit di comunicare con il tuo blog c’è il blocco dell’API di WordPress da parte di un plugin WordPress. Molti plugin di sicurezza di WordPress disabilitano l’API di WordPress per impostazione predefinita, supponendo che non venga utilizzata. Se stai eseguendo plugin di sicurezza sul tuo blog, cerca un’opzione per abilitare l’API WordPress in modo che app come MarsEdit possano connettersi al tuo blog.
In alcuni casi, specie se il vostro blog Wordpress è ospitato su un vostro server, il tuo provider di web hosting per ragioni di sicurezza potrebbe deliberatamente bloccare le API di WordPress negando l’accesso all’endpoint API “xmlrpc.php”. Siccome questa è l’unica l’interfaccia attraverso la quale MarsEdit può collegarsi al vostro blog, potrebbe essere utile richiedere al provider di mettere in “whitelist” lo User Agent di MarsEdit (per esempio: MarsEdit/4.4.3 (Mac OS X/10_13_3; https://redsweater.com/marsedit/)) o, nel caso vi colleghiate sempre da una connessione statica, l’indirizzo IP specifico da cui vi connetterete sempre, di modo che l’app di MarsEdit sarà sempre autorizzata ad accedere all’API, mentre tutte le richieste proveniente da altre fonti (User Agent o Ip Address diversi) rimarranno sempre bloccate.
Se il vostro provider non offre la possibilità di mettere in whitelist i client che usano l’API di WordPress, allora potresti essere in grado di eludere le limitazioni di sicurezza del tuo hosting web rinominando semplicemente l’endpoint API XMLRPC (nel mio caso l’ho rinominato in un esplicativo xmlrpc_marsedit.php).
Se non avete accesso FTP ai file di Wordpress, potete installare un plugin che farà per voi il lavoro. Tra tutti vi consiglio Rename XMLRPC.
Descrizione
Mars Edit 5 offre diverse funzionalità che lo rendono unico e indispensabile per chi ama scrivere per il web. Tra queste troviamo l’evidenziazione della sintassi Markdown. Per anni, MarsEdit ha sempre avuto due modalità distinte:
plain text (gli utenti hanno la possibilità di scrivere in testo letteralmente semplice, cioè senza formattazione) e rich text (scrivere usando i tag HTML o con qualsiasi notazione di testo normale supportate dal loro blog).
Con il rich text è sempre stato possibile scrivere il testo Markdown in MarsEdit e farlo inviare testualmente al tuo blog come Markdown o convertirlo automaticamente in HTML. Ma fino a questa ultima release il testo Markdown è sempre stato rappresentato senza stile. Dalla release 5, invece, è stata aggiunta una colorazione e uno stile del testo in tempo reale, che ti permette di vedere come sarà il tuo post una volta convertito in HTML.
Con Mars Edit, inoltre, è possibile anche personalizzare il template di anteprima per vedere come sarà il tuo post una volta pubblicato sul web. Tutto questo è stato possibile grazie al nuovo editor WYSIWYG che è stato completamente rinnovato basandosi sulle ultime tecnologie WebKit2 di Apple in grado di offrire una maggiore performance, affidabilità e compatibilità con i vari stili e formati dei tuoi blog.
Interessante, infine, la possibilità di salvare localmente le bozze dei propri post, senza dover ogni volta pubblicare remotamente le bozze sul proprio sito. In questo modo, almeno personalmente, si ha molto più libertà di prendere appunti veloci su idee di articoli anche offline.
Microposting
La cosa che ho trovato molto interessante è stata, però, l’introduzione del Microposting: con questa nuova funzione, puoi scrivere e pubblicare brevi messaggi sul tuo blog con la stessa facilità con cui posti su Twitter. Ora, quando sei al tuo Mac e ti viene in mente un pensiero stravagante, puoi premere una scorciatoia da tastiera (^⌘P) per far apparire questo pannello minimalista
dove inserire il tuo testo e premere invio. MarsEdit 5 si occuperà di inviarlo al tuo blog e tu potrai tornare a quello che stavi facendo. In futuro è previsto anche il supporto degli allegati come le immagini.
Molto interessante anche la gestione nativa di Tumblr, poiché MarsEdit supporta nativamente una varietà di tipi di post, oltre alle normali voci di testo. Quando si crea una nuova voce per il tuo blog Tumblr, puoi cambiare il tipo di post scegliendo dal menu a comparsa a destra della selezione del blog popup vicino alla parte superiore della finestra dell’editor di post.
A causa delle limitazioni nel sistema di pubblicazione di Tumblr, il tipo di un post non può essere cambiato dopo che è stato pubblicato (l’unico modo è creare un nuovo post del tipo desiderato, copiarci il contenuto dal vecchio post, e dopo aver pubblicato il nuovo post, eliminare l’originale).
Ovviamente per Wordpress la tipologia di post è molto più ampia:
Gestione delle immagini Retina
Una cosa davvero gradita e che ho apprezzato moltissimo di MarsEdit è stata la gestione intelligente del caricamento di immagini destinate a essere visualizzate a una risoluzione compatibile con “Retina”. Da quando comprai nel lontano 2012 il mio primo MacBook Pro Retina, ho sempre avuto problemi di scalabilità con le immagini screenshot fatte sul mio Mac (cosa che per le recensioni di software avviene di frequente), perchè se sul mio computer apparivano di dimensioni adeguate, su un computer con schermo non Retina apparivano enormi. E quindi ho sempre dovuto ridimensionare al 50% ogni immagine per evitare questi problemi e garantire la retrocompatibilità.
Un soluzione alternativa sarebbe stata quella di di caricare le immagini al doppio della risoluzione a cui volevo che venissero visualizzare e quindi modificare a mano l’HTML per farne riferimento a metà dimensione. Quindi, per esempio, se volessi uno screenshot 400x400 pixel sul mio blog, caricherei un’immagine 800×800 pixel e modificherei a mano così il codice HTML:
<img src="..." width="400" height="400" />
Ovviamente il lavoro sarebbe stato noioso e per questo non l’ho mai perseguita. Ma con MarsEdit, invece, quando si carica o si inserisce un’immagine da trattare come Retina, verrà modificato il codice html come nell’esempio sopra, in modo completamente automatico.
Quindi, se vuoi che un’immagine 400×400 pixel sul tuo blog sia bella sui display Retina, fornisci un’immagine almeno 800×800 pixel e seleziona la casella di controllo “Treat as Retina image”. MarsEdit produrrà l’HTML previsto e caricherà l’immagine al doppio della larghezza e dell’altezza.
E’ possibile applicare anche una soluzione di default nelle impostazioni di MarsEdit:
Ovviamente questa soluzione non soddisferà le aspettative di tutti su come dovrebbero essere gestite le immagini Retina, ma è un buon passo in avanti. Infatti, se è vero che questa soluzione ha il vantaggio di essere sia semplice che retrocompatibile, è anche vero che tutti i lettori con display a risoluzione standard sono costretti a scaricare un’immagine a risoluzione superiore al necessario. Ovviamente man mano che i display ad alta risoluzione diventeranno sempre più popolari e l’uso della larghezza di banda diventerà un problema meno sentito, questo compromesso sarà la migliore soluzione.
Blocchi di Wordpress
Una cosa che non sono riuscito a far abilitare in automatico per un blog Wordpress è stato il mancato supporto nativo ai blocchi di Wordpress. Oramai da anni l’editor di blocchi di WordPress è stato impostato come editor predefinito e ha sostituito l’editor classico. I blocchi sono gli elementi di contenuto che si aggiungono per creare layout di contenuto e possono contenere paragrafi, immagini, intestazioni, elenchi, video, gallerie e altro ancora. Lo scopo è controllare con facilità il layout dei blocchi, in modo da costruire pagine web visivamente accattivanti. Durante le mie prove, quando inviavo un post da MarsEdit questo veniva salvato senza il supporto ai blocchi.
Siccome di default per utilizzare l’editor classico, è necessario installare il plugin Classic Editor, è evidente che se volessi editare un post da browser con la gestione degli elementi HTML mi troverei in difficoltà. Il problema, fortunatamente, si risolve subito in quanto è sufficiente cliccare sull’editor e “Convertire in blocchi” il testo.
Il motivo per cui non c’è una possibilità di inviare il post con i blocchi di Wordpress è perchè MarsEdit enfatizza un design più snello per la scrittura dei post, in modo che nel processo di scrittura, sia possibile concentrarsi più sul contenuto che sul layout e sull’organizzazione dell’articolo. Probabilmente questo flusso di lavoro è anche quello più adatto alla maggior parte delle esigenze dei blog, mentre l’approccio basato su blocchi in WordPress è più adatto allo sviluppo web generale.
Siccome un blocco, per indicare la sua separazione da altre parti di un post, è implementato utilizzando semplici elementi di commento HTML, come evidente nel seguente esempio:
<!-- wp:paragraph -->
<p>Questo è un blocco.</p>
<!-- /wp:paragraph -->
e poiché MarsEdit funziona con contenuti HTML, è possibile modificare e manipolare il contenuto dei post basati su blocchi senza influire negativamente sul blog pubblicato, purché si conservi la formattazione dei blocchi prevista come dimostrato sopra. Se desideri farlo, probabilmente è meglio attenersi all’editor “Plain Text” di MarsEdit quando si apportano modifiche, in modo da poter vedere tutto il markup HTML pertinente e assicurarsi che sia conservato.
Quindi volendo quando occorre creare nuovi paragrafi, si potrebbero aggiungere manualmente le righe “<!– wp:paragraph –>” e “<!– /wp:paragraph –>” prima e dopo ogni paragrafo per renderli blocchi WordPress, ma questo potrebbe essere noioso. Per velocizzare il flusso è possibile però abilitare una macro con una combinazione di tasti veloce dal menu Format -> Customize
Dove trovarla
MarsEdit 5.0 purtroppo non è localizzato in italiano ma è disponibile direttamente sul Mac Appstore e sul sito dello sviluppatore a questo link, e costa 59,95 dollari per la Single User license, mentre 89,95 dollari per la Family Pack license (che include un massimo di 5 persone). Nel caso in precedenza si era già acquistato MarsEdit 4, l’upgrade sarà gratuito per gli utenti che avevano acquistato una licenza a partire dal 1° giugno 2022, altrimenti sarà possibile effettuare un upgrade al costo ridotto, rispettivamente, di 29,95 dollari e 44,95 dollari (stesso sconto applicato anche se l’app la si è acquistata dal Mac App Store effettuando, dopo l’aggiornamento, un acquisto in-app purchase)
Dal sito dell’app è possibile scaricare gratuitamente MarsEdit in versione prova di 30 giorni a questo link.