|
|
Строка 1: |
Строка 1: |
− | '''ВикиЗакладки''' (''WikiBookmarks'') — расширение '''MediaWiki''', позволяющее управлять публичными | + | '''ВикиЗакладки''' (''WikiBookmarks'') — расширение '''MediaWiki''', позволяющее управлять публичными |
− | списками закладок с помощью Wiki-статьи. | + | списками закладок с помощью Wiki-статьи. Автор расширения — [http://yourcmc.ru/wiki/User:VitaliyFilippov Виталий Филиппов]. |
| + | Расширение распространяется по лицензии GPL (3-ей или более поздней версии). А это [http://yourcmc.ru/wiki/WikiBookmarks_(MediaWiki) ссылка на домашнюю страницу расширения]. |
| | | |
− | На странице [[Служебная:Bookmarks]] вы всегда можете (точнее, уже смогли) найти свежую версию | + | На странице [[Служебная:Bookmarks]] Вы всегда можете (точнее, уже смогли :-)) найти свежую версию |
− | справочной информации по ВикиЗакладкам: | + | справочной информации по ВикиЗакладкам. |
| | | |
− | '''ВикиЗакладки''' используются в виде небольшого букмарклета | + | '''ВикиЗакладки''' используются в виде небольшого Javascript-букмарклета ([http://ru.wikipedia.org/wiki/Букмарклет что такое букмарклет?]). |
− | ([http://ru.wikipedia.org/wiki/Букмарклет что такое букмарклет?]). | + | |
| Чтобы установить такой букмарклет себе в браузер, введите название страницы, | | Чтобы установить такой букмарклет себе в браузер, введите название страницы, |
| на которой Вы хотели бы поддерживать список своих закладок (по умолчанию [[{{ns:User}}:{{USERNAME}}/Закладки]]), | | на которой Вы хотели бы поддерживать список своих закладок (по умолчанию [[{{ns:User}}:{{USERNAME}}/Закладки]]), |
Строка 12: |
Строка 12: |
| браузера или добавьте её в закладки браузера. | | браузера или добавьте её в закладки браузера. |
| | | |
− | Далее, находясь на любой странице, которую Вы хотели бы запомнить на странице '''ВикиЗакладок''',
| + | <!-- The following is Wikitext/HTML+JavaScript code for creating bookmarklet. It is localized using <msgid> templates and substituted into Wikitext help files. --> |
− | просто нажмите на добавленную в браузер кнопку. '''ВикиЗакладки''' запомнят адрес текущей страницы,
| + | <html><div style="display:inline-block"><label for="wb_page"><b></html>Страница:<html></b></label><br/> |
− | её заголовок и выделенный на странице текст, если таковой имеется.
| + | <input type="text" id="wb_page" size="20" value="</html>{{ns:User}}:{{USERNAME}}/Закладки<html>" /></div> |
− | | + | <div style="display:inline-block"><label for="wb_text"><b></html>Текст кнопки:<html></b></label><br/> |
− | <html><input type="text" id="wb_page" size="20" value="</html>{{ns:User}}:{{USERNAME}}<html>/Закладки" /> <input type="button" value="Вывести ссылку" onclick="wb_make_link()" /> | + | <input type="text" id="wb_text" size="20" value="</html>В ВикиЗакладки<html>" /></div> |
| + | <input type="button" value="</html>Вывести ссылку<html>" onclick="wb_make_link()" /> |
| <div id="wb_link_div" style="font-weight: bold"></div> | | <div id="wb_link_div" style="font-weight: bold"></div> |
| <script language="JavaScript"> | | <script language="JavaScript"> |
| function wb_make_link() | | function wb_make_link() |
| { | | { |
− | pg = document.getElementById("wb_page").value; | + | var pg = document.getElementById("wb_page").value; |
| + | var t = document.getElementById("wb_text").value; |
| if (pg == "") | | if (pg == "") |
| { | | { |
− | alert("Имя страницы не должно быть пустым!"); | + | alert("</html>Введите, всё-таки, непустое имя страницы для закладок!<html>"); |
| return; | | return; |
| } | | } |
| var d = document.getElementById("wb_link_div"); | | var d = document.getElementById("wb_link_div"); |
| d.innerHTML = ""; | | d.innerHTML = ""; |
− | d.appendChild(document.createTextNode("Перетащите следующую ссылку на панель своего браузера:")); | + | d.appendChild(document.createTextNode("</html>Перетащите следующую ссылку на панель своего браузера:<html>")); |
| d.appendChild(document.createElement('br')); | | d.appendChild(document.createElement('br')); |
| d.appendChild(document.createTextNode("[[ ")); | | d.appendChild(document.createTextNode("[[ ")); |
Строка 36: |
Строка 38: |
| var p=location.protocol;\ | | var p=location.protocol;\ |
| if(p=='chrome:'||p=='about:'||p=='javascript:'){return '<meta http-equiv=%22Refresh%22 content=%220; http://</html>{{SERVERNAME}}{{SCRIPTPATH}}<html>/index.php?title="+encodeURI(encodeURI(pg))+"%22 />';}\ | | if(p=='chrome:'||p=='about:'||p=='javascript:'){return '<meta http-equiv=%22Refresh%22 content=%220; http://</html>{{SERVERNAME}}{{SCRIPTPATH}}<html>/index.php?title="+encodeURI(encodeURI(pg))+"%22 />';}\ |
− | window.open('about:blank','WikiBookmarks','width=400,height=150,menubar=no,location=no,resizable=yes,scrollbars=no');\ | + | var w = window.open('about:blank','WikiBookmarks','width=400,height=150,menubar=no,location=no,resizable=yes,scrollbars=no');\ |
− | var f = document.createElement('form');\ | + | var f = w.document.createElement('form');\ |
− | f.target = 'WikiBookmarks';\
| + | |
| f.method = 'POST';\ | | f.method = 'POST';\ |
| f.acceptCharset = 'UTF-8';\ | | f.acceptCharset = 'UTF-8';\ |
| f.action = 'http://</html>{{SERVERNAME}}{{SCRIPTPATH}}<html>/index.php?title=Special:Bookmarks';\ | | f.action = 'http://</html>{{SERVERNAME}}{{SCRIPTPATH}}<html>/index.php?title=Special:Bookmarks';\ |
− | f.innerHTML = %22<input type='hidden' name='page' value='"+encodeURI(pg)+"' /><input type='hidden' name='url' value='%22+(''+location.href).replace(%22'%22, %22%2527%22)+%22' />\
| + | var inf = function(k,v){var i=w.document.createElement('input');i.type='hidden';i.name=k;i.value=v;f.appendChild(i)};\ |
− | <input type='hidden' name='urltitle' value='%22+(''+document.title).replace(%22'%22, %22%2527%22)+%22' /><input type='hidden' name='selection' value='%22+\
| + | inf('page','"+encodeURI(pg)+"');\ |
− | (function(){var u;if(window.getSelection){u=window.getSelection();}else if(document.selection){u=document.selection.createRange();}else{return '';}if(u.getRangeAt){u=u.getRangeAt(0);}if(u.cloneContents){u=u.cloneContents();d=document.createElement('div');d.appendChild(u);u='%3Chtml>'+d.innerHTML+'%3C/html>';}else if(u.text){u=u.text;}return (''+u).replace(%22'%22, %22%2527%22);}())+\ | + | inf('url',''+location.href);\ |
− | %22' />%22;\
| + | inf('urltitle',''+document.title);\ |
− | document.body.appendChild(f);\ | + | inf('selection',(function(){var u;if(window.getSelection){u=window.getSelection()}else if(document.selection){u=document.selection.createRange()}else{return ''}if(u.getRangeAt){u=u.getRangeAt(0)}if(u.cloneContents){u=u.cloneContents();d=document.createElement('div');d.appendChild(u);if(d.innerHTML==''){u=''}else{u='%3Chtml>'+d.innerHTML+'%3C/html>'}}else if(u.text){u=u.text}return ''+u}()));\ |
| + | w.document.body.appendChild(f);\ |
| f.submit();\ | | f.submit();\ |
| return;\ | | return;\ |
| }())"; | | }())"; |
− | a.innerHTML = 'В ВикиЗакладки'; | + | a.innerHTML = t; |
| d.appendChild(a); | | d.appendChild(a); |
| d.appendChild(document.createTextNode(" ]]")); | | d.appendChild(document.createTextNode(" ]]")); |
Строка 56: |
Строка 58: |
| </script> | | </script> |
| </html> | | </html> |
| + | <!-- End HTML+JavaScript --> |
| + | |
| + | Далее, находясь на любой странице, которую Вы хотели бы запомнить на странице '''ВикиЗакладок''', |
| + | просто нажмите на добавленную в браузер кнопку. '''ВикиЗакладки''' запоминают адрес текущей страницы, |
| + | её заголовок и выделенный на странице текст, если таковой имеется. |
| + | |
| + | Новые закладки добавляются в список в начале статьи, под несколькими уровнями заголовков. |
| + | По умолчанию это заголовки '''== Год ==''' и его дочерний '''=== Месяц Год ===''' (<code>"%Y" "%B %Y"</code>). |
| + | Предполагается, что это используется для классификации закладок по датам. Если Вы хотите изменить |
| + | количество и/или формат заголовков, нужно добавить в начало страницы закладок комментарий вида |
| + | <pre><!--BookmarkHeadings:"%Y" "%Y-%m" "%Y-%m-%d"--></pre> |
| + | Из этого комментария '''ВикиЗакладки''' вырезают все строки, заключённые в кавычки, и используют |
| + | их в качестве заголовков последовательных уровней. Формат строк совпадает с форматом функции PHP |
| + | [http://php.net/manual/en/function.strftime.php strftime()] (на самом-то деле это функция libc, но это не важно). |
| + | |
| + | Также Вы можете изменить формат самих даты-времени, отображаемых перед текстом каждой закладки. |
| + | Для этого в начало страницы закладок нужно добавить комментарий вида |
| + | <pre><!--BookmarkDate:"%d %H:%M:%S"--></pre> |
| + | Строка, указанная в кавычках внутри комментария, и будет принята за формат даты-времени закладок. |
| + | |
| + | [[Категория:Справка]] |
Новые закладки добавляются в список в начале статьи, под несколькими уровнями заголовков.
По умолчанию это заголовки == Год == и его дочерний === Месяц Год === ("%Y" "%B %Y"
).
Предполагается, что это используется для классификации закладок по датам. Если Вы хотите изменить
количество и/или формат заголовков, нужно добавить в начало страницы закладок комментарий вида
Также Вы можете изменить формат самих даты-времени, отображаемых перед текстом каждой закладки.
Для этого в начало страницы закладок нужно добавить комментарий вида
Строка, указанная в кавычках внутри комментария, и будет принята за формат даты-времени закладок.