PopClip: Расширения скриптов
() translation by (you can also view the original English article)
PopClip-это отличная утилита, что как только вы привыкнете к нему, очень тяжело жить без. Этот туториал покажет, как писать расширения сценариев на примере расширения.
В этом уроке я покажу вам, как создать PopClip расширение путем строительства пристройки, что позволит взглянуть на Библию ссылаться, чтобы быть выбран, уточняющие справки на английском или тайском языке с помощью веб-API, и вставить соответствующий стих(ы) на месте. Вы научитесь создавать расширение PopClip, который использует PHP-скрипт, регулярное выражение для активации настроек, которые пользователь может редактировать и с помощью горячих клавиш для переопределения предпочтений.
Определение Вашего Расширения
Первое, что надо сделать, это решить, что расширение будет делать. Вы всегда должны создавать каждое расширение с одной функциональностью в виду. Так как я миссионер, я пишу заметки о стихах Библии все время. Я бы хотел иметь расширение, которое будет принимать ссылочку Библии и вставить этот стих или стихи в мой документ на тайском и английском языках. Поэтому расширение будет делать именно это!
Но, иногда мне может понадобиться тот или иной язык. Таким образом, модуль должен иметь панель настроек и горячих клавиш для переопределения предпочтений. Это может звучать как много работы, но PopClip позволяет легко.
Я нашел отличный сайт, Ефесянам 4:14, что дает возможность для скачивания стихи из Библии короля Джеймса на английском и тайском Библии короля Джеймса. Так как я работаю с тайского языка, вот только Библий, которые мне нужны. Они также имеют много других языков. Таким образом, можно добавить, что язык может вас заинтересовать.
Popclip Ресурсов
Если вы только недавно установили PopClip, пожалуйста, прочитайте PopClip Руководство пользователя в первую очередь. Учебник, создать собственные пользовательские расширения для PopClip, дает отличное Введение в PopClip и как сделать расширения, которые не требуют какого-либо программирования. Этот учебник будет сосредоточена на наращивание программирования сценария для PopClip.
Pilotmoon дает полный список plist в конфигурации параметры файла. Всегда относятся к этому как к актуальной документации расширения интерфейса для PopClip.
Продолжение будет написан на PHP. Если Вы не знаете, как программировать на PHP, отличный курс видео можно найти на tuts+: в PHP Основы.
Структура Файла
Где вы будете работать на своем компьютере, создайте каталог с именем popclipBible.popclipext. Этот каталог будет выглядеть как обычный файл, но когда вы щелкните правой кнопкой мыши на нем и выберите меню всплывающее меню Показать содержимое пакета, он будет показывать содержимое этого каталога. Вам нужно создать файлы конфигурации.файл plist, bible.php и Библии.PNG в каталог.
Конфиг.plist-это файл plist описано в следующем разделе. bible.php будет содержать PHP-скрипт должен быть выполнен. Библия.PNG-это графический файл для расширения. Все это в скачать файл наверху.
Файле Plist
Все расширения для PopClip начать с plist файл с именем config.файл plist. Этот файл говорит PopClip как расширение вписывается в мир PopClip. Полный файл plist для этого расширения:
1 |
|
2 |
<?xml version="1.0" encoding="UTF-8"?>
|
3 |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
4 |
<plist version="1.0"> |
5 |
<dict>
|
6 |
<key>Actions</key> |
7 |
<array>
|
8 |
<dict>
|
9 |
<key>After</key> |
10 |
<string>paste-result</string> |
11 |
<key>Image File</key> |
12 |
<string>bible.png</string> |
13 |
<key>Script Interpreter</key> |
14 |
<string>/usr/bin/php</string> |
15 |
<key>Shell Script File</key> |
16 |
<string>bible.php</string> |
17 |
<key>Title</key> |
18 |
<string>Bible</string> |
19 |
</dict>
|
20 |
</array>
|
21 |
<key>Options</key> |
22 |
<array>
|
23 |
<dict>
|
24 |
<key>Option Identifier</key> |
25 |
<string>biblekjv</string> |
26 |
<key>Option Type</key> |
27 |
<string>boolean</string> |
28 |
<key>Option Label</key> |
29 |
<string>KJB</string> |
30 |
</dict>
|
31 |
<dict>
|
32 |
<key>Option Identifier</key> |
33 |
<string>biblethaikjv</string> |
34 |
<key>Option Type</key> |
35 |
<string>boolean</string> |
36 |
<key>Option Label</key> |
37 |
<string>Thai KJV</string> |
38 |
</dict>
|
39 |
</array>
|
40 |
<key>Extension Description</key> |
41 |
<string>Lookup Bible verses in Popclip.</string> |
42 |
<key>Extension Identifier</key> |
43 |
<string>com.customct.popclip.extension.bible</string> |
44 |
<key>Extension Name</key> |
45 |
<string>Bible</string> |
46 |
<key>Long Running</key> |
47 |
<true/>
|
48 |
<key>Regular Expression</key> |
49 |
<string>(.*\d+\:\d+(\-\d+)*)</string> |
50 |
<key>Required Software Version</key> |
51 |
<integer>701</integer> |
52 |
</dict>
|
53 |
</plist>
|
Как видно, это файл данных XML-формата. Этот файл данных говорит PopClip все, что нужно знать, чтобы запустить расширение.
Это голые кости plist в необходимых для данного расширения. Основной словарь, ключи действия и параметры. Это основные элементы для обеспечения функциональности расширения. Я опишу их более подробно ниже. Другие ключи:
Описание Расширения
Данный ключ дает описание того, что расширение будет делать. Это должно быть коротким, но описательным.
Расширение Идентификатор
Этот ключ дает уникальный идентификатор расширения. Я это мой сайт для полного уникальность. Это может быть любой буквенно-цифровой последовательную, но что-то читабельное-это всегда приятно.
Расширение Имени
Этот ключ имеет имя расширения. Я просто называю это Библия.
Длительные
Этот ключ имеет значение True, так как это будет делать веб-API вызов, который займет некоторое время, чтобы закончить за счет чистой скорости. Это просто PopClip отображать значок ожидания при выполнении действия.
Если расширения не займет много времени, она должна быть ложной.
Регулярное Выражение
Значение этого ключа представляет собой регулярное выражение, которое позволит начать расширение, только если он утверждает, правда для выделенного текста. Написать регулярное выражение, которое соответствует только ссылкой на Библию, он не будет показывать расширение Библии на любой выделенный текст.
Если вы немного ржавый на написании регулярных выражений, то вам следует прочитать эту статью на чистую Туц+.
Необходимая Версия Программного Обеспечения
Этот ключ указывает версию PopClip, что это расширение потребностей.
Действия
Клавиши действий для определения действий, что расширение будет выполнять. Есть много возможностей, но этот учебник будет сосредоточиться только на необходимых вещей. Они заключаются в следующем:
После
Это указывает действие, которое будет выполняться после выполнения скрипта. вставить-результат будет вставить в самые лучшие приложения, что текст скрипта выводит из.
Файл Изображения
Этот ключ указывает значок, используемый для данного расширения. Поскольку иконка в том же районе, как расширение, вы можете просто сослаться на файл: Библия.ПНГ. Если вы хотели сохранить иконки в подкаталоге расширения, можно использовать относительную ссылку на этот файл.
Интерпретатор Сценариев
Этот ключ определяет интерпретатор будет использоваться для обработки сценария. Поскольку я делаю эту программу на PHP, он должен ссылаться на PHP-интерпретатор по умолчанию на всех компьютерах Mac: /usr/Бен/РНР. Вы можете разместить полный путь к любой переводчик, который вы хотите использовать для записи расширения.
Файл Сценария Оболочки
Этот ключ определяет файл в каталог расширений для запуска. Имя файла: bible.php.
Название
Этот ключ называется расширение: Библия.
Варианты
Ключевые параметры содержит массив словарей. Один словарь для каждой опции в панели параметров для расширения. Для этого продления, пользователь должен иметь возможность вставить из Библии kjv или Тайская Библия kjv. Поскольку у меня есть два варианта для этого расширения, я буду описывать каждый ключ в словаре варианты и сказать, что я использовал для каждого варианта.
Идентификатор Параметра
Этот ключ даст PopClip уникальное имя для параметра необходимо для расширения. Это используется в переменную среды, которая передается в Вашу программу. Для двух вариантов, эти идентификаторы будут использоваться: biblekjv и biblethaikjv.
Тип Вариант
Этот ключ определяет, какой тип опциона это. Это может быть либо логическое значение (да или нет), строка (любая строка), или несколько (вы дать список вариантов, и пользователь может выбрать из них). Тип boolean является то, что необходимо для данного расширения.
Метка Вариант
Этот ключ определяет текст, который будет использоваться в панели вариантов для расширения. За это расширение, метки KJB и Тайский упо будет работать.
С этими параметрами, определенными в файле plist, привилегированная группа будет создана для редактирования предпочтений. Как это будет выглядеть:

Сценарий
Теперь скрипт должен быть написан. Полный скрипт:
1 |
|
2 |
<?php
|
3 |
//
|
4 |
// Array for converting English Bible book names
|
5 |
// to thai. Not eloquent, but works.
|
6 |
//
|
7 |
$book = array(); |
8 |
$book['Genesis']='ปฐมกาล'; |
9 |
$book['Exodus']='อพยพ'; |
10 |
$book['Leviticus']='เลวีนิติ'; |
11 |
$book['Numbers']='กันดารวิถี'; |
12 |
$book['Deuteronomy']='เฉลยธรรมบัญญัติ'; |
13 |
$book['Joshua']='โยชูวา'; |
14 |
$book['Judges']='ผู้วินิจฉัย'; |
15 |
$book['Ruth']='นางรูธ'; |
16 |
$book['1Samuel']='1ซามูเอล'; |
17 |
$book['2Samuel']='2ซามูเอล'; |
18 |
$book['1Kings']='1พงศ์กษัตริย์'; |
19 |
$book['2Kings']='2พงศ์กษัตริย์'; |
20 |
$book['1Chronicles']='1พงศาวดาร'; |
21 |
$book['2Chronicles']='2พงศาวดาร'; |
22 |
$book['Ezra']='เอสรา'; |
23 |
$book['Nehemiah']='เนหะมีย์'; |
24 |
$book['Esther']='เอสเธอร์'; |
25 |
$book['Job']='โยบ'; |
26 |
$book['Psalms']='สดุดี'; |
27 |
$book['Proverbs']='สุภาษิต'; |
28 |
$book['Ecclesiastes']='ปัญญาจารย์'; |
29 |
$book['SongofSongs']='เพลงซาโลมอน'; |
30 |
$book['Isaiah']='อิสยาห์'; |
31 |
$book['Jeremiah']='เยเรมีย์'; |
32 |
$book['Lamentations']='เพลงคร่ำครวญ'; |
33 |
$book['Ezekiel']='เอเสเคียล'; |
34 |
$book['Daniel']='ดาเนียล'; |
35 |
$book['Hosea']='โฮเชยา'; |
36 |
$book['Joel']='โยเอล'; |
37 |
$book['Amos']='อาโมส'; |
38 |
$book['Obadiah']='โอบาดีย์'; |
39 |
$book['Jonah']='โยนาห์'; |
40 |
$book['Micah']='มีคาห์'; |
41 |
$book['Nahum']='นาฮูม'; |
42 |
$book['Habakkuk']='ฮาบากุก'; |
43 |
$book['Zephaniah']='เศฟันยาห์'; |
44 |
$book['Haggai']='ฮักกัย'; |
45 |
$book['Zechariah']='เศคาริยาห์'; |
46 |
$book['Malachi']='มาลาคี'; |
47 |
$book['Matthew']='มัทธิว'; |
48 |
$book['Mark']='มาระโก'; |
49 |
$book['Luke']='ลูกา'; |
50 |
$book['John']='ยอห์น'; |
51 |
$book['Acts']='กิจการของอัครทูต'; |
52 |
$book['Romans']='โรม'; |
53 |
$book['1Corinthians']='1โครินธ์'; |
54 |
$book['2Corinthians']='2โครินธ์'; |
55 |
$book['Galatians']='กาลาเทีย'; |
56 |
$book['Ephesians']='เอเฟซัส'; |
57 |
$book['Philippians']='ฟีลิปปี'; |
58 |
$book['Colossians']='โคโลสี'; |
59 |
$book['1Thessalonians']='1เธสะโลนิกา'; |
60 |
$book['2Thessalonians']='2เธสะโลนิกา'; |
61 |
$book['1Timothy']='1ทิโมธี'; |
62 |
$book['2Timothy']='2ทิโมธี'; |
63 |
$book['Titus']='ทิตัส'; |
64 |
$book['Philemon']='ฟีเลโมน'; |
65 |
$book['Hebrews']='ฮีบรู'; |
66 |
$book['James']='ยากอบ'; |
67 |
$book['1Peter']='1เปโตร'; |
68 |
$book['2Peter']='2เปโตร'; |
69 |
$book['1John']='1ยอห์น'; |
70 |
$book['2John']='2ยอห์น'; |
71 |
$book['3John']='3ยอห์น'; |
72 |
$book['Jude']='ยูดา'; |
73 |
$book['Revelation']='วิวรณ์'; |
74 |
|
75 |
//
|
76 |
// Send a GET requst using cURL
|
77 |
// @param string $url to request
|
78 |
// @param array $get values to send
|
79 |
// @param array $options for cURL
|
80 |
// @return string
|
81 |
//
|
82 |
function curl_get($url, array $options = array()) |
83 |
{
|
84 |
$defaults = array( |
85 |
CURLOPT_URL => $url, |
86 |
CURLOPT_HEADER => 0, |
87 |
CURLOPT_RETURNTRANSFER => TRUE, |
88 |
CURLOPT_TIMEOUT => 4 |
89 |
);
|
90 |
|
91 |
$ch = curl_init(); |
92 |
curl_setopt_array($ch, ($options + $defaults)); |
93 |
if( ! $result = curl_exec($ch)) |
94 |
{
|
95 |
trigger_error(curl_error($ch)); |
96 |
}
|
97 |
curl_close($ch); |
98 |
return $result; |
99 |
}
|
100 |
|
101 |
//
|
102 |
// Function: getBibleVerse
|
103 |
//
|
104 |
// Description: This function is for retrieving a Bible
|
105 |
// verse from the api.preachingcentral.com
|
106 |
// web site.
|
107 |
//
|
108 |
// Inputs:
|
109 |
// $verse The verses to be searched for.
|
110 |
// $version The version of the bible to use.
|
111 |
//
|
112 |
function getBibleVerse($verse, $version) { |
113 |
global $book; |
114 |
|
115 |
$result = ""; |
116 |
$raw = urlencode($verse); |
117 |
$xml = curl_get("http://api.preachingcentral.com/bible.php?passage=$raw&version=$version"); |
118 |
$xml_parser = xml_parser_create(); |
119 |
xml_parse_into_struct($xml_parser, $xml, $vals, $index); |
120 |
xml_parser_free($xml_parser); |
121 |
|
122 |
$first = 0; |
123 |
$quote = 0; |
124 |
|
125 |
foreach ($vals as $xml_elem) { |
126 |
if(strcmp($xml_elem['tag'],"TEXT") === 0) { |
127 |
if($quote == 0) { |
128 |
$result = $result . ' "' . $xml_elem['value']; |
129 |
$quote = 1; |
130 |
} else { |
131 |
$result = $result . " " . $xml_elem['value']; |
132 |
}
|
133 |
}
|
134 |
if(strcmp($xml_elem['tag'],"RESULT") === 0) { |
135 |
if($first == 0) { |
136 |
if(strcmp($version, "thai") === 0) { |
137 |
//
|
138 |
// The site only return book names in English. Translate them
|
139 |
// to Thai.
|
140 |
//
|
141 |
$blist = explode(" ", $xml_elem['value']); |
142 |
$bname = ''; |
143 |
$bver = ''; |
144 |
if(count($blist) == 3) { |
145 |
$bname = $blist[0] . $blist[1]; |
146 |
$bver = $blist[2]; |
147 |
} elseif (count($blist) == 4) { |
148 |
$bname = $blist[0] . $blist[1] . $blist[2]; |
149 |
$bver = $blist[3]; |
150 |
} else { |
151 |
$bname = $blist[0]; |
152 |
$bver = $blist[1]; |
153 |
}
|
154 |
$result = $book[$bname] . " " . $bver; |
155 |
} else { |
156 |
//
|
157 |
// English is fine here.
|
158 |
//
|
159 |
$result = $xml_elem['value']; |
160 |
}
|
161 |
$first = 1; |
162 |
} else { |
163 |
$result = $result . '"' . "\n\n" . $xml_elem['value']; |
164 |
}
|
165 |
$quote = 0; |
166 |
}
|
167 |
}
|
168 |
return $result . '"'; |
169 |
}
|
170 |
|
171 |
//
|
172 |
// Get the PopClip Environment variables for the
|
173 |
// extension.
|
174 |
//
|
175 |
$verse = trim(getenv('POPCLIP_TEXT')); |
176 |
$qKJV = getenv('POPCLIP_OPTION_BIBLEKJV'); |
177 |
$qThaiKJV = getenv("POPCLIP_OPTION_BIBLETHAIKJV"); |
178 |
$keycode = intval(getenv('POPCLIP_MODIFIER_FLAGS')); |
179 |
$results = ""; |
180 |
|
181 |
|
182 |
//
|
183 |
// If the preference is set to KJV or the command key
|
184 |
// is pressed, then get the verse from the English KJV
|
185 |
// and add it to the result. If both the command key
|
186 |
// and the control key is pressed, then get the KJV also.
|
187 |
//
|
188 |
if(($qKJV[0] == '1')||($keycode == 1048576)||($keycode == 1310720)) { |
189 |
$results .= getBibleVerse($verse, "kjv") . "\n" ; |
190 |
}
|
191 |
|
192 |
//
|
193 |
// If the preference is set to the Thai KJV or the
|
194 |
// control key is press then get the verse from the
|
195 |
// Thai KJV and add it to the result. If both the
|
196 |
// command key and the control key is pressed,
|
197 |
// then get the Thai version also.
|
198 |
//
|
199 |
if(($qThaiKJV[0] == '1')||($keycode == 262144)||($keycode == 1310720)) { |
200 |
$results .= getBibleVerse($verse, "thai") . "\n"; |
201 |
}
|
202 |
|
203 |
//
|
204 |
// Anything echoed from the script will be pasted in
|
205 |
// to the top most application by PopClip. If the results
|
206 |
// is nothing, then return the verse.
|
207 |
//
|
208 |
if(strcmp($results,"")===0) { |
209 |
echo $verse; |
210 |
} else { |
211 |
echo $results; |
212 |
}
|
213 |
|
214 |
?>
|
Первым делом в скрипт массив названий книг в Библии. Этот массив предназначен для перевода английской книги названия своим тайским эквивалентом. Веб-API, расширение использует только дает ссылки на английском языке. Так, английские названия книги Библии должен быть переведен на Тайский язык.
Первая функция является вспомогательной функцией. Он является PHP рутина для запроса информации из веб-сайта с помощью Curl и возвращая результаты вызывающей программе. Ввод URL-адрес запроса.
Вторая функция является основной функцией для обработки Библейский стих. Он будет просить стих Библии и обработать полученный XML в более удобном виде для последующей вставки в текстовый редактор или то, что в настоящее время программа активно. Параметры фактического стих Библии и целеуказателем, для которых Библия просить. Для короля Джеймса Библии короля Иакова. Тайский Библии, это тайский. Вы можете получить другие коды по ссылке выше сайте.
Получение информации из окружающей среды
PopClip отправляет данные на скрипт через переменные окружения. Это простой способ общения. Это, как вы получить доступ к этой информации.
1 |
|
2 |
//
|
3 |
// Get the PopClip Environment variables for the
|
4 |
// extension.
|
5 |
//
|
6 |
$verse = trim(getenv('POPCLIP_TEXT')); |
7 |
$qKJV = getenv('POPCLIP_OPTION_BIBLEKJV'); |
8 |
$qThaiKJV = getenv("POPCLIP_OPTION_BIBLETHAIKJV"); |
9 |
$keycode = intval(getenv('POPCLIP_MODIFIER_FLAGS')); |
10 |
$results = ""; |
Функции PHP функции getenv() будет извлекать переменную среды приведены в строку для вызова функции. Все переменные среды-это строки и должны быть использованы в качестве таковых. Различные переменные окружения:
POPCLIP_TEXT
Эта переменная является выбор, когда PopClip был вызван. Поскольку пользователь расширение может выбрать лишние пробелы, я всегда хотел использовать функция TRIM (),
чтобы удалить лишние пробелы.
POPCLIP_OPTION_BIBLEKJV
Эта переменная является параметром о получении стих из Библии короля Джеймса. Он представляет собой строку, содержащую символ 1, Если True, в противном случае он содержит символ 0.
POPCLIP_OPTION_BIBLETHAIKJV
Эта переменная является параметром о получении стих из тайского короля Джеймса. Он представляет собой строку, содержащую символ 1, Если True, в противном случае он содержит символ 0.
POPCLIP_MODIFIER_FLAGS
Это говорит использовать то, что клавиши были нажаты в то время как PopClip действий был выбран. Все прошло в переменной среды является строкой. Поэтому, струны должны быть переведены на легкий в использовании, а также Формат. Я использовать intval()
функция для преобразования строки в целое число.
Все различные ключевые значения кодов приведены в PopClip расширения на github.
Как видно, каждый параметр в настройках для расширение имеет свои собственные соответствующие переменные окружения.
Переменной $result также имеет значение пустой строки для следующих двух разделах, чтобы заполнить.
Обработка переменных окружения
Основной частью любого расширения PopClip принимать переменные, которые передаются в окружающую среду и сделать что-то полезное с ним.
1 |
|
2 |
//
|
3 |
// If the preference is set to KJV or the command key
|
4 |
// is pressed, then get the verse from the English KJV
|
5 |
// and add it to the result.
|
6 |
//
|
7 |
if(($qKJV[0] == '1')||($keycode == 1048576)||($keycode == 1310720)) { |
8 |
$results .= getBibleVerse($verse, "kjv") . "\n" ; |
9 |
}
|
Эта часть кода будет извлечь стих из Библии короля Джеймса, если он был указан в настройках (переменная $qKJV) или клавишу Command была нажата при выборе PopClip действий ($код 1048576). Эта часть кода будет извлечь стих из Библии короля Джеймса, если он был указан в настройках (переменная $qKJV) или клавишу Command была нажата при выборе PopClip действий ($код 1048576). Он также будет просить его, если как контролировать и командной клавиши не нажимаются ($код 1310720). Поскольку переменная $qKJV является строкой, которая является 1 или 0, вы можете проверить первый символ должен быть символом 1. Таким образом, это не процесс в число. Что может сэкономить время!
Если условие истинно, то и стихи получаются с помощью getBibleVerse (функции)
и добавляется к $результирующую строку.
1 |
|
2 |
//
|
3 |
// If the preference is set to the Thai KJV or the
|
4 |
// control key is press then get the verse from the
|
5 |
// Thai KJV and add it to the result.
|
6 |
//
|
7 |
if(($qThaiKJV[0] == '1')||($keycode == 262144)||($keycode == 1310720)) { |
8 |
$results .= getBibleVerse($verse, "thai") . "\n"; |
9 |
}
|
Здесь он похож. Если Тайский Король Джеймс версии был выбран в настройках ($qThaiKJV) или клавиша Ctrl нажатой при выборе PopClip действий ($код 262144), затем Тайский Король Джеймс версии будет предложено. Он также будет просить его, если как контролировать и командной клавиши не нажимаются ($код 1310720).
Если условие истинно, то и стихи получаются с помощью getBibleVerse ()
и добавляется к $результирующую строку.
1 |
|
2 |
//
|
3 |
// Anything echoed from the script will be pasted in
|
4 |
// to the top most application by PopClip. If the results
|
5 |
// is nothing, then return the verse.
|
6 |
//
|
7 |
if(strcmp($results,"")===0) { |
8 |
echo $verse; |
9 |
} else { |
10 |
echo $results; |
11 |
}
|
Вот, результаты должны быть эхом. Но, если буфер результатов пуст, то стих должен быть отражен. Если пустая строка повторяется, он эффективно удаляет то, что было выбрано. Поскольку все опции, можно получить здесь с $results
переменная пуста. Хорошая практика программирования говорит нам всегда принимать каждую возможность во внимание.
Использование
Когда расширение загружается в PopClip и предпочтения устанавливаются, расширение проста в использовании. Просто выделите текст, который является ссылкой на Библию.



Когда появится PopClip бар, выберите белый Библию и выбор будет изменен в стих. Здесь предпочтения были созданы для упо и ThaiKJV версии для печати.



Если текст не соответствует регулярному выражению в Библии ссылки, то иконка Библия не будут показаны.



Это помогает экономить недвижимости на PopClip-бар. Всякий раз, когда вы создаете расширение, думать о том, как свести к минимуму ненужные явления расширения.
Резюме
РезюмеТеперь у вас есть аккуратный расширения PopClip для получения стихи с веб-сайта и вставить их в приложение. Даже лучше, теперь вы знаете, как создать панель настроек для своего расширения, добраться до этой информации от вашего расширения, манипулировать выделенный текст и вставить его обратно в ТОП самых приложений. Вы можете взять этот код и развернуть его или использовать его как каркас для собственного расширения PopClip. Пусть все знают, как вы используете его в комментариях!