Power Format Pack: Markdown, code blocks, lists, tables, syntax highlight and more

Stefan van den Akker, перевод Дмитрий Михеев 12.03.2017 (оригинал смотри на АнкиВебе или на ГитХабе!) Важно: Это дополнение обновляется достаточно часто, поэтому прежде чем сообщать об ошибке или давать одну звезду, пожалуйста, обновите этот аддон! Также убедитесь, что пользуетесь последней версией Anki. Если же ошибка осталась и после обновления, будет любезно с вашей стороны сообщить о ней не на AnkiWeb, а в репозитарии GitHub. Автор дополнения не может отвечать на отзывы, оставленные на сайте AnkiWeb, и не получает никаких уведомлений об их появлении, поэтому, если вы хотите, чтобы обнаруженная вами неисправность была починена, вам следует реально рассмотреть возможность отправки сообщения через GitHub. ОБНОВИТЬСЯ легко. Перво-наперво, удалите дополнение из Anki: ИнструментыДополненияPower Format PackУдалить... затем удалите папку дополнения addons\power_format_pack и уже затем установите снова, используя номер

162313389

Новое в версиях 0.8.8.x: MARKDOWN Вы можете использовать язык разметки Markdown (см. вики на русском языке) для стилизации ваших записей. Markdown это утилита преобразования специального текста в HTML, которая позволяет вам достаточно быстро оформлять ваши записи. Если вы ещё не знаете возможности Markdown, то посмотрите это руководство на английском языке. Разрешить Markdown Markdown по умолчанию выключен с целью сохранять это дополнение модульным насколько возможно. Чтобы включить его, перейдите в настройки и поставьте галочку около слова Markdown, затем перезапустите Anki. Использовать Markdown Когда вы кликаете по кнопке Markdown, весь ваш текст с разметкой в формате Markdown преобразуется в формат HTML и показывается. Сейчас вы в режиме Markdown. Признаком установки этого режима является изменение цвета фона и предупреждающее сообщение под полем, которое вы редактируете. В Markdown-режиме вы не можете использовать привычные кнопки форматирования, которыми обычно пользовались. Это сделано для предотвращения любого случайного редактирования показываемого вам результата преобразования. Если вы хотите вносить изменения дальше, то прежде всего вновь переключите кнопку Markdown и вернитесь к нормальному режиму работы. Однако, если вам абсолютно необходимо редактировать карточку в режиме Markdown, вы можете выбрать опцию сохранять доступ к кнопкам, просто выставив галочку Allow editing of rendered Markdown (Разрешить редактирование результатов форматирования Markdown). Когда вы добавите или измените текст вашей карточки напрямую в HTML в режиме Markdown, появится диалоговое окно, вопрошающее, действительно ли вы хотите отменить всю предыдущую разметку Markdown или попытаетесь инкорпорировать свои изменения в текст карточки. Действуйте обдуманно, в понимании, что результатом может явиться потеря какой-то части вашей исходной разметки Markdown, особенно если эта разметка была достаточно сложной (использовались примечания, таблицы, блоки кода). Чтобы быть в уверенности, что вы всегда возвращаетесь к оригинальному синтаксису, когда выходите из режима Markdown, вы можете отметить галочку Always automatically revert back to saved Markdown (Всегда автоматически преобразовывать содержимое поля в сохранённую разметку Markdown). НЕ используйте Markdown в сочетании с другим форматированием. Я советую вам использовать либо Markdown, либо RTF, но только не оба режима вместе. Markdown был придуман, чтобы быть быстрым и простым путём стремительного написания относительно простых текстов. Поэтому он не знает, что делать со сложными карточками, которые используют неизвестное Markdown форматирование. Так что при клике по кнопке Markdown он очистит форматирование, которое не знает, как обрабатывать. Вы предупреждены! Дополнительный синтаксис Markdown Это дополнение использует некоторые элементы разметки, которые похожи на Markdown, однако на деле отсутствуют в John Gruber's original Markdown: БЛОКИ КОДА Блоки кода могут быть созданы простой подстановкой 4етырёх пробелов в начало каждой строки, а также оставления пустой строки до и пустой строки после. Возможно указание, синтаксис какого языка следует подсвечивать: :::java public class Test { } или так: ```python def print_me(this): print "Printing: ", this ``` Блоки кода могут быть стилизованы как выбором предоперделённых установок стилей, так и созданием своих собственных стилевых таблиц. Больше технических деталей о блоках кода (например, подсветка строк) вы можете найти в Python Markdown project. СПИСОК ОПРЕДЕЛЕНИЙ Список определений может быть задан следующим образом: Солнце : Золотое яблочко по серебряному блюдечку катается. Апельсин : Мы делили ... — много нас, а он один. Убедитесь, что между вашими определениями присутствует пустая строка. ПРИМЕЧАНИЯ У примечания[^1] есть метка[^@#$%] и описание. [^1]: А это и есть описание-содержание примечания. [^@#$%]: Пример примечания с произвольной меткой "@#$%". Метка примечания должна начинаться с символа вставки ^ и может содержать далее любой текст в строку (включая пробелы) между парой квадратных скобок []. Только символ вставки в первой позиции имеет специальное значение. Описание примечания должно начинаться с метки и следующим вплотную двоеточием и затем одним пробелом. Метка, используемая для определения содержимого, должна в точности совпадать с меткой, использованной в поле (включая регистр и белые пробелы). Содержимое следует за меткой на той же строке или на следующей строке. Описание может содержать несколько строк, параграфов, блоков кода, блочных цитат, да и большинство других элементов, используемых Markdown. Дополнительные строки должны быть сдвинуты от начала строки на 4 пробела или 1 символ табуляции. Больше технических деталей вы сможете найти на англ. яз. в Python Markdown project. АББРЕВИАТУРЫ Синтаксис Markdown для аббревиатур, например: Спецификация HTML поддерживается W3C. *[HTML]: Hyper Text Markup Language *[W3C]: World Wide Web Consortium будет преобразован в следующий код HTML: <p>Спецификация <abbr title="Hyper Text Markup Language">HTML</abbr> поддерживается <abbr title="World Wide Web Consortium">W3C</abbr>.</p> ТАБЛИЦЫ Для описания таблиц используется такой же синтаксис, как и описанный ниже (дальше по тексту) просто для кнопки Таблицы. Вы можете стилизовать их самостоятельно с помощью вашей таблицы стилей. АТРИБУТЫ Пример списка атрибутов может выглядеть как-то так: {: #someid .someclass somekey='some value' } Слово, которое начинается с диеза (#), устанавливает идентификатор элемента. Слово, которое начинается с точки (.), будет добавлено к списку классов, уже присвоенных элементу. Пара ключ='некоторое значение' (somekey='some value') присвоит эту пару элементу. При назначении классов остерегайтесь пересечения последних двух форм записи у одного элемента. Обратите внимание, что синтаксис с точко добавляет значение в список классов, а пара атрибут=значение полностью перепишет список классов, если он уже существует. Присмотритесь к примеру: {: #id1 .class1 id=id2 class="class2 class3" .class4 } Результатом примера выше будет строка: id="id2" class="class2 class3 class4" Скажем, в ваших стилях CSS определён класс: .large { font-size: 32px; } Вы можете добавить этот класс в параграф таким образом: Человек часто встречает свою судьбу на дороге, которую он выбрал, чтобы избежать ее. {: .large} Больше технических деталей вы сможете найти на англ. яз. в проекте Python Markdown. КНОПКИ ФОРМАТИРОВАНИЯ Помимо Markdown, это дополнение снабжает вас следущими дополнительными кнопками в окне добавления/редактирования записей Anki:   Что такое хорошо и что такое плохо:     Плохо, что на все эти заголовки не действует откат.       Хорошо, что хоть на каких-то других кнопках он есть. — прим. перев. ПОЛЬЗОВАТЕЛЬСКИЕ ГОРЯЧИЕ КЛАВИШИ Вы можете изменить горячие клавиши, назначаемые дополнением по умолчанию, редактированием файла keybinding.json в в вашем каталоге addons/extra_buttons Пожалуйста, имейте ввиду, что не выполняется никакой проверки на дублирование назначений. Это значит, что если данная комбинация горячих клавиш уже используется операционной системой, самой программой Anki, другими дополнениями или этим же самым дополнением, но для других целей, то результат нажатия таких горячих клавиш в общем случае считается неопределённым (в случае с Anki на данный момент при таких коллизиях не выполняется вообще ничего). This file needs to contain valid JSON. Basically this means that the key-value pairs should be enclosed in double quotes: В этом файле требуется строго соблюдать формат JSON. Главное условние: пары ключ-значение должны быть заключены в двойные кавычки: "key": "value" Открывающие и закрывающие фигурные скобки { и } в этом файле обязательны. Каждая пара должна содержать разделитель : двоеточие и должна заканчиваться запятой , кроме последней пары (перед закрывающей фигурной скобкой). Правильный пример смотрите в самом файле. Файл JSON с ошибками не принимается и будут использованы значения по умолчанию. Если вы обнаружите, что ваши новые клавиатурные назначения не работают как задумано (например, они не показываются во всплывающих подсказках), пожалуйста, используйте JSON-валидатор, чтобы проверить исправность формата JSON. Также могут использоваться функциональные клавиши от F1 по F12 включительно, а также модификаторы клавиш Ctrl, Alt, Shift, буквы, цифры и знаки пунктуации. Для macOS есть рекомендация воспринимать клавишу Ctrl как Cmd (так называемая "Apple key"), а если вы всё-таки очень хотите задействовать Ctrl на Маках, то кодируйте обращение к ней как к Meta клавише. Таким образом, если вы под Windows или Linux пользуетесь клавишами Ctrl+Shift+[ то на маках для нажатия тех же самых клавиш вам следует закодировать Meta+Shift+[ Строка Ctrl+Shift+[ на маках потребует от вас фактического нажатия Cmd+Shift+[ Такие дела. Пожалуйста, удостоверьтесь, что вы хорошо понимаете то, что только что прочитали, прежде чем сообщать об ошибке. Использование недопустимой комбинации клавиш в JSON приводит к тому, что работать будут клавиши, назначенные по умолчанию. Для примера неправильные последовательности: Регистр неважен, Ctrl+Alt+p сработает точно так же, как и ALT+CTRL+P. Порядок неважен, сработает даже такое описание: p+Ctrl+Alt. Если вы хотите удалить все свои переназначения клавиш, достаточно удалить этот JSON-файл. БЛОКИРОВКА НЕИСПОЛЬЗУЕМЫХ КНОПОК Все эти кнопки могут активироваться и деактивироваться индивидуально в Инструменты ⇒ Power Format Pack (options), так что будьте свободными в своём праве отключать те кнопки, которые вы не используете. ИСХОДНЫЙ КОД Исходники доступны на GitHub. ВОЗМОЖНЫЕ ПРОБЛЕМЫ Если вы столкнулись с какими-то проблемами в работе дополнения, пожалуйста, сообщайте о них не на АнкиВебе, а на ГитХабе!

162313389