Selecionar aspecto público por padrão para novas publicações na plataforma de mídia social Diaspora*
Administrando o perfil da Jeporu na plataforma senti falta de uma opção que modificasse o aspecto padrão de todos os aspectos (visível apenas para os contatos) para público sem ter que fazer a mudança a cada publicação.
Para automatizar o processo, utilizei o Greasemonkey, extensão do Mozilla Firefox que permite executar scripts adicionais específicos para cada página carregada. A ideia é simples, basta simular um clique no aspecto desejado.
Será necessário substituir a url no parâmetro @include (linha 5) pelo seu pod e alterar a variável userid_targets, incluindo os ids de usuário desejados à lista. Para descobrir o id de usuário, observe a url do perfil, joindiaspora.com/people/1d4c2183c4c73dac, onde o id é o que fica após a expressão /people/.
Código no Greasy Fork, e aqui:
// ==UserScript==
// @name Diaspora* - Public publications by default
// @description Select the Public aspect as default for new publications in the social media platform Diaspora*.
// @namespace diaspora-new-post-public
// @include http://joindiaspora.com/stream
// @version 1
// @copyright Public domain (http://unlicense.org/)
// @grant none
// ==/UserScript==
/**
* Be sure to update '@include' on line 5 above to match your Diaspora* pod!
* Simply replace 'joindiaspora.com' with your pod domain.
*
* The variable 'userid_targets' must be configured according to your needs.
*/
// If jQuery is available, run everything as soon as the DOM is set up.
if ( 'jQuery' in window ) jQuery( document ).ready(function( $ ) {
// A list of the ids of users who should have publications marked as public by default.
var userid_targets = [
'1d4c2183c4c73dac', // change here
// add another user ids, if you need
];
var userid_current = document.querySelectorAll( '.user-menu-item a[href*="/people/"]' );
if ( typeof userid_current[0] != 'undefined' ) {
userid_current = userid_current[0].href.substr( userid_current[0].href.lastIndexOf( '/' ) + 1 );
if ( userid_targets.indexOf( userid_current ) > -1 ) {
var aspect_public = document.querySelectorAll( '.public_toggle .public' );
if ( typeof aspect_public[0] != 'undefined' ) {
$( aspect_public[0] ).trigger( 'click' );
}
}
}
});