Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 420 сообщений
Cообщения с меткой

wiki - Самое интересное в блогах

Следующие 30  »
vsemmoney

ANGRY BIRDS WIKI - turbobiti.ru - Игры с выводом денег - Форум о заработке в интернете и инвестициях

Пятница, 03 Июня 2016 г. 23:26 (ссылка)
vsemmoney.ru/topic/3585-ang...rbobitiru/


ANGRY BIRDS WIKI - turbobiti.ru - отправлено в Игры с выводом денег: Я не админ и не владелец проекта. Вся информация взята с сайта проекта.

продав...

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

О бедной XWiki замолвите слово — 2

Четверг, 17 Марта 2016 г. 14:40 (ссылка)

image



В первой части статьи я рассказывал о том как сделать стандартный интерфейс более комфортным, однако с тех пор утекло достаточно воды, что бы вышли как новые версии xWiki-движка, так и поменялся интерфейс в сторону улучшения юзабилити. По этому в новой статье я предлагаю обсудить тюнинг и более тонкую настройку xWiki для портативного клиента (на базе связки Jetty и HSQLDB). Оговорюсь сразу, я не считаю это лучшей реализацией из возможных, но учитывая удобство развертывания портативной версии (скопировал в нужную паку и запустил), считаю что для индивидуальной работы или работы небольшого коллектива в спартанских условиях — это лучший вариант.



Добро пожаловать под Cut



Экспозиция

Сперва несколько замечаний:



1. Для того что бы xWiki запустилась необходимо что бы на ПК используемого в качестве хоста была установлена Java

2. Портативная версия, о настройке которой пойдет речь, запускается как на ПК под управлением Windows, так и Linux, однако в паре моментов, о которых будет оговорено отдельно, тюнинг будет отличаться.

3. На взгляд автора, исходя из его эмпирического опыта, для комфортной работы отдельно выделенному хосту желательно иметь отдельно выделенный двух-ядерный процессор семейства Intel/AMD и оперативной памяти не менее 3-4Гб, или аналогично настроенную виртуальную машину). В случае если хост это ПК/ноутбук для офисной работы, то рекомендую оперативную память проапгрейдить минимум до 4Гб, а так же поставить процессор i3 (или его аналог) или выше.

4. Для корректного внесения изменения в файлы конфигураций wiki-движка использовать Notepad++ или аналогичный.

5. После каждого изменения рекомендую делать промежуточный бэкап версий, на всякий случай.

6. Программа настраивалась под себя, для удобства структурирования результатов работы инженером ПТО/сметчиком.



Завязка

Скачать последнюю, на момент написания статьи, версию XWiki можно по следующей ссылке:

enterprise.xwiki.org/xwiki/bin/view/Main/Download

Установка
Варианты установки поддерживают: Windows, Debian, веб-контейнер (веб-сервер) — *.war, мультисистемный формат — *.jar и портативную версию вики на базе связки Jetty+HSQLDB, которая, ИМХО, наиболее удобна для настройки/эксплуатации Пользователем как в Windows, так и в Linux.



Для начала работ по настройке и тюнингу необходимо распаковать файлы из архива ZIP в корень диска (также рекомендуется переименовать папку до более короткого пути, например так: «D:\xwiki»).

Структура файлов и каталогов
. .

DIR data_____________Данные и БД

DIR jetty_____________Jetti

DIR META-INF_________Лицензия и замечания по ПО

DIR webapps__________движок xWiki

start_xwiki.bat

start_xwiki.sh

start_xwiki_debug.bat

start_xwiki_debug.sh

stop_xwiki.bat

stop_xwiki.sh



Запуск осуществляется файлом start_xwiki.bat для Windows (start_xwiki.sh для Linux через терминал), в котором уже прописаны все необходимые настройки. Окно консоли при этом рекомендуется свернуть. Теперь нам необходимо открыть окно web-браузера (окно консоли при этом закрывать категорически не рекомендуется), и ввести указанный URL из консоли (терминала), вида: http://localhost:8080/xwiki/bin/view/Main/



Теперь можно работать



Логин и пароль администратора по умолчанию:

Login: Admin

Password: admin



Развитие

I. Структура хранения информации.
Для хранения данных портативная версия основанная на Jetti использует базу HSQLDB со всеми ее плюсами и минусами, в частности стоит программное ограничение на вложения превышающие 32Мб (которое можно увеличить при желании, но не с этой БД). Возможно в конкретно Вашем случае этого будет более чем достаточно, но если забить HSQLDB мелкими файлами (фото 1..30Мб) до более чем 4Гб, то система начинает работать медленнее, а в какой-то момент попросту отказывается принимать новые вложения. Для того что бы разделить текст и вложения, а так же лучше всего подойдет следующий метод, а именно: xWiki поддерживает хранение файлов в папках на жестком диске.



Первым делом мы меняем расположение хранение вложенных файлов с БД на файловую систему, для этого необходимо внести изменения в xwiki.cfg (..\webapps\xwiki\WEB-INF\) (Последовательность символов #-# и # в файлах конфигурации означает комментарий)



xwiki.store.attachment.hint = file

xwiki.store.attachment.versioning.hint = file

xwiki.store.attachment.recyclebin.hint = file



Первая переменная здесь означает что вложения будут писаться на жесткий диск. Вторая означает, что версии вложений так же будут хранится на жестком диске, третья означает что корзина с удаленными файлами так же будет хранится на жестком диске. Минус данного решения состоит в нагрузке на путь к файлам, которые ложатся на файловую систему



Так же в документации на сайте следует замечание, что руками в этой структуре файлов ковыряться не надо, иначе произойдет рассогласование между данными и ссылками, а так же можно получить ошибку.



известный Баг
There is a bug in XWiki, that prevents restoring attachments from the recycle bin via UI: you will find empty LiveTable. Attachment delete action brings new version to the document, so, the correct way to restore the attachment is to rollback to the necessary version. If you delete the document with the attachment and then click delete again to permanently expunge the document from history, the attachment will be removed from your system together

One of the options to avoid mess with attachments in the filesystem until this bug would be fixed, just turn off recycle bin for attachments at all.



примерный перевод

Существует ошибка в XWiki, которая мешает восстановить удаленные вложения из корзины через пользовательский интерфейс: вы найдете пустой LiveTable. Действие по удалению вложения сбивает счетчик версии документа, поэтому, правильный путь, чтобы восстановить вложение — это откат до нужной версии. Если удалить документ с приложением, а затем нажмите кнопку еще раз, чтобы удалить навсегда удалялись документ из истории, вложенный файл будет удален из системы вместе. Один из вариантов, чтобы избежать путаницы с вложениями в файловой системе, пока эта ошибка не будет исправлена, просто отключить корзины для всех удаленных вложений



Т.к. в пользовательском интерфейсе в корзине удаленные вложения не значатся (к удаляемым страницам это не относится) я рекомендую отключить корзину для удаленных файлов и их версий, пока этот баг не будет исправлен:

storage.attachment.recyclebin=0

xwiki.store.attachment.versioning=0



Для того что бы действие вступило в силу — перезапустить XWiki



Теперь изменяем ограничение в 32Мб на размер вложений, т.к. оно более не актуально, для этого необходимо:

1. Перейти по адресу: http://«yourwiki»/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object

2. Раскрыть список «XWikiPreferences 0»

3. Проскроллировать вниз до пункта «Maximum Upload Size» и изменить его на любое другое значение (в байтах!!!)

4. Проскроллировать вниз до кнопки «Save»



Для того что бы действие вступило в силу — принудительно обновить страницу.



II. Настройка интерфейса
Общий тюнинг интерфейса XWiki осуществлялся в предыдущей статье, по-этому автор не будет на этом останавливаться подробно, а сосредоточится на подборке новой информации.



III. Настройка интеграции с Office
Конечно же имеется ввиду Open Office/Libre Office. Для начала необходимо установить один из пакетов в систему. Далее необходимо внести изменения в xwiki.properties (..\webapps\xwiki\WEB-INF\) и установить параметр:

openoffice.autoStart=true



а так же прописать пути к каталогам установленного офисного пакета в следующих переменных:

openoffice.homePath=C:/Users/{user}/AppData/Roaming/openOffice.org/3

openoffice.profilePath=C:/Program Files/OpenOffice.org 3



Известный баг и способ его обхода
Из-за бага XWiki bug 7164, XWiki игнорирует переменную openoffice.homePath для office server в файле xwiki.properties. Для этого необходимо дополнительно в Windows модифицировать файл start_xwiki.bat в каталоге XWiki, вставив в него следующую строку (с учетом Вашего пути к установленному пакету офис):

set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.home=«C:\Program Files\LibreOffice 3.4»



для Linux модифицировать файл start_xwiki.sh

set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.path=/usr/lib/libreoffice/


и перезапустить XWiki.



image



image

прим. Ссылка на подробное описание установок на англ.



IV. Расширения для комфортной работы и администрирования
Общий перечень расширений доступен следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Main

Установка всех расширений осуществляется из админки. Всего есть 2 способа установит расширение:

1. Зайти в «Administer Wiki» -> «Extension Manager» -> «Add Extensions». Далее вводится в строку для поиска название или часть названия/функционала на латинице и нажимается «Enter», в выведенных результатах, база расширений как и сами расширения находится на сайте XWiki, кликаем «Install», «Continue»

2. Загружаем с сайта файл(ы) с расширением *.xar, заходим в «Administer Wiki» -> «Content» -> «Import», выбираем и загружаем файл, кликаем по нему в окне и следом соглашаемся импортировать.



Администрирование: Экспорт вложений - Export All Attachments
Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Export+All+Attachments

код доступный по ссылке
=Export Attachments=



{{info}}

By default, the export is made from the **current database** and from **all spaces**.

{{/info}}



{{velocity}}

{{html}}

; Database:

: />

; Space name:

: />

; Path to directory to write to:

: />

; /> Confirm

: />



{{/html}}

{{/velocity}}



{{groovy}}

import com.xpn.xwiki.*;

import com.xpn.xwiki.api.*;

import com.xpn.xwiki.doc.*;



import org.apache.commons.io.FileUtils;



import java.io.File;

import java.net.URL;



class ExportedAttachments {

static attachmentsNo = 0;

}



// Export attachments

def void exportAttachments(XWikiContext context) {

def dirPath = request.dirpath + "/";

def dir = new File(dirPath);



String hqlDocCount = "select distinct count(doc.name) from XWikiDocument as doc";

String hqlDocList = "select doc.fullName from XWikiDocument as doc";



if(request.spaceName && request.spaceName != ''){

hqlDocCount += " where doc.web='" + request.spaceName + "'";

hqlDocList += " where doc.web='" + request.spaceName + "'";

}



XWiki wiki = context.getWiki();



int total = wiki.getStore().search(hqlDocCount, 0, 0, context).get(0);

println "**" + total + "** documents to search for attachments";



List documentNames = null;

int offset = 0;

while (documentNames == null || documentNames.size() == 100) {

documentNames = wiki.getStore().search(hqlDocList, 100, offset, context);



for (docName in documentNames) {

try {

XWikiDocument doc = context.getWiki().getDocument(docName, context);

exportDocAttachments(doc, dir, context);

} catch (Exception e) {

println "{{error}} Error : " + e + "{{/error}}";

}

}



offset += documentNames.size();

}



println "";

println "((({{info}}Export done.{{/info}})))";

println "**" + ExportedAttachments.attachmentsNo + "** attachments exported.";

}



// Export attachments for the given document

def void exportDocAttachments(XWikiDocument doc, File dir, XWikiContext context) {

if(doc.getAttachmentList().size() > 0){

println "* **" + doc.fullName + "**";



for (XWikiAttachment attach in doc.getAttachmentList()) {

println "** " + attach.filename;



try {

// Create file

File spaceDir = new File(dir, java.net.URLEncoder.encode(doc.web));

File docDir = new File(spaceDir, java.net.URLEncoder.encode(doc.name));

File destinationFile = new File(docDir, java.net.URLEncoder.encode(attach.filename));

def attachmentURL = doc.getExternalAttachmentURL(attach.filename, 'download', context);



// Copy attachment from URL

URL url = new URL(attachmentURL);

FileUtils.copyURLToFile(url, destinationFile);



ExportedAttachments.attachmentsNo++;



}catch(Exception e){

println "{{error}} Error: Could not create file: " + e + "{{/error}}";

}

}

}

}



// Handle request

if(request.confirm && request.dirpath){

// Set database

def currentDatabase = xcontext.getDatabase();

def newDatabase = currentDatabase;

if(request.dbName && request.dbName != ''){

newDatabase = request.dbName

}

xcontext.setDatabase(newDatabase);



println "=Exporting attachments from **" + newDatabase + "** wiki=";



// Export

exportAttachments(xcontext.context);



// Reset database

xcontext.setDatabase(currentDatabase);

}

{{/groovy}}





Удобно для того что бы массово сохранять все вложения в каждой конкретной Wiki/СубWiki. Для этого создается отдельная страница с любым наименованием, затем копируется код, страница сохраняется и в получившейся объекте вручную заполняются поля формы.



Минусы решения — заполнение происходит вручную, из-за того что XWiki работает в кодировке UTF-8 имена файлов на кириллице трансформируются набор букв и цифр, что вызывает неудобства. Как это решить? На текущий момент автор находится в творческом поиске.



Галерея для вложений - Lightbox Macro
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Lightbox+Macro

Установка и настройка рассматривались в предыдущей статье



Менеджер задач - Task Manager Application
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Application



Самый что ни наесть менеджер задач. Плюсы в том что бесплатен и, относительно, гибок, минусы упираются в ограничения длины пути для вложенных файлов, из-за чего рекомендуется, если запускать под Windows, имена файлам вложений давать покороче, как и сами названия задач и Project'ов. Так же рекомендуется избегать символа «кавычки», т.к. при редактировании редактор все норовит обрезать имя задачи на конец фразы после первой «кавычки».



Внешнее отображение колонок можно менять, на взгляд автора там несколько больше ненужной для личного пользования информации, а вот важный пункт — "% выполнения" в стандартном отображении отсутствует. Таким образом заходим на страницу Task Manager'а, выбираем Правку страницы обычным редактором, не WYSIWYG и копируем следующий текст:

Код
{{velocity}}

#set ($discard = $services.localization.use('document', 'TaskManager.TaskManagerTranslations'))

#set ($discard = $xwiki.ssfx.use('uicomponents/widgets/userpicker/userPicker.css'))

#set ($columnsProperties = {

'number': {"type":"number","size":10},

'name': {"type":"text","size":10, "link":"view"},

'project': {"type":"list","size":10},

'status': {"type":"list","size":10,"html":true},

'severity': {"type":"list","size":10,"html":true},

'reporter': {"type":"text","size":10,"html":true},

'assignee': {"type":"text","size":10,"html":true},

'duedate': {"type":"text","size":10},

'progress': {"type":"number","size":10, "html":true},

'_actions': {"sortable":false,"filterable":false,"html":true,"actions":["edit","delete"]}

})

#set ($options = {

'className': 'TaskManager.TaskManagerClass',

'resultPage': 'TaskManager.TaskManagerLiveTableResults',

'translationPrefix': 'taskmanager.livetable.',

'tagCloud': true,

'rowCount': 1000,

'maxPages': 100,

'selectedColumn': 'number',

'defaultOrder': 'asc'

})

#set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions'])

#livetable('taskmanager' $columns $columnsProperties $options)

{{/velocity}}



Здесь добавляется поле 'progress': 'progress': {«type»:«number»,«size»:10, «html»:true},, т.е. прогресс в строке #set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions']) этот параметр добавляется после project, в случае если на Ваш взгляд некоторые колонки лишние, то их отображение можно убрать именно здесь, отредактировав строку.



Чего данный Task Manager не умеет, так это уведомлять о просроченном задании и вообще сигнализировать. Возможно авторы добавят это в следующей версии или выйдет новый Task Manager с улучшенным функционалом. Однако для структурирования информации и общей работы с платформой Wiki — он хорош. Из минусов так же стоит отметить отсутствие WYSIWYG редактора при создании и редактировании задач, однако макросы и код программирования эти страницы выполняют корректно.



Файловый менеджер - File Manager Application
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application

Вариант для хранения под рукой необходимых файлов — личное/общественное мини-облако. В отличие от Export All Attachments корректно обрабатывает кириллицу при выгрузке файлов на ПК.



Мастер Диаграмм - Diagram Application
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Diagram+Application



Планировщик встреч - Meeting Application
image

еще картинки
image



image



Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Meeting+Application

Планировщик встреч, имеет встроенный графический интерфейс календаря, а так же привязывается картинку из GoogleMaps к месту встречи.



Календарь - Mocca Calendar Application
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/MoccaCalendar

Календарь — ежедневник.



Элементы интерфейса - XWiki Back To Top
Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Back+To+Top

При прокрутке текста, занимающего больше одной страницы, в правом нижнем углу окна появляется кнопка «Вверх»



Элементы интерфейса - Tabs Macro
image



image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Tabs+Macro

Макрос позволяющий добавить в редактируемую страницу вкладки

Код для примера
{{tabs idsToLabels='tabId11=My xwiki-wide tabs, tabId12=My working tabs :)' /}}

(%id="tabId11"%)((({{box cssClass="tabId11div"}}

First tab!

{{/box}}

I can post any content here

)))



(%id="tabId12"%)((({{box cssClass="tabId12div"}}

Second tab!

{{/box}}

And here too

)))







Элементы интерфейса - ShowHide Macro
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Ajax+and+Show+Hide+Macro

Настраиваемый спойлер для текста.



Аннотации (интегрированный макрос)
image

Описание на английском доступно по следующей ссылке:

extensions.xwiki.org/xwiki/bin/view/Extension/Annotations+Application

вместо тысячи слов…











Кульминацияция

XWiki — это вики второго поколения, написанная на на языке Java, лицензия распространения LGPL, функциональность включает в себя блог, инструменты API, комментарии, аутентификацию по LDAP, экспорт страниц в PDF. Используется многими компаниями по всему миру. 25 языков интерфейса, включая русский.



Целью второй статьи является описание настроек для работы в походных условиях, например в командировке. Что необходимо инженеру ПТО? Ноутбук с дисплеем 15", пакет офисных программ, некоторая система для хранения и структурирования информации и, хотя бы на 2-3 часа в день точка доступа в интернет, для приемки и отправки почты. Почему Wiki? Потому что исполнительная документация регулярно правится и переписывается, т.е. требуется версионность, которую легко организовать на жестком средствами ОС, но в то же время комментарии к версиям порой ценнее файлов, а так же необходимо приложение позволяющее вести некоторый дневник событий и микрособытий, что с успехом решают приложения встреч(Calendar) и задач (Task'ов).



Итог работы:

Теперь у нас есть Вики-движок включающий функционал:

— Блога;

— WYSIWIG редактора;

— Галереи изображений;

— Возможности редактирования и создания новых макросов;

— Возможности программирования скриптов (Velocity, Groovy, Python, Ruby and PHP) и поддержки синтаксиса популярных Вики-движков (Confluence, JSPWiki, Creole, MediaWiki, and TWik);

— Календаря и планировщика встреч;

— Менеджера задач;

— Построения диаграмм;

— Интеграцией с Офисными приложений;

— Менеджера файлов.



Спасибо за внимание. :)



Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/279101/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Приметы псевдорусости -- традиционная клоунада.

Пятница, 29 Января 2016 г. 19:52 (ссылка)

Alex Mashin‎ мозгами думает или у него их нет. Не Perfect оскорблял, а клон-Sauerstoff (который даже отделить "липучки" в копируемых наименованиях и текстах, как "Полонид серебра(I)‎‎" или "Оксид меди(II)‎‎" к примеру, не может) первым начал хамить и оскорблять участников, и -- Perfect держал лишь бой с ответом на провокации, а это не оскорбление.

Похоже, что вам всем уж похеру созданный сайт и запал кончился: ни разу небыло реакции на удаления явных вандализмов ни одним из вас, но были случаи, когда подобный вандализм организовывался и создавался самими администраторами. Был бы Sauerstoff реально рядом, то Perfect по-русски начистил бы паскуде морду -- в реале (и не только, возможно). Если заблокирован Perfect, то админ должен был заблокировать и очередного клона-Sauerstoff за создание или начало конфликта.

Получается, одному можно оскорблять, лезть не в свои дела, изменять наименование статей и переправлять их в авторское пространство по своему тугоумию, дебилизму и бредовым мнениям, а другие покорно и молча (как русские холопы) должны смотреть на этот идиотизм псевдо-барина?

Какие вы все русские?! Что-то совершенно не похоже, что они -- русские, есть вообще в Традиции.

И после таких инсинуаций, будет утверждаться, что привилегированный пидор-Sauerstoff -- не клон?! Дуру не включайте и не гоните гусей... Вам совершенно похуй русские и всё русское претит, и сайт вы создали лишь для того, чтобы посмеяться над русскими в очередной раз. Что, -- смешно, да? Хорошо смеётся тот, кто смеётся последним.

Мои идеи были подхвачены, к сожалению, не русскими -- хотя им предлагалось, и развивают (наживаясь теперь на этих идеях) тоже другие.

Newyorker или Perfect должны также иметь возможность гасить конфликты в момент зарождения и соответственно иметь административные права, или более высокий ранг, так как в Традиции порой и админы совершают глупости. Или вы все там можете лишь показные споры по поводу переноса и ссылок на статьи из Лурки-дурки устраивать? Миг по-идиотски безграмотно именует статьи (как "Передача зрительных биосигналов при зрении"‎, и всем тоже по-барабану).

Оказывается, не только израильский Миг не владеет русской словесностью, но и остальные -- не желающие даже видеть и осознавать пояснительные статьи о словах, которые возникают именно при обнаружении неверного их использования нацменами. Они сначала поступили по квотам в ВУЗы -- как нацкадры и нацмены, или -- национальные меньшинства (учась кое-как или чему-нибудь и как-нибудь, -- о чём теперь с гордостью и утверждают, -- сдавая зачёты и экзамены за баранов и взятки иные), а теперь "учат" других как жить, что говорить и как печатать по-русски -- удаляя информацию и оскорбляя при этом авторов статей!

Правильно говорят, что русские ничего до конца не доводят, но очень завидуют при этом другим? Додумывают или бредят? Или кто-то от американских санкций с голоду пухнуть начал и до того ослаб, что думать и двигаться перестал?

Миг начал ныть про некую дороговизну и излишность статей и информации, не понимая, что каждая его запятая или откат и клонирование одних и тех же статей Sauerstoff-ыми, Афиногеновыми, Мигами, Димонами и иными... под различными заголовками (в том числе и авторскими) -- биты памяти в электронном пространстве жёсткого диска компьютера или "винчестера" (как он именовался по-русски первоначально).

Машкову больше грантов не дают, и даже отдали под суд...

С ехидством и злобой писать о недостатках РуВП, имея огромное бревно в своём собственном глазу интернет-ресурса. Хоть бы не позорились в таком случае на российском телевидении, говоря о некой "русской альтернативе".


В чём же смысл?
А смысл есть и в этом...

Комментарии (2)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

И вновь, -- о древнем русском слове... -- в повторах и примерах.

Воскресенье, 06 Сентября 2015 г. 15:04 (ссылка)

Яр (крутой обрыв у берега), яр-кий (что режет и колит глаза), ярь (ранняя весна), яр-ость, ярый (яростный, срывающийся), яровой (ранние посевы, взрастающие на весеннем солнце, но при неустойчивой погоде со срывами к холодам и даже снегу весеннему снегу), Ярила (русско-славянский бог Солнца)... Яр-и-ло ("молодое" -- то горячее, то холодное -- весеннее Солнце и праздник, посвящённый ему и его утишению (не теши кол на голове и не тешить по голове, а утихомирить) во взрослении и просветлении "к добру, к ласке и любви" от зимы к лету, для зарождения новой счастливой жизни) яв-и-ло мир-и-ло мил-ло и всё вокруг у-гомон-и-ло: ло (low "лоу" -- низкий, невысокий, низменный, подлый, тихий и т.п.; law "ло" -- закон, право, суд, "строгость закона" полицейский порядок и т.д., но... love "лав" -- есть или быть в любви, любовь, люблю, страсть, влюблённость и т.п.).

Комментарии (0)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Мягкое печенье, большие коржики.

Среда, 02 Сентября 2015 г. 14:47 (ссылка)

DSC06711 (700x525, 154Kb)
0,5 стакана кокосового масла
0,5 стакана сахара
0,5 стакана сахарной пудры
1 ч. ложку ванильного сахара или 1,5 гр. ванилина
0,5 стакана хлопьев овсянки
2 - 2,5 стакана муки (если тесто жидкое, добавь муки)

2 яйца

1 ст. ложки лимонного сока или сока лайма
0,5 ч. ложки соды

0,5 и меньше стакана воды или молока
Можно ещё сметаны добавить пару ложек или кефир -- сократив количество воды или молока.

Хорошо перемешать (консистенция очень густой сметаны, чтоб не растекалась).

Тесто положить в пластиковый мешок и в холодильник.
Отрезать уголок и выжать на протвень духовки на некотором расстоянии, так как тесто при выпечке ещё растекётся.
Можно чем-нибудь посыпать тесто сверху (простым или крашеным сахаром, крошкой от готового печенья, сухим творогом и т.д.)
Выпекать сразу в нагретой духовке при температуре 200-250 С (350-375 F)
Около 15 минут -- пока чуть подрумянится.
Перед окончанием готовки -- за пару минут, сбрызните печенье немного водой из пульверизатора (распылителя воды или поливеризатора -- от слова поливать, а не пулять): оно быстрее станет румяным.

Похоже на белые мягкие коржики из школьной столовой.

Не используя яиц и заменив кокосовое на сливочное масло, печенье будет более рассыпчатым.

Метки:   Комментарии (2)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] О бедной XWiki замолвите слово

Понедельник, 31 Августа 2015 г. 17:31 (ссылка)

Пролог.



"Ежели Вы вежливы,

То говорите: "Здрасти".

А ежли Вам ответят: "Нет",

Сдерживайте страсти!" (с)



Однажды… когда в очередной раз, выполняя рутинную работу, Ты будешь, теряя время, вспоминать: в каком из вариантов проекта и по какой причине были внесены изменения в расчеты, оформление или текст… о Пользователь — знай, что для тебя настало время борьбы со Страстями за Структурирование! Структурирование, или стратегия организации разрозненной информации, упирается в возможности и способности конкретного человека, продуктивность которого всецело зависит от тех инструментов которыми он пользуется для этих целей, будь то блокнот или АСУ.



На сегодняшний день существует огромное количество таких инструментов прямо и косвенных решающих эту задачу, с разной степенью эффективности, но на мой взгляд будущее за продуктами интегрирующие в себя не только инструменты ввода, сортировки, представления и оформления данных, но так же содержащие инструменты аналитики, программирования и поиска. XWiki, как представителю такого направления и будет посвящена сея статья, которая будет включать в себя обзор, установку и настройку Вики-движка, которая будет интересная как новичкам, так и продвинутым пользователям.



Добро пожаловать под Cut (осторожно — трафик, картинки)



Экспозиция



О Вики-движке XWiki в русскоязычном сегменте Интернета почти ничего нет, кроме общей информации и парочки руководств, что на мой взгляд категорически неверно, ибо это замечательный инструмент и помощник, со своими плюсами и минусами, конечно. XWiki — это Вики-движок второго поколения, который характеризуются возможностью структуризации информации и программного доступа к базе вики. Написан на языке Java, лицензия распространения LGPL, функциональность включает в себя блог, инструменты API, комментарии, аутентификацию по LDAP, экспорт страниц в PDF. Используется многими компаниями по всему миру. 25 языков интерфейса, включая русский. Так же более подробно желающие могут сравнить на wikimatrix с наиболее распространенными в Рунете Вики-движками: DokuWiki и MediaWiki.



Завязка



Скачать последнюю, на момент написания статьи, версию XWiki 7.1.2 можно по следующей ссылке: http://enterprise.xwiki.org/xwiki/bin/view/Main/Download



Варианты установки поддерживают: Windows, Debian, веб-контейнер (веб-сервер) — *.war, мультисистемный формат — *.jar и портативную версию вики на базе связки Jetty+HSQLDB, которая, ИМХО, наиболее удобна для настройки/эксплуатации Пользователем как в Windows, так и в Linux. О ней и пойдет речь.



Для того чтобы установить Xwiki, необходимо чтобы в системе была установлена Java, а так же распаковать файлы из архива ZIP в корень диска (также рекомендуется переименовать папку до более короткого пути, например так: "D:\xwiki-7.1.2"). Запуск осуществляется файлом start_xwiki.bat, в котором уже прописаны все необходимые настройки.



01. окно консоли



Теперь нам необходимо открыть окно web-браузера (окно консоли при этом закрывать категорически не рекомендуется), и ввести указанный URL из консоли, в нашем случае это: panther.itme.info:8080/xwiki/bin/view/Main/



Здесь так же стоит добавить, что порт по умолчанию, с которого стартует XWiki — 8080, если по тем или иным причинам он у вас занят, то его можно изменить, отредактировав через Блокнот start_xwiki.bat.



После загрузки в браузере откроется следующее окно:



02. Первый запуск. Общее окно



Из интересного здесь ссылка на гайд на английском — Documentation, но нас будет интересовать совершенно другое, а именно кликаем в правом верхнем углу на Log-in и вводим для входа в админку:



Login: Admin

Password: admin



Здесь стоит отметить, что в этом месте регистр имеет значение!



03. Редактирование гаджетов



Здесь хочу остановиться на следующем:

1. Боковые панели приобрела дополнительный функционал, который настраивается Пользователем.

2. Функционал в XWiki позволяет на страницах редактировать не только текст, с помощью обычного или WYSIWYG редактора, выводя его в колонки с помощью редактирования Inline form, но и вставлять гаджеты на страницу. Под гаджетом в XWiki понимается выводимый в некоторой области Макрос, т.е. вызов одной или последовательности команд, в частности это может быть ссылка на другую страницу или даже ленту блога, облако тэгов, формы для отправки сообщений и т.д. и т.п.



Макросы в XWiki по сути являются основой данного движка, именно благодаря им Пользователь может настроить практически все, будь то: свое мини-приложение, внешний вид страниц и панелей или интеграция собственного расширения (плагина).



Развитие



Здесь нужно немного отвлечься и рассказать об организационной структуре XWiki, а именно о жизненном цикле вики-страниц. Здесь есть одна тонкость, а именно: Пользователь может создавать Page и Space, и если с Page'ами все более или менее понятно, то при создании Space создается Заголовок области, внутри которого будет создано автоматом Page с именем WebHome, но при этом выводится будет всюду Заголовок области, а адресация будет на WebHome, что может создать некоторые трудности при ссылке на страницу. При этом нет ограничений по уровню вложения, которые можно делать как к Space, так и к Page.



Макросы.



Для начала необходимо выбрать страницу для редактирования и войти в редактор.







Затем необходимо набрать либо в текстовом режиме сам макрос, вместе с параметрами, либо, воспользовавшись графическим интерфейсом выбрать необходимый макрос из списка.









и заполнить необходимые поля:







Но это все была лирика, давайте перейдем к практике и начнем мы с настройки интерфейса. Для этого необходимо кликнуть на левой панели на пиктограмму Panels и в открывшейся странице запустить Panel Wizard. Перед нами предстанет интерфейс настроек администратора, открытый во вкладке Panel Wizard. альтернативный и основной способ перейти к настройкам XWiki — это клик по стрелочке в верхнем выпадающем списке рядом с Home и выбор пункта Administer Wiki.



04. настройка панелей



Вкладка на странице настроек панели Page Layout позволяет настроить расположение, число и ширину колонок нашей вики. Соседствующая рядом вкладка Panel List включает в себя приложения (макросы), которое может быть расположено на наших полях, при этом они включают в себя окошко предпросмотра, а так же управляющие элементы включения/исключения и редактирования содержимого и функций. Предпросмотр для соответствующих приложений, находящихся в виде кнопок и функционала на полях, выключен. Для того что бы настроить функционал приложения — необходимо кликнуть на Edit, что бы удалить макрос — кликнуть на Delete, что бы убрать/поместить на панель приложение/функционал — перетащить используя метод Drag and Drop.



Теперь мы сделаем правую панель навигационной, для этого убираем с правой панели Quick Links и My Recent Modifications и добавляем Tag Cloud, Navigation и Create Page, кликаем на Save the new Layout при этом заходим в правку Navigation и вставляем следующий код, который сделает наш серфинг более удобным:



код для Content
{{velocity}}
#panelheader($services.localization.render('xe.panels.navigation'))
## Escape special characters in macro parameter values.
#set ($openToDoc = $doc.documentReference.toString().replaceAll('([~"])', '~$1'))
{{documentTree showSpaces="false" showWikis="true" showTranslations="false" showAttachments="true"
showChildDocuments="true" compact="true" openTo="document:$openToDoc" /}}
#panelfooter()
{{/velocity}}






Что нам это дает? Это дает отображение древовидную структуру для навигации между вложениями, Pages и Spaces, без вывода дополнительной отвлекающей информации. Теперь настало самое внести вдохнуть краски в наш новый сайт и уйти от плоского интерфейса. Для этого выбираем в меню LOOK & FEEL пункт Presentation. Здесь мы меняем Icon Theme на Silk и Color Theme на Garden.



Вуаля.



05. внешний вид



Теперь пора подумать и о медиа инструментах, а именно — какой же блог без галереи и графики? К сожалению встроенной галереи XWiki не имеет, а потому придется потрудиться что бы установить и настроить дополнение (Extensions), для этого заходим в меню EXTENSION MANAGER пункт Add Extensions. Здесь можно из веб репозитория установить необходимые дополнения, в данном случае нас будет интересовать плагин Lightbox Macro, с помощью которого удобно организовывать слайд шоу, а так же объединять по группам картинки. Для установки вводим в строку поиска слово lightbox и в полученном результате поиска кликаем install.



06. установка макроса







Теперь переходим на главную страницу нашей XWiki и здесь в панели Navigation мы обнаружим 2 новых Space Lightbox и LightboxMacro. Значит наступило самое время применить макрос в дело, для этого создаем тестовый Space под именем Test page и во вкладке Attachments загружаем картинки для тестирования галереи, в нашем случае это будут фотографии со дня празднования 9го мая 2014 года снятые на ничем не примечательный китайфон на Андроиде Jiayu G3.



Код для галереи
{{velocity}}
#set($myArray=$doc.AttachmentList)
#set($myArray=$sorttool.sort($myArray, 'filename'))
#foreach ($item in $myArray)#if($item.isImage()){{lightbox image=$item.filename title="Hello" width="20%" group="d1" height="20%"/}}#end#end
{{/velocity}}






Текст кода интерпретируется следующим образом: в массив $myArray закладывается список вложений на странице, затем производится сортировка по имени (для тех случаев если загруженные файлы с камеры были загружены в разнобой, но в то же время хранят в имени файла дату и время съемки, или хотя бы нумерации очередности снимков). После чего для каждого вложения, если оно есть изображение, выводится миниатюра высотой 20% от оригинала. Здесь так же нужно сказать, что параметры макроса включают в себя следующие пункты:






























Param Description
image(required) An url or the attached image file. For example, "cat.jpg" or "xwiki:Space.Page@cat.jpg" or "www.google.com/logos/wateronmoon09-hp.gif"
title A short description
width The width of the image.
height The height of the image.
group A string that identify it as a member of a group. A group of images can be viewed as a series of slides.
07. Превью галереи



Чем удобен этот макрос? Тем, что автоматизирует процесс вывода вложений вне зависимости от того сколько, каких изображений и под каким именем были загружены. Так же можно кликнуть на любую из миниатюр и во всплывающем окне будет выведено понравившееся фото, что так же является несомненным плюсом. Но ложечкой дегтя в данном случае будет тот факт, что во всплывающем окне изображение будет открыто в оригинальном размере, что не всегда удобно, особенно, если это разрешение превышает рабочее разрешение экрана монитора. В таком случае делаем следующее:

1. Переходим по ссылке на страницу макроса Lightbox;

2. Кликаем на стрелочке меню Edit и в раскрывшемся списке выпадающего меню выбираем Objects;

3. В новом окне переходим к коду развернув списки Objects of type XWiki.JavaScriptExtension (1) и Objects of type XWiki.StyleSheetExtension (1);

4. Теперь в код JS вносим следующие изменения:



изменения в код JS
+ resizeSpeed: 10, // controls the speed of the image resizing animations (1=slowest and 10=fastest)

...

+ var maxheight = 640;

+ if(imgPreloader.height > maxheight)

+ {

+ var scale = imgPreloader.height/maxheight

+ imgPreloader.height = maxheight;

+ imgPreloader.width = imgPreloader.width/scale;

+ }







Код целиком с учетом исправлений

//----------------------------------------------------------------------------
//
// Lightbox v2.04
// by Lokesh Dhakar - http://www.lokeshdhakar.com
//
// Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
// - Free for use in both personal and commercial projects
// - Attribution requires leaving author name, author link, and the license info intact.
//
// Cleaned up using jslint.
//----------------------------------------------------------------------------------
/*global LightboxOptions, Lightbox, Builder, Class, Prototype, $, $$, $w , Effect*/
LightboxOptions = Object.extend({
fileLoadingImage: '$doc.getAttachmentURL("loading.gif")',
fileBottomNavCloseImage: '$doc.getAttachmentURL("closelabel.gif")',
overlayOpacity: 0.8, // controls transparency of shadow overlay
animate: true, // toggles resizing animations
resizeSpeed: 10, // controls the speed of the image resizing animations (1=slowest and 10=fastest)
borderSize: 10, //if you adjust the padding in the CSS, you will need to update this variable
// When grouping images this is used to write: Image # of #.
// Change it for non-english localization
labelImage: "Image",
labelOf: "of"
}, window.LightboxOptions || {});
// -----------------------------------------------------------------------------------
var Lightbox = Class.create();
Lightbox.prototype = {
imageArray: [],
activeImage: undefined,
// initialize()
// Constructor runs on completion of the DOM loading. Calls updateImageList and then
// the function inserts html at the bottom of the page which is used to display the shadow
// overlay and the image container.
//
initialize: function () {
this.updateImageList();
this.keyboardAction = this.keyboardAction.bindAsEventListener(this);
if (LightboxOptions.resizeSpeed > 10) {
LightboxOptions.resizeSpeed = 10;
}
if (LightboxOptions.resizeSpeed < 1) {
LightboxOptions.resizeSpeed = 1;
}
this.resizeDuration = LightboxOptions.animate ? ((11 - LightboxOptions.resizeSpeed) * 0.15) : 0;
this.overlayDuration = LightboxOptions.animate ? 0.2 : 0; // shadow fade in/out duration
// When Lightbox starts it will resize itself from 250 by 250 to the current image dimension.
// If animations are turned off, it will be hidden as to prevent a flicker of a
// white 250 by 250 box.
var size = (LightboxOptions.animate ? 250 : 1) + 'px';
// Code inserts html at the bottom of the page that looks similar to this:
//
//

//
var objBody = $$('body')[0];
objBody.appendChild(Builder.node('div', {id: 'overlay'}));
objBody.appendChild(Builder.node('div', {id: 'lightbox'}, [
Builder.node('div', {id: 'outerImageContainer'},
Builder.node('div', {id: 'imageContainer'}, [
Builder.node('img', {id: 'lightboxImage'}),
Builder.node('div', {id: 'hoverNav'}, [
Builder.node('a', {id: 'prevLink', href: '#' }),
Builder.node('a', {id: 'nextLink', href: '#' })
]),
Builder.node('div', {id: 'loading'},
Builder.node('a', {id: 'loadingLink', href: '#' },
Builder.node('img', {src: LightboxOptions.fileLoadingImage})
)
)
])
),
Builder.node('div', {id: 'imageDataContainer'},
Builder.node('div', {id: 'imageData'}, [
Builder.node('div', {id: 'imageDetails'}, [
Builder.node('span', {id: 'caption'}),
Builder.node('span', {id: 'numberDisplay'})
]),
Builder.node('div', {id: 'bottomNav'},
Builder.node('a', {id: 'bottomNavClose', href: '#' },
Builder.node('img', { src: LightboxOptions.fileBottomNavCloseImage })
)
)
])
)
]));
$('overlay').hide().observe('click', (function () {
this.end();
}).bind(this));
$('lightbox').hide().observe('click', (function (event) {
if (event.element().id == 'lightbox') {
this.end();
}
}).bind(this));
$('outerImageContainer').setStyle({ width: size, height: size });
$('prevLink').observe('click', (function (event) {
event.stop();
this.changeImage(this.activeImage - 1);
}).bindAsEventListener(this));
$('nextLink').observe('click', (function (event) {
event.stop();
this.changeImage(this.activeImage + 1);
}).bindAsEventListener(this));
$('loadingLink').observe('click', (function (event) {
event.stop();
this.end();
}).bind(this));
$('bottomNavClose').observe('click', (function (event) {
event.stop();
this.end();
}).bind(this));
var th = this;
(function () {
var ids =
'overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink ' +
'imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose';
$w(ids).each(function (id) {
th[id] = $(id);
});
}).defer();
},
//
// updateImageList()
// Loops through anchor tags looking for 'lightbox' references and applies onclick
// events to appropriate links. You can rerun after dynamically adding images w/ajax.
//
updateImageList: function () {
this.updateImageList = Prototype.emptyFunction;
document.observe('click', (function (event) {
var target = event.findElement('a[rel^=lightbox]') || event.findElement('area[rel^=lightbox]');
if (target) {
event.stop();
this.start(target);
}
}).bind(this));
},
//
// start()
// Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
//
start: function (imageLink) {
$$('select', 'object', 'embed').each(function (node) {
node.style.visibility = 'hidden';
});
// stretch overlay to fill page and fade in
var arrayPageSize = this.getPageSize();
$('overlay').setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
var effect = new Effect.Appear(this.overlay, { duration: this.overlayDuration, from: 0.0, to: LightboxOptions.overlayOpacity });
this.imageArray = [];
var imageNum = 0;
if ((imageLink.rel == 'lightbox')) {
// if image is NOT part of a set, add single image to imageArray
this.imageArray.push([imageLink.href, imageLink.title]);
} else {
// if image is part of a set..
this.imageArray =
$$(imageLink.tagName + '[href][rel="' + imageLink.rel + '"]').
collect(function (anchor) {
return [anchor.href, anchor.title];
}).
uniq();
while (this.imageArray[imageNum][0] != imageLink.href) {
imageNum++;
}
}
// calculate top and left offset for the lightbox
var arrayPageScroll = document.viewport.getScrollOffsets();
var lightboxTop = arrayPageScroll[1] + (document.viewport.getHeight() / 10);
var lightboxLeft = arrayPageScroll[0];
this.lightbox.setStyle({ top: lightboxTop + 'px', left: lightboxLeft + 'px' }).show();
this.changeImage(imageNum);
},
//
// changeImage()
// Hide most elements and preload image in preparation for resizing image container.
//
changeImage: function (imageNum) {
this.activeImage = imageNum; // update global var
// hide elements during transition
if (LightboxOptions.animate) {
this.loading.show();
}
this.lightboxImage.hide();
this.hoverNav.hide();
this.prevLink.hide();
this.nextLink.hide();
// HACK: Opera9 does not currently support scriptaculous opacity and appear fx
this.imageDataContainer.setStyle({opacity: 0.0001});
this.numberDisplay.hide();
var imgPreloader = new Image();
// once image is preloaded, resize image container
imgPreloader.onload = (function () {
var maxheight = 640;
if(imgPreloader.height > maxheight)
{
var scale = imgPreloader.height/maxheight
imgPreloader.height = maxheight;
imgPreloader.width = imgPreloader.width/scale;
}

this.lightboxImage.src = this.imageArray[this.activeImage][0];
this.resizeImageContainer(imgPreloader.width, imgPreloader.height);
}).bind(this);
imgPreloader.src = this.imageArray[this.activeImage][0];
},
//
// resizeImageContainer()
//
resizeImageContainer: function (imgWidth, imgHeight) {
// get current width and height
var widthCurrent = this.outerImageContainer.getWidth();
var heightCurrent = this.outerImageContainer.getHeight();
// get new width and height
var widthNew = (imgWidth + LightboxOptions.borderSize * 2);
var heightNew = (imgHeight + LightboxOptions.borderSize * 2);
// scalars based on change from old to new
var xScale = (widthNew / widthCurrent) * 100;
var yScale = (heightNew / heightCurrent) * 100;
// calculate size difference between new and old image, and resize if necessary
var wDiff = widthCurrent - widthNew;
var hDiff = heightCurrent - heightNew;
if (hDiff != 0) {
var scaleXEffect = new Effect.Scale(this.outerImageContainer, yScale, {scaleX: false, duration: this.resizeDuration, queue: 'front'});
}
if (wDiff != 0) {
var scaleYEffect = new Effect.Scale(this.outerImageContainer, xScale, {scaleY: false, duration: this.resizeDuration, delay: this.resizeDuration});
}
// if new and old image are same size and no scaling transition is necessary,
// do a quick pause to prevent image flicker.
var timeout = 0;
if ((hDiff == 0) && (wDiff == 0)) {
timeout = 100;
if (Prototype.Browser.IE) {
timeout = 250;
}
}
(function () {
this.prevLink.setStyle({ height: imgHeight + 'px' });
this.nextLink.setStyle({ height: imgHeight + 'px' });
this.imageDataContainer.setStyle({ width: widthNew + 'px' });
this.showImage();
}).bind(this).delay(timeout / 1000);
},
//
// showImage()
// Display image and begin preloading neighbors.
//
showImage: function () {
this.loading.hide();
var effectAppear = new Effect.Appear(this.lightboxImage, {
duration: this.resizeDuration,
queue: 'end',
afterFinish: (function () {
this.updateDetails();
}).bind(this)
});
this.preloadNeighborImages();
},
//
// updateDetails()
// Display caption, image number, and bottom nav.
//
updateDetails: function () {
// if caption is not null
if (this.imageArray[this.activeImage][1] != "") {
this.caption.update(this.imageArray[this.activeImage][1]).show();
}
// if image is part of set display 'Image x of x'
if (this.imageArray.length > 1) {
this.numberDisplay.update(LightboxOptions.labelImage + ' ' + (this.activeImage + 1) + ' ' + LightboxOptions.labelOf + ' ' + this.imageArray.length).show();
}
var effectParallel = new Effect.Parallel(
[
new Effect.SlideDown(this.imageDataContainer, { sync: true, duration: this.resizeDuration, from: 0.0, to: 1.0 }),
new Effect.Appear(this.imageDataContainer, { sync: true, duration: this.resizeDuration })
],
{
duration: this.resizeDuration,
afterFinish: (function () {
// update overlay size and update nav
var arrayPageSize = this.getPageSize();
this.overlay.setStyle({ height: arrayPageSize[1] + 'px' });
this.updateNav();
}).bind(this)
}
);
},
//
// updateNav()
// Display appropriate previous and next hover navigation.
//
updateNav: function () {
this.hoverNav.show();
// if not first image in set, display prev image button
if (this.activeImage > 0) {
this.prevLink.show();
}
// if not last image in set, display next image button
if (this.activeImage < (this.imageArray.length - 1)) {
this.nextLink.show();
}
this.enableKeyboardNav();
},
//
// enableKeyboardNav()
//
enableKeyboardNav: function () {
document.observe('keydown', this.keyboardAction);
},
//
// disableKeyboardNav()
//
disableKeyboardNav: function () {
document.stopObserving('keydown', this.keyboardAction);
},
//
// keyboardAction()
//
keyboardAction: function (event) {
var keycode = event.keyCode;
var escapeKey;
if (event.DOM_VK_ESCAPE) { // mozilla
escapeKey = event.DOM_VK_ESCAPE;
} else { // ie
escapeKey = 27;
}
var key = String.fromCharCode(keycode).toLowerCase();
if (key.match(/x|o|c/) || (keycode == escapeKey)) { // close lightbox
this.end();
} else if ((key == 'p') || (keycode == 37)) { // display previous image
if (this.activeImage != 0){
this.disableKeyboardNav();
this.changeImage(this.activeImage - 1);
}
} else if ((key == 'n') || (keycode == 39)) { // display next image
if (this.activeImage != (this.imageArray.length - 1)) {
this.disableKeyboardNav();
this.changeImage(this.activeImage + 1);
}
}
},
//
// preloadNeighborImages()
// Preload previous and next images.
//
preloadNeighborImages: function () {
var preloadNextImage, preloadPrevImage;
if (this.imageArray.length > this.activeImage + 1) {
preloadNextImage = new Image();
preloadNextImage.src = this.imageArray[this.activeImage + 1][0];
}
if (this.activeImage > 0) {
preloadPrevImage = new Image();
preloadPrevImage.src = this.imageArray[this.activeImage - 1][0];
}
},
//
// end()
//
end: function () {
this.disableKeyboardNav();
this.lightbox.hide();
var effectFade = new Effect.Fade(this.overlay, { duration: this.overlayDuration });
$$('select', 'object', 'embed').each(function (node) {
node.style.visibility = 'visible';
});
},
//
// getPageSize()
//
getPageSize: function () {
var xScroll, yScroll, pageHeight, pageWidth, windowWidth, windowHeight;
if (window.innerHeight && window.scrollMaxY) {
xScroll = window.innerWidth + window.scrollMaxX;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
if (self.innerHeight) { // all except Explorer
if (document.documentElement.clientWidth) {
windowWidth = document.documentElement.clientWidth;
} else {
windowWidth = self.innerWidth;
}
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if (yScroll < windowHeight) {
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the viewport
if (xScroll < windowWidth) {
pageWidth = xScroll;
} else {
pageWidth = windowWidth;
}
return [pageWidth, pageHeight];
}
};
document.observe('dom:loaded', function () {
var lightbox = new Lightbox();
});







Теперь правим Objects of type XWiki.StyleSheetExtension (1)



Изменения в XWiki.Style
меняем

-#lightbox{ position: absolute; left: 0; width: 100%; z-index: 1001; text-align: center; line-height: 0;}#lightbox img{ width: auto; height: auto;}#lightbox a img{ border: none; }



на



+#lightbox{ position: absolute; left: 0; width: 100%; z-index: 1001; text-align: center; line-height: 0;}#lightbox img{ max-height: 640px;}#lightbox a img{ border: none; }





Итоговый XWiki.Style
#lightbox{

position: absolute;

left: 0;

width: 100%;

z-index: 1001;

text-align: center;

line-height: 0;

}

#lightbox img{ max-height: 640px;}

#lightbox a img{ border: none; }

#outerImageContainer{

position: relative;

background-color: #fff;

width: 250px;

height: 250px;

margin: 0 auto;

}

#imageContainer{

padding: 10px;

}

#loading{

position: absolute;

top: 40%;

left: 0%;

height: 25%;

width: 100%;

text-align: center;

line-height: 0;

}

#hoverNav{

position: absolute;

top: 0;

left: 0;

height: 100%;

width: 100%;

z-index: 10;

}

#imageContainer>#hoverNav{

left: 0;

}

#hoverNav a{

outline: none;

}

#prevLink, #nextLink{

width: 49%;

height: 100%;

background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */

display: block;

}

#prevLink {

left: 0;

float: left;

}

#nextLink {

right: 0;

float: right;

}

#prevLink:hover, #prevLink:visited:hover {

background: url($doc.getAttachmentURL(«prevlabel.gif»)) left 15% no-repeat;

}

#nextLink:hover, #nextLink:visited:hover {

background: url($doc.getAttachmentURL(«nextlabel.gif»)) right 15% no-repeat;

}

#imageDataContainer{

font: 10px Verdana, Helvetica, sans-serif;

background-color: #fff;

margin: 0 auto;

line-height: 1.4em;

overflow: auto;

width: 100%;

}

#imageData{

padding:0 10px;

color: #666;

}

#imageData #imageDetails{

width: 70%;

float: left;

text-align: left;

}

#imageData #caption{

font-weight: bold;

}

#imageData #numberDisplay{

display: block;

clear: left;

padding-bottom: 1.0em;

}

#imageData #bottomNavClose{

width: 66px;

float: right;

padding-bottom: 0.7em;

outline: none;

}

#overlay{

position: absolute;

top: 0;

left: 0;

z-index: 90;

width: 100%;

height: 500px;

background-color: #000;

}

/* IE7 hack */

*+html #overlay {

position: fixed;

}





Итак что же здесь было изменено? XWiki.Style передает в код JS габариты изображения, а затем производится масштабирование под высоту 640 пикселей (но так же можно в любой момент изменить значение под себя), это связано с тем, что у моей жены дисплей ноутбука разрешением 1360х768 пикселей. Как сделать так что бы от ОС получить разрешение пользователя в код — я не знаю. Предупреждая дальнейшие замечания к качеству правок в коде — данные правки были сделаны мной на базе знаний полученных в школе на уроках информатики QBasic 4.5 и Borland Pascal 7.0.



Кульминацияция



Теперь у нас есть Вики-движок включающий функционал:

— Блога;

— WYSIWIG редактора;

— Галереи изображений;

— Возможность редактирования и создания новых макросов;

— Возможностью программирования и поддержки синтаксиса популярных Вики-движков;

Интеграцию с Open Office(!) (правда для этого необходимо установить и запустить службу или воспользоваться костылями);



Вот что получилось у меня в качестве примера тестового корпоративного сайта:

08. Пример сайта



Продолжение следует...



Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/265811/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Что же лутше?

Пятница, 28 Августа 2015 г. 17:58 (ссылка)

По поводу спорного вопроса, что лутше печатать (не от слова луч улутшать же)...

***
Утвердимъ вѣру едину между собою: аще будетъ ваша християньская вѣра лутше нашей... (Журнал Министерства народнаго просвѣщения) 1877 год.

Если бы земля сія лутше была обрабоmываема и болѣе населена, mо бы могла почиmaшься найлучшею вѣ свѣmѣ. (Академическія извѣстія) 1781 год.

Лутше в скудости праведнику, нежели богатство грешных. 48. Лутше малое, нежели в неволе з богатством. 49. Лутше не свыкатся, когда разставатся. (Из истории русской фольклористики, "Наука," Ленинградское отделение, 1978 г.)


СССР нет уже 25 лет, но... русскую словесность никто не отменял -- даже в бытность СССР.

Комментарии (10)КомментироватьВ цитатник или сообщество
Евгений_Простомолотов

WikiGrain. Евгений Простомолотов

Среда, 03 Июня 2015 г. 05:11 (ссылка)
archiveshare.net/v2/0306201.../?archSh=1

WikiGrain - we save knowlege. Last saved articles for deletion from Wikipedia

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Без балды...

Суббота, 23 Мая 2015 г. 05:57 (ссылка)

С завистью, ироничным презрением и некой обидой и злостью, замечающие чьи-то чувства уверенности в собственном достоинстве и значимости, не имеют ни чувств, ни уверенности, ни -- тем паче, -- знаний и значимости, в самих себе.

Комментарии (7)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Осы

Среда, 22 Апреля 2015 г. 04:24 (ссылка)

Социально-общественная бумажно-гнездовая оса -- род Полисты (лат. Polistes), подсемейства Полистины (лат. Polistinae), семейства Настоящие осы (лат. Vespidae) из отряда Перепончатокрылые (лат. Hymenoptera), класса Насекомые (лат. Insécta).

Северная бумажно-гнездовая бурая оса
англ. Northern Paper Wasp (лат. Polistes fuscatus)

* * *

Polistes fuscatus by Pogrebnoj-Alexandroff



Если рассматривать наименование этих насекомых с позиции русского языка, а не тупого калькирования иностранных терминов, то это не "бумажная" оса, а бумажно-гнездовая, так как она не из бумаги сделана, а строит свои гнёзда из бумагоподобного волокна, -- получая свой строительный материал путём пережёвывания растительной и/или древесной ткани, а так-как они живут большой социальной группой, то -- социально-общественные (если не одиночны или не социально-парные), а не просто "общественные", так как нам они не принадлежат.

Превью DSC06485 (392x700, 342Kb)Превью DSC06488 (700x700, 570Kb)Превью DSC06496 (700x435, 344Kb)Превью DSC06497 (700x525, 407Kb)Превью DSC06499 (525x700, 393Kb)Превью DSC06500 (700x437, 348Kb)Превью DSC06501 (700x525, 401Kb)Превью DSC06505 (700x527, 375Kb)Превью DSC06507 (700x700, 526Kb)Превью DSC06508 (700x527, 406Kb)Превью DSC06509 (700x437, 351Kb)Превью DSC06513 (699x700, 466Kb)Превью 001 (640x480, 463Kb)Превью 003 (640x480, 430Kb)Превью 028 (640x480, 491Kb)Превью 030 (640x480, 503Kb)

1.
01 (640x480, 194Kb)

2.
02 (640x480, 196Kb)

3.
03 (640x480, 308Kb)

4.
05 (640x480, 325Kb)

5.
06 (640x480, 325Kb)

6.
07 (640x277, 196Kb)

7.
013 (640x480, 231Kb)

8.
019 (640x480, 297Kb)

9.
020 (640x480, 321Kb)

10.
021 (640x480, 302Kb)

11.
023 (640x480, 271Kb)

12.
024 (640x480, 269Kb)

13.
025 (640x480, 292Kb)

14.
026 (640x480, 239Kb)

15.
027 (640x480, 247Kb)

16.
028 (640x480, 312Kb)

17.
031 (640x480, 311Kb)

18.
033 (640x480, 228Kb)

19.
034 (640x480, 238Kb)

20.
035 (640x480, 300Kb)

21.
0211 (640x480, 332Kb)

22.
DSC06520 (700x438, 395Kb)

23.
DSC06538 (700x526, 356Kb)

24.
DSC06540 (700x438, 309Kb)

25.
DSC06543 (700x437, 306Kb)

26.
DSC06545 (700x437, 310Kb)

27.
DSC06546 (700x438, 306Kb)

28.
DSC06547 (435x700, 338Kb)

29.
DSC06548 (524x700, 392Kb)

30.
DSC06549 (700x437, 333Kb)

31.
DSC06550 (700x437, 336Kb)

32.
DSC06551 (700x436, 338Kb)

33.
DSC06552 (699x700, 490Kb)

34.
DSC06554 (700x656, 466Kb)

35.
DSC06556 (700x700, 508Kb)

36.
DSC06558 (700x393, 300Kb)

1.
DSC06568 (700x526, 522Kb)

2.
DSC06569 (700x525, 568Kb)

3.
DSC06573 (524x700, 469Kb)

4.
DSC06575 (700x436, 432Kb)

5.
DSC06576 (699x700, 636Kb)

6.
DSC06577 (700x698, 568Kb)

7.
DSC06578 (699x700, 614Kb)

8.
DSC06580 (437x700, 365Kb)

9.
DSC06584 (700x353, 307Kb)

10.
DSC06585 (700x385, 366Kb)

11.
DSC06586 (700x525, 460Kb)

12.
DSC06587 (700x525, 486Kb)

13.
DSC06588 (700x437, 430Kb)

14.
DSC06589 (700x438, 430Kb)

15.
DSC06591 (700x370, 312Kb)

16.
DSC06592 (700x330, 310Kb)

17.
DSC06593 (700x518, 517Kb)

18.
DSC06594 (700x423, 413Kb)

19.
DSC06595 (593x700, 543Kb)
Комментарии (18)КомментироватьВ цитатник или сообщество
lj_artemdragunov

Просьба к знающим Википедию

Вторник, 24 Марта 2015 г. 19:17 (ссылка)

Громадная личная просьба к людям, знающим Вики.
Напишите пожалуйста статью про Олега Сиренко и статью Олега Сухачевского.
Мы предоставим некоторые материалы. Думаю близкие тоже не будут против, так как Олежки были публичными людьми, хорошими авторами и оставили после себя много интересного, что должно по идее быть зафиксированным и на Вики.

С уважением.
Сообщество Тунгуска и друзья Олегов.....

http://artemdragunov.livejournal.com/3687958.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Rost

Нашёл в wiki-педии опечатку (проверь своё внимание)

Вторник, 03 Февраля 2015 г. 15:19 (ссылка)

Посмотрел только что короткий ролик от McLaren Honda на тему фильма "Назад в будущее" (если интересно, его показали в программе "Гран-При" на канале "Россия-2" 30/01/2015).

Там упоминалось Гран-При Бразилии 1998 года. Решил посмотреть, что там было такого особенного. Посмотрел. Не нашёл особенное, нашёл опечатку. Опечатка тут

Не подскажите, кто это может исправить?
Метки:   Комментарии (16)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Из древнего -- русского: ...в словесности.

Воскресенье, 30 Ноября 2014 г. 15:58 (ссылка)

* живата́ -- там где живут или место жизни (как отчизна -- отца и значима) и всё живое.

Нераздельное древнерусское письмо.

-ень

* день, будень, тень, лень, пень, брень, бивень, камень, олень, парень, валень, витень, ровень, голень, жмень, звень, зелень, збитень, злыдень, зудень, зень (земля, пол, дол)... мень(а) (меня́, ме́ня, меня́я, меня́ть) -- е (есть, в качестве присутсвия или наличия) нь (на/ня "возьми", "держи/ать", "удерживать") ать (начало повторного движения) = ньать (на "держать", взять), мьать (мять, мни -- "держи и жми").

ло
* ветрило (парус), коло, около, рол/роло (свёрток), рули́ло/рули́ть/руло́вер, пуловер (сдерживающий или отделяющий тепло от холода)
* ло у ("low") = низко, ослаблять, расслаблять, сдерживать, тихомирить, занижать, уменьшать силу... (откуда и "любить" тоже, как и сдерживающие валы);
* ло в е ("love") = "ловить" и привязывать к себе... -- любить (есть пойман и быть в плену неких сетей и страстей);
* вал ("wal/wall") -- "то, что навалено и сдерживает движение": -- стена, преграда, насыпь, барьер и т.д.;
* лава -- валит и всё сметает со своего пути.

Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

IRA -- международный фонетический алфавит.

Воскресенье, 24 Ноября 2014 г. 03:09 (ссылка)

Какие-то странные метаморфозы произошли в нашим Солнцем в международном фонетическом начертании (ед. ч. [ˈson.ʦɘ], мн. ч. [ˈson.ʦə]), если произносится оно -- хотя и с кратким глухим, но всё же звуком «Л» и последующим носовым «Н» -- отличным от звуков в словах «слон» и «соло». Неужели филологам и лингвистам этого незаметно? Как-то ж за русскую державу-то, должно быть -- обидно. В инородных языках, как раз, есть такие звуки тоже -- чтобы иметь возможность их отразить. Как же быть? Или найти соответствующий символ, установив в соответствующее место, или создать его для отражения короткого и глухого звука «Л» в словах.

Кстати, то же самое и со словом «известность» (ɪzvˈesnəsʲtʲ), которое может быть произнесено и без буквы «Т» конечно (нерусскими), но — с хорошей дикцией, всё же буква «Т» произносится: как некое «глухое и быстрое запинание» в подобии именно звука «Т».

Потом же будут вновь кричать -- с пеной у рта, и махать руками и/или ногами топать, истеря и требуя "АИ" (источники неких "авторитетов") в доказательства своей глупости.

Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
TayaOstrr

Givenchy

Понедельник, 17 Ноября 2014 г. 14:11 (ссылка)


https://ru.wikipedia.org/wiki/Givenchy#.D0.96.D0.B....B5.D1.80.D0.B8.D1.8F_Givenchy



Givenchy  - Dahlia Divin










Givenchy  Dahlia Divin - Новинка 2014 года продолжает серию «Dahlia», начатую в 2011 году .  Квинтэссенция женственности - Dahlia Divin отражает утонченный характер и обворожительные манеры своей обладательницы. Женщина Далия Дивин – настоящее очарование: грациозная, чуткая, нежная, сдержанная и слегка дерзкая, что придает ей особой неповторимости. Парфюмерная композиция Givenchy  Dahlia Divin раскрывается нотами сочной сливы Мирабель, в сердце звучат аккорды головокружительного жасмина самбак и нежных белых цветов. Завершается чудесная симфония  древесной базой, которая состоит из нот сандала, чувственного ветивера и пачули.




Givenchy  - Dahlia Noir L'eau



Givenchy  Dahlia Noir L'eau - Этот аромат стал воплощением необычной и таинственной женщины в аромате черного георгина, который символизирует опасность и нежность, чувственность и чистоту. Новый парфюм  стал настоящим открытием 2013 года! Создатель изящного, переливчатого букета: Франсуа Демаши. Начальные ноты композиции : цитрусы и нероли; Ноты «сердца»: роза; базовые оттенки: пачули, мускус и кедр.



Givenchy  - Dahlia Noir



 Dahlia Noir- «Роковой цветок» - именно так называет этот аромат креативный директор Дома Givenchy Riccardo Tisci. Аромат посвящен истинной  женщине сильной и чувственной. Этот аромат способен окутать женщину вуалью таинстенности. Этим парфюмом стоит воспользоваться любительницам цветочно-шипровых композиций.Аромат является воплощеним стиля моды Дома Givenchy.Так же, как цветок, он воплощает в себе женственный аромат с букетом роз, ирисов и мимозы, но также и мощный и запоминающийся аромат, с нотами пачули и бобов тонка.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
civilink1

«Ленинопад» в Украине. Массовый демонтаж памятников коммунистической идеологии

Вторник, 28 Октября 2014 г. 22:59 (ссылка)

pamyatnik-leninu (360x288, 20Kb)


Волна свержения памятников коммунистической идеологии, особенно монументов Владимиру Ленину пронеслась по Украине, как ураган. Ленин «падал» и в городах-миллионниках и в небольших селах, которых на карте найти очень сложно. Снесли не один, не десять и даже не сто монументов. Значительно больше. Как всё это происходило? Сколько памятников всего было снесено? Какие ещё скульптуры были лишены чести стоять на всеобщем обозрении жителей и гостей Украины? http://civilink.ru/leninopad-v-ukraine/ - очень подробно поданы ответы на эти и многие другие вопросы. Наглядная карта помогает создать общую картину «Ленинопада» в её размахе. Сухие цифры дают представление о том, сколько же памятников Ильичу было установлено всего на территории Украины. А ведь первая волна сноса монументов Ленину прошла в Украине сразу после обретения независимости. И для второй волны осталось их немало.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
gemchuginkaII

Вдруг заинтересовало ))))))

Вторник, 28 Октября 2014 г. 12:21 (ссылка)

Нана (значения)

Нана — имя:

Топоним

Нана — провинция Буркина-Фасо- )))))))))))))))) (g)

Имя

Нана — вождь чирикауа( ^_)))))) (g)

Нана — царица Грузии, жена Мириана III- это я знаю,т.к. благодаря этой умнейшей царице Грузия приняла христианство.Теперь очень многих девочек в её часть называют Наной.

далее60663863_Su4wKREEVz (23x23, 0Kb)
Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Псевдо-русская Традиция опять в ЖОПЕ!

Пятница, 11 Июля 2014 г. 23:15 (ссылка)

Враги и конкуренты, ликуют...

Такое впечатление, что сами организаторы, админы и бывшие участники Традиции, загоняют проект в БАО — в том числе и анонимным флудом с троллингом. Тут как раз начинает проявляться характерная особенность некоторых русских (и называющих себя таковыми до определённого момента ситуаций и/или жизни), — запустение, не доведение начатого дела до конца, агрессия и зависть к кому-то и чему-то, расстройства за некие провалы и неудачи (как с «национализмом» в пределах советского и постсоветского новообразования). Если вам всё похер уже, то так и напечатайте, чтобы прекратить тут вообще всякую деятельность и перенести что-то интересное в иное место для сохранности и дальнейшего развития. Зачем создавать некий эксклюзив и показывать, что не только Запад может что-то делать? Или, все кто был и что-то делал — спились, и теперь — в бреду, «белочек» ищут? А некто, создав иную альтернативу, набегает сюда последнее время только срать или что-нибудь спереть для своего псевдо-нового цикличного детища. — Adama (обсуждение) 16:21, 11 июля 2014 (UTC)

Якобы "русская" энциклопедия "Традиция" погрузилась в мрак анала.

Тебе Serebr, уже давно похер развитие Традиции, как и многим остальным — из твоего бывшего и настоящего окружения. Что, — полный вариант отредактированной статьи мешает спиздить текст в «Циклопедию»? Так я понимаю эти выходки последнего времени? — Adama (обсуждение) 18:47, 11 июля 2014 (UTC)

Правда глаза колит, в зависти и ненависти -- к иному мнению и людям..

Метки:   Комментарии (174)КомментироватьВ цитатник или сообщество
Marina_Harper

https://en.wikipedia.org/wiki/Putin_khuilo

Вторник, 17 Июня 2014 г. 16:24 (ссылка)


дещица

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
PogrebnojAlexandroff

Ноги: голенище

Четверг, 05 Июня 2014 г. 23:37 (ссылка)

Нога человека
...область от нижней части бедра до подошвы стопы...
* * *

golenische (700x477, 33Kb)


A. Лядвея -- с ляжкой сзади, голенью сбоку и стегном спереди; B. Колено -- с коленной чашечкой спереди, коленным суставом внутри, коленным сухожилием и коленным сгибом сзади; C. Голень -- с будылью почти на 2/3 от колена, икрами сзади, берцом передней части, и голенищем ниже средней сужающейся части голени в 1/3 части голени от ступни; D. Ступня с ахиллом сзади; E. Голеностопный сустав, со щиколотками и лодыжками; F. Стопа с пяткой, подъёмом плюсны и пальцами ног.

И ещё ниже голени -- голенище (голени + ещё, и/или -- гол е ни(с/з) ще, где -- переходное звуковое окончание "з/с" может быть диалектически-глухим или непроизносимым). Интересно, что англо-саксонское слово "кни" (knee) -- в современном синонимном эквиваленте, означает -- колено: нижняя -- "к низу", -- полностью сгибаемая часть тела -- ног, помогающая и опуститься "к низу" тоже -- присев на корточки.

C1. Высокое голенище -- около 2/3 голени от ступни;
C2. Низкое голенище -- около 1/3 голени от ступни.

Выше этого, -- ...по колено.

К стати заметить, что в современных переводах сложносоставных предложений, зачастую -- для более верного смысла, терминологический порядок меняется в противоположном направлении, что -- возможно, возникло в какой-то давний период конфликтного прошлого.
Комментарии (10)КомментироватьВ цитатник или сообщество

Следующие 30  »

<wiki - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda