3

Вся история такова: я ненавижу белый фон Chrome, и когда я открываю новую вкладку или нажимаю на ссылку, экран становится белым, жгучие глаза. Расширение stylebot не позволяет изменять цвета на новой вкладке или при загрузке белых экранов.

У Firefox такой проблемы нет, когда я устанавливаю на него полные темные темы (те старые темы). Так что теперь я хочу оставить Chrome позади и начать использовать Firefox. Но, как мы все знаем, у Stylebot нет версии Firefox.

Я не нашел такого хорошего дополнения, как Stylebot для Firefox, и те, что близко к Stylebot, содержат ошибки и портят сайты.

Поэтому я подумал о том, чтобы взять свои пресеты в Chrome Stylebot и экспортировать их в стильный стиль расширения. Я не знаю, возможно ли это, и я действительно ничего не знаю о любом типе кодирования. Если это работает как-то, это будет золотым!

Я отказался от попыток изменить белый фон Chrome, потому что это было слишком хлопотно. Некоторые изменения работали для белого экрана загрузки, но не для новой вкладки. Даже расширения, которые изменяют новую вкладку на любой другой URL, не работали. Он всегда показывает белый экран до окончания загрузки.

Так ... кто-нибудь может мне помочь?

2 ответа2

0

Я сам смотрю на это. Итак, Стильный экспорт / импорт в следующем формате - это включает два примера из userstyles.org и один, который я сделал очень быстро:

[
  {
    "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
  }
]

Stylebot позволяет создавать резервные копии и экспортировать их стили в этом формате JSON:

{
  "abcnews.go.com":{
    "_enabled":true,
    "_rules":{
      "div.t_callout":{
        "display":"none"
      }
    }
  },
  "boingboing.net":{
    "_enabled":true,
    "_rules":{
      "#next-post-thumbnails":{
        "display":"none"
      }
    }
  }
}

Должно быть довольно просто написать некоторый код для циклического просмотра возвращенного JSON Stylebot и сгенерировать для него CSS в формате Stylish. Я действительно собираюсь заняться этим когда-нибудь и опубликую свои материалы, если когда-нибудь доберусь до этого

0

ВНИМАНИЕ:

Прежде чем импортировать преобразованный json в стильный / стилус, сначала сделайте резервную копию существующих настроек. Я только подтвердил это на моих экспортированных настройках, и это может содержать ошибки!


Я только что написал скрипт для преобразования stylebot json в стильный / стилус json.

Чтобы использовать скрипт, вам нужно установить Python 3. Предполагая, что вы загрузили скрипт как s2s.py , запустите скрипт с:

python3 s2s.py stylebot.json -o stylus.json -e utf-8

Аргументы -o и -e являются необязательными.

GitHub Gist

Я знаю, что это некрасивый код, но кого это волнует: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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .