
A história toda é esta: odeio o fundo branco do Chrome e quando abro uma nova aba ou clico em um link, a tela fica branca, queimando meus olhos. A extensão Stylebot não parece ter permissão para alterar as cores em uma nova guia ou no carregamento de telas brancas.
O Firefox não tem esse problema quando instalo temas escuros completos (aqueles temas antigos). Agora quero deixar o Chrome para trás e começar a usar o Firefox. Mas como todos sabemos, o Stylebot não possui uma versão Firefox.
Não encontrei um addon tão bom quanto o Stylebot para Firefox e os que chegam perto do Stylebot apresentam bugs e bagunçam os sites.
Então pensei em pegar minhas predefinições no Stylebot do Chrome e exportá-las para um estilo de extensão Stylish. Não sei se isso é possível e realmente não sei nada sobre nenhum tipo de codificação. Se isso funcionar de alguma forma, seria de ouro!
Desisti de tentar alterar o fundo branco do Chrome porque era muito problemático. Algumas alterações funcionaram para a tela de carregamento branca, mas não para a página da nova guia. Mesmo as extensões que alteram a nova guia para qualquer outro URL não funcionaram. Sempre mostra a tela branca antes de terminar o carregamento.
Então... alguém pode me ajudar?
Responder1
Estou investigando isso sozinho. Exportações/importações elegantes com o seguinte formato - isso inclui dois exemplos de userstyles.org e um que fiz muito rapidamente:
[
{
"sections": [
{
"urls": [],
"urlPrefixes": [],
"domains": [
"myjetbrains.com"
],
"regexps": [],
"code": "body.global { /*etc */}"
}
],
"url": "http://userstyles.org/styles/133921",
"updateUrl": "https://userstyles.org/styles/chrome/133921.json",
"md5Url": "https://update.userstyles.org/133921.md5",
"originalMd5": "7963f3cfdce94512ebd74a0098a56b38",
"name": "YouTrack Dark TV Style",
"method": "saveStyle",
"enabled": true,
"id": 1
},
{
"sections": [
{
"urls": [],
"urlPrefixes": [],
"domains": [],
"regexps": [],
"code": "/* 4chan - Midnight Caek */\r\n@namespace url(http://www.w3.org/1999/xhtml);"
},
{
"urls": [],
"urlPrefixes": [],
"domains": [
"4chan.org"
],
"regexps": [],
"code": "/* hides Captcha table row */\r\n\r\n/* body background and text color */\r\nhtml, body { /*etc */}"
},
{
"urls": [],
"urlPrefixes": [],
"domains": [
"dis.4chan.org"
],
"regexps": [],
"code": "body { /*etc */}"
}
],
"url": "http://userstyles.org/styles/65821",
"updateUrl": "https://userstyles.org/styles/chrome/65821.json?ik-passtoggle=ik-No",
"md5Url": "https://update.userstyles.org/65821.md5",
"originalMd5": "d34520a7525de8e0c174d466697c50db",
"name": "4chan - Midnight Caek",
"method": "saveStyle",
"enabled": true,
"id": 2
},
{
"method": "saveStyle",
"name": "stackoverflow improvement",
"enabled": true,
"sections": [
{
"urls": [],
"urlPrefixes": [],
"domains": [
"superuser.com"
],
"regexps": [],
"code": "body{background:#ddd;}\n"
}
],
"updateUrl": null,
"md5Url": null,
"url": null,
"originalMd5": null,
"id": 3
}
]
O Stylebot permite fazer backup e exportar seus estilos neste formato JSON:
{
"abcnews.go.com":{
"_enabled":true,
"_rules":{
"div.t_callout":{
"display":"none"
}
}
},
"boingboing.net":{
"_enabled":true,
"_rules":{
"#next-post-thumbnails":{
"display":"none"
}
}
}
}
Deveria ser bastante trivial escrever algum código para percorrer o JSON retornado do Stylebot e gerar o css para ele no formato Stylish. Na verdade, vou resolver isso algum dia e postarei minhas coisas se algum dia conseguir.
Responder2
CUIDADO:
Antes de importar o JSON convertido para Stylish/Stylus, certifique-se de fazer backup das configurações existentes primeiro. Eu verifiquei apenas nas minhas configurações exportadas e pode conter bugs!
Acabei de escrever um script para converter stylebot json em estiloso/stylus json.
Para usar o script você precisa ter o Python 3 instalado. Supondo que você baixou o script como s2s.py
, execute-o com:
python3 s2s.py stylebot.json -o stylus.json -e utf-8
Os argumentos -o
e -e
são opcionais.
Eu sei que é um código meio feio, mas quem se importa: P
import argparse
import json
def stylebot_to_stylus(source='sb.json', target='stylus.json', encoding='utf-8'):
with open(source, encoding=encoding) as f:
data = json.load(f)
result_list = []
item_id = 1
for domain_name in data:
item_dict = {}
item_dict["id"] = item_id
item_id += 1
item_dict["enabled"] = data[domain_name]['_enabled']
item_dict["name"] = domain_name
# only one section for each domain (group)
sections = []
section0 = {}
section0['urls'] = []
section0['domains'] = []
# add the domain or the group of domains
if ',' in domain_name:
for addr in domain_name.split(sep=','):
section0['domains'].append(addr.strip())
else:
section0['domains'].append(domain_name)
css_rule = ''
# construct a css rule for each domain (group)
for selector in data[domain_name]['_rules']:
css_rule += selector + '{'
for attr in data[domain_name]['_rules'][selector]:
css_rule += attr + ':'
css_rule += data[domain_name]['_rules'][selector][attr] + ';'
css_rule += '}'
section0['code'] = css_rule
sections.append(section0)
item_dict['sections'] = sections
result_list.append(item_dict)
with open(target, "w", encoding=encoding) as of:
of.write(json.dumps(result_list))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("source",
help="input json file, exported from Stylebot[Lite]")
parser.add_argument('-o', '--output',
help='output json file, can be imported to Stylus')
parser.add_argument('-e', '--encoding',
help='output json file, can be imported to Stylus')
args = parser.parse_args()
src = args.source
out = args.output if args.output else 'stylus_output.json'
enc = args.encoding if args.encoding else 'utf-8'
stylebot_to_stylus(src, out, enc)