Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
wiki:plugin:copy2clipboard [2023/08/10 18:25] – [Совместимость] vladpolskiy | wiki:plugin:copy2clipboard [2023/08/19 03:43] (текущий) – vladpolskiy |
---|
======copy2clipboard для «ДокуВики»====== | ======Copy2clipboard для «ДокуВики»====== |
{{:wiki:plugin:dwplugin.png?70|}} Добавьте кнопку буфера обмена в блоки ''%%<code>%%'' и ''%%<file>%%'', которая копирует текст в буфер обмена. Это расширение добавляет кнопку буфера обмена [[copycode]] и [[codeclipboard]] блоки, которые копируют текст в буфер обмена. | {{:wiki:plugin:dwplugin.png?70 |}} Добавьте кнопку буфера обмена в блоки %%<code>%% и %%<file>%%, которая копирует текст в буфер обмена. Этот плагин не требует компонентов DokuWiki или PHP. Поскольку он сделан из чистого javascript, он должен работать с любой версией «ДокуВики» |
| |
Это уже сделано другими расширениями, copycode и codeclipboard . Тем не менее, у него есть следующие преимущества перед другими расширениями (здесь они ужасно частичны ;-)): | |
* **Релиз:** 2023-04-17. | |
| * **Релиз:** 2023-04-17 |
* **Репозиторий:**https://github.com/schplurtz/dokuwiki-plugin-copy2clipboard/ | * **Репозиторий:**https://github.com/schplurtz/dokuwiki-plugin-copy2clipboard/ |
* **Совместимость с «Докувики»:** 04.04.2023 "Джек Джекрам" | * **Совместимость с «Докувики»:** 04.04.2023 "Джек Джекрам" |
| |
=====Совместимость===== | =====Совместимость===== |
| * одиночные НЕРАЗРЫВНЫЕ ПРОБЕЛЫ (он же NBSP, он же U+00A0 ) в строке сами по себе не копируются в буфер обмена. |
- Сделан из чистого javascript, нет требований PHP, нет требований DokuWiki. Он будет работать с любой версией «ДокуВики», с любой версией PHP, | * Это не баг, а фича. Одиночный NBSP почти никогда не появляется намеренно в исходном коде, так что это практически не нарушит код. С другой стороны, geshi, который используется в «Докувики», добавляет его к каждой пустой строке, делая пустые строки непустыми. Кроме того, U + 00A0 не является пробелом и вызывает синтаксическую ошибку в языках программирования или форматированном текстовом файле, таком как YAML или LDIF. Польза от удаления этого символа намного больше, чем недостаток его сохранения. |
- Он использует относительно новый, но стабильный API javacript , поэтому он должен работать годами, прежде чем станет несовместимым с навигаторами, | |
* Таким образом, насколько я понимаю, в ближайшие тысячелетия не будет необходимости обновлять это расширение, | |
- Корректно копирует коды, отформатированные geshi((Это библиотечный компонент, используемый «ДокуВики» для подсветки синтаксиса.)) . если вы столкнулись со страшной ошибкой «Нераспознанный символ \xC2» при копировании кода в perl или python вручную или с помощью других расширений, тогда copy2clipboard — это расширение, которое вам нужно, | |
- Это гарантирует, что окончания строк адаптированы к ОС, на которой работает навигатор. Это устраняет ошибку powershell [[https://github.com/PowerShell/PSReadLine/issues/496|496]] and [[https://github.com/PowerShell/PowerShell/issues/3816|3816]] когда строки вставляются в обратном порядке.. | |
- <del>У него пока нет известных ошибок.</del>((Такое заявление долго не выдержит…)) | - <del>У него пока нет известных ошибок.</del>((Такое заявление долго не выдержит…)) |
| |
- войдите как администратор и измените плагин в менеджере конфигурации | - войдите как администратор и измените плагин в менеджере конфигурации |
=====Применение===== | =====Применение===== |
| После установки он автоматически добавит кнопку «копировать в буфер обмена» к каждому %%<code>%% или %%<file>%% блоку кода , как показано на скриншоте ниже. На самом деле, в настольном браузере кнопки становятся видимыми только тогда, когда курсор мыши входит в область %%<code>%% или %%<file>%%. В мобильных браузерах кнопки видны всегда. |
| |
Плагин также экспортирует функцию для использования с вашим шаблоном, поэтому вам нужно будет вставить следующий код в свой шаблон где-то внутри тегов **<head></head>** . | {{https://github.com/schplurtz/dokuwiki-plugin-copy2clipboard/raw/master/screenshot.png}} |
| \\ |
| Это расширение добавляет кнопку буфера обмена ''%%<code>%%'' и ''%%<file>%%'' блоки, которые копируют текст в буфер обмена. |
| |
Обычно вы захотите сделать это для любых файлов PHP (или HTML) содержащих строку "<head>"; как минимум вы можете сделать только main.php.((Если вы делаете только main.php, вы пропустите некоторые типы страниц (например, файл загрузки), поэтому я предлагаю искать теги заголовка во всех файлах PHP в шаблоне, чтобы убедиться, что вы их все получили.)) | Это уже сделано другими расширениями, copycode и codeclipboard . Тем не менее, у него есть следующие преимущества перед другими расширениями (здесь они ужасно частичны ;-)): |
| |
<code php> | - сделан из чистого javascript, нет требований PHP, нет требований DokuWiki. Он будет работать с любой версией «ДокуВики», с любой версией PHP, |
<?php if (file_exists(DOKU_PLUGIN.'displaywikipage/code.php')) include_once(DOKU_PLUGIN.'displaywikipage/code.php'); ?> | - Он использует относительно новый, но стабильный API javacript , поэтому он должен работать годами, прежде чем станет несовместимым с навигаторами, |
</code> | * Таким образом, насколько я понимаю, в ближайшие тысячелетия не будет необходимости обновлять это расширение, |
| - Корректно копирует коды, отформатированные geshi ((Это библиотечный компонент, используемый «ДокуВики» для подсветки синтаксиса.)) . если вы столкнулись со страшной ошибкой «Нераспознанный символ \xC2» при копировании кода в perl или python вручную или с помощью других расширений, тогда copy2clipboard — это расширение, которое вам нужно, |
| - Это гарантирует, что окончания строк адаптированы к ОС, на которой работает навигатор. Это устраняет ошибку powershell [[https://github.com/PowerShell/PSReadLine/issues/496|496]] и[[https://github.com/PowerShell/PowerShell/issues/3816|3816]]когда строки вставляются в обратном порядке. |
| - <del>У него пока нет известных ошибок</del>((Такое заявление долго не выдержит…)) |
| |
**Примечание** . Вставка приведенного выше кода является **обязательной** , но не обязательной. | |
| |
Чтобы отобразить вики-страницу в любой точке вашего документа, используйте следующий код: | |
| |
<code php> | |
<?php if (function_exists('dwp_display_wiki_page')) dwp_display_wiki_page(":path:to:page"); ?> | |
</code> | |
| |
Выполнение этого таким образом позволит вашим пользователям использовать шаблон независимо от того, установлен ли у вас плагин. | |
=====Обновление===== | =====Обновление===== |
Для обновления удалите исходную папку lib/plugins/displaywikipage и установите новую версию, как указано выше. | Для обновления удалите исходную папку lib/plugins/displaywikipage и установите новую версию, как указано выше. |
=====Файл для загрузки===== | =====Файл для загрузки===== |
{{ :wiki:plugin:displaywikipage.zip |}} | {{ :wiki:plugin:dokuwiki-plugin-dokuteaser-master.zip |dokuteaser}} |
| {{ :wiki:plugin:copy2clipboard.zip |}} |
=====Лицензия===== | =====Лицензия===== |
* **Author:** [[tjgrant@tatewake.com|Terence J. Grant]] | * **Author:** [[Schplurtz-AT-Laposte•net| Schplurtz le Déboulonné]] |
* **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]] | * **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]] |
* **Donate:** [[https://www.paypal.com/xclick/business=tjgrant%40tatewake.com&item_name=Citations%20for%20DokuWiki%20Donation&no_shipping=1&no_note=1&tax=0¤cy_code=USD&lc=US|Click here.]] | |
Это не обязательно, но, пожалуйста, рассмотрите возможность ссылки на [[https://www.dokuwiki.org/plugin:displaywikipage|эту страницу]] с вашего сайта, если вам нравится этот продукт. | |
| |
| |