{"action":"created","issue":{"url":"https://api.github.com/repos/voidmain02/KgScripts/issues/46","labels_url":"https://api.github.com/repos/voidmain02/KgScripts/issues/46/labels{/name}","comments_url":"https://api.github.com/repos/voidmain02/KgScripts/issues/46/comments","events_url":"https://api.github.com/repos/voidmain02/KgScripts/issues/46/events","html_url":"https://github.com/voidmain02/KgScripts/issues/46","id":64747967,"number":46,"title":"Конфигурационный файл для klavotools","user":{"login":"filippovdaniil","id":154306,"avatar_url":"https://avatars.githubusercontent.com/u/154306?v=3","gravatar_id":"","url":"https://api.github.com/users/filippovdaniil","html_url":"https://github.com/filippovdaniil","followers_url":"https://api.github.com/users/filippovdaniil/followers","following_url":"https://api.github.com/users/filippovdaniil/following{/other_user}","gists_url":"https://api.github.com/users/filippovdaniil/gists{/gist_id}","starred_url":"https://api.github.com/users/filippovdaniil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/filippovdaniil/subscriptions","organizations_url":"https://api.github.com/users/filippovdaniil/orgs","repos_url":"https://api.github.com/users/filippovdaniil/repos","events_url":"https://api.github.com/users/filippovdaniil/events{/privacy}","received_events_url":"https://api.github.com/users/filippovdaniil/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-03-27T12:01:55Z","updated_at":"2015-12-13T17:01:07Z","closed_at":null,"body":"KlavoTools теперь [забирает скрипты из репозитория](http://klavogonki.ru/forum/general/669/page39/#post793), и потому нужно навести порядок в нашем js-зоопарке :) \r\n\r\nА если серьезно, то нужно сделать следующее:\r\n\r\n- [ ] Определить, какие скрипты вносят глобальные изменения в текущий дизайн сайта (кардинально меняют расположение элементов интерфейса, меняют их поведение, стиль), сформировать их список\r\n- [ ] Определить, какие скрипты конфликтуют, сформировать такие списки «конфликтов»\r\n- [x] Сформировать список скриптов, которые будут «интегрированы» в KlavoTools\r\n  - KlavoEvents\r\n  - klavogonki: Sort results\r\n  - DelGameButton\r\n  - Klavogonki: save race in logbook\r\n  - klavogonki - hide cars\r\n  - IgnoreList\r\n  - Klavogonki: average size of the books part\r\n  - QuickVocsStart\r\n  - Klavogonki: klavostats links\r\n  - Klavogonki: recent games\r\n  - Klavogonki: daily scores\r\n  - BB-Tools\r\n  - klavogonki: tag hide\r\n  - PostOptions+\r\n  - klavogonki: BigTextarea\r\n  - Error Control Mode\r\n  - NEC (no-error counter)\r\n  - chat2BBCode\r\n- [ ] Придумать теги, при помощи которых сделать классификацию всех скриптов (что-то вроде «Игра», «Чат», «Рейтинговое соревнование», «Сводка профиля» и т.д.)\r\n- [ ] Придумать и утвердить структуру конфигурационного json-файла, который будет отражать всю эту информацию\r\n- [ ] Добавить этот файл в репозиторий :)\r\n\r\nКак вариант, можно не делать конфигурационный файл, а ввести несколько новых обязательных мета-тегов, которые потом использовать в коде всех юзерскриптов.\r\n\r\nНо если смотреть в сторону json-структуры, то я ее вижу примерно такой:\r\n```json\r\n{\r\n    \"KG_ChatHotkey\": {\r\n        \"tags\": [ \"Чат\", \"Игра\" ]\r\n    },\r\n    \"KG_ClearProfile\": {\r\n        \"global\": true,\r\n        \"tags\": [ \"Сводка профиля\" ],\r\n        \"conflicts\": [ \"KG_GlasslessBio\" ]\r\n    },\r\n    \"KG_CenterAlignment\": {\r\n        \"global\": true,\r\n        \"tags\": [ \"Игра\" ]\r\n    },\r\n    \"KG_GlasslessBio\": {\r\n        \"global\": true,\r\n        \"tags\": [ \"Сводка профиля\" ],\r\n        \"conflicts\": [ \"KG_ClearProfile\" ]\r\n    }\r\n}\r\n```\r\n\r\n— поле global определяет масштаб вносимых скриптом изменений, conflicts — конфликтующие скрипты.\r\n\r\n**UPD**: Новый вариант структуры:\r\n\r\n```json\r\n[\r\n    {\r\n        \"name\": \"BB-Tools\",\r\n        \"authors\": [ \"Fenex\" ],\r\n        \"integrated\": true,\r\n        \"tags\": [ \"Форум\", \"Словари\" ],\r\n        \"description\": \"Добавляет дополнительные bb-кнопки для форматирования сообщений на форуме, описания и комментариев словарей\"\r\n    },\r\n    {\r\n        \"name\": \"KG_ClearProfile\",\r\n        \"authors\": [ \"voidmain\" ],\r\n        \"disabled\": true,\r\n        \"tags\": [ \"Сводка\" ],\r\n        \"conflicts\": [ \"KG_GlasslessBio\" ],\r\n        \"description\": \"Изменяет стилевое оформление профиля\"\r\n    }\r\n]\r\n```\r\nОписание полей в обсуждении https://github.com/voidmain02/KgScripts/issues/46#issuecomment-87145907"},"comment":{"url":"https://api.github.com/repos/voidmain02/KgScripts/issues/comments/164277391","html_url":"https://github.com/voidmain02/KgScripts/issues/46#issuecomment-164277391","issue_url":"https://api.github.com/repos/voidmain02/KgScripts/issues/46","id":164277391,"user":{"login":"filippovdaniil","id":154306,"avatar_url":"https://avatars.githubusercontent.com/u/154306?v=3","gravatar_id":"","url":"https://api.github.com/users/filippovdaniil","html_url":"https://github.com/filippovdaniil","followers_url":"https://api.github.com/users/filippovdaniil/followers","following_url":"https://api.github.com/users/filippovdaniil/following{/other_user}","gists_url":"https://api.github.com/users/filippovdaniil/gists{/gist_id}","starred_url":"https://api.github.com/users/filippovdaniil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/filippovdaniil/subscriptions","organizations_url":"https://api.github.com/users/filippovdaniil/orgs","repos_url":"https://api.github.com/users/filippovdaniil/repos","events_url":"https://api.github.com/users/filippovdaniil/events{/privacy}","received_events_url":"https://api.github.com/users/filippovdaniil/received_events","type":"User","site_admin":false},"created_at":"2015-12-13T17:01:06Z","updated_at":"2015-12-13T17:01:06Z","body":"> Первый может не понравиться недоездунам, которые табом + ctrl вправо сбрасывают заезд\r\n\r\nА точно комбинацией с [Tab]? Не просто [Ctrl] + [→]?\r\n\r\n> второй - тем, кто ошибается на буквах э, х,ъ и попадает по энтеру, будут ошибки :)\r\n\r\nОк, здесь согласен, имеет смысл отключить.\r\n\r\n> Вот мне кажется, они больше изменяют глобального, чем те же KG_ErrorWork, KG_DialogLink.\r\n\r\nВ целом — да, но еще нужно учитывать актуальность этих скриптов для большинства людей. Тот же KG_DialogLink добавляет всего лишь малозаметную ссылку для диалога (и по этой причине ей вряд ли кто-то будет пользоваться, если нет определенной и узкой потребности открывать диалоги в отдельных вкладках), но его код — целый набор жутких костылей, которых хотелось бы избегать:  https://github.com/voidmain02/KgScripts/blob/master/scripts/KG_DialogLink.user.js"}}