Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
Современная молодежная рок-группа, появилась она не так давно, за пределы планеты еще не вышла - экспериментирует с реконструкцией death metal и сходных стилей XX века. А The Endless Vision - последний (и единственный) их альбом.
* ++Майк Каховски++, ударные, темноволосый, полный парень.
* ++Анджей Мильник++, клавишник, светловолосый парень с хайром до пояса и взглядом садиста.
* ++Габриэль Сакаручан++, бас-гитара, носит повязку на одном глазу - якобы слепой, хотя известно, что это "стайл".
* ++Дэмиэн "Ямато" Ортега++, вторая гитара, темноволосый мрачный парень с тяжелым взглядом, массивный, но не толстый.
* ++Франц "Харон" Збышек++, солист, худощавый стремительный парень с безумным диапазоном голоса. ДМ: сын м.Клавиуса.
* эльф "друг группы" - темноволосый (красит) ++Рэндальф (Рэн) Айдахо++, 18 лет исполняется в мае 2423 года. Работает в рекламном бизнесе, реклама товаров для инвалидов (протезы, костыли, коляски итд).
----
-- Так мы в одном дворе все вместе росли, друг друга сто лет знаем, Майк (похоже бас-гитарист) этажом ниже живет, остальные тоже рядом.
-- И кем ты У НИХ работаешь?
-- В группе то? Мальчик на побегушках, -- улыбнулся.
-- Хмм... Мальчик или на побегушках?
-- Шутка. Мы просто вместе. Кофе ребятам делаю, технику помогаю раскладывать, тексты помогаю писать.
----
знаешь когда день рожденья у нашей группы?
Сегодня (17 мая?), только это секрет, мне когда тринадцать исполнилось, мы у меня сидели, праздновали, пиво пили, слушали музыку, кривлялись, изображая что мы поем. А потом вдруг Францу пришла идея - а почему бы нам самим не петь? И решили этим заняться.
----
@ALSO@
Квинтет — команда из пяти архетипичных персонажей, дополняющих друг друга. Каждый из участников полезен команде и обладает особыми навыками.
Как правило, состав группы таков:
* Герой (солист). Лидер группы. Смелый, открытый, харизматичный.
* Напарник или «оруженосец» (соло-гитарист). Заместитель, как правило противоположность героя. Если герой честный и прямой, то напарник, скорее всего, антигерой. Если герой — отверженный или слегка аморальный, будет обладать высокими моральными качествами.
* Умник (клавишник). Психологически слаб, зато смышлен и умен. Как правило, нерд и часто попадает в комические ситуации. Может быть неожиданно молод по сравнению с другими участниками (юный гений). Может оказаться трикстером и водить дружбу с силачом.
* Силач (барабанщик). Самый сильный и любит лезть в драку. Может быть недалёким, порой, для усиления эффекта, немым. Бесхитростно выражает свои чувства.
* Девчонка (бэк-вокал, бубен). Миротворец. Сглаживает противоречия между первыми четырьмя. Любимица членов команды. Многие считают ее совершенно бесполезной — эдаким мэскотом. Чаще всего принимает на себя менеджмент группы.
/***
|''Name:''|CloseUnsavedOnCancel|
|''Version:''|2.0.8 (16-Apr-2006)|
|''Author:''|SimonBaird|
|''Adapted By:''|[[Jack]]|
|''Type:''|Plugin|
!Description
When you click new tiddler then click cancel I think the new tiddler should close automatically. This plugin implements that behaviour.
!Revision History
* 1.0.1 (11-Oct-2005) by SimonBaird
* 2.0.8 Made 2.0.x compatible by Jack on 16-Apr-2006
!Code
***/
//{{{
config.commands.cancelTiddler.handler = function(event,src,title) {
if(story.hasChanges(title) && !readOnly)
if(!confirm(this.warning.format([title])))
return false;
story.setDirty(title,false);
if (!store.tiddlerExists(title) || store.fetchTiddler(title).modifier==config.views.wikified.defaultModifier) {
story.closeTiddler(title,false);
store.removeTiddler(title)
} else {
story.displayTiddler(null,title);
}
return false;
}
//}}}
Background: #fff
Foreground: #000
PrimaryPale: #aef
PrimaryLight: #8ad
PrimaryMid: #38c
PrimaryDark: #026
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
QuaternaryPale: #cf8
QuaternaryLight: #8f1
QuaternaryMid: #4b0
QuaternaryDark: #140
Error: #f88
PageTemplate | ViewTemplate | EditTemplate |
|>|>|SiteTitle - SiteSubtitle|
|MainMenu|DefaultTiddlers<<br>>ViewTemplate<<br>>EditTemplate|SideBarOptions|
|~|~|OptionsPanel|
|~|~|AdvancedOptions|
|~|~|<<tiddler Configuration.SideBarTabs>>|
''StyleSheet:'' StyleSheetColors - StyleSheetLayout - StyleSheetPrint
SiteUrl
[[Configuration.SideBarTabs]]
[[DefaultTiddlers]]
[[ToolbarCommands]]
[[TemplatesPanel]]
SideBarTabs
|[[Timeline|TabTimeline]]|[[Все|TabAll]]|[[Tags|TabTags]]|>|>|[[More|TabMore]] |
|>|>||[[Missing|TabMoreMissing]]|[[Orphans|TabMoreOrphans]]|[[Shadowed|TabMoreShadowed]]|
/***
|''Name:''|DeliciousTaggingPlugin|
|''Version:''|0.1|
|''Source''|http://jackparke.googlepages.com/jtw.html#DeliciousTaggingPlugin ([[del.icio.us|http://del.icio.us/post?url=http://jackparke.googlepages.com/jtw.html%DeliciousTaggingPlugin]])|
|''Author:''|[[Jack]]|
!Description
Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.
!Usage
Replace your the editorFooter div in your [[EditTemplate]] with the following:
{{{
<div class='editorFooter' macro='deliciousTagging'></div>
}}}
Старый код:
{{{
<div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
}}}
!Code
***/
//{{{
version.extensions.deliciousTagging = {major: 0, minor: 1, revision: 0, date: new Date("June 11, 2007")};
config.macros.deliciousTagging= {};
config.macros.deliciousTagging.onTagClick = function(e)
{
if (!e) var e = window.event;
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
if (!readOnly)
story.setTiddlerTag(title, tag, 0);
return false;
};
config.macros.deliciousTagging.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
if (tiddler instanceof Tiddler) {
var title = tiddler.title;
if (!e) var e = window.event;
var tags = store.getTags();
var lingo = config.views.editor.tagChooser;
for(var t=0; t < tags.length; t++) {
var theTag = createTiddlyButton( place, tags[t][0], lingo.tagTooltip.format([tags[t][0]]), config.macros.deliciousTagging.onTagClick);
theTag.setAttribute("tag", tags[t][0]);
theTag.setAttribute("tiddler", tiddler.title);
place.appendChild(document.createTextNode(" "));
}
}
};
//}}}
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]] wikibar'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div class='toolbar wikibar' macro='wikibar'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div>
<div class='editorFooter' macro='deliciousTagging'></div>
<!--}}}-->
/***
|Name|FullScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#FullScreenPlugin|
|Version|1.1|
|Requires|~TW2.x|
!Description:
Toggle between viewing tiddlers fullscreen and normally. Very handy for when you need more viewing space.
!Demo:
Click the ↕ button in the toolbar for this tiddler. Click it again to turn off fullscreen.
!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Edit the ViewTemplate to add the fullscreen command to the toolbar.
{{{ |~ViewToolbar|closeTiddler closeOthers +editTiddler > fields permalink references jump fullscreen| }}}
!History:
*25-07-06: ver 1.1
*20-07-06: ver 1.0
!Code
***/
//{{{
var lewcidFullScreen = false;
config.commands.fullscreen =
{
text:" «FullScreen» ",
tooltip:"Fullscreen mode"
};
config.commands.fullscreen.handler = function (event,src,title)
{
if (lewcidFullScreen == false)
{
lewcidFullScreen = true;
setStylesheet('#sidebar, .header , #mainMenu{display:none;} #displayArea{margin:0em 0 0 0 !important;}',"lewcidFullScreenStyle");
}
else
{
lewcidFullScreen = false;
setStylesheet(' ',"lewcidFullScreenStyle");
}
}
config.macros.fullscreen={};
config.macros.fullscreen.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
var label = params[0]||" «Screen» ";
var tooltip = params[1]||"Fullscreen mode";
createTiddlyButton(place,label,tooltip,config.commands.fullscreen.handler);
}
var lewcid_fullscreen_closeTiddler = Story.prototype.closeTiddler;
Story.prototype.closeTiddler =function(title,animate,slowly)
{
lewcid_fullscreen_closeTiddler.apply(this,arguments);
if (story.isEmpty() && lewcidFullScreen == true)
config.commands.fullscreen.handler();
}
Slider.prototype.lewcidStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{
this.lewcidStop();
if (story.isEmpty() && lewcidFullScreen == true)
config.commands.fullscreen.handler();
}
//}}}
* [[Пимонский конфликт: вопросы себе]]
* [[Флект]]
* [[Косточка духа]]
* [[РНК-вирусы]]
* [[GalaxyOS: Программное обеспечение]]
* [[GalaxyOS: Версии OS]]
* [[GalaxyOS: Клавиатуры]]
придумай название для основной операционки, используемой в гэлекси машинах
Бери ибм-овскую маркировку. Звучит хорошо. :)
Скажем, OS/690... :) Или RS/6800
Сделай просто. Возьми имена, скажем, греческих богинь, и назови ими операционки. Ну как:
OS/2 3.0 -- Warp
OS/2 4.0 -- Merlin
OS/2 4.5 -- Aurora
И еще по маркивокам должна быть понятна версия, и тип: серверная или рабочая станция.
RS/7100 v.2.7 -- Афродита
OS/690 v.3.3 -- Ника
Как-нибудь так. Первая -- рабочая станция, вторая -- сервер. :)
Можно, кстати, не греческие а скандинавские имена взять -- оно менее заезжено. Ну там, вроде: Фрейя и т. д.
Можно сервера звать мужскими именами, а рабочие станции -- женскими.
Или наоборот. :)
Обычно они так ни почему не называются. Просторазработчики устраивают что-то вроде голосования, какое имя дать следующей версии. Берут все варианты и начинаю по очереди выкидывать самые ненравящиеся. Когда остается три -- голосуют. Все имена обязаны быть при этом из одного зарание выбраного поля имен. Ну имена богов, названия городов... Что угодно.
Ну давай тогда так. Где быстрее идет смена версий? В серверных или клиентских машинах?
Хрен знает...
Как ты сам думаешь?
Я думаю, в клиентских.
Серверные версии (вплоть до никнейма версии) меняются имхо хорошо если раз в 20 лет.
Есть ощущение, что смена билдов -- в серверных. Но на билд не выделяют отдельное название. А вот версии -- клиентских. Т. е. имен нужно будет больше. Значит если поле имен -- "скандинавские боги", то имеет смысл женские имена давать серверам, а мужские рабочим станциям. Согласен?
Типа сервера дают ;)
ну серверные понятно - да, билд чаще.
Да. Дают... :) Или не дают... :)
Ну давай определимся с типами.
OS/6xx -- серверные системы начального уровня (небольшие корабли, маленькие планетарные конторы)
OS/7xx -- системы среднего уровня. Лайнеры, большие торговые корабли.
OS/8xx -- системы топового уровня. Большие дата-центры, вычислительные системы боевых кораблей.
OS/9xx -- стсиемы вне категорий. Уникальные системы для сверхтоповых серверов.
Пойдет?
Это НЕ версии. Это ТИП.
xx -- кодирует дополнительный тип. Вроде кластерности и иже с ним.
а всякие КПК и персональные ноутбуки? OS/5xx и ниже?
А чего, у тебя бывают КПК по технологии галаксимашин? :)
Как ты думаешь, личные коммуникаторы Линда воспитанникам и персоналу сделает по технологии iPod'а или по технологии военных коммуникаторов?
Ты просто разработай номера подтипов. Только не перегружай их. Это просто некие напоминалки, а не технические характеристики. И для раб. станций так же. Префикс, скажем, WS/. Дальше номер серии (ну там топ, миддл, лоу-енд), 2-3 цифры подтипов.
Потом идет версия. Мажер.Минор.Билд. Ну и для каждой мажерной версии имеется еще имя.
Или ты хочешь, чтобы я тебе вообще все это нарисовал?
Клавиши на клавиатурах Galaxy-машин:
* ++Attn++ -- вместо "Escape" - это не кнопка "сбежать", а кнопка привлечения внимания системы. Функции разные, но чаще всего по ней должно вылетать окошко с предложением функций которые можно выполнить для данной задачи прямо сейчас. Ну например, снять ее, или повысить/понизить приоритет.
* ++~SysRq++ -- вызывает терминал.
* ++~NextScreen++ -- ~NextField / ~NextLine, нынешний аналог Enter.
* ++Enter++ -- отдельная и при любых условиях аналогична нажатию кнопки OK/Submit в форме.
* ++Tab++ -- делать то что ей и положено -- пролистывать экран по позициям табуляции.
* ++Alt++ -- вызов дополнительных функций
* @@10-15@@ програмируемых юзером кнопок. Чтобы туда можно было повесить все что угодно: вызов софтины, клавиатурный макрос, системное действие.
Кнопки должны быть чувствительны к текущему контексту пользователя, и не пытаться засунуть в терминал макрос от текстового процессора. :)
Кстати, откажить нафиг от концепции файловой системы. :) И лучше вообще от понятия "файл". :)
А что тебе не нравится в файловой системе?
Точнее - чем заменить?
Мне в ней ничего не нравится. :)
Как это чем? Есть данные которые требуются хранить. Для этого отлично подходит реляционная база данных. В ней возможен поиск по любым атрибутам или задаваемым юзером произвольном количестве тегов. Впрочем если количество тегов.
Т. е. у тебя есть понятие тегов, и когда ты что-то ищешь, ты не опускаешься вниз по дереву, а все точнее и точнее формулируешь запрос.
Например:
Мне нужна служебка (тег) которую я писал примерно тогда (атрибут), адресована она тому-то (атрибут).
Хочу увидеть картинку (тег), анимешную (тег) с бабами (тег).
Идея в принципе хорошая, но...
Применима на гелекси машинах
А в чем проблема ее применения? :)
в тупизне рядового пользователя
Хотя если вдуматься, 90% файлов жёстко связаны с тем или иным приложением
Коменты к файлам, кстати, тоже хранятся в этой базе.
Смысл в том, что к одному и тому же месту я могу придти совершенно разными путями. И это как раз гораздо более юзер-френдли... :)
Юзер вообще-то не должен знать о том, что есть какие-то там приложения... :)
Я про текстпад, имажэдитор или мейлер
У него есть его "всякая фигня". И он хочет с этой своей "всякой фигней" просто работать. Ему похеру что там внутри себя делает машина... Ему нужно просто изменять и просматривать информацию. :)
Только простой юзер понятия не имеет о программах. Все просто: вот ты нашел нужную тебе служебку и ткнул ее. Все ты видишь ее на экране. Хочешь исправить -- вытаскиваешь из уголка экрана инструменты для правки. Все. Т. е. ты вообще не можешь грубо говоря открыть редактор а потом что-то в нем напечатать и сохранить. Ты можешь только создать текстовый документ. Разницу видишь?
Это ты вспоминаешь полуосёвую идею, где вытягивается из папки темплейт документа и на стол и бац - открывается редактор?
Что-то вроде. :) Только эта идея старше полуоси. :)
И программы по сути в таком ключе окажутся не столько исполняемыми компонентами в контексте ОС, сколько плагинами к интерфейсу самой ОС.
* программное обеспечение Galaxy-машин выше OS/600 :
** операционка называется "Afina"
** текстовый процессор
** электронная таблица
** редактор презентаций
** математический процессор
** сборщик файлов (программа, занимающаяся подбором файлов по указанным критериям, см [[GalaxyOS: О файловой системе и концепции приложений]]
Для начала работы рекомендую исправить следующие записки (тиддлы):
* [[SiteTitle]] & [[SiteSubtitle]]: Основной и дополнительный заголовки файла.
* [[MainMenu]]: Главное меню (обычно слева)
* [[DefaultTiddlers]]: Содержит список записок, открываемых по умолчанию.
!! Начать советую со справки:
* [[Справка и настройка]]
Кроме того, следует вписать имя, которым будут подписываться ваши записки: <<option txtUserName>> ~~(латиница рекомендуется)~~
Командование: [[Адмирал Арнольд Вентресс]]
Система базирования: [[Сириус]]
Командование: [[Адмирал Жуан Кардилль]]
Система базирования: [[Ольстер]], [[Сектор Фомальгаута|Сектор Фомальгаут]]
''Известные корабли:''
крейсер "Нахимов", капитан каперанг Филипп Шульман
ККК "Шип", капитан каперанг Альберт Арвиг
Командование: [[Адмирал Стив Вейнберг]]
Система базирования: [[Пимон]], [[Сектор Веги|Сектор Вега]]
++Герб:++ клинок, пронзающий планету.
В десанте распространена традиция разрисовки ЭМД всякими нехорошими цветами. А подразделения десанта носят //интересные// названия типа "4-ый Эскадрон Смерти"
/***
|''Name:''|KWExtendWikipediaLink|
|''Version:''|1.0 (2016-12-03)|
|''Author:''|KarelWintersky|
|''Type:''|Plugin|
|''Required core:''|2.7.0+ with jQuery 1.8.1|
!Description
Add more useful custom formatter for russian wikipedia links.
!Example
{{{ [wiki[Санкт-Петербург]] }}} -- [wiki[Санкт-Петербург]]
!Revision History
1.0 (2016-12-03) INITIAL by KarelWintersky
1.1 (2016-12-03) added options
!Code
***/
//{{{
// Ensure that this plugin is only installed once.
if (!version.extensions.KWExtendWikipediaLink){
version.extensions.KWExtendWikipediaLink = {
installed: true,
wikipedia_link_url: 'https://ru.wikipedia.org/wiki/',
wikipedia_link_class: 'wikipediaLink'
};
config.formatters.push(
{
name: "WikipediaLink",
match: "\\[[W|w][I|i][K|k][I|i]\\[",
lookaheadRegExp: /\[[W|w][I|i][K|k][I|i]\[(.*?)\]\]/mg,
handler: function(w)
{
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
var options = version.extensions.KWExtendWikipediaLink;
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var text = lookaheadMatch[1];
var e = createExternalLink(w.output, options.wikipedia_link_url + text);
if (!!options.wikipedia_link_class) {
jQuery(e).addClass( options.wikipedia_link_class );
}
createTiddlyText(e, text);
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
}
);
} //# end of "install only once"
//}}}
//{{{
setStylesheet('[href*="wikipedia.org"]:before {'+
' display: inline-block;'+
' margin-right: 3px;'+
' vertical-align: -20%;'+
' content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGOTdGMTE3NDA3MjA2ODExODU5NUMwRUQ4MDVCOEU2NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMTNFRjI1NkI3NzIxMUUzQUY3REQ1NjY3RjIxN0RDQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMTNFRjI1NUI3NzIxMUUzQUY3REQ1NjY3RjIxN0RDQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI1MjNCRUZEMUMyMDY4MTE4NTk1QzBFRDgwNUI4RTY1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkY5N0YxMTc0MDcyMDY4MTE4NTk1QzBFRDgwNUI4RTY1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ZQNOAgAAAztJREFUeNo0U1loVGcYPXebu8zUmGhIp4nNgA9CYlyCuGAEa7NREOOCG6iJUaOJCooivrQIhUJbNViwrQ/VQmhR4wI+y8REneCTPprgBIWopAV1wszd53r+K164/HP/+c/5z3e+80nX/x2CpiVgGDp0XUcikVjB70OKorTKslQbRUC5HL4OgiDred4V1/XGXdcBV/i+D/UT2IBpmpppGj8mEvrRREKzSABJkgAShOUwQ4IeTdN2KYr6O4nPAnBBdlXcSqBmWdYNrl3imwchy/InAggFZYRhKPYNEp/g/qIoiraWy5GjUjIsK3muqqqyyzJNEAVVVWGQKCBIgAWh67rxy4uouPQd93+iqhPSo7GRJbbtPHmRz+tfpFLIZOpj0PT0a6TTXyKZTGJiYhLV1dXQ6dPE8wmUSiU0NjaGVLFaVlWtv7Jyrj46Nob9Bw7FhgoFPb0H8fDhY/7W8P0P56gmQMWcOfjl1wuY+e9/pFJJhecGZLrUVlFRgTOnT8VS81NTWLWmBcePDeB+NovHuRx2796Fjs5OvH//AcuWLcVA/+G4Y6z2G3ol17I9WFBXh81dm3D+wkU4pVkcOdyHyclJXL32N3r3d8Nn/cO3bqO9vS0uUbRXkuS0zDriD9tx0H+kD0+fPsODB6P4OrMQba2tEOQ1NTXI56foyzRav90QexCDEElyGJbfMCiwbRsNDQ3o6GjH4KXfMFt4h5mZGTynabncOLIjI1i9aiVrT4Hui2yI1r5VuvftaWI4mlVVoQcqMvX1uDg4iJcvX2HduhbU1dViaOifuIX7uvcionyHah3HFes9mRIve57rC6mFwiyam5djSVMThodvYdvWLejt6UFufBzz589DmqUIpeIs3zKjfFnZuWP7G5pRyXiuEckTEf4qncbalrVoWrxYtAtVVfPQ2dHGdCqs3+bNtiD6kyr+kO7evilmwbBM645hGp2chRj0OX3iEbNSLBZj88QewVkSbeRQFVUxVXwcmrqF0f1Z1/0+lqTRF94oQXSpUCjExlF2QIK/ePNJrsV4GoPAF+1gbyM7DINjvu9dZ/r6WMp6EqQFAfv+NgjCUQKu8P8RAfQ8Px6wjwIMALbvqBBV3D1LAAAAAElFTkSuQmCC);}',
'KWExtendWikipediaLinkStyles');
//}}}
[>img[conf/Cute_Panda_Naru_by_Takuna13(Orange).jpg]]
* [[GMail|karel.wintersky@gmail.com]]
* [[LiveJournal|arris-krain.livejournal.com/]]
* [[Imaginaria|http://imaginaria.ru/profile/Arris/]]
* [[Old forum|http://skylark.moy.su]]
* [[GitHub|https://github.com/KarelWintersky/]]
* ICQ: 207-403-021
<html>
<iframe src="http://livemap.wintersky.ru/api/get/regiondata?map=spring.confederation&id=star_rokannon" width="100%" height="600" scrolling="yes" frameborder="1"/>
</html>
[[Общий обзор]]
[[Федерация]]
[[Другие государства]]
----
@@text-align(center):color(red):++Звездный атлас++@@
[[Leaflet map|Атлас: Leaflet map]]
[[Лоция]]
[[Карты]]
----
+++{{nestedLabel{[Организации »»»]}}}>
[[Государственные|Государственные организации]]
[[Частные|Корпорации и компании]]
[[Другие|Другие организации]]
===
----
+++{{nestedLabel{[Изнанка »»»]}}}>
[[Информация]]
[[Особенности]]
===
----
@@text-align(center):color(red):++Для справки++@@
[[Заметки]]
[[Технологии]]
----
~~[[Шаблоны]]~~
~~[[Справка и настройка]]~~
~~[[Remote WIKI|http://karel.wintersky.ru/wiki/conf.html]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release. Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
var defopen=lookaheadMatch[1];
var cookiename=lookaheadMatch[2];
var header=lookaheadMatch[3];
var panelwidth=lookaheadMatch[4];
var transient=lookaheadMatch[5];
var hover=lookaheadMatch[6];
var buttonClass=lookaheadMatch[7];
var label=lookaheadMatch[8];
var openlabel=lookaheadMatch[9];
var panelID=lookaheadMatch[10];
var blockquote=lookaheadMatch[11];
var deferred=lookaheadMatch[12];
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=">"; var closedtip="";
var openedtext="<"; var openedtip="";
// extra "+", default to open
if (defopen) show="block";
// cookie, use saved open/closed state
if (cookiename) {
cookie=cookiename.trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (label) {
var parts=label.trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (openlabel) {
var parts=openlabel.trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (header) { // use "Hn" header format instead of button/link
var lvl=(header.length>5)?5:header.length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=defopen!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.setAttribute("hover",hover?"true":"false");
btn.onmouseover=function(ev) {
// optional 'open on hover' handling
if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
document.onclick.call(document,ev); // close transients
onClickNestedSlider(ev); // open this slider
}
// mouseover on button aligns floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
}
// create slider panel
var panelClass=panelwidth?"floatingPanel":"sliderPanel";
if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
panel.setAttribute("transient",transient=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!deferred) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",blockquote?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
}
}
}
}
)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
if (!theTarget) return false;
var theSlider = theTarget.sliderPanel;
var isOpen = theSlider.style.display!="none";
// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ try{ ctrls[c].focus(); } catch(err){;} break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
else window.removeCookie(cookie); // remove cookie if slider is in default display state
}
// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
// prevent clicks *within* a slider button from being processed by browser
// but allow plain click to bubble up to page background (to close transients, if any)
if (e.shiftKey || theTarget!=resolveTarget(e))
{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
Popup.remove(); // close open popup (if any)
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside a popup... leave transient panels alone
var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
if (p) return retval;
// if click was inside transient panel (or something contained by a transient panel), leave it alone
var p=target; while (p) {
if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
p=p.parentNode;
}
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
// see [[MoveablePanelPlugin]] for use of 'undocked'
var rightEdge=document.body.offsetWidth-1;
var panelWidth=panel.offsetWidth;
var left=0;
var top=btn.offsetHeight;
if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
}
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
if (left<0) left=0;
}
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function() {
this.coreStop.apply(this,arguments);
var e=this.element;
if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
// adjust panel overflow and position after animation
e.style.overflow = "visible";
if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
}
};
}
//}}}
/***
|Name|NestedSlidersPluginInfo|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Description|documentation for NestedSlidersPlugin|
This plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.
!!!!!Usage
<<<
//{{{
++++(cookiename)!!!!!^width^*@{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
* ''"""+++""" (or """++++""") and """==="""''<br>marks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.
* ''"""(cookiename)"""''<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* ''"""! through !!!!!"""''<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* ''"""^width^ (or just ^)"""''<br>makes the slider 'float' on top of other content rather than shifting that content downward. 'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.). If omitted, the default width is "auto" (i.e., fit to content)
* ''"""*"""''<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed. This is useful for creating 'pulldown menus' that automatically go away after they are used. //Note: using SHIFT-click on a slider label will open/close that slider without triggering the automatic closing of any transient slider panels that are currently displayed, permitting ''temporary'' display of several transient panels at once.//
* ''"""@"""''<br>denotes "open on hover": the slider/floating panel will be automatically opened as soon as the mouse moves over the slider label, without requiring a click.
* ''"""{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""''<br>uses label/tooltip/accesskey. """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. altlabel/alttooltip specify alternative label/tooltip for use when slider/floating panel is displayed. //Note: you can use HTML syntax within the label text to include HTML entities (e.g., {{{»}}} (») or {{{►}}} (►), or even embedded images (e.g., {{{<img src="images/eric3.gif">}}}).//
* ''"""#panelID:"""''<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content. This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* ''""">"""''<br>automatically adds blockquote formatting to slider content
* ''"""..."""''<br>defers rendering of closed sliders until the first time they are opened.
Notes:
*You can 'nest' sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.
*Deferred rendering (...) can be used to offset processing overhead until actually needed. However, this may produce unexpected results in some cases. Use with care.
* To make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the 'start slider' or preceding the 'end slider' sequences are automatically supressed so that excess whitespace is eliminated from the output.
<<<
!!!!!Examples
<<<
simple in-line slider:
{{{
+++content===
}}}
+++content===
----
use a custom label and tooltip:
{{{
+++[label|tooltip]content===
}}}
+++[label|tooltip]content===
----
content automatically blockquoted:
{{{
+++>content===
}}}
+++>content===
----
all options (except cookie) //(default open, heading, sized floater, transient, open on hover, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
}}}
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
}}}
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
----
embedded image as slider button
{{{
+++[<img src=conf/stars000.gif>|click me!]>
{{big{OUCH!}}}
===
}}}
+++[<img src=conf/stars000.gif>|click me!]>
{{big{OUCH!}}}
===
<<<
!!!!!Revisions
<<<
2008.11.15 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
2008.11.13 2.4.8 in document.onclick(), if transient panel is not a sliderPanel or floatingPanel, hide it via CSS
2008.10.05 2.4.7 in onClickNestedSlider(), added try/catch around focus() call to prevent IE error if input field being focused on is currently not visible.
2008.09.07 2.4.6 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.06.07 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons, use call() method when invoking document.onclick function (avoids error in IE)
2008.06.07 2.4.4 changed default for chkFloatingSlidersAnimate to FALSE to avoid clipping problem on some browsers (IE). Updated Morpher hijack (again) to adjust regular sliderPanel styles as well as floatingPanel styles.
2008.05.07 2.4.3 updated Morpher hijack to adjust floatingPanel styles after animation without affecting other animated elements (i.e. popups). Also, updated adjustSliderPos() to account for scrollwidth and use core findWindowWidth().
2008.04.02 2.4.2 in onClickNestedSlider, handle clicks on elements contained //within// slider buttons (e.g., when using HTML to display an image as a slider button).
2008.04.01 2.4.1 open on hover also triggers document.onclick to close other transient sliders
2008.04.01 2.4.0 re-introduced 'open on hover' feature using "@" symbol
2008.03.26 2.3.5 in document.onclick(), if click is in popup, don't dismiss transient panel (if any)
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info tiddler
2007.12.28 2.3.4 added hijack for Animator.prototype.startAnimating(). Previously, the plugin code simply set the overflow to "visible" after animation. This code tweak corrects handling of elements that were styled with overflow=hidden/auto/scroll before animation by saving the overflow style and then restoring it after animation has completed.
2007.12.17 2.3.3 use hasClass() instead of direct comparison to test for "floatingPanel" class. Allows floating panels to have additional classes assigned to them (i.e., by AnimationEffectsPlugin).
2007.11.14 2.3.2 in onClickNestedSlider(), prevent SHIFT-click events from opening a new, empty browser window by setting "cancelBubble=true" and calling "stopPropagation()". Note: SHIFT-click is still processed as a normal click (i.e., it toggles the slider panel display). Also, using SHIFT-click will prevent 'transient' sliders from being automatically closed when another slider is opened, allowing you to *temporarily* display several transient sliders at once.
2007.07.26 2.3.1 in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed. Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
2007.07.20 2.3.0 added syntax for setting panel ID (#panelID:). This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
2007.07.19 2.2.0 added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
2007.07.14 2.1.2 corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
2007.07.12 2.1.0 replaced use of "*" for 'open/close on rollover' (which didn't work too well). "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document. This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed. Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
2007.06.10 2.0.5 add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
2007.05.31 2.0.4 add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel. This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page. (thanks to Harsha for bug report)
2007.03.30 2.0.3 added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
2007.03.01 2.0.2 for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2007.03.01 2.0.1 in hijack for Slider.prototype.stop, use apply() to pass params to core function
2006.07.28 2.0.0 added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}
2006.07.25 1.9.3 when parsing slider, save default open/closed state in button element, then in onClickNestedSlider(), if slider state matches saved default, instead of saving cookie, delete it. Significantly reduces the 'cookie overhead' when default slider states are used.
2006.06.29 1.9.2 in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"
2006.06.22 1.9.1 added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value
2006.05.11 1.9.0 added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label
2006.05.09 1.8.0 in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element
2006.04.24 1.7.8 in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position
2006.02.16 1.7.7 corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
2006.02.15 1.7.6 in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)
2006.02.04 1.7.5 add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals
2006.01.18 1.7.4 only define adjustSliderPos() function if it has not already been provided by another plugin. This lets other plugins 'hijack' the function even when they are loaded first.
2006.01.16 1.7.3 added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels. While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels. Short-term workaround is to only adjust the position for 'top-level' floaters.
2006.01.16 1.7.2 added button property to slider panel elements so that slider panel can tell which button it belongs to. Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2006.01.14 1.7.1 added optional "^" syntax for floating panels. Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.
2006.01.14 1.7.0 added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)
2006.01.03 1.6.2 When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element. (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)
2005.12.15 1.6.1 added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
2005.11.25 1.6.0 added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
2005.11.21 1.5.1 revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability. Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.
2005.11.20 1.5.0 added (cookiename) syntax for optional tracking and restoring of slider open/close state
2005.11.11 1.4.0 added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
2005.11.07 1.3.0 removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
2005.11.05 1.2.1 changed name to NestedSlidersPlugin
2005.11.04 1.2.0 added alternative character-mode syntax {{{(((}}} and {{{)))}}}
tweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax
2005.11.03 1.1.1 fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used. code cleanup, added documentation
2005.11.03 1.1.0 changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}. changed name to EasySlidersPlugin
2005.11.03 1.0.0 initial public release
<<<
/***
|Name:|NewMeansNewPlugin|
|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Version:|1.1.1a|
|Date:|27-Jun-2011|
|Source:|http://mptw.tiddlyspot.com/empty.html#NewMeansNewPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Note: I think this should be in the core
***/
//{{{
// change this or set config.newMeansNewForJournalsToo it in MptwUuserConfigPlugin
if (config.newMeansNewForJournalsToo == undefined) config.newMeansNewForJournalsToo = true;
String.prototype.getNextFreeName = function() {
numberRegExp = / \(([0-9]+)\)$/;
var match = numberRegExp.exec(this);
if (match) {
var num = parseInt(match[1]) + 1;
return this.replace(numberRegExp," ("+num+")");
}
else {
return this + " (1)";
}
}
config.macros.newTiddler.checkForUnsaved = function(newName) {
var r = false;
story.forEachTiddler(function(title,element) {
if (title == newName)
r = true;
});
return r;
}
config.macros.newTiddler.getName = function(newName) {
while (store.getTiddler(newName) || config.macros.newTiddler.checkForUnsaved(newName))
newName = newName.getNextFreeName();
return newName;
}
config.macros.newTiddler.onClickNewTiddler = function()
{
var title = this.getAttribute("newTitle");
if(this.getAttribute("isJournal") == "true") {
title = new Date().formatString(title.trim());
}
// ---- these three lines should be the only difference between this and the core onClickNewTiddler
if (config.newMeansNewForJournalsToo || this.getAttribute("isJournal") != "true")
title = config.macros.newTiddler.getName(title);
var params = this.getAttribute("params");
var tags = params ? params.split("|") : [];
var focus = this.getAttribute("newFocus");
var template = this.getAttribute("newTemplate");
var customFields = this.getAttribute("customFields");
if(!customFields && !store.isShadowTiddler(title))
customFields = String.encodeHashMap(config.defaultCustomFields);
story.displayTiddler(null,title,template,false,null,null);
var tiddlerElem = story.getTiddler(title);
if(customFields)
story.addCustomFields(tiddlerElem,customFields);
var text = this.getAttribute("newText");
if(typeof text == "string")
story.getTiddlerField(title,"text").value = text.format([title]);
for(var t=0;t<tags.length;t++)
story.setTiddlerTag(title,tags[t],+1);
story.focusTiddler(title,focus);
return false;
};
//}}}
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser
Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])
<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]
----
Also see [[AdvancedOptions]]
[[GM Info]]
<!--{{{-->
<div class='header' style='background: #050914 url(conf/conf_head_1400.jpg) top left no-repeat'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu' style='position:fixed'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlersBar' refresh='content' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
|Standard Periodic Table (ref. Wikipedia)|c
|| !1 | !2 |!| !3 | !4 | !5 | !6 | !7 | !8 | !9 | !10 | !11 | !12 | !13 | !14 | !15 | !16 | !17 | !18 |
|!1|bgcolor(#a0ffa0): @@color(red):H@@ |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||bgcolor(#c0ffff): @@color(red):He@@ |
|!2|bgcolor(#ff6666): Li |bgcolor(#ffdead): Be |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccc99): B |bgcolor(#a0ffa0): C |bgcolor(#a0ffa0): @@color(red):N@@ |bgcolor(#a0ffa0): @@color(red):O@@ |bgcolor(#ffff99): @@color(red):F@@ |bgcolor(#c0ffff): @@color(red):Ne@@ |
|!3|bgcolor(#ff6666): Na |bgcolor(#ffdead): Mg |>|>|>|>|>|>|>|>|>|>||bgcolor(#cccccc): Al |bgcolor(#cccc99): Si |bgcolor(#a0ffa0): P |bgcolor(#a0ffa0): S |bgcolor(#ffff99): @@color(red):Cl@@ |bgcolor(#c0ffff): @@color(red):Ar@@ |
|!4|bgcolor(#ff6666): K |bgcolor(#ffdead): Ca ||bgcolor(#ffc0c0): Sc |bgcolor(#ffc0c0): Ti |bgcolor(#ffc0c0): V |bgcolor(#ffc0c0): Cr |bgcolor(#ffc0c0): Mn |bgcolor(#ffc0c0): Fe |bgcolor(#ffc0c0): Co |bgcolor(#ffc0c0): Ni |bgcolor(#ffc0c0): Cu |bgcolor(#ffc0c0): Zn |bgcolor(#cccccc): Ga |bgcolor(#cccc99): Ge |bgcolor(#cccc99): As |bgcolor(#a0ffa0): Se |bgcolor(#ffff99): @@color(green):Br@@ |bgcolor(#c0ffff): @@color(red):Kr@@ |
|!5|bgcolor(#ff6666): Rb |bgcolor(#ffdead): Sr ||bgcolor(#ffc0c0): Y |bgcolor(#ffc0c0): Zr |bgcolor(#ffc0c0): Nb |bgcolor(#ffc0c0): Mo |bgcolor(#ffc0c0): Tc |bgcolor(#ffc0c0): Ru |bgcolor(#ffc0c0): Rh |bgcolor(#ffc0c0): Pd |bgcolor(#ffc0c0): Ag |bgcolor(#ffc0c0): Cd |bgcolor(#cccccc): In |bgcolor(#cccccc): Sn |bgcolor(#cccc99): Sb |bgcolor(#cccc99): Te |bgcolor(#ffff99): I |bgcolor(#c0ffff): @@color(red):Xe@@ |
|!6|bgcolor(#ff6666): Cs |bgcolor(#ffdead): Ba |bgcolor(#ffbfff):^^*1^^|bgcolor(#ffc0c0): Lu |bgcolor(#ffc0c0): Hf |bgcolor(#ffc0c0): Ta |bgcolor(#ffc0c0): W |bgcolor(#ffc0c0): Re |bgcolor(#ffc0c0): Os |bgcolor(#ffc0c0): Ir |bgcolor(#ffc0c0): Pt |bgcolor(#ffc0c0): Au |bgcolor(#ffc0c0): @@color(green):Hg@@ |bgcolor(#cccccc): Tl |bgcolor(#cccccc): Pb |bgcolor(#cccccc): Bi |bgcolor(#cccc99): Po |bgcolor(#ffff99): At |bgcolor(#c0ffff): @@color(red):Rn@@ |
|!7|bgcolor(#ff6666): Fr |bgcolor(#ffdead): Ra |bgcolor(#ff99cc):^^*2^^|bgcolor(#ffc0c0): Lr |bgcolor(#ffc0c0): Rf |bgcolor(#ffc0c0): Db |bgcolor(#ffc0c0): Sq |bgcolor(#ffc0c0): Bh |bgcolor(#ffc0c0): Hs |bgcolor(#ffc0c0): Mt |bgcolor(#ffc0c0): Ds |bgcolor(#ffc0c0): Rg |bgcolor(#ffc0c0): @@color(green):Uub@@ |bgcolor(#cccccc): Uut |bgcolor(#cccccc): Uuq |bgcolor(#cccccc): Uup |bgcolor(#cccccc): Uuh |bgcolor(#fcfecc): @@color(#cccccc):Uus@@ |bgcolor(#ecfefc): @@color(#cccccc):Uuo@@ |
| !Lanthanides^^*1^^|bgcolor(#ffbfff): La |bgcolor(#ffbfff): Ce |bgcolor(#ffbfff): Pr |bgcolor(#ffbfff): Nd |bgcolor(#ffbfff): Pm |bgcolor(#ffbfff): Sm |bgcolor(#ffbfff): Eu |bgcolor(#ffbfff): Gd |bgcolor(#ffbfff): Tb |bgcolor(#ffbfff): Dy |bgcolor(#ffbfff): Ho |bgcolor(#ffbfff): Er |bgcolor(#ffbfff): Tm |bgcolor(#ffbfff): Yb |
| !Actinides^^*2^^|bgcolor(#ff99cc): Ac |bgcolor(#ff99cc): Th |bgcolor(#ff99cc): Pa |bgcolor(#ff99cc): U |bgcolor(#ff99cc): Np |bgcolor(#ff99cc): Pu |bgcolor(#ff99cc): Am |bgcolor(#ff99cc): Cm |bgcolor(#ff99cc): Bk |bgcolor(#ff99cc): Cf |bgcolor(#ff99cc): Es |bgcolor(#ff99cc): Fm |bgcolor(#ff99cc): Md |bgcolor(#ff99cc): No |
*Chemical Series of the Periodic Table
**@@bgcolor(#ff6666): Alkali metals@@
**@@bgcolor(#ffdead): Alkaline earth metals@@
**@@bgcolor(#ffbfff): Lanthanides@@
**@@bgcolor(#ff99cc): Actinides@@
**@@bgcolor(#ffc0c0): Transition metals@@
**@@bgcolor(#cccccc): Poor metals@@
**@@bgcolor(#cccc99): Metalloids@@
**@@bgcolor(#a0ffa0): Nonmetals@@
**@@bgcolor(#ffff99): Halogens@@
**@@bgcolor(#c0ffff): Noble gases@@
*State at standard temperature and pressure
**those in @@color(red):red@@ are gases
**those in @@color(green):green@@ are liquids
**those in black are solids
/***
|''Name:''|RussianTextFormattingPlugin|
|''Version:''|1.1 (11-Jan-2012)|
|''Author:''|KarelWintersky|
|''Type:''|Patch|
!Description
* Add more useful custom formatter for russian users : {{{ ++ someting ++ }}} for ++bold++.
* Also, imports formatting from [[LegacyStrikeThroughPlugin|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin]] - support for legacy (pre 2.1) strike through formatting.
* And so on
!Revision History
1.1 (11-Jan-2013) by KarelWintersky
1.2 (17-Jan-2013) by KarelWintersky - check for installed once
1.3 (15-Feb-2013) by KarelWintersky - more formatting options
@@todo:@@ disable LegacyStrikeThroughPlugin if installed.
!Code
***/
//{{{
// Ensure that the RussianBoldText Plugin is only installed once.
if(!version.extensions.RussianTextFormattingPlugin)
{
version.extensions.RussianTextFormattingPlugin = {installed:true};
config.formatters.push(
{
name: "boldByCharRU",
match: "\\+\\+",
handler: function(w)
{
w.subWikifyTerm(w.output.appendChild(document.createElement("strong")),/(\+\+)/mg);
}
} );
// LegacyStrikeThroughPlugin
config.formatters.push(
{
name: "legacyStrikeByChar",
match: "==",
termRegExp: /(==)/mg,
element: "strike",
handler: config.formatterHelpers.createElementAndWikify
} );
} //# end of "install only once"
//}}}
/***
|''Name:''|~SectionMacro|
|''Version:''|0.9.4 (20-Apr-2007)|
|''Author:''|[[Jack]]|
|''Type:''|Macro|
!Description
Allows you to create collapsable sections just like the slider macro but without needing to create new tiddlers for these sections.
!Usage
{{{<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>}}}
<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>
!Revision History
* Original by [[Jack]] 0.9
* Nested sliders and cookie persistence 0.9.1
* Removed crappy cookie persistance 0.9.2
* Bug-fix with quoted 2st parameter (thanks M. Macolio) 0.9.3
* Bug-fix with monospace text (thanks M. Macolio) 0.9.4
!Code
***/
//{{{
version.extensions.section = {major: 0, minor: 9, revision: 4, date: new Date("Apr 20, 2007")};
config.macros.section = {count:0,display:'none'};
config.macros.section.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
this.slider(place,"chkSection" + this.count++,paramString.substr(params[0].length+(paramString.substr(params[0].length+1,1).match(/['"]/)?2:1)).replace(/\$\>/g, '>').replace(/}\$}\$}/, '}}}').replace(/{\${\${/, '{{{'),params[0], "tooltip");
}
config.macros.section.slider = function(place,cookie,text,title,tooltips) {
var btn = createTiddlyButton(place,title,tooltips,config.macros.slider.onClickSlider,"tiddlyLink tiddlyLinkExisting");
var panel = createTiddlyElement(place,"div",null,"timelineSliderPanel",null);
panel.setAttribute("cookie",cookie);
panel.style.display = config.options[cookie] ? "block" : "none";
panel.style.display=this.display;
if(text) wikify(text,panel);
};
//}}}
<<search>><<closeAll>><<permaview>><<newTiddler>><<slider chkTemplatesOptionsPanel TemplatesPanel "templates »" "Шаблоны">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
/***
|''Name:''|SinglePageModePlugin|
|''Description:''| ? |
|''Version:''|2.1.1|
|''Date:''|Feb 21,2006|
|''Source:''|? |
|''Author:''|? |
|''License:''|? |
|''~CoreVersion:''|2.1.0|
***/
//{{{
version.extensions.SinglePageMode= {major: 2, minor: 1, revision: 1, date: new Date(2006,2,4)};
if (config.options.chkSinglePageMode==undefined)
config.options.chkSinglePageMode=false;
config.shadowTiddlers.AdvancedOptions
+= "\n<<option chkSinglePageMode>> Display one tiddler at a time";
config.SPMTimer = 0;
config.lastURL = window.location.hash;
function checkLastURL()
{
if (!config.options.chkSinglePageMode)
{ window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }
if (config.lastURL == window.location.hash)
return;
var tiddlerName = convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));
tiddlerName=tiddlerName.replace(/\[\[/,"").replace(/\]\]/,""); // strip any [[ ]] bracketing
if (tiddlerName.length) story.displayTiddler(null,tiddlerName,1,null,null);
}
Story.prototype.coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
if (config.options.chkSinglePageMode) {
window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));
config.lastURL = window.location.hash;
document.title = wikifyPlain("SiteTitle") + " - " + title;
story.closeAllTiddlers();
if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
}
this.coreDisplayTiddler(srcElement,title,template,animate,slowly)
}
Story.prototype.coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)
{
// suspend single-page mode when displaying multiple tiddlers
var save=config.options.chkSinglePageMode;
config.options.chkSinglePageMode=false;
this.coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);
config.options.chkSinglePageMode=save;
}
//}}}
@@color(lemonchiffon):Конфедерация: 2 сезон @@
/***
Здесь прописываются патчи для базового набора стилей CSS
***/
/*{{{*/
/* border around each tiddler */
.tiddler {
padding: 1em;
margin: 1em 0;
border: 1px solid #ccc;
}
/* Monospaced font in editor area */
.editor textarea, .editor input {
font-family: 'Consolas', monospace;
background-color:[[ColorPalette::TertiaryPale]];
}
h1,h2,h3,h4,h5,h6 {
font-weight:bold; text-decoration:none;color: green;
}
.wrappingClass { color: #666; background: #bbb;}
.firstletter { float:left; width:0.75em; font-size:400%; font-family:times,arial; line-height:60%; }
.textleft { text-align:left; }
.textright { text-align:right; }
.textcenter { text-align:center; }
.textjustify { text-align:justify; }
.textindent25 { text-indent:25px; }
.tagging-listTitle { list-style-type:none; margin-left:-2em; }
/* top margin for h1-h3 inside tiddler */
.tiddler h1,h2,h3 {
margin-top: 0.6em;
}
/*}}}*/
/*{{{*/
/* Nested slider patches */
.nestedLabel {
font-weight: bold;
color: red;
}
.nestedLabel:hover {
background-color: white;
color: red;
}
#mainMenu .sliderPanel blockquote {
margin: 0;
}
/*}}}*/
/***
make it print a little cleaner
***/
/*{{{*/
@media print {
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
#topMenu {
display: none ! important;
}
#mainMenu {
display: none ! important;
}
#sidebar {
display: none ! important;
}
#toolbar {
display: none ! important;
}
#messageArea {
display: none ! important;
}
.header {
display: none ! important;
}
.tiddler .subtitle {
display: none ! important;
}
.tiddler .toolbar {
display: none ! important;
}
.tiddler .tagging {
display: none ! important;
}
.tiddler .tagged {
display: none ! important;
}
/* not sure if we need all the importants */
.tiddler {
border-style: none ! important;
margin:0px ! important;
padding:0px ! important;
padding-bottom:2em ! important;
}
.headerShadow {
visibility: hidden ! important;
}
}
/*}}}*/
/***
|''Name:''|TableSortingPlugin|
|''Description:''|Dynamically sort tables by clicking on column headers|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#TableSortingPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.02|
|''Date:''|25-01-2008|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
* Make sure your table has a header row
** {{{|Name|Phone Number|Address|h}}}<br> Note the /h/ that denote a header row
* Give the table a class of 'sortable'
** {{{
|sortable|k
|Name|Phone Number|Address|h
}}}<br>Note the /k/ that denotes a class name being assigned to the table.
* To disallow sorting by a column, place {{{<<nosort>>}}} in it's header
* To automatically sort a table by a column, place {{{<<autosort>>}}} in the header for that column
** Or to sort automatically but in reverse order, use {{{<<autosort reverse>>}}}
!!Example:
|sortable|k
|Name |Salary |Extension |Performance |File Size |Start date |h
|ZBloggs, Fred |$12000.00 |1353 |+1.2 |74.2Kb |Aug 19, 2003 21:34:00 |
|ABloggs, Fred |$12000.00 |1353 |1.2 |3350b |09/18/2003 |
|CBloggs, Fred |$12000 |1353 |1.200 |55.2Kb |August 18, 2003 |
|DBloggs, Fred |$12000.00 |1353 |1.2 |2100b |07/18/2003 |
|Bloggs, Fred |$12000.00 |1353 |01.20 |6.156Mb |08/17/2003 05:43 |
|Turvey, Kevin |$191200.00 |2342 |-33 |1b |02/05/1979 |
|Mbogo, Arnold |$32010.12 |2755 |-21.673 |1.2Gb |09/08/1998 |
|Shakespeare, Bill |£122000.00|3211 |6 |33.22Gb |12/11/1961 |
|Shakespeare, Hamlet |£9000 |9005 |-8 |3Gb |01/01/2002 |
|Fitz, Marvin |€3300.30 |5554 |+5 |4Kb |05/22/1995 |
***/
// /%
//!BEGIN-PLUGIN-CODE
config.tableSorting = {
darrow: "\u2193",
uarrow: "\u2191",
getText : function (o) {
var p = o.cells[SORT_INDEX];
return p.innerText || p.textContent || '';
},
sortTable : function (o,rev) {
SORT_INDEX = o.getAttribute("index");
var c = config.tableSorting;
var T = findRelated(o.parentNode,"TABLE");
if(T.tBodies[0].rows.length<=1)
return;
var itm = "";
var i = 0;
while (itm == "" && i < T.tBodies[0].rows.length) {
itm = c.getText(T.tBodies[0].rows[i]).trim();
i++;
}
if (itm == "")
return;
var r = [];
var S = o.getElementsByTagName("span")[0];
c.fn = c.sortAlpha;
if(!isNaN(Date.parse(itm)))
c.fn = c.sortDate;
else if(itm.match(/^[$|£|€|\+|\-]{0,1}\d*\.{0,1}\d+$/))
c.fn = c.sortNumber;
else if(itm.match(/^\d*\.{0,1}\d+[K|M|G]{0,1}b$/))
c.fn = c.sortFile;
for(i=0; i<T.tBodies[0].rows.length; i++) {
r[i]=T.tBodies[0].rows[i];
}
r.sort(c.reSort);
if(S.firstChild.nodeValue==c.darrow || rev) {
r.reverse();
S.firstChild.nodeValue=c.uarrow;
}
else
S.firstChild.nodeValue=c.darrow;
var thead = T.getElementsByTagName('thead')[0];
var headers = thead.rows[thead.rows.length-1].cells;
for(var k=0; k<headers.length; k++) {
if(!hasClass(headers[k],"nosort"))
addClass(headers[k].getElementsByTagName("span")[0],"hidden");
}
removeClass(S,"hidden");
for(i=0; i<r.length; i++) {
T.tBodies[0].appendChild(r[i]);
c.stripe(r[i],i);
for(var j=0; j<r[i].cells.length;j++){
removeClass(r[i].cells[j],"sortedCol");
}
addClass(r[i].cells[SORT_INDEX],"sortedCol");
}
},
stripe : function (e,i){
var cl = ["oddRow","evenRow"];
i&1? cl.reverse() : cl;
removeClass(e,cl[1]);
addClass(e,cl[0]);
},
sortNumber : function(v) {
var x = parseFloat(this.getText(v).replace(/[^0-9.-]/g,''));
return isNaN(x)? 0: x;
},
sortDate : function(v) {
return Date.parse(this.getText(v));
},
sortAlpha : function(v) {
return this.getText(v).toLowerCase();
},
sortFile : function(v) {
var j, q = config.messages.sizeTemplates, s = this.getText(v);
for (var i=0; i<q.length; i++) {
if ((j = s.toLowerCase().indexOf(q[i].template.replace("%0\u00a0","").toLowerCase())) != -1)
return q[i].unit * s.substr(0,j);
}
return parseFloat(s);
},
reSort : function(a,b){
var c = config.tableSorting;
var aa = c.fn(a);
var bb = c.fn(b);
return ((aa==bb)? 0 : ((aa<bb)? -1:1));
}
};
Story.prototype.tSort_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,force,customFields,defaultText){
var elem = this.tSort_refreshTiddler.apply(this,arguments);
if(elem){
var tables = elem.getElementsByTagName("TABLE");
var c = config.tableSorting;
for(var i=0; i<tables.length; i++){
if(hasClass(tables[i],"sortable")){
var x = null, rev, table = tables[i], thead = table.getElementsByTagName('thead')[0], headers = thead.rows[thead.rows.length-1].cells;
for (var j=0; j<headers.length; j++){
var h = headers[j];
if (hasClass(h,"nosort"))
continue;
h.setAttribute("index",j);
h.onclick = function(){c.sortTable(this); return false;};
h.ondblclick = stopEvent;
if(h.getElementsByTagName("span").length == 0)
createTiddlyElement(h,"span",null,"hidden",c.uarrow);
if(!x && hasClass(h,"autosort")) {
x = j;
rev = hasClass(h,"reverse");
}
}
if(x)
c.sortTable(headers[x],rev);
}
}
}
return elem;
};
setStylesheet("table.sortable span.hidden {visibility:hidden;}\n"+
"table.sortable thead {cursor:pointer;}\n"+
"table.sortable .nosort {cursor:default;}\n"+
"table.sortable td.sortedCol {background:#ffc;}","TableSortingPluginStyles");
function stopEvent(e){
var ev = e? e : window.event;
ev.cancelBubble = true;
if (ev.stopPropagation) ev.stopPropagation();
return false;
}
config.macros.nosort={
handler : function(place){
addClass(place,"nosort");
}
};
config.macros.autosort={
handler : function(place,m,p,w,pS){
addClass(place,"autosort"+" "+pS);
}
};
//!END-PLUGIN-CODE
// %/
<<newTiddler label:"Новая планета" tag:"" text:{{store.getTiddlerText('Шаблон:планета')}}>>
<<newTiddler label:"Новая корпорация" tag:"экономика:корпорации" text:{{store.getTiddlerText('Шаблон:корпорация')}}>>
/***
|''Name:''|TiddlersBarPlugin|
|''Description:''|A bar to switch between tiddlers through tabs (like browser tabs bar).|
|''Version:''|1.2.1|
|''Date:''|Dec 21,2007|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Demos
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], open several tiddlers to use the tabs bar.
!Installation
#import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
#save and reload
#''if you're using a custom [[PageTemplate]]'', add {{{<div id='tiddlersBar' refresh='content' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>}}} before {{{<div id='tiddlerDisplay'></div>}}}
#optionally, adjust TiddlersBarPluginStyles
!Tips
*Doubleclick on the tiddlers bar (where there is no tab) create a new tiddler.
*Tabs include a button to close {{{x}}} or save {{{!}}} their tiddler.
*By default, click on the current tab close all others tiddlers.
!Configuration options
<<option chkDisableTabsBar>> Disable the tabs bar (to print, by example).
<<option chkHideTabsBarWhenSingleTab >> Automatically hide the tabs bar when only one tiddler is displayed.
<<option txtSelectedTiddlerTabButton>> ''selected'' tab command button.
!Code
***/
//{{{
config.options.chkDisableTabsBar = config.options.chkDisableTabsBar ? config.options.chkDisableTabsBar : false;
config.options.chkHideTabsBarWhenSingleTab = config.options.chkHideTabsBarWhenSingleTab ? config.options.chkHideTabsBarWhenSingleTab : false;
config.options.txtSelectedTiddlerTabButton = config.options.txtSelectedTiddlerTabButton ? config.options.txtSelectedTiddlerTabButton : "closeOthers";
config.macros.tiddlersBar = {
tooltip : "see ",
tooltipClose : "click here to close this tab",
tooltipSave : "click here to save this tab",
promptRename : "Enter tiddler new name",
currentTiddler : "",
previousState : false,
handler: function(place,macroName,params) {
if (config.macros.tiddlersBar.isShown())
story.forEachTiddler(function(title,e){
if (title==config.macros.tiddlersBar.currentTiddler){
var d = createTiddlyElement(null,"span",null,"tab tabSelected");
config.macros.tiddlersBar.createActiveTabButton(d,title);
}
else {
var d = createTiddlyElement(place,"span",null,"tab tabUnselected");
var btn = createTiddlyButton(d,title,config.macros.tiddlersBar.tooltip + title,config.macros.tiddlersBar.onSelectTab);
btn.setAttribute("tiddler", title);
}
var isDirty =story.isDirty(title);
var c = createTiddlyButton(d,isDirty ?"!":"x",isDirty?config.macros.tiddlersBar.tooltipSave:config.macros.tiddlersBar.tooltipClose, isDirty ? config.macros.tiddlersBar.onTabSave : config.macros.tiddlersBar.onTabClose,"tabButton");
c.setAttribute("tiddler", title);
if (place.childNodes) {
place.insertBefore(document.createTextNode(" "),place.firstChild); // to allow break line here when many tiddlers are open
place.insertBefore(d,place.firstChild);
}
else place.appendChild(d);
})
},
refresh: function(place,params){
removeChildren(place);
config.macros.tiddlersBar.handler(place,"tiddlersBar",params);
if (config.macros.tiddlersBar.previousState!=config.macros.tiddlersBar.isShown()) {
story.refreshAllTiddlers();
if (config.macros.tiddlersBar.previousState) story.forEachTiddler(function(t,e){e.style.display="";});
config.macros.tiddlersBar.previousState = !config.macros.tiddlersBar.previousState;
}
},
isShown : function(){
if (config.options.chkDisableTabsBar) return false;
if (!config.options.chkHideTabsBarWhenSingleTab) return true;
var cpt=0;
story.forEachTiddler(function(){cpt++});
return (cpt>1);
},
selectNextTab : function(){ //used when the current tab is closed (to select another tab)
var previous="";
story.forEachTiddler(function(title){
if (!config.macros.tiddlersBar.currentTiddler) {
story.displayTiddler(null,title);
return;
}
if (title==config.macros.tiddlersBar.currentTiddler) {
if (previous) {
story.displayTiddler(null,previous);
return;
}
else config.macros.tiddlersBar.currentTiddler=""; // so next tab will be selected
}
else previous=title;
});
},
onSelectTab : function(e){
var t = this.getAttribute("tiddler");
if (t) story.displayTiddler(null,t);
return false;
},
onTabClose : function(e){
var t = this.getAttribute("tiddler");
if (t) {
if(story.hasChanges(t) && !readOnly) {
if(!confirm(config.commands.cancelTiddler.warning.format([t])))
return false;
}
story.closeTiddler(t);
}
return false;
},
onTabSave : function(e) {
var t = this.getAttribute("tiddler");
if (!e) e=window.event;
if (t) config.commands.saveTiddler.handler(e,null,t);
return false;
},
onSelectedTabButtonClick : function(event,src,title) {
var t = this.getAttribute("tiddler");
if (!event) event=window.event;
if (t && config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton])
config.commands[config.options.txtSelectedTiddlerTabButton].handler(event, src, t);
return false;
},
onTiddlersBarAction: function(event) {
var source = event.target ? event.target.id : event.srcElement.id; // FF uses target and IE uses srcElement;
if (source=="tiddlersBar") story.displayTiddler(null,'New Tiddler',DEFAULT_EDIT_TEMPLATE,false,null,null);
},
createActiveTabButton : function(place,title) {
if (config.options.txtSelectedTiddlerTabButton && config.commands[config.options.txtSelectedTiddlerTabButton]) {
var btn = createTiddlyButton(place, title, config.commands[config.options.txtSelectedTiddlerTabButton].tooltip ,config.macros.tiddlersBar.onSelectedTabButtonClick);
btn.setAttribute("tiddler", title);
}
else
createTiddlyText(place,title);
}
}
story.coreCloseTiddler = story.coreCloseTiddler? story.coreCloseTiddler : story.closeTiddler;
story.coreDisplayTiddler = story.coreDisplayTiddler ? story.coreDisplayTiddler : story.displayTiddler;
story.closeTiddler = function(title,animate,unused) {
if (title==config.macros.tiddlersBar.currentTiddler)
config.macros.tiddlersBar.selectNextTab();
story.coreCloseTiddler(title,false,unused); //disable animation to get it closed before calling tiddlersBar.refresh
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
story.displayTiddler = function(srcElement,tiddler,template,animate,unused,customFields,toggle){
story.coreDisplayTiddler(srcElement,tiddler,template,animate,unused,customFields,toggle);
var title = (tiddler instanceof Tiddler)? tiddler.title : tiddler;
if (config.macros.tiddlersBar.isShown()) {
story.forEachTiddler(function(t,e){
if (t!=title) e.style.display="none";
else e.style.display="";
})
config.macros.tiddlersBar.currentTiddler=title;
}
var e=document.getElementById("tiddlersBar");
if (e) config.macros.tiddlersBar.refresh(e,null);
}
ensureVisible=function (e) {return 0} //disable bottom scrolling (not useful now)
config.shadowTiddlers.TiddlersBarPluginStyles = "\
/*{{{*/\n\
#tiddlersBar .button {border:0} \n\
#tiddlersBar .tab {white-space:nowrap} \n\
#tiddlersBar {padding : 1em 0.5em 2px 0.5em} \n\
.tabUnselected .tabButton, .tabSelected .tabButton {padding : 0 2px 0 2px; margin: 0 0 0 4px;} \n\
.tiddler, .tabContents {border:1px [[ColorPalette::TertiaryPale]] solid;} \n\
/*}}}*/";
store.addNotification("TiddlersBarPluginStyles", refreshStyles);
config.shadowTiddlers.PageTemplate=config.shadowTiddlers.PageTemplate.replace(/<div id='tiddlerDisplay'><\/div>/m,"<div id='tiddlersBar' refresh='content' ondblclick='config.macros.tiddlersBar.onTiddlersBarAction(event)'></div>\n<div id='tiddlerDisplay'></div>")
//}}}
//{{{
// setStyleSheet();
//}}}
TiddlyFox is an extension for Mozilla Firefox that enables TiddlyWiki documents loaded from a {{{file:///}}} URI to save changes to themselves.
The latest version of TiddlyFox can be installed from:
https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi
You can also install TiddlyFox from Mozilla's official addon library, but note that this version typically lags behind the latest release.
https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/
|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields permalink references jump fullscreen|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
Командование: [[Адмирал Кэрриган]]
Система базирования: [[Форт-Надежда]], [[Сектор Рингтейл]]
Материнская планета: [[Арконис]]
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
|''Name:''|WikiBar+|
|''Version:''|3.0 (based on Wikibar 2.0.0 beta3)|
|''Source:''|[[AiddlyWiki|http://aiddlywiki.sourceforge.net]]|
|''Original:''|[[Arphen Lin|mailto:arphenlin@gmail.com]]|
|''Fixes:''|[[Karel Wintersky|mailto:karel.wintersky@gmail.com]]|
|''Type:''|toolbar macro command extension|
|''Required:''|TiddlyWiki 2.7.0|
!Description
WikiBar is a toolbar that gives access to most of TiddlyWiki's formatting features with a few clicks. It's a handy tool for people who are not familiar with TiddlyWiki syntax.
Besides, with WikiBar-addons, users can extend the power of WikiBar.
!Revision history
*v3.0 (2013/12/14)
** some fixes for latest TiddlyWiki Core
** REQUIRED {{{ <div class='toolbar wikibar' macro='wikibar'></div> }}} in EditTemplate (below {{{<div class='editor' macro='edit title'></div> }}}
*v2.0.0 beta3 (2005/12/30)
** remove macros (replaced by TWMacro addon)
** add wikibar command in toolbar automatically
** rename DOIT to HANDLER
** rename TIP to TOOLTIP
*v2.0.0 beta2 (2005/12/21)
** re-design Wikibar addon framework
*v2.0.0 beta1 (2005/12/14)
** Note:
*** WikiBarPlugin is renamed to WikiBar
** New Features:
*** support TiddlyWiki 2.0.0 template mechanism
*** new wikibar data structure
*** new wikibar-addon framework for developers
**** support dynamic popup menu generator
*** support most new macros added in TiddlyWiki 2.0.0
*** multi-level popup menu
*** fix wikibar tab stop
*** remove paletteSelector
** Known Bugs:
*** popup-menu and color-picker can't be closed correctly
*** some macros can't be displayed correctly in previewer
*** text in previewer will be displayed italic
*v1.2.0 (2005/11/21)
**New Features:
***User defined color palettes supported
####Get color palettes from [[ColorZilla Palettes|http://www.iosart.com/firefox/colorzilla/palettes.html]].
####Save the palette file(*.gpl) as a new tiddler and tag it with 'ColorPalettes', then you can use it in WikiBar.
***WikiBar style sheet supported
***Click on document to close current colorPicker, paletteSelector or aboutWikibar
*v1.1.1 (2005/11/03)
**Bugs fixed:
***'Not enough parameters!' message is displayed when the parameter includes '%+number', ex: 'hello%20world!'
*v1.1.0 (2005/11/01)
**Bugs fixed:
***WikiBar overruns (reported by by GeoffS <gslocock@yahoo.co.uk>)
**New features:
***Insert a color code at the cursor. (Thanks to RunningUtes <RunningUtes@gmail.com>)
***Enable gradient macro. (Thanks to RunningUtes <RunningUtes@gmail.com>)
***Insert tiddler comment tags {{{/% ... %/}}}. (new feature supported by TiddlyWiki 1.2.37)
***Insert DateFormatString for {{{<<today>>}}} macro. (new feature supported by TiddlyWiki 1.2.37)
**Enhanced:
***Allow optional parameters in syntax.
**Bugs:
***'Not enough parameters!' message is displayed when the parameter includes '%+number', ex: 'hello%20world!'
*v1.0.0 (2005/10/30)
**Initial release
!Code
***/
//{{{
config.macros.wikibar = {major: 3, minor: 0, revision: 0, date: new Date(2013,12,14)};
config.macros.wikibar.handler = function(place,macroName,params,wikifier,paramString,tiddler){
if(!(tiddler instanceof Tiddler)) {return;}
story.setDirty(tiddler.title,true);
place.id = 'wikibar'+(tiddler.title).replace(/_/g, "__").replace(/ /g, "_"); // @KW Patch for CORE 2.7.0
place.className = 'toolbar wikibar';
};
function wikibar_install(){
config.commands.wikibar = {
text: 'wikibar',
tooltip: 'wikibar on/off',
handler: function(e,src,title) {
if(!e){ e = window.event; }
title = title.replace(/_/g, "__").replace(/ /g, "_"); // @KW Patch for CORE 2.7.0
var theButton = resolveTarget(e);
theButton.id = 'wikibarButton'+title;
wikibarPopup.remove();
wikibar_installAddons(theButton, title);
wikibar_createWikibar(title);
return(false);
}
};
config.shadowTiddlers['EditTemplate'] = wikibar_addWikibarCommand(config.shadowTiddlers['EditTemplate']);
var tiddler = store.getTiddler('EditTemplate');
if(tiddler){
tiddler.text = wikibar_addWikibarCommand(tiddler.text);
}
}
function wikibar_installAddons(theButton, title){
var tiddlers = store.getTaggedTiddlers('wikibarAddons');
if(!tiddlers) { return; }
theButton.addons=[];
for(var i=0; i<tiddlers.length; i++){
try{
eval(tiddlers[i].text);
try{
wikibar_addonInstall(title);
wikibar_addonInstall = null;
theButton.addons.push({ok:true, name:tiddlers[i].title});
}catch(ex){
theButton.addons.push({ok:false, name:tiddlers[i].title, error:ex});
}
}catch(ex){
theButton.addons.push({ok:false, name:tiddlers[i].title, error:ex});
}
}
}
function wikibar_addWikibarCommand(tiddlerText){
var div = document.createElement('div');
div.style.display = 'none';
div.innerHTML = tiddlerText;
for(var i=0; i<div.childNodes.length; i++){
var o=div.childNodes[i];
if(o.tagName==='DIV'){
if(o.className=='toolbar'){
var macroText = o.getAttribute('macro').trim();
if(macroText.search('wikibar')<=0){
macroText += ' wikibar';
o.setAttribute('macro', macroText);
}
break;
}
}
}
return div.innerHTML.replace(/\"/g, "\'");
}
function wikibar_processSyntaxParams(theSyntax, params){
try{
var pcr = 'AplWikibarPcr';
var rx=null;
var allParams=null;
if(params){
if(typeof(params)=='object'){
for(var i=0; i<params.length; i++){
if(params[i]){
params[i] = params[i].replace(new RegExp('%','g'), pcr).trim();
rx = '(\\[%'+(i+1)+'\\])' + '|' + '(%'+(i+1)+')';
theSyntax = theSyntax.replace(new RegExp(rx,'g'), params[i] );
}
}
allParams = params.join(' ').trim();
}else{
allParams = params.replace(new RegExp('%','g'), pcr).trim();
rx = /(\[%1{1}\])|(%1{1})/g;
theSyntax = theSyntax.replace(rx, allParams);
}
}
if(allParams){
theSyntax = theSyntax.replace(new RegExp('%N{1}','g'), allParams);
}
rx=/\[%(([1-9]{1,}[0-9]{0,})|(N{1}))\]/g;
theSyntax = theSyntax.replace(rx, '');
rx=/%(([1-9]{1,}[0-9]{0,})|(N{1}))/g;
if( theSyntax.match(rx) ){
throw 'Not enough parameters! ' + theSyntax;
}
theSyntax=theSyntax.replace(new RegExp(pcr,'g'), '%');
return theSyntax;
} catch(ex){
return null;
}
}
function wikibar_resolveEditItem(tiddlerWrapper, itemName){
if(tiddlerWrapper.hasChildNodes()){
var c=tiddlerWrapper.childNodes;
for(var i=0; i<c.length; i++){
var txt=wikibar_resolveEditItem(c[i], itemName);
if(!txt){
continue;
}else{
return txt;
}
}
}
return ((tiddlerWrapper.getAttribute && tiddlerWrapper.getAttribute('edit')==itemName)? tiddlerWrapper : null);
}
function wikibar_resolveEditItemValue(tiddlerWrapper, itemName){
var o = wikibar_resolveEditItem(tiddlerWrapper, itemName);
return (o? o.value.replace(/\r/mg,'') : null);
}
function wikibar_resolveTiddlerEditorWrapper(obj){
if(obj.id=='tiddlerDisplay'){return null;}
if((obj.getAttribute && obj.getAttribute('macro')=='edit text')){return obj;}
return wikibar_resolveTiddlerEditorWrapper(obj.parentNode);
}
function wikibar_resolveTiddlerEditor(obj){
if(obj.hasChildNodes()){
var c = obj.childNodes;
for(var i=0; i<c.length; i++){
var o=wikibar_resolveTiddlerEditor(c[i]);
if(o){ return o;}
}
}
return ((obj.getAttribute && obj.getAttribute('edit')=='text')? obj : null);
}
function wikibar_resolveTargetButton(obj){
if(obj.id && obj.id.substring(0,7)=='wikibar'){ return null; }
if(obj.tiddlerTitle){
return obj;
}else{
return wikibar_resolveTargetButton(obj.parentNode);
}
}
function wikibar_isValidMenuItem(tool){
if(!tool){ return false; }
if(tool.TYPE=='MENU' || tool.TYPE=='MAIN_MENU'){
for(var key in tool){
if(key.substring(0,8)=='DYNAITEM'){ return true; }
if(wikibar_isValidMenuItem(tool[key])){ return true; }
}
return false;
}else{
return (tool.HANDLER? true : false);
}
}
function wikibar_editFormat(param){
var editor = param.button.editor;
var params = param.params;
clearMessage();
if(!editor){ return; }
var repText = wikibar_processSyntaxParams(this.syntax, params);
if(repText===null){ return; }
var st = editor.scrollTop;
var ss = editor.selectionStart;
var se = editor.selectionEnd;
var frontText= '';
var endText = '';
var fullText = editor.value;
if(se>ss && ss>=0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
}
else if(ss===0 && (se===0 || se == fullText.length) ){
endText = fullText;
}
else if(se==ss && ss>0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
}
if(repText.indexOf('user_text')>=0 && this.hint){
repText = repText.replace('user_text', this.hint);
}
editor.value = frontText + repText + endText;
editor.selectionStart = ss;
editor.selectionEnd = ss + repText.length;
editor.scrollTop = st;
editor.focus();
}
function wikibar_editFormatByWord(param){
var editor = param.button.editor;
var params = param.params;
clearMessage();
if(!editor){return;}
var repText = wikibar_processSyntaxParams(this.syntax, params);
if(repText===null){ return; }
var st = editor.scrollTop;
var ss = editor.selectionStart;
var se = editor.selectionEnd;
var frontText= '';
var selText = '';
var endText = '';
var fullText = editor.value;
if(se>ss && ss>=0){
frontText = fullText.substring(0, ss);
selText = fullText.substring(ss,se);
endText = fullText.substring(se, fullText.length);
}
else if(ss===0 && (se===0 || se == fullText.length) ){
endText = fullText;
}
else if(se==ss && ss>0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
if(!( fullText.charAt(ss-1).match(/\W/gi) || fullText.charAt(ss).match(/\W/gi) )){
var m = frontText.match(/\W/gi);
if(m){
ss = frontText.lastIndexOf(m[m.length-1])+1;
}
else{
ss = 0;
}
m = endText.match(/\W/gi);
if(m){
se += endText.indexOf(m[0]);
}
else{
se = fullText.length;
}
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
selText = fullText.substring(ss,se);
}
}
if(selText.length>0){
repText = repText.replace('user_text', selText);
}
if(repText.indexOf('user_text')>=0 && this.hint){
repText = repText.replace('user_text', this.hint);
}
editor.value = frontText + repText + endText;
editor.selectionStart = ss;
editor.selectionEnd = ss + repText.length;
editor.scrollTop = st;
editor.focus();
}
function wikibar_editFormatByCursor(param){
var editor = param.button.editor;
var params = param.params;
clearMessage();
if(!editor){ return; }
var repText = wikibar_processSyntaxParams(this.syntax, params);
if(repText===null){ return; }
var st = editor.scrollTop;
var ss = editor.selectionStart;
var se = editor.selectionEnd;
var frontText= '';
var endText = '';
var fullText = editor.value;
if(se>ss && ss>=0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
}
else if(ss===0 && (se===0 || se == fullText.length) ){
endText = fullText;
}
else if(se==ss && ss>0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
}
if(repText.indexOf('user_text')>=0 && this.hint){
repText = repText.replace('user_text', this.hint);
}
editor.value = frontText + repText + endText;
editor.selectionStart = ss;
editor.selectionEnd = ss + repText.length;
editor.scrollTop = st;
editor.focus();
}
function wikibar_editFormatByLine(param){
var editor = param.button.editor;
var params = param.params;
clearMessage();
if(!editor){ return; }
var repText = wikibar_processSyntaxParams(this.syntax, params);
if(repText===null){ return; }
var st = editor.scrollTop;
var ss = editor.selectionStart;
var se = editor.selectionEnd;
var frontText= '';
var selText = '';
var endText = '';
var fullText = editor.value;
if(se>ss && ss>=0){
if(this.byBlock){
frontText = fullText.substring(0, ss);
selText = fullText.substring(ss,se);
endText = fullText.substring(se, fullText.length);
}
else{
se = ss;
}
}
if(ss===0 && (se===0 || se == fullText.length) ){
var m=fullText.match(/(\n|\r)/g);
if(m){
se = fullText.indexOf(m[0]);
}else{
se = fullText.length;
}
selText = fullText.substring(0, se);
endText = fullText.substring(se, fullText.length);
}
else if(se==ss && ss>0){
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
m = frontText.match(/(\n|\r)/g);
if(m){
ss = frontText.lastIndexOf(m[m.length-1])+1;
}
else{
ss = 0;
}
m = endText.match(/(\n|\r)/g);
if(m){
se += endText.indexOf(m[0]);
}
else{
se = fullText.length;
}
frontText = fullText.substring(0, ss);
selText = fullText.substring(ss,se);
endText = fullText.substring(se, fullText.length);
}
if(selText.length>0){
repText = repText.replace('user_text', selText);
}
if(repText.indexOf('user_text')>=0 && this.hint){
repText = repText.replace('user_text', this.hint);
}
if(this.byBlock){
if( (frontText.charAt(frontText.length-1)!='\n') && ss>0 ){
repText = '\n' + repText;
}
if( (endText.charAt(0)!='\n') || se==fullText.length){
repText += '\n';
}
}
editor.value = frontText + repText + endText;
editor.selectionStart = ss;
editor.selectionEnd = ss + repText.length;
editor.scrollTop = st;
editor.focus();
}
function wikibar_editFormatByTableCell(param){
var editor = param.button.editor;
var params = param.params;
clearMessage();
if(!editor){ return; }
var repText = wikibar_processSyntaxParams(this.syntax, params);
if(repText===null){ return; }
var st = editor.scrollTop;
var ss = editor.selectionStart;
var se = editor.selectionEnd;
var frontText= '';
var selText = '';
var endText = '';
var fullText = editor.value;
if(ss===0 || ss==fullText.length){
throw 'not valid cell!';
}
se=ss;
frontText = fullText.substring(0, ss);
endText = fullText.substring(se, fullText.length);
i=frontText.lastIndexOf('\n');
j=frontText.lastIndexOf('|');
if(i>j || j<0){
throw 'not valid cell!';
}
ss = j+1;
i=endText.indexOf('\n');
j=endText.indexOf('|');
if(i<j || j<0){
throw 'not valid cell!';
}
se += j;
frontText = fullText.substring(0, ss-1);
selText = fullText.substring(ss,se);
endText = fullText.substring(se+1, fullText.length);
if(this.key.substring(0,5)=='align'){
selText = selText.trim();
if( selText=='>' || selText=='~' || selText.substring(0,8)=='bgcolor(') {return; }
}
if(selText.length>0){
repText = repText.replace('user_text', selText);
}
if(repText.indexOf('user_text')>=0 && this.hint){
repText = repText.replace('user_text', this.hint);
}
editor.value = frontText + repText + endText;
editor.selectionStart = ss;
editor.selectionEnd = ss + repText.length - 2;
editor.scrollTop = st;
editor.focus();
}
function wikibar_editSelectAll(param){
var editor = param.button.editor;
editor.selectionStart = 0;
editor.selectionEnd = editor.value.length;
editor.scrollTop = 0;
editor.focus();
}
function wikibar_doPreview(param){
var theButton = param.button;
var editor = param.button.editor;
var wikibar = theButton.parentNode;
if(!wikibar) { return; }
title = theButton.tiddlerTitle;
var editorWrapper = wikibar_resolveTiddlerEditorWrapper(editor);
var tiddlerWrapper = editorWrapper.parentNode;
var previewer = document.getElementById('previewer'+title);
if(previewer){
previewer.parentNode.removeChild(previewer);
editorWrapper.style.display = 'block';
visible=true;
}else{
previewer = document.createElement('div');
previewer.id = 'previewer'+title;
previewer.className = 'viewer previewer';
previewer.style.height = (editor.offsetHeight) + 'px';
wikify(editor.value, previewer);
tiddlerWrapper.insertBefore(previewer, editorWrapper);
editorWrapper.style.display = 'none';
visible=false;
}
var pv=null;
for(var i=0; i<wikibar.childNodes.length; i++){
try{
var btn = wikibar.childNodes[i];
if(btn.toolItem.key == 'preview'){ pv=btn; }
if(btn.toolItem.key != 'preview'){
btn.style.display = visible ? '': 'none';
}
}catch(ex){}
}
if(!pv) { return; }
if(visible){
pv.innerHTML = '<font face=\"verdana\">∞</font>';
pv.title = 'preview current tiddler';
}
else{
pv.innerHTML = '<font face=\"verdana\">←</font>';
pv.title = 'back to editor';
}
}
function wikibar_doListAddons(param){
clearMessage();
var title = param.button.tiddlerTitle;
var wikibarButton = document.getElementById('wikibarButton'+title);
var ok=0, fail=0;
for(var i=0; i<wikibarButton.addons.length; i++){
var addon=wikibarButton.addons[i];
if(addon.ok){
displayMessage('[ o ] '+addon.name);
ok++;
}
else{
displayMessage('[ x ] '+addon.name + ': ' + addon.error);
fail++;
}
}
displayMessage('---------------------------------');
displayMessage(ok + ' ok ; ' + fail + ' failed');
}
function wikibar_getColorCode(param){
var cbOnPickColor = function(colorCode, param){
param.params = colorCode;
param.button.toolItem.doMore(param);
};
wikibarColorTool.openColorPicker(param.button, cbOnPickColor, param);
}
function wikibar_getLinkUrl(param){
var url= prompt('Please enter the link target', (this.param? this.param : ''));
if (url && url.trim().length>0){
param.params = url;
this.doMore(param);
}
}
function wikibar_getTableRowCol(param){
var rc= prompt('Please enter (rows x cols) of the table', '2 x 3');
if (!rc || (rc.trim()).length<=0){ return; }
var arr = rc.toUpperCase().split('X');
if(arr.length != 2) { return; }
for(var i=0; i<arr.length; i++){
if(isNaN(arr[i].trim())) { return; }
}
var rows = parseInt(arr[0].trim(), 10);
var cols = parseInt(arr[1].trim(), 10);
var txtTable='';
for(var r=0; r<rows; r++){
for(var c=0; c<=cols; c++){
if(c===0){
txtTable += '|';
}else{
txtTable += ' |';
}
}
txtTable += '\n';
}
if(txtTable.trim().length>0){
param.params = txtTable.trim();
this.doMore(param);
}
}
function wikibar_getMacroParam(param){
var p = prompt('Please enter the parameters of macro \"' + this.key + '\":' +
'\nSyntax: ' + this.syntax +
'\n\nNote: '+
'\n%1,%2,... - parameter needed'+
'\n[%1] - optional parameter'+
'\n%N - more than one parameter(1~n)'+
'\n[%N] - any number of parameters(0~n)'+
'\n\nPS:'+
'\n1. Parameters should be seperated with space character'+
'\n2. Use \" to wrap the parameter that includes space character, ex: \"hello world\"'+
'\n3. Input the word(null) for the optional parameter ignored',
(this.param? this.param : '') );
if(!p) { return; }
p=p.readMacroParams();
for(var i=0; i<p.length; i++){
var s=p[i].trim();
if(s.indexOf(' ')>0){ p[i]="'"+s+"'"; }
if(s.toLowerCase()=='null'){ p[i]=null; }
}
param.params = p;
this.doMore(param);
}
function wikibar_getMorePalette(unused){
clearMessage();
displayMessage('Get more color palettes(*.gpl) from ColorZilla Palettes site', 'http:\/\/www.iosart.com/firefox/colorzilla/palettes.html');
displayMessage('Save it as a new tiddler with \"ColorPalettes\" tag');
}
function wikibar_createWikibar(title){
var theWikibar = document.getElementById('wikibar' + title);
if(theWikibar){
if(theWikibar.hasChildNodes()){
theWikibar.style.display = (theWikibar.style.display=='block'? 'none':'block');
return;
}
}
var tiddlerWrapper = document.getElementById('tiddler'+title);
var theTextarea = wikibar_resolveTiddlerEditor(tiddlerWrapper);
if(!theTextarea){
clearMessage();
displayMessage('WikiBar only works in tiddler edit mode now');
return;
}else{
if(!theTextarea.id){ theTextarea.id = 'editor'+title; }
if(!theTextarea.parentNode.id){ theTextarea.parentNode.id='editorWrapper'+title; }
}
if(theWikibar){
theWikibar = document.getElementById('wikibar'+title);
}else{
var editorWrapper = wikibar_resolveTiddlerEditorWrapper(theTextarea);
theWikibar = createTiddlyElement(tiddlerWrapper, 'div', 'wikibar'+title, 'toolbar');
addClass(theWikibar, 'wikibar');
var previewer = document.getElementById('previewer'+title);
if(previewer){
tiddlerWrapper.insertBefore(theWikibar, previewer);
}else{
tiddlerWrapper.insertBefore(theWikibar, editorWrapper);
}
}
wikibar_createMenu(theWikibar,wikibarStore,title,theTextarea);
if(config.options['chkWikibarSetEditorHeight'] && config.options['txtWikibarEditorRows']){
theTextarea.rows = config.options['txtWikibarEditorRows'];
}
setStylesheet(
'.wikibar{text-align:left;visibility:visible;margin:2px;padding:1px;}.previewer{overflow:auto;display:block;border:1px solid;}#colorPicker{position:absolute;display:none;z-index:10;margin:0px;padding:0px;}#colorPicker table{margin:0px;padding:0px;border:2px solid #000;border-spacing:0px;border-collapse:collapse;}#colorPicker td{margin:0px;padding:0px;border:1px solid;font-size:11px;text-align:center;cursor:auto;}#colorPicker .header{background-color:#fff;}#colorPicker .button{background-color:#fff;cursor:pointer;cursor:hand;}#colorPicker .button:hover{padding-top:3px;padding-bottom:3px;color:#fff;background-color:#136;}#colorPicker .cell{padding:4px;font-size:7px;cursor:crosshair;}#colorPicker .cell:hover{padding:10px;}.wikibarPopup{position:absolute;z-index:10;border:1px solid #014;color:#014;background-color:#cef;}.wikibarPopup table{margin:0;padding:0;border:0;border-spacing:0;border-collapse:collapse;}.wikibarPopup .button:hover{color:#eee;background-color:#014;}.wikibarPopup .disabled{color:#888;}.wikibarPopup .disabled:hover{color:#888;background-color:#cef;}.wikibarPopup tr .seperator hr{margin:0;padding:0;background-color:#cef;width:100%;border:0;border-top:1px dashed #014;}.wikibarPopup tr .icon{font-family:verdana;font-weight:bolder;}.wikibarPopup tr .marker{font-family:verdana;font-weight:bolder;}.wikibarPopup td{font-size:0.9em;padding:2px;}.wikibarPopup input{border:0;border-bottom:1px solid #014;margin:0;padding:0;font-family:arial;font-size:100%;background-color:#fff;}',
'WikiBarStyleSheet');
}
function wikibar_createMenu(place,toolset,title,editor){
if(!wikibar_isValidMenuItem(toolset)){return;}
if(!(toolset.TYPE=='MAIN_MENU' || toolset.TYPE=='MENU')){ return; }
for(var key in toolset){
if(key.substring(0,9)=='SEPERATOR'){
wikibar_createMenuSeperator(place);
continue;
}
if(key.substring(0,8)=='DYNAITEM'){
var dynaTools = toolset[key](title,editor);
if(dynaTools.TYPE && dynaTools.TYPE=='MENU'){
wikibar_createMenuItem(place,dynaTools,null,editor,title);
}else{
dynaTools.TYPE = 'MENU';
wikibar_createMenu(place, dynaTools, title, editor);
}
continue;
}
if((toolset[key].TYPE!='MENU' && toolset[key].TYPE!='MAIN_MENU') && !toolset[key].HANDLER){continue;}
wikibar_createMenuItem(place,toolset,key,editor,title);
}
}
function wikibar_createMenuItem(place,toolset,key,editor,title){
if(!key){
var tool = toolset;
}else{
tool = toolset[key];
tool.key = key;
}
if(!wikibar_isValidMenuItem(tool)){return;}
var toolIsOnMainMenu = (toolset.TYPE=='MAIN_MENU');
var toolIsMenu = (tool.TYPE=='MENU');
var theButton;
if(toolIsOnMainMenu){
theButton = createTiddlyButton(
place,
'',
(tool.TOOLTIP? tool.TOOLTIP : ''),
(toolIsMenu? wikibar_onClickMenuItem : wikibar_onClickItem),
'button');
theButton.innerHTML = (tool.CAPTION? tool.CAPTION : key);
theButton.isOnMainMenu = true;
addClass(theButton, (toolIsMenu? 'menu' : 'item'));
place.appendChild( document.createTextNode('\n') );
if(!toolIsMenu){
if(config.options['chkWikibarPopmenuOnMouseOver']){
theButton.onmouseover = function(e){ wikibarPopup.remove(); };
}
}
}else{
theButton=createTiddlyElement(place, 'tr',key,'button');
theButton.title = (tool.TOOLTIP? tool.TOOLTIP : '');
theButton.onclick = (toolIsMenu? wikibar_onClickMenuItem : wikibar_onClickItem);
var tdL = createTiddlyElement(theButton, 'td','','marker');
var td = createTiddlyElement(theButton, 'td');
var tdR = createTiddlyElement(theButton, 'td','','marker');
td.innerHTML = (tool.CAPTION? tool.CAPTION : key);
if(toolIsMenu){
tdR.innerHTML=' ›';
}
if(tool.SELECTED){
tdL.innerHTML = '√ ';
addClass(theButton, 'selected');
}
if(tool.DISABLED){
addClass(theButton, 'disabled');
}
}
theButton.tiddlerTitle = title;
theButton.toolItem = tool;
theButton.editor = editor;
theButton.tabIndex = 999;
if(toolIsMenu){
if(config.options['chkWikibarPopmenuOnMouseOver']){
theButton.onmouseover = wikibar_onClickMenuItem;
}
}
}
function wikibar_createMenuSeperator(place){
if(place.id.substring(0,7)=='wikibar') { return; }
var onclickSeperator=function(e){
if(!e){ e = window.event; }
e.cancelBubble = true;
if (e.stopPropagation){ e.stopPropagation(); }
return(false);
};
var theButton=createTiddlyElement(place,'tr','','seperator');
var td = createTiddlyElement(theButton, 'td','','seperator');
td.colSpan=3;
theButton.onclick=onclickSeperator;
td.innerHTML = '<hr>';
}
function wikibar_genWikibarAbout(){
var toolset={};
toolset.version = {
CAPTION: '<center>WikiBar ' +
config.macros.wikibar.major + '.' +
config.macros.wikibar.minor + '.' +
config.macros.wikibar.revision +
(config.macros.wikibar.beta? ' beta '+config.macros.wikibar.beta : '') +
'</center>',
HANDLER: function(){}
};
toolset.SEPERATOR = {};
toolset.author = {
CAPTION: '<center>Arphen Lin<br>arphenlin@gmail.com</center>',
TOOLTIP: 'send mail to the author',
HANDLER: function(){ window.open('mailto:arphenlin@gmail.com'); }
};
toolset.website = {
CAPTION: '<center>aiddlywiki.sourceforge.net</center>',
TOOLTIP: 'go to the web site of WikiBar',
HANDLER: function(){ window.open('http:\/\/aiddlywiki.sourceforge.net/'); }
};
return toolset;
}
function wikibar_genWikibarOptions(title, editor){
var toolset={};
toolset.popOnMouseOver = {
CAPTION:'popup menu on mouse over',
SELECTED: config.options['chkWikibarPopmenuOnMouseOver'],
HANDLER: function(param){
config.options['chkWikibarPopmenuOnMouseOver'] = !config.options['chkWikibarPopmenuOnMouseOver'];
saveOptionCookie('chkWikibarPopmenuOnMouseOver');
var title = param.button.tiddlerTitle;
var wikibar = document.getElementById('wikibar'+title);
if(wikibar){ wikibar.parentNode.removeChild(wikibar); }
wikibar_createWikibar(title);
}
};
toolset.setEditorSize = {
CAPTION:'set editor height: <input id=\"txtWikibarEditorRows\" type=text size=1 MAXLENGTH=3 value=\"' +
(config.options['txtWikibarEditorRows']? config.options['txtWikibarEditorRows']:editor.rows) + '\"> ok',
HANDLER: function(param){
var input = document.getElementById('txtWikibarEditorRows');
if(input){
var rows = parseInt(input.value, 10);
if(!isNaN(rows)){
var editor = param.button.editor;
editor.rows = rows;
}else{
rows=config.maxEditRows;
}
config.options['txtWikibarEditorRows'] = rows;
saveOptionCookie('txtWikibarEditorRows');
config.maxEditRows = rows;
}
}
};
toolset.setEditorSizeOnLoadingWikibar = {
CAPTION:'set editor height on loading wikibar',
SELECTED: config.options['chkWikibarSetEditorHeight'],
HANDLER: function(param){
config.options['chkWikibarSetEditorHeight'] = !config.options['chkWikibarSetEditorHeight'];
saveOptionCookie('chkWikibarSetEditorHeight');
if(config.options['chkWikibarSetEditorHeight']){
var rows = config.options['txtWikibarEditorRows'];
if(!isNaN(rows)){ rows = 15; }
var editor = param.button.editor;
editor.rows = rows;
config.options['txtWikibarEditorRows'] = rows;
saveOptionCookie('txtWikibarEditorRows');
}
}
};
toolset.SEPERATOR = {};
toolset.update = {
CAPTION: 'check for updates',
DISABLED: true,
HANDLER: function(){}
};
return toolset;
}
function wikibar_genPaletteSelector(){
try{
var cpTiddlers = store.getTaggedTiddlers('ColorPalettes');
if(!cpTiddlers) { return; }
var palettes=[];
palettes.push(wikibarColorTool.defaultPaletteName);
for(var i=0; i<cpTiddlers.length; i++){
palettes.push(cpTiddlers[i].title.trim());
}
var toolset={};
for(i=0; i<palettes.length; i++){
toolset[palettes[i]] = {
TOOLTIP: palettes[i],
SELECTED: (palettes[i]==wikibarColorTool.paletteName),
HANDLER: wikibar_doSelectPalette
};
}
return toolset;
}catch(ex){ return null; }
}
function wikibar_onClickItem(e){
if(!e){ e = window.event; }
var theTarget = resolveTarget(e);
if(theTarget.tagName=='INPUT'){
e.cancelBubble = true;
if (e.stopPropagation){ e.stopPropagation(); }
return;
}
var theButton = wikibar_resolveTargetButton(theTarget);
if(!theButton){ return(false); }
var o = theButton.toolItem;
if(!o) { return; }
var param = {
event: e,
button: theButton
};
if(o.HANDLER){ o.HANDLER(param); }
if(o.DISABLED){
e.cancelBubble = true;
if (e.stopPropagation){ e.stopPropagation(); }
}
return(false);
}
function wikibar_onClickMenuItem(e){
if(!e){ e = window.event; }
var theButton = wikibar_resolveTargetButton(resolveTarget(e));
if(!theButton){ return(false); }
e.cancelBubble = true;
if (e.stopPropagation){ e.stopPropagation(); }
var title = theButton.tiddlerTitle;
var editor = theButton.editor;
var tool = theButton.toolItem;
if(!tool) { return; }
var popup = wikibarPopup.create(this);
if(popup){
wikibar_createMenu(popup,tool,title,editor);
if(!popup.hasChildNodes()){
wikibarPopup.remove();
}else{
wikibarPopup.show(popup, false);
}
}
return(false);
}
var wikibarColorTool = {
defaultPaletteName : 'default',
defaultColumns : 16,
defaultPalette : [
'#FFF','#DDD','#CCC','#BBB','#AAA','#999','#666','#333','#111','#000','#FC0','#F90','#F60','#F30','#C30','#C03',
'#9C0','#9D0','#9E0','#E90','#D90','#C90','#FC3','#FC6','#F96','#F63','#600','#900','#C00','#F00','#F36','#F03',
'#CF0','#CF3','#330','#660','#990','#CC0','#FF0','#C93','#C63','#300','#933','#C33','#F33','#C36','#F69','#F06',
'#9F0','#CF6','#9C3','#663','#993','#CC3','#FF3','#960','#930','#633','#C66','#F66','#903','#C39','#F6C','#F09',
'#6F0','#9F6','#6C3','#690','#996','#CC6','#FF6','#963','#630','#966','#F99','#F39','#C06','#906','#F3C','#F0C',
'#3F0','#6F3','#390','#6C0','#9F3','#CC9','#FF9','#C96','#C60','#C99','#F9C','#C69','#936','#603','#C09','#303',
'#0C0','#3C0','#360','#693','#9C6','#CF9','#FFC','#FC9','#F93','#FCC','#C9C','#969','#939','#909','#636','#606',
'#060','#3C3','#6C6','#0F0','#3F3','#6F6','#9F9','#CFC','#9CF','#FCF','#F9F','#F6F','#F3F','#F0F','#C6C','#C3C',
'#030','#363','#090','#393','#696','#9C9','#CFF','#39F','#69C','#CCF','#C9F','#96C','#639','#306','#90C','#C0C',
'#0F3','#0C3','#063','#396','#6C9','#9FC','#9CC','#06C','#369','#99F','#99C','#93F','#60C','#609','#C3F','#C0F',
'#0F6','#3F6','#093','#0C6','#3F9','#9FF','#699','#036','#039','#66F','#66C','#669','#309','#93C','#C6F','#90F',
'#0F9','#6F9','#3C6','#096','#6FF','#6CC','#366','#069','#36C','#33F','#33C','#339','#336','#63C','#96F','#60F',
'#0FC','#6FC','#3C9','#3FF','#3CC','#399','#033','#39C','#69F','#00F','#00C','#009','#006','#003','#63F','#30F',
'#0C9','#3FC','#0FF','#0CC','#099','#066','#3CF','#6CF','#09C','#36F','#0CF','#09F','#06F','#03F','#03C','#30C'
],
colorPicker : null,
pickColorHandler: null,
userData: null
};
wikibarColorTool.paletteName = wikibarColorTool.defaultPaletteName;
wikibarColorTool.columns = wikibarColorTool.defaultColumns;
wikibarColorTool.palette = wikibarColorTool.defaultPalette;
wikibarColorTool.onPickColor = function(e){
if (!e){ e = window.event; }
var theCell = resolveTarget(e);
if(!theCell){ return(false); }
color = theCell.bgColor.toLowerCase();
if(!color) { return; }
wikibarColorTool.displayColorPicker(false);
if(wikibarColorTool.pickColorHandler){
wikibarColorTool.pickColorHandler(color, wikibarColorTool.userData);
}
return(false);
};
wikibarColorTool.onMouseOver = function(e){
if (!e){ e = window.event; }
var theButton = resolveTarget(e);
if(!theButton){ return(false); }
if(!wikibarColorTool) { return; }
color = theButton.bgColor.toUpperCase();
if(!color) { return; }
td=document.getElementById('colorPickerInfo');
if(!td) { return; }
td.bgColor = color;
td.innerHTML = '<span style=\"color:#000;\">'+color+'</span> ' +
'<span style=\"color:#fff;\">'+color+'</span>';
e.cancelBubble = true;
if (e.stopPropagation){ e.stopPropagation(); }
return(false);
};
wikibarColorTool.openColorPicker = function(theTarget, pickColorHandler, userData){
wikibarColorTool.skipClickDocumentEvent = true;
wikibarColorTool.pickColorHandler = pickColorHandler;
wikibarColorTool.userData = userData;
wikibarColorTool.moveColorPicker(theTarget);
};
wikibarColorTool.convert3to6HexColor = function(c){
c=c.trim();
var rx=/^\#(\d|[a-f])(\d|[a-f])(\d|[a-f])$/gi;
return (rx.test(c)? c.replace(rx, '#$1$1$2$2$3$3') : c);
};
wikibarColorTool.numToHexColor = function (n){
if(typeof(n)=='number' && (n>=0 && n<=255)) {
s = n.toString(16).toLowerCase();
return ((s.length==1)? '0'+s : s);
}else{
return null;
}
};
wikibarColorTool.renderColorPalette = function(){
if(wikibarColorTool.paletteName==wikibarColorTool.defaultPaletteName){
wikibarColorTool.palette=wikibarColorTool.defaultPalette;
wikibarColorTool.columns=wikibarColorTool.defaultColumns;
return;
}
tiddlerText = (store.getTiddlerText(wikibarColorTool.paletteName, '')).trim();
if(tiddlerText.length<=0) { return; }
var cpContents = tiddlerText.split('\n');
var colors=[];
columns = wikibarColorTool.defaultColumns;
var tmpArray=null;
errCount=0;
for(var i=0; i<cpContents.length; i++){
cpLine=cpContents[i].trim();
if( (!cpLine) || (cpLine.length<=0) || (cpLine.charAt(0) == '#') ){ continue; }
if(cpLine.substring(0,8).toLowerCase()=='columns:'){
tmpArray = cpLine.split(':');
try{
columns = parseInt(tmpArray[1],10);
}catch(ex){
columns = wikibarColorTool.defaultColumns;
}
}else{
tmpArray = cpLine.replace('\t', ' ').split(/[ ]{1,}/);
try{
color='';
for(var j=0; j<3; j++){
c=parseInt(tmpArray[j].trim(), 10);
if(isNaN(c)){
break;
}else{
c=wikibarColorTool.numToHexColor(c);
if(!c) {break;}
color+=c;
}
}
if(color.length==6){
colors.push('#'+color);
} else {
throw 'error';
}
}catch(ex){
}
}
}
if(colors.length>0){
wikibarColorTool.palette = colors;
wikibarColorTool.columns = columns;
}else{
throw 'renderColorPalette(): No color defined in the palette.';
}
};
wikibarColorTool.displayColorPicker = function(visible){
if(wikibarColorTool.colorPicker){
wikibarColorTool.colorPicker.style.display = (visible? 'block' : 'none');
}
};
wikibarColorTool.moveColorPicker = function(theTarget){
if(!wikibarColorTool.colorPicker){
wikibarColorTool.createColorPicker();
}
var cp = wikibarColorTool.colorPicker;
var rootLeft = findPosX(theTarget);
var rootTop = findPosY(theTarget);
var popupLeft = rootLeft;
var popupTop = rootTop;
var popupWidth = cp.offsetWidth;
var winWidth = findWindowWidth();
if(popupLeft + popupWidth > winWidth){
popupLeft = winWidth - popupWidth;
}
cp.style.left = popupLeft + 'px';
cp.style.top = popupTop + 'px';
wikibarColorTool.displayColorPicker(true);
};
wikibarColorTool.createColorPicker = function(unused, palette){
if(palette){ wikibarColorTool.paletteName=palette; }
wikibarColorTool.renderColorPalette();
wikibarColorTool.colorPicker = document.createElement('div');
wikibarColorTool.colorPicker.id = 'colorPicker';
document.body.appendChild(wikibarColorTool.colorPicker);
var theTable = document.createElement('table');
wikibarColorTool.colorPicker.appendChild(theTable);
var theTR = document.createElement('tr');
theTable.appendChild(theTR);
var theTD = document.createElement('td');
theTD.className = 'header';
theTD.colSpan = wikibarColorTool.columns;
theTD.innerHTML = wikibarColorTool.paletteName;
theTR.appendChild(theTD);
for(var i=0; i<wikibarColorTool.palette.length; i++){
if((i%wikibarColorTool.columns)===0){
theTR = document.createElement('tr');
theTable.appendChild(theTR);
}
theTD = document.createElement('td');
theTD.className = 'cell';
theTD.bgColor = wikibarColorTool.convert3to6HexColor(wikibarColorTool.palette[i]);
theTD.onclick = wikibarColorTool.onPickColor;
theTD.onmouseover = wikibarColorTool.onMouseOver;
theTR.appendChild(theTD);
}
rest = wikibarColorTool.palette.length % wikibarColorTool.columns;
if(rest>0){
theTD = document.createElement('td');
theTD.colSpan = wikibarColorTool.columns-rest;
theTD.bgColor = '#000000';
theTR.appendChild(theTD);
}
theTR = document.createElement('tr');
theTable.appendChild(theTR);
theTD = document.createElement('td');
theTD.colSpan = wikibarColorTool.columns;
theTD.id = 'colorPickerInfo';
theTR.appendChild(theTD);
};
wikibarColorTool.onDocumentClick = function(e){
if (!e){ e = window.event; }
if(wikibarColorTool.skipClickDocumentEvent) {
wikibarColorTool.skipClickDocumentEvent = false;
return true;
}
if((!e.eventPhase) || e.eventPhase == Event.BUBBLING_PHASE || e.eventPhase == Event.AT_TARGET){
wikibarColorTool.displayColorPicker(false);
}
return true;
};
function wikibar_doSelectPalette(param){
clearMessage();
var theButton = param.button;
if(!theButton.toolItem.key) { return; }
var palette = theButton.toolItem.key;
var oldPaletteName = wikibarColorTool.paletteName;
if(oldPaletteName != palette){
try{
wikibarColorTool.createColorPicker(theButton, palette);
displayMessage('Palette \"'+palette+'\" ('+ wikibarColorTool.palette.length +' colors) is selected');
}catch(ex){
errMsg = ex;
if(errMsg.substring(0,18)=='renderColorPalette'){
displayMessage('Invalid palette \"' + palette + '\", please check it out!');
wikibarColorTool.createColorPicker(theButton, oldPaletteName);
}
}
}
}
var wikibarPopup = {
skipClickDocumentEvent: false,
stack: []
};
wikibarPopup.resolveRootPopup = function(o){
if(o.isOnMainMenu){ return null; }
if(o.className.substring(0,12)=='wikibarPopup'){ return o;}
return wikibarPopup.resolveRootPopup(o.parentNode);
};
wikibarPopup.create = function(root){
for(var i=0; i<wikibarPopup.stack.length; i++){
var p=wikibarPopup.stack[i];
if(p.root==root){
wikibarPopup.removeFrom(i+1);
return null;
}
}
var rootPopup = wikibarPopup.resolveRootPopup(root);
if(!rootPopup){
wikibarPopup.remove();
}else{
wikibarPopup.removeFromRootPopup(rootPopup);
}
var popup = createTiddlyElement(document.body,'div','wikibarPopup'+root.toolItem.key,'wikibarPopup');
var pop = createTiddlyElement(popup,'table','','');
wikibarPopup.stack.push({rootPopup: rootPopup, root: root, popup: popup});
return pop;
};
wikibarPopup.show = function(unused,slowly){
var curr = wikibarPopup.stack[wikibarPopup.stack.length-1];
var overlayWidth = 1;
var rootLeft, rootTop, rootWidth, rootHeight, popupLeft, popupTop, popupWidth;
if(curr.rootPopup){
rootLeft = findPosX(curr.rootPopup);
rootTop = findPosY(curr.root);
rootWidth = curr.rootPopup.offsetWidth;
popupLeft = rootLeft + rootWidth - overlayWidth;
popupTop = rootTop;
}else{
rootLeft = findPosX(curr.root);
rootTop = findPosY(curr.root);
rootHeight = curr.root.offsetHeight;
popupLeft = rootLeft;
popupTop = rootTop + rootHeight;
}
var winWidth = findWindowWidth();
popupWidth = curr.popup.offsetWidth;
if(popupLeft + popupWidth > winWidth){
popupLeft = rootLeft - popupWidth + overlayWidth;
}
curr.popup.style.left = popupLeft + 'px';
curr.popup.style.top = popupTop + 'px';
curr.popup.style.display = 'block';
addClass(curr.root, 'highlight');
if(config.options.chkAnimate){
anim.startAnimating(new Scroller(curr.popup,slowly));
}else{
window.scrollTo(0,ensureVisible(curr.popup));
}
};
wikibarPopup.remove = function(){
if(wikibarPopup.stack.length > 0){
wikibarPopup.removeFrom(0);
}
};
wikibarPopup.removeFrom = function(from){
for(var t=wikibarPopup.stack.length-1; t>=from; t--){
var p = wikibarPopup.stack[t];
removeClass(p.root,'highlight');
p.popup.parentNode.removeChild(p.popup);
}
wikibarPopup.stack = wikibarPopup.stack.slice(0,from);
};
wikibarPopup.removeFromRootPopup = function(from){
for(var t=0; t<wikibarPopup.stack.length; t++){
var p = wikibarPopup.stack[t];
if(p.rootPopup==from){
wikibarPopup.removeFrom(t);
break;
}
}
};
wikibarPopup.onDocumentClick = function(e){
if (!e){ e = window.event; }
if(wikibarPopup.skipClickDocumentEvent){
wikibarPopup.skipClickDocumentEvent=false;
return true;
}
if((!e.eventPhase) || e.eventPhase == Event.BUBBLING_PHASE || e.eventPhase == Event.AT_TARGET){
wikibarPopup.remove();
}
return true;
};
var wikibarStore = {
TYPE: 'MAIN_MENU',
help:{
TYPE:'MENU',
CAPTION: '<font face=\"verdana\">?</font>',
TOOLTIP: 'about WikiBar',
options:{
TYPE:'MENU',
DYNAITEM: wikibar_genWikibarOptions
},
about:{
TYPE:'MENU',
DYNAITEM: wikibar_genWikibarAbout
}
},
preview:{
TOOLTIP: 'preview this tiddler',
CAPTION: '<font face=\"verdana\">∞</font>',
HANDLER: wikibar_doPreview
},
line:{
TOOLTIP: '<hr>',
CAPTION: '<font face=\"verdana\">—</font>',
syntax: '\n----\n',
HANDLER: wikibar_editFormatByCursor
},
crlf:{
TOOLTIP: 'new line',
CAPTION: '<font face=\"verdana\">¶</font>',
syntax: '\n',
HANDLER: wikibar_editFormatByCursor
},
selectAll:{
TOOLTIP: 'select all',
CAPTION: '<font face=\"verdana\">§</font>',
HANDLER: wikibar_editSelectAll
},
deleteSelected:{
TOOLTIP: 'delete selected',
CAPTION: '<font face=\"verdana\">×</font>',
syntax: '',
HANDLER: wikibar_editFormat
},
textFormat:{
TYPE: 'MENU',
CAPTION: 'text',
TOOLTIP: 'text formatters',
ignore:{
TOOLTIP: 'ignore wiki word',
CAPTION: 'ignore wikiWord',
syntax: '~user_text',
hint: 'wiki_word',
HANDLER: wikibar_editFormatByWord
},
bolder:{
TOOLTIP: 'Текст жирным',
CAPTION: '<strong>жирно</strong>',
syntax: "++user_text++",
hint: 'bold_text',
HANDLER: wikibar_editFormatByWord
},
italic:{
TOOLTIP: 'Текст курсивом',
CAPTION: '<em>курсив</em>',
syntax: '\/\/user_text\/\/',
hint: 'italic_text',
HANDLER: wikibar_editFormatByWord
},
underline:{
TOOLTIP: 'underline text',
CAPTION: '<u>подчеркнуто</u>',
syntax: '__user_text__',
hint: 'underline_text',
HANDLER: wikibar_editFormatByWord
},
strikethrough:{
TOOLTIP: 'strikethrough text',
CAPTION: '<strike>зачеркнуто</strike>',
syntax: '==user_text==',
hint: 'strikethrough_text',
HANDLER: wikibar_editFormatByWord
},
superscript:{
TOOLTIP: 'superscript text',
CAPTION: 'X<sup>верхний индекс</sup>',
syntax: '^^user_text^^',
hint: 'superscript_text',
HANDLER: wikibar_editFormatByWord
},
subscript:{
TOOLTIP: 'subscript text',
CAPTION: 'X<sub>нижний индекс</sub>',
syntax: '~~user_text~~',
hint: 'subscript_text',
HANDLER: wikibar_editFormatByWord
},
comment:{
TOOLTIP: 'comment text',
CAPTION: 'комментарий',
syntax: '/%user_text%/',
hint: 'comment_text',
HANDLER: wikibar_editFormatByWord
},
monospaced:{
TOOLTIP: 'monospaced text',
CAPTION: '<code>моноширинный</code>',
syntax: '{{{user_text}}}',
hint: 'monospaced_text',
HANDLER: wikibar_editFormatByWord
}
},
paragraph:{
TYPE: 'MENU',
TOOLTIP: 'форматирование абзацев',
list:{
TYPE: 'MENU',
TOOLTIP: 'list tools',
bullet:{
TOOLTIP: 'bullet point',
syntax: '*user_text',
hint: 'bullet_text',
HANDLER: wikibar_editFormatByLine
},
numbered:{
TOOLTIP: 'numbered list',
syntax: '#user_text',
hint: 'numbered_text',
HANDLER: wikibar_editFormatByLine
}
},
heading:{
TYPE: 'MENU',
heading1:{
CAPTION:'<h1>Heading 1</h1>',
TOOLTIP: 'Heading 1',
syntax: '!user_text',
hint: 'heading_1',
HANDLER: wikibar_editFormatByLine
},
heading2:{
CAPTION:'<h2>Heading 2<h2>',
TOOLTIP: 'Heading 2',
syntax: '!!user_text',
hint: 'heading_2',
HANDLER: wikibar_editFormatByLine
},
heading3:{
CAPTION:'<h3>Heading 3</h3>',
TOOLTIP: 'Heading 3',
syntax: '!!!user_text',
hint: 'heading_3',
HANDLER: wikibar_editFormatByLine
},
heading4:{
CAPTION:'<h4>Heading 4</h4>',
TOOLTIP: 'Heading 4',
syntax: '!!!!user_text',
hint: 'heading_4',
HANDLER: wikibar_editFormatByLine
},
heading5:{
CAPTION:'<h5>Heading 5</h5>',
TOOLTIP: 'Heading 5',
syntax: '!!!!!user_text',
hint: 'heading_5',
HANDLER: wikibar_editFormatByLine
}
},
comment:{
TYPE: 'MENU',
commentByLine:{
CAPTION:'comment by line',
TOOLTIP: 'line comment',
syntax: '/%user_text%/',
hint: 'comment_text',
HANDLER: wikibar_editFormatByLine
},
commentByBlock:{
CAPTION:'comment by block',
TOOLTIP: 'block comment',
syntax: '/%\nuser_text\n%/',
hint: 'comment_text',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
},
monospaced:{
TYPE: 'MENU',
monosByLine:{
CAPTION: 'monospaced by line',
TOOLTIP: 'line monospaced',
syntax: '{{{\nuser_text\n}}}',
hint: 'monospaced_text',
HANDLER: wikibar_editFormatByLine
},
monosByBlock:{
CAPTION: 'monospaced by block',
TOOLTIP: 'block monospaced',
syntax: '{{{\nuser_text\n}}}',
hint: 'monospaced_text',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
},
quote:{
TYPE: 'MENU',
quoteByLine:{
CAPTION: 'quote by line',
TOOLTIP: 'line quote',
syntax: '>user_text',
hint: 'quote_text',
HANDLER: wikibar_editFormatByLine
},
quoteByBlcok:{
CAPTION: 'quote by block',
TOOLTIP: 'block quote',
syntax: '<<<\nuser_text\n<<<',
hint: 'quote_text',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
},
plugin:{
TYPE: 'MENU',
code:{
CAPTION: 'code area',
TOOLTIP: 'block monospaced for plugin',
syntax: '\n\/\/{{{\nuser_text\n\/\/}}}\n',
hint: 'monospaced_plugin_code',
byBlock: true,
HANDLER: wikibar_editFormatByLine
},
commentByLine:{
CAPTION: 'comment by line',
TOOLTIP: 'line comment',
syntax: '\/\/user_text',
hint: 'plugin_comment',
HANDLER: wikibar_editFormatByLine
},
commentByBlock:{
CAPTION: 'comment by block',
TOOLTIP: 'block comment',
syntax: '\/\***\nuser_text\n***\/',
hint: 'plugin_comment',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
},
css:{
TYPE: 'MENU',
code:{
CAPTION: 'code area',
TOOLTIP: 'block monospaced for css',
syntax: '\n\nuser_text\n\n',
hint: 'monospaced_css_code',
byBlock: true,
HANDLER: wikibar_editFormatByLine
},
commentByLine:{
CAPTION: 'comment by line',
TOOLTIP: 'line comment',
syntax: '',
hint: 'css_comment',
HANDLER: wikibar_editFormatByLine
},
commentByBlock:{
CAPTION: 'comment by block',
TOOLTIP: 'block comment',
syntax: '',
hint: 'css_comment',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
}
},
color:{
TYPE: 'MENU',
TOOLTIP: 'color tools',
highlight:{
CAPTION:'highlight text',
TOOLTIP: 'highlight text',
syntax: '@@user_text@@',
hint: 'highlight_text',
HANDLER: wikibar_editFormatByWord
},
color:{
CAPTION:'text color',
TOOLTIP: 'text color',
hint: 'your_text',
syntax: '@@color(%1):user_text@@',
HANDLER: wikibar_getColorCode,
doMore: wikibar_editFormatByWord
},
bgcolor:{
CAPTION:'background color',
TOOLTIP: 'background color',
hint: 'your_text',
syntax: '@@bgcolor(%1):user_text@@',
HANDLER: wikibar_getColorCode,
doMore: wikibar_editFormatByWord
},
colorcode:{
CAPTION:'color code',
TOOLTIP: 'insert color code',
syntax: '%1',
HANDLER: wikibar_getColorCode,
doMore: wikibar_editFormatByCursor
},
'color palette':{
TYPE:'MENU',
DYNAITEM: wikibar_genPaletteSelector,
SEPERATOR:{},
morePalette:{
CAPTION:'more palettes',
TOOLTIP:'get more palettes',
HANDLER: wikibar_getMorePalette
}
}
},
link:{
TYPE: 'MENU',
TOOLTIP: 'insert link',
wiki:{
CAPTION:'wiki link',
TOOLTIP: 'wiki link',
syntax: '[[user_text]]',
hint: 'wiki_word',
HANDLER: wikibar_editFormatByWord
},
pretty:{
CAPTION: 'pretty link',
TOOLTIP: 'pretty link',
syntax: '[[user_text|%1]]',
hint: 'pretty_word',
param: 'PrettyLink Target',
HANDLER: wikibar_getLinkUrl,
doMore: wikibar_editFormatByWord
},
url:{
TOOLTIP: 'url link',
syntax: '[[user_text|%1]]',
hint: 'your_text',
param: 'http:\/\/...',
HANDLER: wikibar_getLinkUrl,
doMore: wikibar_editFormatByWord
},
image:{
TOOLTIP: 'image link',
syntax: '[img[user_text|%1]]',
hint: 'alt_text',
param: 'image/icon.jpg',
HANDLER: wikibar_getLinkUrl,
doMore: wikibar_editFormatByWord
}
},
macro:{},
more:{
TYPE: 'MENU',
TOOLTIP: 'more tools',
table:{
TYPE: 'MENU',
TOOLTIP: 'table',
table:{
CAPTION:'create table',
TOOLTIP: 'create a new table',
syntax: '\n%1\n',
HANDLER: wikibar_getTableRowCol,
doMore: wikibar_editFormatByWord
},
header:{
TOOLTIP: 'table header text',
syntax: '|user_text|c',
hint: 'table_header',
HANDLER: wikibar_editFormatByWord
},
cell:{
TOOLTIP: 'create a tabel cell',
syntax: '|user_text|',
hint: 'your_text',
HANDLER: wikibar_editFormatByWord
},
columnHeader:{
CAPTION:'column header',
TOOLTIP: 'create a column header cell',
syntax: '|!user_text|',
hint: 'column_header',
HANDLER: wikibar_editFormatByWord
},
cell:{
TYPE: 'MENU',
CAPTION: 'cell options',
bgcolor:{
CAPTION: 'background color',
TOOLTIP: 'cell bgcolor',
syntax: '|bgcolor(%1):user_text|',
hint: 'your_text',
HANDLER: wikibar_getColorCode,
doMore: wikibar_editFormatByTableCell
},
alignLeft:{
CAPTION: 'align left',
TOOLTIP: 'left align cell text',
syntax: '|user_text|',
hint: 'your_text',
HANDLER: wikibar_editFormatByTableCell
},
alignCenter:{
CAPTION: 'align center',
TOOLTIP: 'center align cell text',
syntax: '| user_text |',
hint: 'your_text',
HANDLER: wikibar_editFormatByTableCell
},
alignRight:{
CAPTION: 'align right',
TOOLTIP: 'right align cell text',
syntax: '| user_text|',
hint: 'your_text',
HANDLER: wikibar_editFormatByTableCell
}
}
},
html:{
TYPE: 'MENU',
html:{
CAPTION: '<html>',
TOOLTIP: 'html tag',
syntax: '<html>\nuser_text\n</html>',
hint: 'html_content',
byBlock: true,
HANDLER: wikibar_editFormatByLine
}
}
},
addon:{
TYPE: 'MENU',
TOOLTIP:'3rd party tools',
'about addons':{
TOOLTIP: 'list loaded addons',
HANDLER: wikibar_doListAddons
},
SEPERATOR:{}
}
};
addEvent(document, 'click', wikibarColorTool.onDocumentClick);
addEvent(document, 'click', wikibarPopup.onDocumentClick);
wikibar_install();
//}}}
/***
|''Name:''|diceRoller|
|''Version:''|0.5.0|
|''Author:''|Daniel Baird (DanielBaird@gmail.com)|
|''Source:''|http://danielbaird.com/tiddlywinks/|
|''Type:''|Plugin|
!Description
{{{<<dice>>}}} for 3d6
{{{<<dice }}}//{{{specifier}}}//{{{ [}}}//{{{options}}}//{{{]>>}}} where specifier is something like 3d6, 1d4+1, 2d10-5
{{{<<dice fudge [}}}//{{{options}}}//{{{]>>}}} will roll 3 fudge dice (a fudge die gives -1, 0, or +1)
options can be zero or more of the following:
* show:eachface
** shows the face of each die rolled, then the total (not yet implemented)
* show:eachroll
** shows the number on each die rolled, then the total (default)
* show:result
** shows just the total result of the roll
* initialroll:yes
** do a roll when initially displayed
* initialroll:no
** don't roll until the user says so (default)
* rollby:click
** user clicks anywhere on the diceroller area to roll
* rollby:link
** user clicks an underlined link to roll (default)
* rollby:button
** user clicks a button to roll
!Examples
{{{<<dice>>}}}
<<dice>>
{{{<<dice 3d6+2 rollby:button>>}}}
<<dice 3d6+2 rollby:button>>
{{{<<dice fudge initialroll:yes rollby:click>>}}}
<<dice fudge initialroll:yes rollby:click>>
!Code
***/
//{{{
version.extensions.dice = {major: 0, minor: 5, revision: 0};
config.macros.dice = {};
config.macros.dice.handler = function(place,macroName,params) {
var rolldesc = params[0];
if (rolldesc == undefined) rolldesc = '3d6';
var options = '';
if (params.length > 1) {
params.shift();
options = params.join(' ');
}
var thisDiceRoller = new DiceRoller();
createTiddlyElement(place, 'div', thisDiceRoller.id, null, 'If you see this, DiceRoller is broken. Let Daniel know (DanielBaird at gmail dot com).');
thisDiceRoller.newDice(rolldesc, options);
}
// =======================================================================
function DiceRoller() {
this.idprefix = 'dice';
this.version = '0.5 beta';
this.id = this.idprefix + DiceRoller.prototype.nextid;
DiceRoller.prototype.nextid++;
return this;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.nextid = 0;
// -----------------------------------------------------------------------
DiceRoller.prototype.newDice = function(rolldesc, options) {
this.error = null;
this.initialroll = false;
this.display = 'eachroll';
this.rolltag = 'roll';
this.rollagaintag = 'roll again';
this.rollby = 'link';
this.parseDesc(rolldesc);
this.parseOpts(options);
if (this.initialroll) this.rollDice();
this.drawRoller();
// ^^^^^^^^^^^^^ new stuff above.. ^^^^^^^^^^^^^
// this.rolls = rolls;
// this.resultDisplay = 'dice';
// if (resultDisplay != null) this.resultDisplay = resultDisplay;
// this.resultSystem = 'sum';
// if (resultSystem != null) this.resultSystem = resultSystem;
// this.sides = 6;
// this.createDice();
// this.roll();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.parseDesc = function(desc) {
this.rollstr = desc;
desc = desc.toLowerCase();
this.dicetype = 'standard';
this.adjuster = null;
if (desc == 'fudge') {
// 'fudge' system: 3d3, where the d3 gives -1, 0 or +1
this.dicetype = 'fudge';
this.dicesides = 3;
this.rollcount = 3;
} else {
// normal system: eg 3d6+2
var reg = /(\d+)d(\d+)(\+(\d+)|-(\d+))?/;
var info = desc.match(reg);
this.rollcount = parseInt(info[1]);
this.dicesides = parseInt(info[2]);
this.adjuster = parseInt(info[3]);
if ( isNaN(this.adjuster) ) this.adjuster = 0;
}
}
// -----------------------------------------------------------------------
DiceRoller.prototype.parseOpts = function(options) {
this.optstr = options;
options = ' ' + options + ' ';
if (options.indexOf(' show:eachface ') != -1) this.display = 'eachface';
if (options.indexOf(' show:eachroll ') != -1) this.display = 'eachroll';
if (options.indexOf(' show:result ') != -1) this.display = 'result';
if (options.indexOf(' initialroll:yes ') != -1) this.initialroll = true;
if (options.indexOf(' initialroll:no ') != -1) this.initialroll = false;
if (options.indexOf(' rollby:click ') != -1) this.rollby = 'click';
if (options.indexOf(' rollby:link ') != -1) this.rollby = 'link';
if (options.indexOf(' rollby:button ') != -1) this.rollby = 'button';
}
// -----------------------------------------------------------------------
DiceRoller.prototype.createDice = function() {
this.results = new Array(this.rolls);
this.result = 0;
this.showDice();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRoller = function() {
var node = document.getElementById(this.id);
if (this.display == 'eachface') node.innerHTML = this.drawRollerEachFace();
if (this.display == 'eachroll') node.innerHTML = this.drawRollerEachRoll();
if (this.display == 'result') node.innerHTML = this.drawRollerResult();
// getClickHandler() is a function that returns a function.. JS is sweet huh
if (this.rollby == 'click') {
node.onclick = this.getClickHandler();
} else {
document.getElementById(this.id + '_roll').onclick = this.getClickHandler();
}
/*
var html = '';
if (this.display == 'eachface')
html += '<table class="diceroller">';
html += '<tr>';
if (this.resultDisplay == 'text') {
html.push('<td>You rolled ');
}
if (this.resultDisplay != 'textsummary') {
var separator = '';
for (var roll = 0; roll < this.rolls; roll++) {
html.push( separator + this.drawDie(roll) );
if (this.resultDisplay == 'text') separator = ', ';
}
html.push('<td>');
}
if (this.resultSystem == 'fudge') {
var resprefix = '';
if (this.result > 0) resprefix = '+';
html.push('Result is ' + resprefix + this.result + '.<br />Click to roll again.</td>');
} else {
html.push('<td>'+this.rolls+'d'+this.sides+': you rolled ' + this.result + '.<br />Click to roll again.</td>');
}
html += '</tr></table>';
node.innerHTML = html;
*/
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRollerResult = function() {
var str = '';
str += 'Rolling';
str += ((this.dicetype == 'fudge')?(':'):(' ' + this.rollstr + ':'));
if (this.result != undefined) {
str += 'You rolled <strong>';
str += ((this.dicetype == 'fudge')?(this.addSign(this.result)):(this.result));
str += '</strong>.';
}
str += this.makeRollTrigger();
return str;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawRollerEachRoll = function() {
var str = '';
str += 'Rolling';
str += ((this.dicetype == 'fudge')?(':'):(' ' + this.rollstr + ':'));
if (this.result != undefined) {
str += ' You rolled ';
var joiner = '';
for (var r = 0; r < this.rollcount; r++) {
str += joiner + ((this.dicetype == 'fudge')?(this.addSign(this.results[r])):(this.results[r]));
joiner = ', ';
}
str += ' totalling <strong>';
str += ((this.dicetype == 'fudge')?(this.addSign(this.result)):(this.result));
str += '</strong>.';
}
str += this.makeRollTrigger();
return str;
}
// -----------------------------------------------------------------------
DiceRoller.prototype.addSign = function(num) {
return ( ((parseInt(num) > 0)?('+'):('')) + (num) );
}
// -----------------------------------------------------------------------
DiceRoller.prototype.makeRollTrigger = function() {
var tag = ((this.result == undefined)?(this.rolltag):(this.rollagaintag));
if (this.rollby == 'click') return ' Click to ' + tag + '.';
if (this.rollby == 'link') return ' <a style="text-decoration: underline" href="#" id="' + this.id + '_roll">' + tag + '</a>';
if (this.rollby == 'button') return ' <button id="' + this.id + '_roll">' + tag + '</button>';
}
// -----------------------------------------------------------------------
DiceRoller.prototype.drawDie = function(roll) {
var html = new Array();
if (this.resultDisplay == 'text') {
if (this.resultSystem == 'fudge' && this.results[roll] > 0) html.push('+');
html.push(this.results[roll]);
} else {
html.push('<td class="die">');
//there are seven possible dot positions
var dots = Array();
for (var dot = 0; dot < 7; dot++) {
dots.push(' ');
}
if ( this.results[roll] ) {
if (this.results[roll] > 1) dots[0] = 'O';
if (this.results[roll] > 3) dots[1] = 'O';
if (this.results[roll] == 6) dots[2] = 'O';
if (this.results[roll]%2 == 1) dots[3] = 'O';
if (this.results[roll] == 6) dots[4] = 'O';
if (this.results[roll] > 3) dots[5] = 'O';
if (this.results[roll] > 1) dots[6] = 'O';
}
var pipe = '|';
var space = ' ';
if (this.resultDisplay == 'dice') {
html.push(',-----.<br />');
html.push(pipe + space + dots[0] + space + dots[1] + space + pipe + '<br />');
html.push(pipe + space + dots[2] + dots[3] + dots[4] + space + pipe + '<br />');
html.push(pipe + space + dots[5] + space + dots[6] + space + pipe + '<br />');
html.push('`-----\'<br />');
} else if (this.resultDisplay == 'compact') {
html.push(dots[0] + space + dots[1] + '<br />');
html.push(dots[2] + dots[3] + dots[4] + '<br />');
html.push(dots[5] + space + dots[6] + '<br />');
}
html.push('</td>');
}
return html.join('');
}
// -------------------------------------------------------------------
DiceRoller.prototype.rollDice = function() {
this.result = this.adjuster;
this.results = new Array(this.rollcount);
for (var roll = 0; roll < this.rollcount; roll++) {
this.results[roll] = Math.floor((this.dicesides)*Math.random())+1;
if (this.dicetype == 'fudge') {
this.results[roll] -= 2;
}
this.result += this.results[roll];
}
this.drawRoller();
}
// -----------------------------------------------------------------------
DiceRoller.prototype.getClickHandler = function() {
// trickey bit.. first make a local var that references the
// current dice roller object, then return an anonymous function
// that calls that object's roll() method. woot for closures!
var thisroller = this;
return function(e) {
thisroller.rollDice();
return false;
};
}
// =======================================================================
setStylesheet(
".viewer table.diceroller, .viewer table.diceroller tr { "+
"border: none;" +
"} \n"+
".viewer table.diceroller tr td { "+
"border: none; " +
"} \n"+
".viewer table.diceroller td.die { "+
"padding: 0.5em; " +
"font-family: monospace; " +
"line-height: 0.95em; " +
"} \n"+
"",
"DiceRoller");
//}}}
/***
|''Name:''|saveAndReloadPlugin|
|''Version:''|1.0.1 (11-Oct-2005)|
|''Author:''|SimonBaird|
|''Type:''|Plugin|
|''Description''|Save and Reload - add macros {{{ <<saveAndReload>> }}} anywhere.|
!Code
***/
//{{{
config.macros.saveAndReload = {};
config.macros.saveAndReload.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
var label = params[0]||"Save & Reload";
var tooltip = params[1]||"Save & reload";
createTiddlyButton(place,label,tooltip,this.onclick);
}
config.macros.saveAndReload.onclick = function()
{
saveChanges();
window.location.reload( false );
}
//}}}
Высший орган управления военно-космическими делами в Конфедерации,
Состоит из военначальников Флотов. Во главе стоит секретарь. Из Адмиралтейства избирается один из представителей Верховного Совета.
Академия дает высшее образование, необходимое для работы в структурах государственного аппарата - суды, милиция, полиция, МВД, административно-координирующие должности в различных госструктурах и министерствах.
Срок обучения 4-6 лет в зависимости от специализации.
По окончании обучения и в течении всей жизни в Академии можно пройти дополнительные спецкурсы или получить второе высшее образование по специальностям:
* экономист
* бухгалтер
* сотрудник МВД (следователь, дознаваетель)
* юрист
Население: 100 млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| 6 | 1 | 2 | 3 |
! Информация
Столица - Тройтойт.
Похож на умирающий Детройт (бывший город машин в США). Населенность - как в Петрозаводске.
Районы:
* Парк
* Сити (застройка, архитектурные стили и общий дух похож на район метро Нарвская)
* Downtown
* Космопорт и службы
* Заводской квартал - занимает почти треть города.
=> [[Карта|./conf/maps/alberta_troitoit.png]]
! Системная лоция
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Население: 40 млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Протекторат, дыра-дырой.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
<html>
<iframe src="http://livemap.wintersky.ru/map/spring.confederation?viewmode=iframe" width="80%" height="600" scrolling="no" frameborder="1"/>
</html>
@@Высшая Военно-космическая Школа@@ Сириуса.
Центральное учебное заведение по подготовке младших офицеров для ВКС. По окончании присваивается звание младшего лейтенанта.
Дает высшее военное-космическое образование по ряду специальностей:
* навигатор
* пилот смКК/мКК
* врач (в т.ч. врач-киберимплантолог; военно-полевой хирург; нарколог итд)
* тактика (в т.ч. пилотажная тактика)
* канонир
* инженерная кафедра
** инженер информационно-вычислительных систем
** инженер систем жизнеобеспечения
** инженер орудийных систем
** инженер обслуживания двигательных систем
** инженер систем связи
Население: 250 млн. человек по официальным данным.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Автономное государственное образование "Великая Солнечная Империя" в составе Конфедерации Человечества.
| Дом | Статус | Специализация | Примечания |
| Огненного Пса | правящий | ВКС | |
| Желтой Мыши | большой | аграрии | нет боевого потенциала |
| Великого Слона | большой | аграрии, строители | |
| Черного Медведя | большой | Армия | |
| Крота | большой | строители | |
| Черного Ворона | средний | Связь | + жрецы |
| Серебряного Песца | средний | медицина | |
| Белого Тигра | средний | торговля, лёгкая промышленность | |
| Черного Волка | средний | полицейские и охранные силы силы | |
| [[Лесной Рыси|Валинорский Дом Лесной Рыси]] | малый | спецназ | |
| Красного Лиса | малый | контрразведка | |
| Болотного Кота | малый | разведка | |
На момент Пентаграмматонского конфликта на Валиноре жило около 100 млн. эльфов.
Главные особенности этой системы: на ней живут преимущественно эльфы и из нее уходит гиперканал протяженностью более 2000 светолет.
Эльфы живут крупными семьями-кланами.
На системе существует традиция – перед смертью глава семьи уходит на своем личном смКК (как правило это «Кузнечик») в гиперканал. Это своеобразная переработка легенды об уходящих на пылающих драккарах ярлах.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
>что же вам Валинор-то не угодил?
Дело в том, что в Федерации фэйри-мутанты (в простонародье «эльфы») кучкуются в двух звездных системах — Валинор и Лордаэрон. Империя и Республика соответственно. И если у первых в звездной системе всего одна обитаемая планета, а амбиций выше крыши и даже свой Мандос есть, то вторые вполне вменяемые. Там вообще целая история — «откуда что взялось», но это оффтопик ;) Но по сумме факторов Валинорских эльфов мало кто любит. Они даже сами себя не любят.
Ну действительно, во власти на Валиноре замшелые маразматические деды, правящие по канонам двухсотлетней давности. Жёсткая (куда там Индии!) кастовая система. Евгеника. Культ перфекционизма, причем ладно бы перфекционизм у этих маразматиков дела касался — так нет же, это нацизм по факту, а не перфекционизм. По их мнению эльфом является только тот, кто соответствует списку совершенно конкретных биологических показателей (типа арийской внешности), вплоть до требований к длине ушей.
Даже лидеры Великой Германской Империи отказались от социального дарвинизма, а у валинорцев он в полный рост.
В копилку: полстолетия назад множество эльфов валинора участвовали в тяжелой космической войне. Многие из них получили тяжелые травмы, кто-то лишился каких-то конечностей, которые постом успешно заменил киберимплантантами. Вернувшись на родину, эти ребята обнаружили, что они может и ветераны с орденами для Конфедерации Человечества, но для замшелых маразматиков они теперь неприкасаемые — потому что посмели надругаться над Совершенным Хроа и извратить его железом и пластиком. Ну и как таких после этого любить?
Лордаэронская республика образовалась как раз после этой звездной войны - и основали её те, кому после войны места на Валиноре не нашлось. Или те, кто туда возвращаться не захотел, познав свободу Конфедерации.
Правительство Федерации было только за :)
Эльфам выделили недавно открытую планету, выделили кредит на колонизацию, ресурсы, материалы, корабли...
Кредит они с тех пор успешно отдали, но в Конфедерацию вошли не как колония, а как автономия - Лордаэронская Республика.
Ходят слухи, что Великая Германская Империя и Лордаэронская Республика сотрудничают, хотя с всеобщая молва приписывает ВГИ позицию "все эльфы - мутанты и должны быть уничтожены"
Лордаэрон я люблю, они правильные эльфы :)
>На Лордаэроне неважно, какая у тебя форма ушей, был бы ты человек хороший.
>На Валиноре неважно, какой ты человек, главное чтобы форма ушей соответствовала стандарту.
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Столица сектора.
В системе Веги НЕТ планет.
На удалении ~20 а.е. от голубого гиганта Веги находится целый космический город "Космическая станция Вега". Эта станция заложена чуть ли не в 20-м году от колонизации (порядка 250 лет назад) и развивалась все эти годы.
Это - целый орбитальный город со своими верфями, орбитальными заводами итд итп.
Орбитальные города-цилиндры.
Да, и еще.. станция Вега в течении ~60 лет оставалась последним форпостом человечество в Секторе Веги... до того момента, как были построены корабли, способные "зависать" в закрытом гиперканале.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Планеты:
* [[Neue Bismarck]] - столица Вевельсбург
* [[Новый Лейпциг]]
* [[Кубулус]] - contested-система, управление планетой оспаривается, поделено с Фомальгаутом.
диктатура
* ''[[Верховный совет]]'' (7 сенаторов, 8 представителей министерств, спикер сената)
* ''[[Сенат]]''
* Министерства:
** [[Адмиралтейство]] (военное министерство)
*** [[1 Звездный Флот|I Звездный Флот]]
*** [[2 Звездный Флот|II Звездный Флот]]
*** [[3 Звездный Флот|III Звездный Флот]]
*** [[4 Звездный Флот|IV Звездный Флот]]
*** [[6 Звездный Флот|VI Звездный Флот]]
** [[Совет Колонизации]]
*** [[Служба Геологической Разведки]]
** [[Министерство природопользования и сельского хозяйства]] - (уточнить название)
** [[Министерство экономики и торговли]]
** [[Министерство Образования]] +
** [[Министерство Здравоохранения]] +
** [[Институт Ментальной Безопасности]] +
** [[Министерство Внутренних Дел]] +
** [[Министерство Связи]] (Скайнет) +
Из Верховного Совета один человек становится спикером сената (выборы из 8 кандидатур сенаторов голосованием), в верховном совете он имеет два голоса.
----
Службы, подчиненные ''Верховному Совету'' (по крайней мере формально)
* [[Конфедеративная служба безопасности]] - находится под патронажем [[МВД|Министерство Внутренних Дел]]
* [[Совет Духа]] - совет ультрапси Конфедерации (но не псайкеров класса zero)
* [[Оффицио Ассасинориум]] - служба Консулов Конфедерации
* [[спецпоразделения Омега]] -
* [[Отдел Религиозного Контроля|ОРК]]
15 человек
глава ВС - Председатель, он же спикер Сената
7 сенаторов
7 представителей министерств.
Вооруженные силы делятся на:
* Планетарные
** полиция (государственная)
** колониальная армия (подчиненная [[Совету Колонизации|Совет Колонизации]], [[СГР|Служба Геологической Разведки]] или корпорации-колонизатору)
** добровольные народные дружины
** наемная стража
Армия - дело профессиональное. Дураков (несмотря на многочисленные шутки) в ней нет. Странные люди есть, но не дураки.
Для поступления в ВКС (кроме десанта) человек должен иметь полное школьное образование + минимум два спецкурса. Максимальное звание, которого человек с полным школьным образованием может достичь - капитан. Для дальнейшего карьерного роста нужно получить первое университетское образование, желательно конечно по армейской специальности (см ВВКШ Сириуса)
* ВКС - [[Звездные флоты Конфедерации]]
** Планетарные службы обеспечения
** Десант
** Космические силы
** Силы поддержки
----
силы гражданской обороны, полицейские, ВПС и ВКС - это государственные
и корпоративные
[Arris]: Полицейские силы - где-то они называются "полицейскими", где-то "милицейскими", а по сути - одно и то же. Охрана порядка от различных асоциальных элементов. Вооружение полиции гораздо круче сил ГО - по простой причине - полиция - государственная структура, со своей зарплатой, налогами, бюрократией, отчетностью, серверами, внутряками и перекосами (в том числе и патронов в стволе). Конечно же вооружение полиции сплошь и рядом зависит от технологического уровня мира. Полиция на Ра-Амидори или Ангмаксалике - это одно, а на фомальгауте - другое. Естественно, у полиции, правда не на всякой планете, есть отряды спецназначения. Там вооружение уже сравнимо с армейским.
[Arris]: Итак, ВПС - Военно-планетарные силы:
[Arris]: учитывыя, что воевать то особо и не с кем... никаких чужих нет (только ископаемые), не было (вру, были, но больше полутыщи лет назад), и не предвидеться (ну тут я, как ДМ, умолчу :-) ) - цель таких вояк:
[Arris]: 1) поддержка полиции;
[Arris]: 2) военная служба (делать не мальчега, но мужа), на планетах с милитаристическими устремлениями (таких есть).
[Arris]: 3) военная служба, как этап подготовки к ВКС.
[Arris]: 4) миротворческие силы
[Arris]: За межпланетные конфликты отвечают ВКС.
[Arris]: А цель миротворческих сил - примирять различные этнические конфликты, "способствовать мирному урегулированию" и так далее.
[Arris]: ...по структуре ВПС.
во сколько берут в ВКШ?
в 14 кажется минимум в 13, максимум в 16
курс кажется 5 лет - если полный и 3 года - если сокращенный (для тех, кто поступил в 16 и не собирается связывать всю жизнь с военным флотом, а потом уйдет на гражданку) 5 лет + год практики - получаешь диплом и теплое место на корабле
в 13 пойти, в 18 закончить, в 19 огрести проблем, через полгода уже 20 и вторая рука, потом год-два в пяхоте и еще год-три вольного тупления.
каково стандартное вооружение полиции и ВКС?
полиция: станнер, игольник, на тяжелых операциях - пистолет-пулемет (выше уже спецназ)
ВКС-десант: станнер-тяжелый, ПП, автомат кинетический, и далее по крутости
ВКС-космики: станнер, лазерный пистолет и выше
да, дюнные стили:
HtH: битва гнева - заточена на атаку и мощь удара, но слабая защита
HtH: Песчаный вихрь - увороты + серии быстрых ударов.
HtH: тростник - дефенс. Тростник качается на сильном ветру, но не ломается. Уподобься тростнику и сильный ветер не свалит тебя. Высокая стойкость, в т.ч. против станнеров (спецтренировки)
рукопаха ВКС - это смешанный стиль, взявший из всех стилей понемного заточен на силу и выносливость
как работают эти два вида станнеров?
акустический - инфразвук определенной частоты
световой - соответственно воздейсвие на сетчатку
ЭМП - электромагнитное воздействие на мышцы человека (паралич)
...Так в ЖЖ появился Культ Лучезарной Гаечки — нечто вроде технорелигии, выражающей себя через любовь к мышке-механику, которая, в свою очередь, символизирует бога-машину на уровне так называемого Техношаманизма.
[[ссылка|http://lurkmore.ru/Гаечка]]
----
Гербы - опознавательно-правовые знаки, составленный и употребляемый в соответствии с правилами геральдики, служащий символами государственно-территориальных или административно-территориальных образования, местного самоуправления, а иногда также иных субъектов права.
Эльфийские гербы - художественные композиции, содержащие различные элементы, как художественные, так и изображения животных. [[Валинорские|Валинор]] (см) гербы содержат в себе обязетельные реально существующее животное. Гербы [[Звездного Княжества Лордаэрон|Лордаэрон]] (см) содержат мифических животных.
* КСБ - [[Конфедеративная служба безопасности]]
* ИМБ - [[Институт ментальной безопасности]]
* ОРК - [[Отдел религиозного контроля]]
* [[Skynet]]
* [[Служба геологической разведки]]
|! Государственное образование |! Столичная планета |! Входящие звездные системы |
| [[Великая Германская Империя]] | [[Neue Bismarck]] | [[Новый Лейпциг]], [[Кубулус]], [[Гарвини]] |
| [[Империя Восходящего Солнца]] | [[Хэйан]] | |
| [[Великое Княжество Китежское]] | [[Китеж]] | |
| [[Лордаэронская республика]] | [[Лордаэрон]] | |
| [[Священная Британская Империя]] | [[Авалон]] | |
| [[Субсектор Ориона]] | [[Мирквуд]] | |
| [[Великая Солнечная Империя]] | [[Валинор]] | |
| [[Республика Урсус]] | [[Фолл-Хейм]] | |
| [[Межзвездная Монархия]] | [[Астра]] | |
! Музыкальные группы
* [[ANTIQUA]] -- рок группа, Новая Франция
* [[Netherland]] -- эльфийская рок-группа, Лордаэрон
! Религиозные секты
* [[Кибердзэн]]
! Этнические группы
* [[Трущебные эльфы]]
* Рейнхард
* Хикари -- свет
* Кана -- речная рыба
* Мидори -- зеленая
* Хёко -- ледяное озеро
* Уильям <B.J.> Блазковиц -- главный герой игры Wolfenstein
* Генерал Феттгезихт (General Fettgesicht, в переводе с немецкого <Жирномордый>)
* Рамжеш Котрапали -- обязательно молодой, с небольшими странностями в общении, докторская степень. Индус.
* Шелдон - обязательно зануда :)
* Ariel Castillo
* Olaf Stahnke
* Alexander Kitzinger
* Jan Czerwenka
* [[Значимые планеты]]
* [[Скорости космических кораблей]]
* [[Обрывки текстов из старой вики]]
* [[Вооруженные силы]]
----
* [[Мехатроника]]
* [[Психотехнологии]]
* [[Псионика]]
* [[Мегафизика]]
* [[Государственные гербы]]
* [[Спецификации гиперсвязи]]
* >> [[Galaxy-машина]]
* [[Хохмы: Скверный сон]]
* [[Планетарные силы самообороны]]
* [[Earth time]] - стандарт времени ET
* [[Remote Workplace Shell]] - удалённый рабочий стол для Galaxy/OS
* [[ЭМД]] - экзомышечный доспех
* [[Операция "Черный Обелиск"]]
* [[Кибердзен]]
* [[Гайкославие]] - культ Лучезарной Гаечки
* [[Подарил огонь]]
* [[Нобили]]
* [[Заготовки имен]]
* [[Псайк-допрос]]
* [[Вооруженные силы]]
* [[Классы жизнепригодности]]
* [[Тампль (планета)]]
* [[Троя (планета)]]
! Космические корабли
* [[смКК Кузнечик]] - гражданский КК
* [[Крейсер "Харон"]] - особый проект КК
! Бхарат
* Система колонизирована и заселена индусами. Единственная жизнепригодная планета этой системы очень похожа на Сол/Терру и являлась первой крупной аграрной колонией Конфедерации. Со временем стали летать в основном мимо нее – к вящему спокойствию местных жителей, которые, как и прежде, экспортируют продукты питания на Сириус и Вегу. Впрочем, именно аграрные базы на Бхарате и позволили так быстро построить базу в системе Вега и подстегнули развитие Конфедерации в первые годы.
* В системе сохранилась кастовая система, точнее не кастовая (горизонтальная), а клановая (вертикальная). Кланы занимаются разными областями деятельности.
* Культ коровы (го, говада) по прежнему крепок.
* @@Планета №1 "Новое царство"@@
** Столица – ++Арьяварта++, основные города ++Гопалпур++; ++Горакхпур++; ++Говиндгарх++
** Имеет собственный научно-технический центр исследований в области мегфизики и конструкторскую оружейную лабораторию.
** На Бхарате были построены эсминец Вишну и авианосец Брахма.
** Фузионно-кинетичекие гиперторпеды «Шива» и «Кали». Нейтронно-фузионная гиперторпеда «Дурги». Последняя особенно редка и дорога.
Распространены имена:
Гопал – хранитель коров;
Говинда – имеющий коров;
Госвами – хозяин коров (фамилия);
----
Высшее учебное заведение.
Дает высшее образование, необходимое для работы в судебно-исполнительном аппарате, в том числе и в КСБ.
Срок обучения 3 года.
Для поступления необходимо сдать экзамены или иметь отличные оценки в учебном заведении предыдущего уровня.
В Институте также можно получить второе высшее образование.
@@Институт Ментальной Безопасности@@
Подготовкой псиоников на государственную службу занимаются Институты Ментальной Безопасности. Отделение ИМБ есть на каждой планете...
Герб: Силуэт головы, из которой вылетают кубики и расходятся лучики света.
См: [[Псионика]]
См: [[Условная шкала мощности псайкера]]
<html>
<iframe src="http://rpg.wintersky.ru/leafletmaps/confederation/confmap?width=700&height=500" width="100%" height="600" frameborder="0"/>
</html>
<html>
<iframe src="http://rpg.wintersky.ru/leafletmaps/confederation/vega?width=700&height=500" width="100%" height="600" frameborder="0"/>
</html>
<html>
<iframe src="http://rpg.wintersky.ru/leafletmaps/confederation/nightwish?width=700&height=500" width="100%" height="600" frameborder="0"/>
</html>
<html>
<iframe src="http://rpg.wintersky.ru/leafletmaps/confederation/ringtail?width=700&height=500" width="100%" height="600" frameborder="0"/>
</html>
<html>
<iframe src="http://rpg.wintersky.ru/leafletmaps/confederation/fomalhauth?width=700&height=500" width="100%" height="600" frameborder="0"/>
</html>
<<tabs txtSectorsTab "Конфедерация" "Конфедерация" "Карта: Конфедерация" "Сектор Веги" "Сектор Веги" "Карта: Сектор Веги" "Сектор Найтвиша" "Сектор Найтвиша" "Карта: Сектор Найтвиша" "Сектор Рингтейла" "Сектор Рингтейла" "Карта: Сектор Рингтейла" "Сектор Фомальгаута" "Сектор Фомальгаута" "Карта: Сектор Фомальгаута">>
Если верить __информации из мировой сети__:
Последователи этого учения считают, что достичь высшего единения с современным миром можно лишь объединив свой организм с механизмами. Они заменяют части своего тела на довольно совершенные протезы, а органы - на искусственные. Уровень киборгинезированности тела указывает на положение в их иерархии, а все, имеющие киберипланты первого типа (сиречь протезы) будут считаться последователями кибердзен сочувствующими и потенциальными членами.
При этом они относятся неприязненно к моде на киберогизацию организма, считая это лишь играми в истинное единение с техномиром.
----
персонаж, по дефолту - стремится стать совершеннее, дополняя тело имплантами. так?
киборгизация - это его путь к богу, так, что ли?
именно! к богу, к просветлению, к нирване, называй как хочешь.
----
последователи секты к/д считают, что достичь нирваны можно лишь путем единения с машиной
Deus Ex Machina
ну учитывая где возникла секта... вообще они придают железкам в себе скорее религиозное значение
да... в принципе на Райтмире (в РИКе - Инст Кибернетики) слышал страшные истории про детей, которых похищали сектанты... с последcтвиями для детей. сказки это или нет, неясно
----
сразу фокус берешь )
Некий... состоящий целиком из разных металлов и механизмов "человек" сидит в позе лотоса и медитирует. Под ним вдаль уходит лунная дорожка, где-то за его спиной светит луна, ветки деревьев и какой-то вьющийся узор, и по контуру текст английскими буквами, но текст складывается какой то не английский, а что то вроде OPUS MECHANIKUS DEI ... REQUIEM ... SANKTUS
Рэйл плакат поразглядывал и вернулся к тебе.
-- Кибердзен, да я еще смотрю что парень и посвященный.
-- Разбираешься? Я кроме принадлежности к секте ничего об этом сказать не могу.
-- Не то чтобы разбираюсь... общался как-то просто с посвященным. Нормальные люди.. ну просто сочувствующие до лампадок не доходят... К тому же состав... его непросто достать.
----
9 января 2423 года начались переговоры о предоставлении секте Кибердзен официального ++церковного++ статуса. Переговоры ведут ст/и Томас Моро, м/и Рихард Зорге и Старший Архонт Братства.
[wiki[Список потенциально жизнепригодных экзопланет]]
[wiki[Жизнепригодность планеты]]
[wiki[Планеты, пригодные для возникновения жизни]]
! Управления КСБ
!! 1 управление - Отдел Контроля (Этики научных разработок).
Внутреннее их прозвище - Луддиты, потому что в том числе и гнобят искуссвенный интеллект и прочие разработки, которые могут подвергнуть угрозе ВСЁ ЧЕЛОВЕЧЕСТВО и это не пафос! Они первые столкнулись с флектами, осознали как глобальную угрозу.
Отдел Религиозного контроля изначально был именно отделом Первого Управления.
!! 2 управление - Антитеррор (всех видов)
!! 3 управление - Экономическое управление
Поддержание контрактного права на межгосударственном уровне, благодаря чему Федерация может торговать со всеми своими сателлитами. Следит за поддержанием пакета экономико-правовых законов (обеспечивающих таки Конфедерацию как факт).
!! 4 управление - Транспортное управление
Преступления в космосе, безопасность каналов, преступления на космических кораблях как временно экстерриториальных единицах).
!! 5 управление - Управление информационной безопасности
!! 6 управление - Собственная (внутренняя) безопасность
!Отделы КСБ
* Пресс-служба - отдел по связям с общественностью.
----
* короткая флешка - герб Конфедерации, аккорды из гимна, потом "Разыскиваются по требованию Конфедеративной Службы Безопасности". Разыскиваются особо опасные преступники. И 2 фотографии - какого-то симпатичного длинноволосого паренька и вторая - парня в лыжной маске. "Известны под именами Виктор Кейз и Рональд Хиллари. Если вы имеете какую-либо информацию о них, пожалуйста, сообщите по телефону 8-311-790-400-400 (звонок бесплатный). Мы надеемся на вашу лояльность. С уважением, пресс-служба КСБ.
* неофициальный гимн КСБ - "Наша служба и опасна и трудна" - http://sovmusic.ru/text.php?fname=ourduty
<<tagging "экономика:корпорации" "Корпорации и компании">>
Косточка духа - это кость одной почти ископаемой рыбы, добываемой на одной из планет Конфедерации. То есть рыба водится сама по себе, потом умирает и её кости со временем окаменевают и добываются на этой планете по типу янтаря. Этот материал обладает интересным свойством - его можно проэнчантить псионикой (за исключением техник биометаболики и биоэнергетики). Такие пси-энчанты держатся... достаточно долгое время.
<Рем> Хм... Вот интересно в таком ключе: а что эта рыбка в живом состоянии делает..
<Arris> А рыбка эта в живом состоянии... вообще то это сурово засекреченные данные :) И рыбка эта кстати весьма глубоководная. Короче эта загадочная рыбка в живом состоянии ориентируется под водой не при помощи сонара... а при помощи псионики. Уникальный вид такой.
<Рем> Тогда уж уникальная планета. Ибо быть того не может, что опрделенный признак существует строго у одного биологического вида. Эволюция ведь там шла? :) И не забывай про [[Ретро-вирусы]]. :)
@@Проект тяжелого крейсера ОРК.@@
Предназначение крейсера - мобильная база ОРК.
Особенность гипердвигателя - крейсер способен зависать на грани между реальным миром и гиперпространством неограниченно долгое время.
Расчетная скорость:
* в прямом гиперпереходе - 0,4 lk.
* в гиперканале - 2,4 lk
Крейсер имеет
* авиабазу истребителей (12 машин модели смКК-И "Витязь")
* 6 отделов (3 оперативных, т.е. с кубриком для штурмовиков и 3 аналитических)
* 6 доков для кораблей среднего тоннажа (на каждый отдел)
* 8 доков для кораблей мКК (2 на каждой плоскости)
Вооружение:
* гиперкинетические ракеты
* лазерные системы
* гаусс-оружие
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| 0 | 0 | 6 | 6 |
! Информация
Система тройной звезды.
До открытия Лауры считалось, что в системах двойных (и более) звезд не может быть гиперканалов.
На данный момент известно 4 гиперканала, ведущих из системы ([[Раммекарти]], [[Вега], [[Фин]], [[Таймыр]]). Все они пульсирующие, не имеют стабильного периода, но ученые на навигационной станции умеют вычислять фазы их активности. Точки выхода/входа каналов находится в центре масс системы тройной звезды.
В системе много астероидных полей, в которых копаются некоторые (особо избранные) компании.
Здесь находится Институт исследования гиперпространства и Центральный архив гипермаршрутов.
! Системная лоция
☄ @@Станция «Врата»@@ -- Станция технического обслуживания рядом с горловиной гиперканала.
☄ @@«Звездный град»@@ -- Центральная станция-город. На этой станции находится центральное отделение НИИ гиперполя.
☄ @@«Сфера»@@ -- Научная станция, действительно сфероид с пристыкованными жилыми блоками. В сфере проводятся разные интересные эксперименты, её диаметр около 10 километров.
☄ @@«Линза»@@ -- Малая солазерная станция для обеспечения НИИГп (передача энергии по прямому лучу)
☄ @@«Землеройка»@@ -- Старая космическая станция, когда-то принадлежавшая Геологической Разведке, в 2372 году списана и передана Звездному Городу. Сейчас используется как склад/грузовой терминал.
! Госуправление
+++[................]>
Система закрытая, полностью контролируется Сириусом и 1 отделом КСБ
!! КСБ
!! ОРК
1 инквизитор
!! ИМБ
Предоставляет на Лауру психологов и психотерапевтов.
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| 7 | 0 | 2 | 2 |
! Информация
Личное владение Линды Эйльхарт, владельца корпорации Трилистник.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
Частная собственность
!! КСБ
Сенат навязал "Трилистнику" представителей 1 отдела КСБ.
!! ОРК
1 инквизитор
!! ИМБ
отсутствует, вне закона
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
* Срок обучения 3 года.
* Оптимальный возраст для поступления - 14 лет.
* Дает базовое специальное гражданское образование (эквивалентное полному школьному) необходимое для работы в государственных структурах и продолжения обучения.
* интернат. Находится на Сириусе-Б. Заочного отделения нет.
* для поступления необходимо сдать документы и пройти экзамены. Обучение бесплатное, но есть распределение.
После окончания Лицея подросток может поступить на 3-4 года учиться в:
* [[Институт МВД]] - для обучения на сотрудников судебного и исполнительного аппаратов.
* [[Академия государственной службы]] - дает высшее образование, необходимое для работы в структурах государственного аппарата.
* [[ВВКШ Сириуса]] на условно-мирную специальность (психолог или врач)
Республика смешанного типа
<<tabs txtSectorsTab "Метрополия" "Метрополия" "Метрополия" "Сектор Веги" "Сектор Веги" "Сектор Веги" "Сектор Найтвиша" "Сектор Найтвиша" "Сектор Найтвиша" "Сектор Рингтейла" "Сектор Рингтейла" "Сектор Рингтейла" "Сектор Фомальгаута" "Сектор Фомальгаута" "Сектор Фомальгаута" "Суверенные государства в составе Конфедерации" "Суверенные государства в составе Конфедерации" "Суверенные государства в составе Конфедерации">>
Население: 70 млн. зарегистрированного населения.
Капитал ?:
| Природный | Финансовый | Реальный | Человеческий |
| 2 | 0 | 2 | 8 |
! Информация
На Марукку живет мусульманский этнос. Арабы т.е.
Планета могла бы вполне стать Дюной- будь там поменьше воды, пожарче и там были бы Свободные.
А так там очень засушливый климат. Пустыни есть, да.
Экономический статус: протекторат.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Мегафизика суть раздел физики, изучающий природу и структуру гиперпространства, механику и физику функционирования гиперканалов и исследует поля мироздания, такие как гравитационное, темпоральное и иные, неизвестные широкому кругу лиц поля.
В конфедерации есть следующие организации, занимающиеся мегафизикой:
* Институт Мегафизики, Лаура.
** Изучение гиперканалов.
* Институт Мегафизики, Земля.
** Старейший институт мегафизики, занимается общетеоретическими вопросами Теории Семи Полей.
* Институти Мегафизики ВКС, Сириус
** Разработка гипердвигателей
Кроме того, гиперфизикой занимаются и "свободные" ученые, и целые корпорации.
<<tagging "лоция:метрополия" "">>
Специальное министерство, в ведении которого находятся все системы связи в Конфедерации и главным образом гиперсвязь. Очень долгое время свободная гиперсвязь была недоступна простым гражданам, но 10 лет назад была создана корпорация SkyNet, которая обслуживает гражданскую гиперсвязь. Для гражданской гиперсвязи используются специальные SkyNet -коммуникаторы, связывающиеся напрямую с планетарными спутниками гиперсвязи. При помощи коммуникатора SkyNet можно позвонить на другой конец Конфедерации, не прибегая к услугам центров связи.
[[Принцип гиперсвязи]]
Если кратко - Нобилями являются потомки первых колонизаторов - несколько сотен семей из французского этноса, колонизировавшие планету и жившие лет 20 в отрыве от остальной цивилизации.
Титул передается по наследству, но может быть пожалован (как наследный, так и нет) за те или иные заслуги Советом Нобилей (название может отличаться, но по сути так) человеку, имеющему N поручителей (фиг знает сколько, не меньше 3, не больше 7)
Чисто теоретически на планете все равны, но Нобили равнее. В случае неоднозначности ситуация (в силу исторических положений) будет толковаться в пользу нобиля, тем не менее в случае преступления и наказание будет суровЕЕ. Скажем, по умолчанию, нобиль обладает л++у++чшим алиби, чем простой смертный (потомок второй и более поздних волн колонизации), хотя если он собьет человека на улице - отмазаться тем, что он нобиль - не получится. Т.е. депутатским иммунитетом они не обладают. Вообще, я так прикидываю, там много тонкостей.
Опять же в силу исторических причин нобили занимают значительное число постов в правительстве, полицейских или армейских силах планеты, хотя и количество их ограничено законами Конфедерации. Дело в том, что доля нобилей в правительстве могла бы и не быть ограничена, но тогда планета должна иметь статус автономии. Это не так, хотя многие нобили, особенно пожилые, ратуют за подобное положение, но не могут набрать необходимое число голосов (со всего населения) для получения такого статуса.
Когда-то давно, разрабатывая Кодекс (Законов), Совет Нобилей предвидел, что планета не будет вечно отрезана от цивилизации и внес в кодексы такое положение. Дело в том, что на тот момент т.н. Кодекс об Автономиях еще не существовал (он появится только через 100 лет) и Совет Колонизации мог бы прикрыть нобилям лавочку, зарезав большинство их законов в виду "недемократичности". Так что Совет Нобилей "откупился" от Конфедерации (в момент второй волны колонизации) именно ограничениями роли нобилей в политической и экономической жизни планеты.
Планета "Новая Франция" характерна тем, что на ней существует дворянство, как социальная прослойка. Дворяне (нобили) - это потомки первых поселенцев или почетные граждане. Они не обладают неприкосновенностью (как депутаты или сенаторы), но стоят несколько "выше" обычных людей. Многие законы трактуются в их пользу, и в некоторых случаях сильные наказания могут заменяться крупным штрафом. Квартал Дворян в Столице охраняется, но он довольно малочисленный... по сравнению с остальным городом. Тем не менее дворяне занимают многие ключевые посты в различных областях социальной жизни планеты, но не препятствуют продвижению вверх молодых людей и из "народа".
Обладать дворянством (хотя правильнее использовать слово "нобиль" и "нобилитет") можно в двух случаях.
1) Родиться в семье нобилей (передается по наследству, хотя отчуждаемо по решению родителей)
2) Получить дворянство как почетный гражданин планеты (за заслуги перед государством или правительством планеты).
Все семьи, прибывшие на пленету на первом колонизационном корабле стали основателями дворянских родов, многие владеют крупными земельными участками или производствами, облагающимися пониженными налогами (но только до тех пор, пока продукция поступает на внутренний рынок (!!!) )
Итого есть "заслуженные дворяне" и "изначальные"
----
А при чем тут нобили? Это вообще не с того конца надо обдумывать. Начнем с того: какое там право собственности? Ибо если речь бы шла о, скажем, Техасе, то вообще по другому поводу власти напряглись. Там родителя привлекли бы за неподобающее ХРАНЕНИЕ ОРУЖИЯ. ВСЕ. ТОЧКА. В пределах свой собственности (или при попытке в нее войти) кто угодно может пристрелить кого угодно на законных основаниях. Даже доказывать потом ничего не надо. А вот то что детям пистолет в руки попал, это да -- плохо.
В принципе к дворянам применяется техасская статья. А вот к остальным - превышение самообороны
----
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
☀ - звезда
⊕ - планета
☾ - луны
☄ - Станции технического обслуживания, верфи
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Официальное название планеты: ++La Nouvelle France++
Обиходное название: ++Эления++
Ускорение свободного падения: 9,62 метров в секунду за секунду.
!!! Столица: ++Новый Париж++
центральный квартал столицы называется ++Le quartier des nobles++ (Quartier de la noblesse)
Большой Парк - "Le jardin grand"
крупнейший концертный зал: Sommet de la vue ("вершина зрения")
* Rue ("ул."), Прешпект - это как раз Avenue)
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Основные этносы: испанский, индейский, возможны итальянские и французские семьи.
! Системная лоция
* Кумроч - каменный булыжник
* Новая Колумбия - аграрная планета, жаркая.
** Турриальба - спутник
* Новый Эквадор - аграрная планета, основная
** ☾Пананггуган
** ☾Джоболонган
** ☄ СТО Ирасу-1 (на ремонте после атаки Пимона, июль)
** ☄ СТО Ирасу-2 - основная
*** столица Гуаякиль, население около 1,5 млн. человек включая пригороды. Формфактор - Дакар.
континент "Австралия", саванна.
ближайший к космопорту город - Яллерой.
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
+++[Новостные каналы (после оккупации Пеллийским Альянсом)]>
1: первый государственный
2: бизнес
3: социальный
4: музыкальный (мтв)
5: образовательный без рекламы
6: хихи для идиотов
7: ? (настроечная сетка)
===
+++[Контакты Райдена]>
* ++КСБ:++
** [[Стэнфорд Портер]], 67 лет, полковник КСБ, глава КСБ на Фили.
** Генриетта Павловна -- "гарпия" на ресепшене столичного отделения КСБ.
** [[Константин Абанян]] -- эксперт по межведомственной работе (30-35 лет, капитан, вполне зовется и по имени)
** упоминались архивариус Федюнин
** Александр -- (Сашка) эльф, работает в отделе кадровой и общественной работы (кадры и PR)
** Франциско Каррильо -- майор, заместитель Портера, в данной момент - комендант точки-раз (эвакпоинт КСБ)
* ++ОРК++
** [[Ванда Дворжак]] -- майор ОРК, глава ОРК на Фили. Невысокая спортивная женщина, отслужила в армии, вероятно с Фолл-Хейма, старший инквизитор.
** [[Диего Везаванге]] -- инквизитор, индейские этнические корни, из семьи колдунов. Носит длинную косу, корректный, вежливый, спокойный... как любой инквизитор. Интересуется мужчинами, холост. С ним случаются пророчества (изредка), но запомнить их он не может.
* Вилла губернатора
** губернатор (от Федерации) - ?
** Кшись - доктор губернатора.
* Территориалы
**
* ИМБ
** [[Олег Павлович Пружинин]] -- замглавы ИМБ на планете, эксперт-менталист.
* ВМФ Нового Эквадора
** [[Умберто Нобоа]], адмирал, около 50 лет.
* ВВС Нового Эквадора
** [[Теопольд Амилькар]], капитан 2 ранга, уинг-коммандер ВВС, пилот истребителя "Вьюга", эльф.
===
+++[Контакты няки]>
таможенник на орбите;
Детектив, врач из медцентра, магазин "миллион мелочей"; гостиница; комендант космопорта;
Хуан Хосе Антонио Родригес-младший - туристическая служба (понятно какие туры тут продают - дайвинг с бетонными глыбами, пешие эротические туры, прыжки без парашюта из стратосферы, рабочие туры по выкапыванию ямы 2*1 метр на глубине от полутора метров с сопровождением)
кабак Теночитлан - Дон Хуан - скромный старик в соломенной шляпе... ++Дон++ Хуан. --мафия бессмертна--
===
+++[title]>
text
===
* @@Мастерская Дознания@@ - кроме обычных допросов (боль, химия) активно используются [[Псайк-допрос]]ы.
** глава - [[Юхан Рэдри]], ~50 лет на вид, псайкер, судмедэксперт.
* @@Мастерская Слежки@@ (топтуны)
** глава - [[Бенджамин Далтон]], 57 лет.
* @@Мастерская Внешних Связей@@
** Советник по связи с КСБ - майор КСБ [[Геннадий Романов]], 34 года.
* [[Академия государственной службы]] - этих Академий несколько, на разных планетах. Готовят специалистов для гос.службы
* [[Лицей Государственной Службы]] - среднее учебное учреждение для тех, кто решил работать на государство.
* Звездные Витязи - название Предтеч в легендах Изнанки. “Они перемещались как мысль и бились клинками, сотканными из Душ Звезд”.
----
Каждой планетой или протекторатом управляет мэр. Он избирает своего представителя в сенат - одного от планеты.
* ++[[Сенат]]++
** ++[[Верховный совет]]++ - состоит из 16 человек.
*** 8 из них избираются из сената всеобщим тайным голосованием.
*** Оставшиеся 8 - это представители следующих структур:
#### [[Адмиралтейство]]
#### [[Совет Колонизации]]
#### [[Министерство Экономики]]
#### [[Министерство Торговли]]
#### [[Министерство Образования]]
#### [[Министерство Здравоохранения]]
#### [[Институт Ментальной Безопасности]]
#### [[Министерство Внутренних Дел]]
** Из Верховного Совета один человек становится спикером сената (выборы из 16 кандидатур всеобщим голосованием), в верховном совете он имеет два голоса.
Верховный Совет разрабатывает законы и стратегические решения.
Сенат голосует за законы и тактические решения.
----
Все методики воздействия на реальность укладываются в трехмерный базис:
* @@Магия@@ - ++упорядочивание++. Структурирование объектов (сил) неживой природы. Маги оперируют силой, техники оперируют объектами.
* @@Псионика@@ (воля) - ++созидание++. Воля направлена на изучение чего-либо.
* @@Жизнь@@ (источник) - ++усложнение++. Неживая -> живая природа.
Этому противостоит 4 вершина пирамиды - @@Хаос@@, Энтропия. Расщепление, упрощение, перемешивание.
[24.11.2014 18:14:37] Rain Skylark: Сила адепта - жизнь, лечение.
[24.11.2014 18:14:44] Rain Skylark: Сила волшебника - ИЗМЕНЕНИЕ
[24.11.2014 18:14:48] Rain Skylark: Сила псионика - влияние
[24.11.2014 18:15:05] Rain Skylark: Сила техники... разрушение? модификация? а может быть ДОСТУПНОСТЬ? Да, доступность и адаптируемость. Доступность возможностей, предоставляемых (реализуемых через) технические инструменты КАЖДОМУ.
[24.11.2014 18:18:27] Rain Skylark: А изучить технику ЗНАЧИТЕЛЬНО проще, чем заклятия, ритуалы или обряды.
[24.11.2014 18:19:07] Rain Skylark: хотя бы потому, что техника логична и предсказуема (исключения подтверждают правила).
[24.11.2014 18:19:41] Rain Skylark: Если ты сунул хлеб в тостер и нажал "жарить", то тостер его тебе зажарит ВСЕГДА (пока есть электричество) и результат НЕ БУДЕТ зависеть от фазы луны.
----
++Старрелы++
Скажи как там у старрелов дети растут/воспитываются в какие игры играют?
в совсем детском возрасте - игры с некими "звездными ящерицами", "прятки" (со всеми достиженими бытовой магии), разные игры на интуицию...
растут под присмотром Матерей, причем ты автоматически стала ребенком каждой матери и сестрой каждого эльфа
чуть постарше - уход за Драконами старших Братьев, игры в Фейерверки заклинаний
----
рота - 4 взвода
отделение - 12 челов
взвод - 3 отделения
----
* вся магия эгоцентрична. "от меня", "ко мне", "я", "моя сила", итд. В магии - ты - центр вселенной, а не какой то там источник. ©Венцлав Волков.
* собственно всё псайкерство делиться на три аспекта.
** - разум
** - тело
** - мир
----
сторукие исполины ++гекатонхейры++ (дети Урана)
----
Remidor (22:28:31 10/04/2009)
А еще мы знаем про аллергию Магиуса (но это уже лично его проблема) на определенную комбинацию черного и красного перцев. Магиус знает, что мы это знаем и он нам в шутку (ну ты знаешь хелорские шутки), сказал, что вообще-то магистры за такое знание убивают на месте, но он не будет нас убивать. :)
Кари (22:30:52 10/04/2009)
а как у него эта аллергия выражается?
Remidor (22:31:16 10/04/2009)
Вот там это и было выяснено. Когда я несколько человек там напоил этим чаем, а потом думал что же елки-палки с ними делать теперь. Хорошо, что эффект не продолжительный. Минут 15-20...
Remidor (22:32:41 10/04/2009)
Как-как... Блюет дальше чем кастует.
Короче эффект сильнейшего отравления, галюценации, и потеря способностей. Колбасит от нескольких часов, до нескольких суток. Как ни странно, но помогает периодически на него кидать какие-нибудь диспелы. А вот хилять нельзя не в коем случае -- вообще загнется.
Кари (22:39:38 10/04/2009)
А Магиус знает, что вы это знаете? :)
Remidor (22:40:22 10/04/2009)
Да. Я же тебе и говорю: он помоему довольно серьезно обдумывал не грохнуть ли нас, но потом передумали перевел на шутку. Но он объяснил ЧТО значит такое знание.
Кари (22:34:50 10/04/2009)
> на определенную комбинацию черного и красного перцев.
так... два вопроса:
1) как вы это выяснили?
2) кто еще знает про эту комбинашку?
Remidor (22:37:58 10/04/2009)
Случайно. Мы слышали про кого-то кто заблевал весь светский раут на каком-то древе, но никто не зна кто, потому, что древо куда-то поптом пропало, или что-то еще... Короче там что-то смутное прозошло. На самом деле, Магиус убрал свидетелей. А вот то, что это был именно он я дошел какими-то логическими умозаключениями... А! Вспомнил! Магиус провел какое-то время в соседкой Рейна. Оттуда там и меч. Так вот там он на эти грабли наступил второй раз, но поскольку соседка как бы не могла никому ничего рассказать, просто потому, что не знала кто он и вообще -- он ее убивать не стал. Ну а дальше -- не проблема. :)
Remidor (22:24:20 10/04/2009)
Очень просто. Я этот секрет, кстати, очень берегу. Прямо со всех сил. Но у всех Хелорцев странная реакция на черный, сладкий чай. Он их отупляет, как наркотик, и потом они быстро засыпают. При чем они этого всего потом не помнят, и просыпаются без негативных эффектов.
Магиус пока точно не знает про это. :)
----
Валинорский Дом Лесной Рыси
* Мой папа, лорд Лиифинамель, глава Дома Лесной Рыси. А маму я не знаю.
* принц [[Фиарвандель]], 10-11 лет, нет обеих рук чуть ниже локтя. В мае 2423 года (ветка Риана) находится на протезировании на Новой Франции.
** личный телохранитель Эйнар, предп. Одаренный.
----
Косточки Духа с Нью-Гаваи
* Косточка духа Голубого Кита
* Косточка духа Альбатроса
* Косточка духа Дельфина - эта косточка духа у псионика-океанолога, изучающего язык дельфинов.
Innate: дух существа снисходит и защищает.
----
Формулы путешествий
Постоянная скорость перехода = (ВЫНОСЛИВОСТЬ / 3) км/ч
Грузоподъемность постоянная = (3*СИЛА - 10) кг.
Грузоподъемность тягловая = постоянная*2 кг
Грузоподъемность рывок = постоянная*5 кг.
Восприятие = (МЕТКОСТЬ + СООБРАЗИТЕЛЬНОСТЬ + ПАМЯТЬ) / 3
----
Навыки
Навык — выработанная в процессе обучения и тренировки последовательность развертывания во времени и пространстве действий и операций, оптимальная для данной деятельности. В основе формирования навыка лежит образование временных связей и выработка динамического стереотипа. При автоматизированном навыке выбор параметров операций и контроль за их сменой осуществляется без включения в сферу мышления, т.е. не создают для работающего проблемной ситуации.
++Пассивная и активная стороны навыков:++
Пассивный параметр отвечает за решение стандартных, обыденных и простых задач. Он нужен также для анализа ситуации.
Активный параметр требуется для решения неординарных, необычных задач – а также для синтеза решения.
В некоторых случаях для для активного использования нужен не параметр, а другой навык. В таком случае используется не модификатор параметра, а бонус эффективности от другого навыка.
Буква в квадратных скобках в самом начале описание указывает требуется ли для использования этого навыка какой-то еще.
* «[п]» – простой, элементарный навык. Для него не требуется знание никакого другого навыка или области знаний. Простой навык может потребоваться для других навыков.
* «[с]» – сложный навык. Для него обязательно знание другого (более простого) навыка (умения или области знаний). В противном случае навык получает штраф -8 на все бонусы эффективности. В некоторых случаях в квадратных скобках может быть указан другой штраф, например [c/-12].
* «[з]» – зависимый навык. Для его использования желательно знание другого навыка, но не обязательно. В некоторых случаях в квадратных скобках может указываться штраф к эффективности, но он в любом случае меньше, чем штраф у сложного навыка, например [з/-2].
* «[к]» – указывает, что данный навык это фактически комплекс знаний и умений, необходимый для решения целого ряда задач. Также обозначается «[*]».
----
++Параметры системы++
|! Параметр |! Группа |! Влияние |
|Сила | Тело<br>(Might)<br>=@@color(red):Stamina@@ |Сила удара в ближнем (рукопашном) бою |
|Выносливость |~|Стойкость к внешним физическим воздействиям |
|Здоровье |~|Стойкость к природным воздействиям и восстановление жизненной энергии |
|Рефлексы | Ловкость<br>(Нейро) |Влияет на инициативу в ближнем бою ++(РЕФЛ+ПОДВ)++ и "интуитивный уворот" |
|Подвижность |~|Влияет на инициативу и скорость передвижения |
|Меткость |~|Влияет на инициативу при стрельбе ++(МЕТК+ПОДВ)++ и меткость при стрельбе и метании |
|Сообразительность | Интеллект<br>(Сознание) | - |
|Логика |~| - |
|Память |~|Показывает возможное количество навыков при накидке |
|Воля | Выдержка<br>(Эмоции) |Атака при пси-воздействиях |
|Хладнокровие |~|Защита при пси-воздействиях и проверках самоконтроля |
|Интуиция |~|"Открытость" миру и скорость восстановления пси-энергии |
Проверки параметров делаются по @@к36@@ с учетом штрафов. Нужно кинуть как можно меньше.
----
|Stun resistance | 1.5*И~~Ж~~ + (ВЫНОСЛИВОСТЬ-8)/3 + (ЗДОРОВЬЕ-8)/4 |
|Восприятие | (МЕТКОСТЬ + СООБРАЗИТЕЛЬНОСТЬ + ПАМЯТЬ) / 3 |
|Постоянная скорость перехода | (ВЫНОСЛИВОСТЬ / 3) км/ч |
----
| Бонуса параметров: |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|
| 1 | 2-4 | 5-7 | 8-10 | 11-13 | 14-16 | 17-19 | 20-22 | 23-25 | 26-28 | 29-31 | 32-34 | 35-37 | 38-40 | 41-43 | 44-46 | 47+ |
| -3 | -2 | -1 | 0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +10 | +11 | +12 | +13 |
----
Пси-энергия = И~~в~~*(ХЛАДНОКРОВИЕ+ВОЛЯ+ИНТУИЦИЯ)
Stamina = (СИЛА+ВЫНОСЛИВОСТЬ+ЗДОРОВЬЕ)
----
"не стоит нагружать бессознательное существо эпического могущества этическими дилеммами." — это про вопрос ренегат/не ренегат у адептов Источника. Т.е. решить, ренегат некто или нет Источник не может. Он нейтрален, у нет точки отсчета. Задав её Источнику, Источник можно поломать.
! Ойкумена
* [[Звездная карта]]
* [[Политическая карта]]
* [[Этнография]]
* [[История колонизации]]
! Государства в составе Конфедерации
<<tagging "лоция:автономии" "Автономии">>
! Наука и образование
* [[Технологии]]
* [[Научные школы]]
* [[Образование]]
! Культура
Киноискусство
Музыка
Спорт
Маргинальные развлечения
Мода
! Особенности Эпохи
* [[Сверхсветовые путешествия]]
* [[Сверхсветовая связь]]
* [[Псионика]]
Проводилась на Земле в ноябре-декабре -3 года
"северные племена"
<html><div align="right">Спорят с викингом раввин<br />
Спор заведомо бесплоден:<br />
- Бог один, и он не Один!<br />
- Один бог, и не один.</div></html>
В Конституции моей Федерации есть 2 интересных статьи.
Одна: "Государственной религией Федерации является атеизм"
Вторая: "В Федерации свобода вероисповедания"
!! История создания
После Пентаграмматонского конфликта в пределах Первого Управления КСБ возникла ++Комиссия по надзору за сектами++. Она занялась расследованиями религиозных преступлений и через полгода был создан Отдел Религиозного Контроля под патронажем КСБ. По завершению следствия ОРК однако распущен не был, а получил финансирование от Сената и представил полноценную программу морально-этического надзора.
Так был создан ОРК.
!!!Основное
* [[Досье: ОРК]]
* [[Штурмовики ОРК]]
* [[Как стать инквизитором?]]
* [[Быт инквизитора]]
* [[Немного о психологии инквизитора]]
* [[Организационные вопросы]] (цитаты)
----
Герб ОРК:
фон - типичный военный щит (как у наших военных).
поверх - два скрещенных факела (символ просвещения)
поверх - весы-чашки в равновесии. Стрелка - ?! (забыл)
На одной чаше пятиконечная (?) звездочка (или как у комет рисуют), на другой - череп (как символ мортуса).
!!!Структура
@@++Административная часть++@@:
* ++Гроссмейстер-инквизитор++ - глава организации, её представитель в Верховном Совете. Его выбирают мастер-инквизиторы Высшего Круга. На совете ОРК гроссмейстер имеет два голоса.
** ++Круг Мастров++ - 8 мастер-инквизиторов. Выбирают себе преемников из числа остальных инквизиторов и загодя (за год и более) готовят человека к новой должности. ++Мастер-инквизиторы++ курируют отдельныю сферы функционирования ОРК. Большинство мастер-инквизиторов не забывают и о младших чинах, ведя те или иные спецкурсы.
** ++[[Мастерские|ОРК: Мастерские]]++ - около двух десятков подразделений наемных сотрудников (так или иначе связанных с ОРК, чаще всего родственными узами), каждое из которых выполняет задачи по узкому профилю. Глава мастерской зовется Мастером или Советником. Предоставляют консультации по профильным вопросам Кругу Мастеров и остальным инквизиторам. Не могут отдавать какие бы то ни было приказы штурмовым отрядам.
@@Отделы ОРК@@:
* ++Старшие Инквизиторы++ - возглавляют Отделы ОРК, самостоятельные подразделения общим числом ++22++ (? откуда цифра ?). В подчинении каждого ++старшего инквизитора++ находится несколько (обычно 2-4) просто @@инквизитора@@.
** ++Инквизитор++ - основная действующая сила ОРК. Как правило каждый инквизитор имеет свою группу сотрудников, свою ++команду++. В продвижении по иерархической лестнице он подтягивает своих помошников за собой.
*** ++Младший Инквизитор++ - самый младший "офицерский" чин ОРК и основная действующая фигура ОРК во "внешнем" мире. Подавляющее большинство боевых операций проводят инквизиторы и младшие инквизиторы, естественно при поддержке ++штурмовых отрядов++ и сотрудников других Мастерских.
@@Младшие чины ОРК@@
* ++Старший дознаватель++ - пред-офицерский чин. Руководители групп дознавателей, прямые заместители инквизиторов.
** ++Дознаватель++ - занимается аналитической работой, сбором информации, подготовкой операций, контактами с различными организациями и людьми. "Рабочая лошадка" ОРК. На них лежит львиная доля рутины.
*** ++Младший дознаватель++ - самая первая ступень в иерархии ОРК. Во всем помогают дознавателям.
**** ++Стажер++ - ребята, недавно поступившие на работу в ОРК. Также стажерами являются все воспитанники [[Школы ОРК|ОРК: Школа]].
Кроме того, на ОРК работает большое число @@наемных сотрудников@@, занимающихся техническим обеспечением и прочими вопросами. В число наемных сотрудников входят:
* [[Штурмовики ОРК]] - основная боевая сила ОРК - самостоятельные отряды по 9 человек (отделение), каждый со своим обеспечением и профессиональными штурмовиками.
@@Наемные сотрудники ОРК@@
* внутренняя охрана
* техобеспечение
* авто и авиапарк
----
Это важно: инквизиторы (офицеры ОРК) не являются боевиками. Они - аналитики, следователи, в буквальном смысле - инквизиторы. В их задачу не входит боевое взаимодействие с //еретиками// - для этого в ОРК есть штурмовики.
Молодых инквизиторов учат, что их задача - расследовать дело, поставить задачу перед старшим боевой группы и пронаблюдать за исполнением. Нет, конечно тем, кто стремится разрабатывать боевую операцию вместе со старшим боевой группы не мешают, но это не привествуется - все таки задача инквизитора совсем другая и профессионально провести разработку операции получится у тех, кто имеет профессиональное военное образование.
Тем не менее многие инквизиторы, особенно старшее поколение, стремятся указывать штурмовикам, что и как им делать, а то и сами участвуют в боевых операциях. Старшему поколению простительно - многие из них до работы в ОРК участвовали в //войне//.
Последние годы в школе ОРК довлеет традиция, принцип обучения - инквизитор должен быть администраторы более, чем боевиком. Задача офицера ОРК - грамотное управление ресурсами (как людскими - своими подчиненными, так и техникой или административными возможностями), аналитика, стратегия. Так учат в школе сейчас и так собираются учить и далее. Подготовка инквизитора стоит слишком дорого, чтобы организация могла его потерять - это нерациональная и недопустимая потеря.
Но даже несмотря на эту парадигму, военная и боевая подготовка все равно входит в курс обучения инквизиторов:
* нормативы по стрельбе - сдаются в тире;
* нормативы по ОФП - проверяются на командных соревнованиях;
* норматив по рукопашному бою и бою на холодном оружии - во-первых сдается инструктору, а во-вторых считается, что это тренирует и дух офицера.
++Краткая сводка:++
Отдел Религиозного Контроля (ОРК) создан через 5 лет после [[Пентаграмматонского конфликта|Пентаграмматонский конфликт]] для контроля деятельности религиозных организаций. Изначально ОРК был исключительно отделом по надзору, оставляя методы воздействия на нарушителей [[Закона о Религии|Закон о Религии]] в ведении армейских структур. Но примерно 45 лет назад отдел получил дополнительное финансирование и смог подготовить своих агентов воздействия, прошедших подготовку как в области военного искусства, так и дополнительные тренировки по псайкерской защите. Успешно проведенные операции по нейтрализации Ксианской Секты и Секты Залов Золотого Света обеспечили стабильное финансирование отдела. С тех пор отдел самостоятельно готовит агентов воздействия и использует самостоятельно разработанные методики защиты.
Штаб-квартира (HQ) находится на Сириусе-3.
Смотри также: [[Религиозные организации и секты]]
Подробнее: [[Отдел Религиозного Контроля]]
----
Еще раз подчеркну, что является маркером для ОРК:
- изоляция от общества, противопоставление себя обществу;
- применение организаторами манипулятивных техник для навязывания идей и контроля над сознанием рядовых членов.
* Если 5000 человек сидят в лесу и плетут венки, живут в шалашах и проповедуют отказ от технологий - ОРК внесет запись в свои списки и займется другими делами.
* Но вот если в эту секту придут 500 человек, которые ПРОДАЛИ ВСЁ, а деньги ушли "на нужды секты" - это уже повод перевести эту секту в ранг "расследуемых"
* А если какой-нибудь "пророк" использует гипномашины, пситехнологии и наркотики для подавления сознания и воздействия на людей - значит скоро к нему придут суровые ребята в сапогах в форме драконьих голов.
----
Немного по-разному крепятся мышцы к костям, в результате чего некоторые движения эльфам удаются более экономно. Соответственно стили рукопашного боя для эльфов и людей различаются.
Средний возраст взросления (окончания формирования организма) - человек: 21 год, эльф - 24 года.
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
«Космическая стройка века»
три планеты:
* Долина (аграрная),
* Бастион (холодная технологическая),
* Пелла – жаркая технологическая.
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
См. [[Пентаграмматонский конфликт]]
* Эта система очень интересна своими гиперканалами. Пять гиперканалов связывают систему Пентаграмматон с Пеллой, Хальдемар, Фолл-Хеймом, Облаком и Лесом. Все они пульсирующие, и фазы активации таковы, что активный канал «крутится» в этой системе звезд как часовая стрелка. Время активной фазы канала 12 часов, и что интересно, если наблюдать с Пентаграмматона – канал работает постоянно, только каждые 12 часов меняется точка прибытия канала. Это делает навигацию в систему Пентаграмматона весьма непростым делом.
* В эту систему эмигрировал с Земли Ватикан.
! Системная лоция
⊕ @@Dies Irae@@ - (Гнев Божий), Самая близкая к звезде планета. Колонизация открытого типа невозможна в виду близости к звезде. Жить можно только в подземных бункерах.
⊕ @@Новый Ватикан@@ - основная планета, (расстояние от звезды - 154.1 млн.км, сила тяжести 1.1 ст., планетарный год = 380 суток, сутки - 23 ст.часа)
⊕ @@Гарзиэль@@ - военная база во времена Конфликта.
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Когда точно был - путаница страшная
А вообще по его поводу есть следущие данные:
* (14:00:09 8/11/2007)
** в 2317 году произошло некое событие, известное как Пентаграмматонский Конфликт. Когда Церковь, заручившись поддержкой Шворца, попыталась захватить власть в Конфедерации. была война, и немалая. причем... Церковь нанесла первый удар по Валинору. к эльфами они тогда относились также, как и германцы
* Еще есть упоминание про 2350 год
* такая вот путаница
* из биографии Томаса Моро следует, что он был в 2365 году
* А из биографии Жана Монтегю - в ++2372++, т.е 50 лет назад.
----
Дата начала: 28 января ([[ET]])
Дата капитуляции Пентаграмматона : @@18 августа@@
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
База Звездного Флота, по планетам представленая официальная общесетевая информация.
1. н/к
2. "Тша", ПК=7, аграрная самодостаточная бедная колония
3. ""Тиу", ПК=7, аграрная самодостаточная бедная колония
4. н/к
См намеки на "Салуза-2" - планета-тюрьма.
[[Архиепископ Фердинанд]]
// Да и во флекты он поглядывает и видит в нем картины грядущего - галактика, погрязшая в войне, его самого на Престоле нет. И сейчас он делает всё возможное, чтобы стать Папой и предотвратить ту грядущую войну, которую сам же старательно разжигает, этого не замечая, запутавшись в видениях хаоса.//
Какая сука подсунула ему флект?
----
++Подарил Огонь++ — в башкирской космогонии, не той, что записывали по деревням «фольклористы», а в настоящей, Мир — Волк, состоит из Огня (рыжей собаки), Камня (Земли) (аю, медведя), Воды (черной змеи), Ветра (вороны или сороки). Если Миру предъявить свое право на обладание ими, он наделяет ищущего каждым из этих даров, пока человек не станет целым и не вернет эти дары Миру. Принято считать, что первые два дара — огненный и водяной, можно получить, не прерывая социальной жизни; более того, чтобы властвовать над людьми, знания не ищущими, человек-начальник должен быть Огнем, иначе из его руководства ничего путного не выйдет. Оттого Власть теснейшим образом связана с кузнечным ремеслом — пока человек собственноручно не отковал нож или меч — свою душу, то править людьми из своего сердца он не может. В этой связи интересна аллюзия с типовой завязкой многих европейских мифологических сюжетов — заметьте, там меч не куют, а обретают. Сие, на взгляд автора, символизирует осознаваемую на архетипическом уровне неавтохтонность источника Власти в мире Запада. Там властители лишь марионетки некоей силы, получающие Власть из источника, упорно сохраняющего анонимность. То же относится и к русским — припоминаете меч-кладенец? Кем «кладенец», для чего?
Подробно принципы управления изложены в статье-анализе "Рассуждение о государственном устройстве" ( http://arris-krain.livejournal.com/138168.html )
Условная шкала допросов, принятая в Мастерской Дознания.
# ++Ложь или правда++ - детект истинности высказывания, ответ "да" или "нет".
# ++Серенький козлик++ - голос допрашиваемого меняется незаметно для него на козлиное блеяние во время лжи.
# ++Боль есть ложь++ - солгал - ощути боль.
# ++Поток слов++ - псионический аналог правдосказа. См [[Пыточный канон]].
# ++Занимательная археология++ - ассистент "развлекает" допрашиваемого беседой и вопросами о разном, а дознаватель выуживает из потока сознания и ассоциаций крупицы истины.
# ++Допрос во сне++ - дознаватель засыпает рядом с допрашиваемым, снится ему, предстает перед ним... например в образе грозного отца или любящей матери и допрашивает его.
# ++Око Госпожи++ - активация - глаза в глаза на два удара сердца обоих. Пытуемый теряет сознание, а дознаватель копирует матрицу сознания пытуемого (делая слепок текущего состояния его сознания), накладывает внешней психоматрицей на себя и либо допрашивает сам себя, либо этим занимается его ассистент.
# //есть и последняя ступень... //
* [[Рассуждение на тему псионики]] с Романом Власовым.
* [[Псионика: дисциплины]]
* [[Псионика: шкала мощности]]
* [[Псионика: спайс]]
----
Дисциплины псионики - по профильным институтам:
| !Дисциплина | !Возможности | !Основной центр обучения |
| Психокинетика | (удар) - телекинезы, криокинезы, вплоть до фотокинеза... в далекой перспективе - гравикинез | [[Сириус]] |
| Психоменталистика | (контроль) чтение мыслей/эмоций, защита, в перспективе контроль | [[Райтмир]] |
| Биоэнергетика | (хил), long-time buff | [[Чуматактион]] |
| Биометаболика | (бафф) селфбаффы (ну или другого баффать через [[косточки духа|Косточка Духа]]) | [[Невемор]] |
| Сенсорика | детекты | [[Миковарро]] |
На некоторых звездных систамах изучают другую псионику. В частности, своими институтами известны:
* [[Фолл-Хейм]] - прекогностика (раздел сенсорики буквально позволяющий предсказывать будущее)
* [[Айодхья]] - в Ведическом Университете есть Факультет паранормальных взаимодействий (ФПВ)
[[Мирквуд]], субсектор Ориона
!! Психокинетика
Воздействие внутренней психической силой на объекты материальной природы, точнее на инерцию и на силы, прикладываемые к объектам материальной природы. Движение (быстрее, медленнее, инициировать, остановить) - микро-уровень (криокинез,пирокинез) и нормальный уровень (психокинез). Возможно, что-то еще кроме чисто движения.
Точка концентрации: анахата, манипура.
Психокинетики считаются "боевыми псиониками". Работают "через руки", то есть привыкают с младых ногтей к "джедайским жестам". Им так проще, хотя и без жестов они могут. Просто с жестами привычнее и проще.
!! Психоменталистика
Воздействие внутренней психической силы на свои или чужие (преимущественно) мысли. Чтение,влияние на чужой разум - как единичной цели, так и группы. Защита от чтения мыслей. В узких специализациях - промывка мозгов.
Точка концентрации: аджна, сахасрара
Эти псионики востребованы на государственной службе (в суде, к примеру, показания часто проверяются с псиоником) и в коммерции (в HR-службах серьезных контор). Есть при этом законы, запрещающие беспорядочное воздействие псиоников.
В принципе, психоменталистов можно было бы развить по мотивам олдёвской Urbi et Orbi - эмпакты, эмпассы итд. В принципе.
!! Биоэнергетика
Воздействие внутренней силой (на самом деле не той, что в психо-дисциплинах) на чужой организм. Лечение. И калечение. Калечить, впрочем, проще.
Точка концентрации: манипура, свадхистхана, муладхара.
Тоже относится к "боевой" псионике. И от этой боевой псионики проще защищиться - биоэнергетика работает в более тесном контакте, чем психокинетик или психоменталист. С другой стороны, удар кулаком, усиленный биоэнергетическим влиянием "дамажит" сильнее, чем по отдельности.
!! Биометаболика
Воздействие внутренней силой на свой организм. Самолечение, баффы. Повышение физических способностей организма.
Точки концентрации: свадхистхана, муладхара.
Тоже относится к боевой псионике - и такого боевого псионика хрен поймаешь, а потом хрен убьешь. Живучие, суки.
Яркий признак биометаболика - у него повышенная температура тела, не 36.6, а 37 и выше. Ну и жрёт он как не в себя - все что сожрёт - все переработает.
!! Сенсорика
Ну тут все просто 😉
Детекты. Всех видов.
Кстати, я выше слегка наглючил. Именно сенсорики больше востребованы в суде и коммерции - они чувствуют, врёт собеседник или свидетель или нет.
Точка концентрации: сахасрара (но умелые сенсорики работают по всем чакрам).
Совершенно небоевые ребята. И, надо признать, весьма нездоровые на голову (слишком много видят и это не способствует здравому рассудку).
По жизни становятся аутистами. Вне работы предпочитают с людьми вообще не общаться или носить шапочки из фольги. Живут, строго говоря, меньше всех - потому что бухают, синячат и принимают наркотики - чтобы заглушить свои способности.
<<<
А в чем уязвимость? В чем проблема психов?
<<<
В том, что они психи :)
Они иначе начинают воспринимать мир. Упоение силой.
На войне это опасно. От автоматной очереди не увернешься, пулю снайпера психокинетическим щитом не остановишь (просто потому, что снайпер ВНЕ зоны твоего влияния - ты можешь о нем предполагать, но ты его не видишь).
Не видишь в смысле не детектируешь своими пси-чувствами.
И все, все эти виды псиоников очень любят спайс :)
Не спрашивай меня что это такое :)
Никаких Червей на Дюне нет. В языке аборигенов планеты, где добывается спайс, есть слово "червь". Смысл у него примерно такой же, как у нас "чёрт".
Дюна - пустынная планета (но не "пляж Арракис лучший пляж во вселенной"). По мнению ксеноархеологов - это мир какой-то древней высокоразвитой цивилизации, которая уничтожила себя (или была уничтожена врагом) много лет назад. Настолько много, что по немногочисленным руинам хрен поймешь что это было.
Серьезные ксеноархеологические исследования не проводятся - на планете часты пылевые бури. Но это простые пылевые бури - они начисто, как языком слизывают, всё, что не спрятали под землю, под скалы, в бункера.
* [[Спайс]]
Никаких Червей на Дюне нет. В языке аборигенов планеты, где добывается спайс, есть слово "червь". Смысл у него примерно такой же, как у нас "чёрт".
Дюна - пустынная планета (но не "пляж Арракис лучший пляж во вселенной"). По мнению ксеноархеологов - это мир какой-то древней высокоразвитой цивилизации, которая уничтожила себя (или была уничтожена врагом) много тысяч лет назад. Настолько много, что по немногочисленным руинам хрен поймешь что это было.
Серьезные ксеноархеологические исследования не проводятся - на планете часты пылевые бури. Но это непростые пылевые бури - они начисто, как языком слизывают, всё, что не спрятали под землю, под скалы, в бункера.
Впрочем, под пылевой бурей псионики не выживают. В бункерах - теряют сознание. На поверхности - исчезают или сходят с ума.
А вот после пылевых бурь на песке и скалах остается странная коричневая субстанция, похожая на искрошившийся поролон.
При приёме внутрь этот поролон вызывает сильный буст пси-способностей.
А если его принимает обычный человек - он получает большой бонус к защите от воздействия на разум.
Точнее так: у него очень резко и сильно усиливаются когнитивные способности, а как следствие - увеличивается защита от психо-псионики.
Из отрицательного: спайс вызывает привыкание. И у спайсового наркомана появляется иммунитет к остальным наркотикам. Попросту говоря, конопля на спайсового наркомана не действует, хоть ты укурись. Отравишься - да, но эффекта конопли не будет. Алкоголь тоже действует, но хуже. Почти быстрее отвалятся.
"Греческая" шкала оценки силы псайкера условна и основана на оценке пиковой мощности псайк-воздействия. Реальное представления о возможностях псайкера она дает нечасто, но прекрасно показывает предел его силы.
++Следует отметить, что "греческая шкала" - оценка мощности, а не уровня знаний++
Шкала псайк-способностей (дикое пси) и приблизительный эквивалент мерной шкалы пси-навыка.
| # | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| категория | @@color(RED):zero@@ | α^^+^^ | α | α- | β^^+^^ | β | β- | γ^^+^^ | γ | γ- | δ^^+^^ | δ | δ- | ε |
|~| @@color(RED):ультра@@ | альфа^^+^^ | альфа | альфа- | бета^^+^^ | бета | бета- | гамма^^+^^ | гамма | гамма- | дельта^^+^^ | дельта | дельта- | эпсилон |
| навык | @@color(RED):35-36@@ | 31 | 29 | 27 | 24 | 22 | 20 | 17 | 15 | 13 | 10 | 8 | 6 | 0-3 |
Обученные псионики достигают условной категории ультрапси, когда 2 дисциплины развиты до ~32, еще 2 до 26 и последняя минимум до 18. При этом они могут и не быть ранга @@α@@
Смысл в том, что молекула обычного вируса это практически та же ДНК. Она внедряется в клетку и начинает синтех себе подобных и нужных себе веществ. Ретро-вирус, сам является РНК а не ДНК, и благодаря обратному переносу генов (обратному синтезу ДНК по РНК), встраивает части производящие себя прямо в ДНК клетки. Т. е. не плавает в ней и паразитирует а изменяет саму клетку. Таким образом сейчас делают трансгенные организмы: Берут ретро-вирус, откусывают от него, собственно его. Т. е. оставляют только механизм внедрения в клетку и обратного переноса, а вместо непосредственно вируса прилепляют к нему нужные последовательности генов, которые и встраиваются.
* United Medical - корпорация центрального региона Федерации, HQ Сириус
* Служба охраны консулата - охрана дипмиссий итд
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
Система курортов. Три пригодные для жизни планеты с высоким кжп позволили не только провести аграрную колонизацию, но и превратить две планеты в курорты, которые посещают люди со всей Конфедерации.
⊕ @@Рада@@ -- Самая близкая к звезде планета. Жарковата, и как курорт подходит плохо, тем не менее в северных широтах выращивают продовольствие, а на экваториальной области есть несколько курортов класса «Пустыня», (расстояние от звезды - 0.46 ае, сила тяжести 0.93 ст., планетарный год = 211 суток, сутки - 19 ст.часа)
⊕ @@Раммекарти@@ -- Основная курортная планета, колонизированная первой в системе. Кроме курортного бизнеса, экспортирует еще и продукты питания, ткани, дерево, (расстояние от звезды - 1.1 ае, сила тяжести 1.02 ст., планетарный год = 421 суток, сутки - 26 ст.часа)
⊕ @@Озерная@@ -- Третья планета системы, колонизирована второй. Характерна огромным количеством озер при одном только океане. Теплый и влажный климат, (расстояние от звезды - 1.9 ае, сила тяжести 1.1 ст., планетарный год = 959 суток, сутки - 31 ст.часа). Благодаря сильному парниковому эффекту - тепло.
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Внятной парадигмы работы псионика до сих пор нет.
Я знаю, что такое псионика с т.зр. законов мироздания, но, по очевидным причинам, сказать не могу. Потому что это понимание даст реально абсолютную власть. Я не шучу.
++Псионика - это способность влиять на окружающий мир при помощи своего разума.++
Но это настолько затёртое объяснение, что оно ничего не объясняет :)
Псионика - это НЕ апелляция к законам мироздания при помощи Слова (особенно волшебного).
Хм. Скажем так.
Из интересных фактов: сила псиоников привязана к планетам. Считается, что они взаимодействуют с общим пси-полем планеты.
Вне планет, в пустом космосе их сила заметно слабеет. Нет, ну то есть он по-прежнему может двигать предметы или читать мысли - но в пределах того небольшого объема, который защищает его от пустоты космоса.
той недлинной границы, которая отделяет его от Пустоты
<<<
Ок, давай с другой стороны зайдем.
1. Я псионик - и это значит я черпаю силу из своего разума и способен воздействовать на разумы иных разумных существ.
2. Я псионик - и это значит, что вселенная есть лишь пораждение моего разума. Стоит мне изхменить видение ситуации - и мир переменится.
3. Я псионик - и это значит, что сквозь мой разум проходят силы, неподвластные моему разуму и разрушающие его. В порыве гнева я могу вызвать цунами, а в приливе нежности - одарить всех манной небесной.
<<<
Первое и второе.
Зависит, разумеется, от Школы :) Ну где-то учат, Первому, где-то Второму. Работает и то и другое (на самом деле работает и третье), потому что все это в итоге транслируется в те самые Законы.
[[Псионика: дисциплины]]
<<tagging "лоция:вега" "Субсектор Веги">>
<<tagging "лоция:найтвиш" "Сектор Найтвиша">>
<<tagging "лоция:рингтейл" "">>
<<tagging "лоция:фомальгаут" "">>
++Световой узел (lk, light knot)++ - скорость, с которой корабль пролетает 1 св. год за 1 час.
| Корабль |>| Скорость (lk) | особое |
|~| канал | прямой |~|
| [["Черное копье"]] | | 3 | 26300с |
| Курьерский мКК КСБ | | 2.5 | 21915с |
| корабль Блэка и Добрыни "Веста Мк" | 2 | 2 | - |
| мКК "Минерва" | | 2.6 | 22800с |
| Десантный крейсер ОРК | 0,95 | - | 8327с |
| Крейсер "Харон" | 2,4 | 0,4 | ? |
| корабль Нимри Маэфина | 0,425 | - | канал |
| круизный лайнер элитный<br>400 ly ~2 месяца | 0,5 | - | канал |
| пассажирский лайнер медленный | 0,28 | - | канал |
| корабль Виктора Кейза | 1.5 | 1 | прямой |
| "Черная Звезда"<br>~~курьерский корабль Консулов~~ | 2.4 - 3 | 2.4 - 2.5 | прямой<br>возм.вых.из.атм. |
| курьерский мКК ОРК <br>"Дельфин" | 1.7 | 1.7 | прямой |
| курьерские корабли (лонгеров) | | ~2.5 | прямой |
| "кузнечик" | ~0,8-0,9 ? | - | канал, скорость<br> зависит от износа |
| личный корабль Глории Лепаж | | ~1 | прямой |
| дипломатический корабль Фолл-Хейма | | 0.8 | прямой |
| тяжелые крейсера ВГИ | | 0.25 | прямой |
| "Валькирия" (Фолл-Хейм) | 0.8 | 0.4 | прямой |
| Корабль барона Дж.Квирина | 0.6 | 0.3 | прямой |
время на полет (час) = ^^(расстояние, св.лет)^^/~~(скорость, lk)
скорость (lk) = ^^(расстояние, св.лет)^^/~~(время на полет ,час)
скорость (lk) = c-скорость / 8766
В просторечии "Землеройка". Теоретически является дочерней организацией [[Совета Колонизации|Совет Колонизации]], но обладает своими немалыми ресурсами - как людскими, так и техническими.
В ведении СГР находятся все месторождения ресурсов в Конфедерации. Она занимается поиском, исследованием и первичной разработкой всех месторождений. Они же принимают решения, кто будет разрабатывать месторождение - государственный концерн или частная организация или корпорация и какую долю составят государственные отчисления. Но кроме поиска месторождений в ведении СГР находится и поиск ксеноартефактов.Они занимаются этим с самого начала колонизации и, похоже, не собираются передавать пальму первенства в этом вопросе кому бы то ни было. СГР обладает самыми точными картами Конфедерации, включая и нежизнепригодные системы.
Государственный орган, занимающийся стратегическим планированием колонизации планет и звездных систем.
Управляет колонизационными группами кораблей и занимается планированием населения.
Совет Колонизации испокон века принимает решения по колонизации того или иного мира. В его ведении находится выбор политики и стратегии колонизации, тендеры на застрощиков и набор колонистов. Сам по себе Совет Колонизации возглавляет [[Государственную Службу Колонизации|Государственная Служба Колонизации]] ([[ГСК|Государственная Служба Колонизации]]).
Имеет подчиненную структуру - [[СГР|Служба Геологической Разведки]], занимающуюся геологическими исследованиями.
Формально СГР подчинена Совету Колонизации, но реально она уже более столетия представляет собой отдельную организацию со своим флотом, исследовательскими институтами и финансовой подпиткой.
Теоретически подчиненной организацией является [[Служба Геологической Разведки|Служба Геологической Разведки]], но реально Землеройка лишь снабжает совет информацией о месторождениях и получает от него деньги.
----
<html>
<head>
<style>
h3 { Display: inline; }
p { margin: 5px; text-align: justify; text-indent: 30px}
</style>
<title>Спецификация каналов, используемых при гиперсвязи (старая версия)</title>
</head>
<body>
<h1>Спецификации каналов используемых при гиперсвязи.</h1>
<p>Для сети гиперсвязи конфедерации определены следующие террирориальные сетевые еденицы:</p>
<p><strong>Сеть</strong> представляет собой всю сеть передающих и
принимающих станций гиперсвязи конфедерации работающих в едином
стандарте. Все протоколы и процедуры выполняемые передающими и
принимающими станциями определены в зоне действия сети. Следует учесть,
что формально сеть конфедерации невозможно четко очертить, т. к. каждый
корабль вылетающий за пределы некоторой заранее очерченой области, тем
самым расширяет пространство сети, при условии, конечно, что он имеет
гиперпередатчик работающий в оговоренох стандартах.</p>
<p><strong>Зона</strong> представляет собой некую обособленную часть
сети, с одной стороны изолирующую внутри себя некоторую (большую) часть
траффика, с другой -- отвечающую физической и политической картине
распределения стационарных станций гиперсвязи.</p>
<p><strong>Домен</strong> представляет собой выделеную часть зоны характерную сравнительно большим внутреним трафиком и сравнительно небольшим внешним.</p>
<p><strong>Система</strong> представляет собой небольшую часть домена,
обладающую двумя-тремя постоянно действующими станциями гиперсвязи и
большим количеством временно действующих станций. Чаще всего система
совпадает со звездной системой.</p>
<p><strong>Узел</strong> представляет собой отдельно взятый гиперпередатчик. Узел может быть мобильным или стационарным.</p>
<table border="1">
<tbody>
<tr>
<th>Тип</th>
<th>Подканал</th>
<th>Частотная полоса</th>
<th>Частотный диапазон</th>
<th>Битовая скорость</th>
<th>Метод доступа</th>
<th>Радиус сети</th>
</tr>
<tr>
<td rowspan="4">A</td>
<td>A1</td>
<td rowspan="4">100MHz</td>
<td>800-900MHz</td>
<td rowspan="4">250mbit/s/HD</td>
<td rowspan="4">CSMA/CD</td>
<td rowspan="4">Домен, зона.</td>
</tr>
<tr>
<td>A2</td>
<td>700-800MHz</td>
</tr>
<tr>
<td>A3</td>
<td>600-700MHz</td>
</tr>
<tr>
<td>A4</td>
<td>500-600MHz</td>
</tr>
<tr>
<td rowspan="2">B</td>
<td>B1</td>
<td rowspan="2">100MHz</td>
<td>400-500MHz</td>
<td rowspan="2">250mbit/s/FD</td>
<td rowspan="2">Коммутатор</td>
<td rowspan="2">Сеть.</td>
</tr>
<tr>
<td>B2</td>
<td>300-400MHz</td>
</tr>
<tr>
<td colspan="2">С</td>
<td>20MHz</td>
<td>280-300MHz</td>
<td>75mbit/s/HD</td>
<td>Маркерный</td>
<td>Сеть.</td>
</tr>
<tr>
<td rowspan="2">D</td>
<td>DC</td>
<td rowspan="2">60MHz</td>
<td rowspan="2">220-280MHz</td>
<td>64kbit/s/FD</td>
<td rowspan="2">Priority Control</td>
<td rowspan="2">Домен.</td>
</tr>
<tr>
<td>DD</td>
<td>50mbit/s/HD</td>
</tr>
<tr>
<td colspan="2">E</td>
<td>до 120MHz</td>
<td>100-220MHz</td>
<td>до 300mbit/s</td>
<td>CSMA/CD+Dyn</td>
<td>Система.</td>
</tr>
<tr>
<td rowspan="6">F</td>
<td>Fa</td>
<td>120MHz</td>
<td rowspan="6">100-220MHz</td>
<td>300mbit/s</td>
<td rowspan="6">CSMA/CD+PD</td>
<td rowspan="6">Система. Иногда применяется и из-за пределов системы.</td>
</tr>
<tr>
<td>Fb(1..2)</td>
<td>60MHz</td>
<td>150mbit/s</td>
</tr>
<tr>
<td>Fc(1..3)</td>
<td>40MHz</td>
<td>100mbit/s</td>
</tr>
<tr>
<td>Fe(1..4)</td>
<td>30MHz</td>
<td>75mbit/s</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>Fz(1..26)</td>
<td>4.61MHz</td>
<td>10mbit/s</td>
</tr>
</tbody>
</table>
<h2>Канал типа A</h2>
<p>Это общий, разделяемый канал в одном домене коллизий. Он использует
полосу пропускания 100MHz, расположенную в верхней части диапазона.
Всего может использоваться до четырех таких каналов. С обозначениями
A1, A2, A3 и A4. Каждый из этих каналов обеспечивает скорость передачи
данных до 250mbit/s. В виду случайного метода доступа к среде,
копирующего технологию EtherNet, канал используется только в режиме
полудуплекса.
</p>
<p>Канал предназначен в основном для передачи новостей, поддержания
информационных баз данных, организация магистрального общения серверов
новостей или чатов. Основная идеология использования: от одного ко
многим.
</p>
<p>Чтобы обеспечить устойчивое определение коллизий, минимальный размер
кадра установлен в 128Kb. При этом чтобы обеспечить плавность передачи
траффика разрешается предавать кадры и меньшего размера, подряд без
пауз между кадрами таким образом чтобы общая длинна последовательности
непрерывного вещания была не менее 128Kb.
</p>
<h2>Канал типа B</h2>
<p>Это коммутируемый канал прямой связи между гипермодемами. Так же
используется полоса пропускания 100MHz. Всего может использоваться до
двух таких каналов, соответственно B1 и B2. Каждый из них обеспечивает
передачу данных со скоростью до 250mbit/s в режиме полнодуплекса. Канал
может использоваться несколькими роутерами одновременно в разных
направлениях. Если два или более роутера попытаются одновременно
передать что-то на один роутер по одному каналу, то принимающая сторона
посылает сигнал RTX (Retry Transmision) одному из них и сигнал STX
(Stop Transmision) остальным. Получивший сигнал STX должен остановить
передачу вплоть до получения сигнала RTX а получивший RTX перезапустить
передачу последнего кадра. Такое поведение возможно потому, что роутер
в каждый момент времени знает, кто именно в данный момент подключен к
его каналам B#. Таким образом принимающая сторона всегда должна
обеспечивать функции арбитра в решении коллизий.
</p>
<p>Канал предназначен для магистральных пересылок данных между
роутерами и другими высокоскоростными устройствами. Т. к. канал
устанавливается напрямую, узкими лучами, без использования
широковещания, в нем возможна передача данных в режиме полнодуплекса.
Кроме того, одновременно может существовать более одного канала на
одной и той же частоте. В основном этот канал используется как средство
организации высокоскоростных магистральных соединений на сроки от
нескольких минут, т. к. установление канала типа B, требует заметного
времени. Для обеспечения быстрой коммутации пакетов между каналами A и
B, канал В использует тот же формат кадра что и канал A. </p>
<h2>Канал типа C</h2>
<p>Это широковещательный, общий разделяемый канал с полосой пропускания
20MHz, обеспечивающий скорость передачи до 75mbit/s. Он должен
использоваться только для передачи технической информации между
роутерами. В этом канале используется маркерный доступ к среде
копирующий технологию Token Ring с той лишь разницей, что станция
владеющая маркером передает данные широковещательно а не следующей в
кольце. В случае выхода из строя роутера (ситуация определяется по
отсутствию в среде маркера либо данных в течении десяти секунд),
следующий в логическом кольце роутер обязан сформировать новый маркер и
направить последнему передавшему маркер, сообщение об исчезновении
узла.
</p>
<p>Кроме того, после завершения обхода маркером кольца, делается
технологическая пауза длинной до 8 секунд. Вновь появившийся роутер в
этот момент должен сформировать особый тип маркера, который примут все
станции, и включат вновь появившийся роутер в кольцо обхода сети. Если
эту процедуру попытаются выполнить два роутера одновременно, то
процедура должна быть отложена на случайное (1..8) количество циклов
обхода.
</p>
<p>Канал предназначен только для обмена технической информацией самих
роутеров. К технической, относится, например информация маршрутных
протоколов, телеметрия состояния, мониторинг загруженности, количество
и типы установленных соединений и т. д., т. е. оперативная информация
позволяющая роутерам быстрее и качественнее выполнять свою работу. В
пересылках канала C могут принять участие и другие станции, которые по
тем или иным причинам начинают выполнять обязанности маршрутизации
информационных потоков.
</p>
<h2>Канал типа D</h2>
<p>Это общий, разделяемый канал в одном домене коллизий. Используется
полоса пропускания 60MHz, обеспечивающая скорость передачи до
155mbit/s. Однако он разделен на два подканала DC и DD. Скорость в
канале DC ограничена скоростью 64kbit/s, скорость в канале DD
ограничена 50mbit/s. Подканал DC используется для урегулирования
доступа к каналу DD. Подканал DC использует потенциальное кодирование,
при чем среднее значения потенциала при передаче данных выраженное в
киловольтах должно соответствовать текущему уровню приоритета этих
данных. Канал DD передает данные обеспечивая тройную избыточность за
счет чего в канале кадр передается с высокой степенью достоверности.
Кроме того, процедуры восстановления кадров предусмотрены на уровне
протокола канального уровня. Канал используется в приоритетном режиме,
для передачи важной информации в критических условиях. Ни одна из
передающих станций не имеет права занимать канал D на срок более 1с.
Доступ к каналу D осуществляется так: станция решившая что ей
необходимо воспользоваться каналом D, должна определить приоритет своих
данных. Она может выбрать один из четырех классов приоритета: idle,
regular, control, critical. Каждый класс имеет модификатор от -31 до
+31. Класс idle не может иметь отрицательный модификатор, класс
critical -- положительный. Таким образом классы с модификаторами
образуют 128 значений приоритетов от idle+0, до critical+0.
</p>
<p>Определив уровень приоритета своих данных станция должна
проанализировать среднее значение потенциала в подканале DC (и таким
образом приоритет), и если оно откажется ниже ее собственного, должна
выставить в канале DC потенциал соответствующий ее уровню приоритета,
тем самым выполнив захват канала, если же приоритет установленный в
канале DC совпадает или превышает приоритет данных станции она должна
отложить попытку захвата канала. Станции разрешается поднять уровень
приоритета своих данных на 1 если ей не удается завладеть каналом
дольше 1 секунды. При этом она должна оставаться в пределах одного
класса приоритета. Т. е. если станция выбрала приоритет своих данных
как regular+0, то через одну секунду она может повысить приоритет до
regular+1, затем до regular+2, но не выше чем regular+31.
</p>
<p>Станция начав передачу данных в канале DС, и обнаружив повышение
потенциала выше ее приоритета должна немедленно завершить передачу
данных в канале D, и начать процедуру захвата канала заново.
</p>
<p>Максимальный срок захвата канала так же зависит от класса
приоритета. На приоритете idle станции разрешается непрерывно
передавать данные не дольше одной секунды. После этого она обязана
сделать паузу не менее 3-х секунд. Для приоритета regular это время
составляет 0.5с c с паузой 1.5c, для control 0.25 с паузой 0.75 с и
0.12c c паузой 0.37c для critical.
</p>
<p>Передачу в канале DD станция обязана сопровождать контрольной
информацией в канале DC. Контрольная информация представляет собой
контрольные суммы кадров из канала DD, номера кадров, адресная и
маршрутная информация, а так же возможно, контрольная информация
протоколов более высокого уровня, например, логические номера кадров.
</p>
<p>В случае возникновения коллизии в подканале DC вызванного началом
передачи кадров с равными приоритетами разными станциями, обе станции
обязаны прекратить передачу данных на случайное время. Случайное время
выбирается в диапазоне 0.5..1.5 времени паузы соответствующей
приоритету кадров. При правильно функционирующих станциях коллизий в
подканале DD возникнуть не может.
</p>
<p>При получении данных, по каналу D станция обязана отсылать обратно
по подканалу DC квитанции о правильном получении данных в канале DD,
либо квитанции о неправильном их получении. Станция не отсылающая
квитанций либо отсылающая их неверно, считается не работающей, и всякая
пересылка ей данных должна быть прекращена.
</p>
<p>Кроме того, канал D используется навигационными системами кораблей
для выполнения запросов и получения ответов по определению собственных
координат.
</p>
<h2>Канал типа E</h2>
<p>Это общий широковещательный динамический канал со случайным методом
доступа. Канал может занимать полосу до 120MHz обеспечивая при этом
скорость до 300mbit/s в режиме полудуплекса. Однако канал типа E делит
полосу пропускания с каналом типа F, динамически сужая и расширяя
полосу вещания. В отсутствие работающих каналов типа F, канал типа E
обеспечивает работу на предельно возможной для себя скорости. Как
только начинается вещания на одном из подканалов канала F, канал типа E
обязан сократить свою полосу вещания снизу, таким образом чтобы
освободить и частоту начавшего вещание подканала F и все более низкие
частоты. Затем канал типа E начинает стремиться расширить свою полосу
вещания вниз, на освободившиеся подканалы F#, таким образом, чтобы
сохранить непрерывную частотную полосу. Подканал F# считается
освободившимся, если на нем нет вещания в течение трех минут.
</p>
<h2>Канал типа F</h2>
<p>Это общий широковещательный динамический канал со случайно-
приоритетным методом доступа. Станция желающая начать передачу по
подканалу канала F, должна в начале определить какого подкласса канал
ей нужен. Т. е. выбрать требуемую минимальную скорость канала.
Например, если станция считает что ей необходима скорость как минимум
40mbit/s, что соответствует подканалу Fh (42.5mbit/s) с частотной
полосой 17MHz. Как только это установлено, станция должна начать
слушать среду начиная со 100MHz в выбранной частотной полосе. Т.е. в
данном случае диапазон частот от 100 до 117MHz. </p>
<p>Если прослушав среду станция обнаружит тишину (канал свободен) или
уже используемый подканал Fh, то она начинает обычную процедуру общения
с использованием случайного доступа к среде, как в технологии EtherNet.
</p>
<p>Если в этом диапазоне обнаружится передача канала типа E, то станция
должна передать специальный захватывающий кадр для того чтобы станции
использующие канал типа E определили коллизию и сузили канал, освободив
тем самым полосу для канала F.
</p>
<p>Если ни та ни другая ситуация надежно не выявлены, то станция должна
считать, что в проверяемом ею диапазоне находится отличное от одного
количество подканалов типа F# (например один или несколько более узких
подканалов или фрагмент более широкого). Тогда к обоим границам
диапазона станция должна прибавить величину канала Fz, т. е. 4.61MHz, и
повторить процедуру подключения к каналу. В данном примере следующая
попытка подключиться должна быть выполнена в диапазоне
104.61-121.61MHz, и так далее, до тех пор пока не будет найден
функционирующий подканал F требуемой пропускной способности, либо
незанятый диапазон, либо занятый каналом типа E.
</p>
<p>Если пройдя весь диапазон канала F, требуемый подканал так и не был найден, станция может поступить двумя разными способами:
</p>
<ul>
<li>Подождать и попробовать повторить процедуру подключения.
</li>
<li>Изменить требования к каналу и повторить процедуру.
</li>
</ul>
<p>Кроме того станция может продолжить процедуру поиска подканала в том
случае если требуемый канал нашелся, но оказался перегруженным. Канал
считается перегруженным если в течение секунды попытки передать данные
вызывали коллизии.
</p>
<p>Роутер обязан принимать участие во всех подканалах F#, с целью
маршрутизирования потоков данных из одного канала в другой в пределах
собственного домена коллизий или даже в другой домен коллизий. С целью
облегчения установления маршрутной информации в роутере, станция может
либо связаться с роутером по каналу D и сообщить о своей привязке к
конкретному подканалу F#, либо посылать специальные идентификационные
кадры в самом подканале F#, до получения от роутера кадра-уведомления.
Идентификатор канала F# содержит указание класса подканала и его
номера. Номер канала выбирается из диапазона 0..25 в зависимости от
начала частотного диапазона и класса канала. Если диапазон начинается
со 100MHz, то номер канала равен 0, если с 104.61MHz -- 1 и т. д. для
канала класса Fz. В то же время каналов класса Fb может быть только 3
начинающихся на частотах: Fb0 -- 100MHz, Fb1 -- 140MHz, Fb2 -- 180MHz.
</p>
<p>Следует отметить, что 26 каналов Fz, составляют полосу не 120 а
119.86MHz. Т. е. это значит, что каналы не всегда располагаются
вплотную друг к другу. Нижняя граница канала выбирается таким образом,
чтобы каналы не перекрывались.
</p>
<p>Каналы типов E и F предназначены для общения абонентских станций
роутерной сети с роутером, или через него друг с другом. При чем канал
E предназначен для сервисных служб, к примеру службы космопорта,
особенно временно существующих. Канал F предназначен для космических
кораблей, и мобильных пользователей обладающих соответствующей
аппаратурой.
</p>
<p>Если двум и более кораблям требуется общение друг с другом без
обращения к общей сети, то им рекомендуется установить друг с другом
каналы типа B для того, чтобы с одной стороны пользоваться
высокоскоростной передачей данных, обеспечиваемой каналом класса B, а с
другой стороны не создавать нагрузку на роутеры.
</p>
<p>Кроме того, станциям устанавливаемым на длительное время,
рекомендуется пользоваться магистральными каналами классов A и B, а в
случае невозможности установки соответствующей аппаратуры
воспользоваться другими средствами коммуникаций для доступа к
арендованной у третьих фирм или лиц аппаратуре. В частном случае такая
аппаратура может быть установлена на самом роутере и обеспечивать связь
в радио диапазоне по распространенным протоколам.
</p>
</body>
</html>
* [[Configuration]] -- Конфигурационные тиддлы
* [[StyleSheet]] -- стилистические патчи
* [[Настроить главное меню|MainMenu]]
* [[Форматирование|Справка: форматирование]]
* [[Справка: встроенные плагины]]
----
+++[Системные теги]>
systemConfig - тиддлы конфигурации (распознаются ядром)
systemHint - тидллы с информацией (описание настроек и прочего)
excludeLists - тиддлы с этим тегом исключаются из правого списка тиддлов
===
----
@@Minor change: @@ - если при сохранении записки зажать shift - это будет "минорное" изменение без корректировки даты.
@@Nested slider: @@
{{{
+++[title]>
text
===
}}}
----
+++[Системные записки]>
В TiddlyWiki существуют специальные записки, которые служат для настройки системы.
* записки, помеченные тэгом ''systemConfig'' - содержат программный код расширений, исполняемый при загрузке
* SiteUrl - адрес сайта, на котором размещен данный файл (имеет смысл при размещении в Интернете)
* SiteTitle - первая часть заголовка страницы
* SiteSubtitle - вторая часть заголовка страницы
* MainMenu - содержимое этой записки отображается в меню (обычно слева, но местоположение может зависеть от стиля)
* OptionsPanel - отображается в слайдер "Опции" (обычно справа)
* AdvancedOptions - содержит дополнительные настройки
* DefaultTiddlers - содержит перечень записок, которые будут открыты сразу после загрузки
===
! Полезные внешние плагины (то, что musthave):
* [[SectionMacro]] - Allows you to create collapsable sections just like the slider macro but without needing to create new tiddlers for these sections. @@Creates text-link@@
* NestedSlidersPlugin - улучшенная версия SectionMacro, смотри NestedSlidersPluginInfo.
* FramedLinksPlugin - clicking an external link opens an IFRAME following the link instead of opening a new tab/window
* [[saveAndReloadPlugin]] - Save and Reload - add macros {{{ <<saveAndReload>> }}} anywhere.
* FullScreenPlugin - требует правки ToolbarCommands, позволяет развернуть на полный экран просмотр/редактирование.
* WikiBar - простенький редактор разметки.
* DeliciousTagging - Allows easy 'del.icio.us'-like tagging in the EditTemplate by showing all tags as a list of link-buttons.
* SinglePageModePlugin - одностраничный режим, к нему рекомендуется апгрейд:
* TiddlersBarPlugin - open several tiddlers to use the tabs bar.
* CloseUnsavedOnCancel - When you click new tiddler then click cancel I think the new tiddler should close automatically.
----
+++[Все плагины]>
<<tagging systemConfig "системные">>
===
----
+++[Ссылки и благодарности]>
Переведено и адаптировано с http://webpages.charter.net/one_each/
This is a simple cheat sheet gleened from the [[TiddlyWiki Tutorial|http://www.blogjones.com/TiddlyWikiTutorial.html]].
Визуальные апгрейды - http://visualtw.ouvaton.org/VisualTW.html
===
+++[Как установить плагин?]>
Находим нужный нам плагин (например, в сети).
Создаем тиддл (new tiddler) с соответствующим именем.
Вставляем код плагина в записку.
Присваиваем теги systemConfig и exludeLists (если хотим скрыть плагин из таймлайна)
Нажимаем ++'done'++, потом ++Save changes++, обновляем страницу и пользуемся.
Смотри также плагин [[saveAndReloadPlugin]]
===
----
+++[Создание нового тиддлера на основе шаблона]>
If you create tiddlers with the same information over and over (contacts, quotations, recipes, etc), you are probably going to want a template tiddler to save time. Then you are going to want a macro that creates a new tiddler that includes the information from the template. Here's how:
#''Create the template tiddler.'' Put text and tables and formatting exactly the way you want your new tiddlers based on this template to appear.
#''Create a macro that will open a new tiddler based on your template.''<br>Where I have listed YYYY, insert the words you want to appear in the label for your macro. Where I have listed ZZZZ, insert the exact title of the template tiddler that each new tiddler will be based on. Where I have XXXX insert any tags that you want to be appended to each tiddler that the macro creates.
/*{{{*/
<<newTiddler label:"YYYY" tag:"XXXX" text:{{store.getTiddlerText('ZZZZ')}}>>
/*}}}*/
3. ''Decide where you are going to store your macro.'' You can add it to the SideBarOptions menu under 'new tiddler' and 'new journal.' Or you can add it to a tiddler that you can access from your MainMenu.
===
----
+++[Исключающие теги]>
* excludeLists - исключает записку из списка тегов по дате (обычно он справа)
* excludeSearch - исключает из поиска ?
Важно:
Чтобы исключить определенные теги из доступного списка тегов (EditTemplate), нужно специально настраивать Delicous Tagging Plugin
===
----
+++[in work: Create forms with editable fields]>
I'm not going to show you how to do this. You will need to download the ~FormTiddlerPlugin and the ~DataTiddlerPlugin from Abego Extensions and consult the documentation for specific instructions. But if you would like to see a form in action, check out my ~NewBookTemplate in ~BibblyWiki, a ~TiddlyWiki I created to manage bibliographies, take book notes and organize personal libraries.
The template is [[here|http://www.giffmex.org/bibblywiki.html#NewBookTemplate]]:
A tiddler based on the template is [[here|http://www.giffmex.org/bibblywiki.html#%5B%5BWright%2C%20N.T.%2C%20Jesus%20and%20the%20Victory%20of%20God%5D%5D]].
I recommend you doubleclick them both to see what they look like in edit mode.
''To create a button'' which creates a new tiddler based on the template, here is the macro syntax:
{{{<<newTiddler label:"XXXX" text:{{"<<formTiddler ZZZZ\>\>"}} tag:"OOOO">>}}}
Replace XXXX with the name for your macro label. (ex: "Add a new book")
Replace ZZZZ with the name of the template tiddler. (ex: ~NewBookTemplate)
Replace OOOO with any tag you would like to have appended to every tiddler created by this macro (ex: "booknote")
You can place your new macro in SideBarOptions or in a tiddler accessible from the ~MainMenu.
===
----
+++[Изображение в заголовке]>
Открываем [[PageTemplate]] и заменяем {{{<div class='header'...> }}} на следущее:
{{{ <div class='header' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}
{{{ role='banner' }}} я думаю, можно оставить. Таким образом, для данного tw будет следущий вид:
{{{<div class='header' role='banner' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}
@@Важно:@@
background: color стоит подбирать в тон картинке.
Может быть, можно использовать base64-encoded изображения.
===
----
@@ВАЖНО:@@ Примеры работы плагинов будут недоступны, если сами плагины отключены.
+++[Plugin: slider - встроенный слайдер. Создает кнопку-ссылку, при нажатии на которую раскрывается содержимое другой записки.]>
Простой слайдер. Создает кнопку-ссылку, при нажатии на которую раскрывается содержимое ++другой++ записки.
!!!Слайдер: {{{<<slider chkTestSlider OptionsPanel Настройки "То же, что и 'опции'">>}}}
Результат: <<slider chkTestSlider OptionsPanel Настройки "То же, что и 'опции'">>
Параметры по порядку:
№ имя "cookie" для сохранения состояния слайдера
№ имя заметки, содержащей текст слайдера (это может быть любая заметка)
№ заголовок кнопки-ссылки
№ всплывающая подсказка
===
----
+++[br - принудительный перенос строки]>
{{{ <<br>> }}}
Эффект: aaa <<br>> bb
===
----
+++[Plugin: DiceRoller]>
[[DiceRollerPlugin]]
===
----
+++[Plugin: openAll]>
!!! OpenAll @@Deprecated, возможно не реализован в новом ядре@@
Позволяет открывать записки, помеченные определенным тэгом. В отличие от встроенного {{{tag}}} может предварительно закрывать все открытые записи, позволяет задавать надпись для кнопки, устанавливать лимит отображения (не более N записок) и изменять порядок сортировки на обратный.
Формат {{{<<openAll <тэг> [параметры] >>}}}
Тэг обязателен, параметры опциональны и могут следовать в любом порядке.
|!Параметр|!Описание|
|close~AllFirst|Предварительно закрывает все открытые записки|
|title:Текст|Надпись на кнопке|
|limit:#| Замените # на число записок, которое вы хотите отобразить (по умолчанию 10000)|
|reversOrder|Сортировать по заголовкам в обратном порядке|
Пример: {{{<<openAll systemConfig closeAllFirst "title:Системные настройки">>}}}
<<openAll systemConfig closeAllFirst "title:Системные настройки">>
===
----
+++[Plugin: tagging (генератор списка записок по определенному тегу)]>
Использовать просто: {{{ <<tagging "имя тега" "название списка">>}}}
"название списка" опционально.
{{{
<<tagging systemConfig "системные">>
}}}
Даст:
<<tagging systemConfig "системные">>
Также:
<<tagging "systemHint" "справка">>
===
----
+++[Plugin: ToolBar (internal)]>
The ToolbarMacro is used in the TiddlerTemplateMechanism to define the toolbar that appears when the mouse is hovered over a tiddler. It looks like this:
{{{
<<toolbar closeTiddler -editTiddler +jump>>
}}}
You can precede a command name with a "+" to specify a default command that is automatically chosen when a tiddler is double-clicked, or the ctrl-Enter key combination pressed. Similarly, precede it with "-" to specify a command to be chosen when the Escape key is pressed.
----
Deletes the current tiddler. A confirmation dialogue is displayed unless disabled with the ConfirmBeforeDeleting checkbox in AdvancedOptions. It is used with the ToolbarMacro like this:
{{{
<<toolbar deleteTiddler>>
}}}
Switches the current tiddler to the current edit view. It is used with the ToolbarMacro like this:
{{{
<<toolbar editTiddler>>
}}}
Offers a popup menu to jump directly to any of the currently open tiddlers. It is used with the ToolbarMacro like this:
{{{
<<toolbar jump>>
}}}
Offers a popup menu displaying the tiddlers that link to the current one. It is used with the ToolbarMacro like this:
{{{
<<toolbar references>>
}}}
Saves any pending edits to the current tiddler, and switches it to the default view. It is used with the ToolbarMacro like this:
{{{
<<toolbar saveTiddler>>
}}}
Закрывает все открытые записки кроме текущей (редактируемой). Используется с макросом ToolbarMacro так:
{{{
<<toolbar closeOthers>>
}}}
Сбрасывает все изменения, внесенные в записку и возвращает ее к режиму просмотра.
Используется с макросом ToolbarMacro так:
{{{
<<toolbar cancelTiddler>>
}}}
Closes the current tiddler, regardless of whether it is being editted. It is used with the ToolbarMacro like this:
{{{
<<toolbar closeTiddler>>
}}}
{{{ <<toolBar>> }}}
<<toolBar>>
===
----
+++[Plugin: tagCloud]>
"Облако тэгов" -- отображает все тэги, причем размер шрифта каждого тэга зависит от того, как много записок помечены этим тэгом.
Формат: {{{<<tagCloud>>}}}
Работает для тегов стандартного семейства (tags).
===
----
+++[Plugin: Timeline]>
{{{<<timeline>>}}}
Выводит записи в хронологическом порядке.
===
----
+++[Plugin: Today]>
Текущая дата: {{{<<today>>}}}
Результат: <<today>>
===
----
+++[Plugin: newJournal]>
Новая дневниковая записка: {{{<<newJournal "DD MMM YYYY, hh:mm">>}}}
Результат: <<newJournal "DD MMM YYYY, hh:mm">>
*DDD - день недели
*DD - число, 0DD - добавлять лидирующий ноль
*MMM - название месяца
*MM - номер месяца, 0MM - добавлять лидирующий ноль
*YYYY - год (четыре цифры), YY - две цифры
*hh - часы
*mm - минуты
*ss - секунды
===
----
+++[Plugin: tiddler - Включение записки]>
{{{<<tiddler MainMenu>>}}}
Вставляет текст другой записки в эту.
@@Внимание!@@ На данный момент нет защиты от бесконечных циклов в случае включений "по замкнутому кругу".
===
----
+++[Plugin: Вкладки (tabs, русская версия)]>
{{{
<<tabs txtFavourite
Меню "Главное меню" MainMenu
Опции "Опции" SideBarOptions
>>
}}}
Результат:
<<tabs txtFavourite
Меню "Главное меню" MainMenu
Опции "Опции" SideBarOptions
>>
===
----
+++[Plugin: tabs (английская версия, возможно более полная)]>
!!!<<gradient horiz #fc3 #fff>> [[tabs]]^^<<tiddler CloseThisOpen with: "Macros Built-in" '« back'>>|<<toolbar editTiddler>>» ^^>>
Tabs are a way of displaying tiddlers in tabular form. Each tab is a separate tiddler; here's how it's done.
Anatomy of a tab: __{{{<<}}}@@color:#00e;tabs@@ @@color:#c06;"cookie"@@ @@color:#080;{{{[[}}}tab name {{{]]}}}@@ @@color:red;"tool tip" @@ @@color:blue; {{{[[}}}tiddler to be displayed{{{]]}}}@@{{{>>}}}__
This is the code for two tabs:
{{{<<tabs txtMyTabs [[tabname ]] "tool tip" [[tiddler to be displayed]] [[Here is another tab ]] "Another Tab" [[hr]] >>
}}}
!!!<<gradient horiz #abf #fff>> Here are the tabs for the code above>>
<<tabs txtMyTabs [[tab name ]] "tool tip" [[tiddler to be displayed]][[ Here is another tab ]] "Another Tab" [[hr]] >>
!!!!<<gradient horiz #fcf #fff>> @@color:#000;Note about wrapping tabs to viewer width@@>>
|bgcolor:#fcf;Leave a space after the __tab name__ before the square brackets. e.g {{{[[tabname ]]}}}. Wrapping requires white space for it to be accomplished properly. Leaving a white space after the tab name should allow a large number of tabs to wrap properly even as the screen size is adjusted. As a further note keep in mind tab names with spaces may wrap unpredictably.|
You can force tabs to wrap where you want them by adjusting the titles to have or not have white space; however, it could be unpredictable.
!!!Another way
+++[Create Tabs with a Script]
<<tiddler CreateTabsScript>>
===
!!!!How reference specific tab in a tiddler
Source: [[How reference specific tab in a tiddler? - TiddlyWiki : Google Groups|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/4f7b952f69b523a2]]
{{{
<html><a href='javascript:;' onclick='config.options.tabID="StayViewTabs";story.displayTiddler(story.findContainingTiddler(this),"Styling");story.refreshTiddler("Styling",null,true);'>Styling</a></html>
}}}
!!!<<gradient horiz #abf #fff>> End of tabs>>
===
----
+++[Plugin: tag - Tag popup]>
{{{ <<tag systemConfig>> }}}
<<tag systemConfig>>
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
+++[Plugin: ]>
...
===
----
В целях уменьшения количества "служебных" записок я решил не использовать плагин slidebar и собрал всю справочную информацию в одну записку, применив плагин [[NestedSlidersPlugin]] - он генерирует более красивое представление, чем плагин SectionMacro.
Для упрощения форматирования можно воспользоваться установленным плагином [[WikiBar]].
----
+++[Ссылки]>
|!Пример|!Реализация|!примечание|
|[[ссылка]]|{{{[[ссылка]]}}}|
|[[внешняя ссылка|куда-то]]|{{{[[внешняя ссылка|куда-то]]}}}|
===
----
+++[Форматирование текста]>
|!Пример|!Реализация|!примечание|
|''жирный''|{{{''жирный''}}}|базовая английская версия, важно: это одинарные кавычки|
|++альтернатива++|{{{++альтернатива++}}}|требует [[RussianTextFormattingPlugin]]|
|==зачеркнутый==|{{{==зачеркнутый==}}}|требует [[RussianTextFormattingPlugin]]|
|__подчеркнутый__|{{{__подчеркнутый__}}}|базовый|
|//курсив//|{{{//курсив//}}}|базовый|
|Superscript: 2^^3^^=8|{{{2^^3^^=8}}}||
|Subscript: a~~ij~~ = -a~~ji~~|{{{a~~ij~~ = -a~~ji~~}}}||
|@@color(green):цветной@@|{{{@@color(green):цветной@@}}}||
|@@bgcolor(green):фон@@|{{{|@@bgcolor(green):фон@@}}}||
|@@выделение@@|{{{@@выделение@@}}}|на основе правила CSS .marked из [[StyleSheetColors]] |
|{{{моноширинный}}}|{{{ {{{моноширинный}}} }}}||
|~ОтменитьWikiWord|{{{~ОтменитьWikiWord}}}||
|[[ссылка]]|{{{[[ссылка]]}}}|
|[[внешняя ссылка|куда-то]]|{{{[[внешняя ссылка|куда-то]]}}}|
===
----
+++[Блок моноширинного текста]>
<html>{{{ пример }}}</html>
{{{
пример
}}}
===
----
+++[Горизонтальная линия (hr)]>
{{{ в html реализуется тегом <hr> }}}
{{{ ---- }}}
===
----
+++[Список (ul)]>
{{{
* 1st
** 1st-sub1
* 2nd
** 2nd-sub-1
** 2nd-sub-2
}}}
* 1st
** 1st-sub1
* 2nd
** 2nd-sub-1
** 2nd-sub-2
===
----
+++[Нумерованный список]>
{{{
# 1st
## 1st-sub1
## 1st-sub2
}}}
Альтернатива
{{{
№ 1st
№№ 1st-sub1
№№ 1st-sub2
}}}
# 1st
## 1st-sub1
## 1st-sub2
===
----
+++[Изображение]>
{{{
[img[замещающий текст|image URL]]
}}}
{{{
[img[title|filename]]
[img[filename]]
[img[title|filename][link]]
[img[filename][link]]
}}}
Images can be included by their filename or full URL. It's good practice to include a title to be shown as a tooltip, and when the image isn't available. An image can also link to another tiddler or or a URL
[img[Romanesque broccoli|fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]
{{{
[img[Fractal vegetable|fractalveg.jpg]]
[img[This is shown as a tooltip|http://example.com/image.jpg]]
[img[http://example.com/image.jpg]]
[img[http://example.com/image.jpg][ExampleDotCom]]
}}}
The tooltip is optional.
[<img[Forest|forest.jpg][http://www.flickr.com/photos/jermy/8749660/]][>img[Field|field.jpg][http://www.flickr.com/photos/jermy/8749285/]]You can also float images to the left or right: the forest is left aligned with {{{[<img[}}}, and the field is right aligned with {{{[>img[}}}.
@@clear(left):clear(right):display(block):You can use CSS to clear the floats@@
{{{
[<img[A woody bit of Hampstead Heath|forest.jpg]]
[>img[A field near Milton Keynes|field.jpg]]
}}}
===
----
+++[Изображение в заголовке]>
Открываем [[PageTemplate]] и заменяем {{{<div class='header'...> }}} на следущее:
{{{ <div class='header' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}
{{{ role='banner' }}} я думаю, можно оставить. Таким образом, для данного tw будет следущий вид:
{{{<div class='header' role='banner' style='background: #A9CDEF url(path/image.extension) top left no-repeat'> }}}
@@Важно:@@
background: color стоит подбирать в тон картинке.
Может быть, можно использовать base64-encoded изображения.
===
----
+++[Таблицы]>
Строка таблицы начинается с вертикальной черты (|).
{{{
|Закончите строку латинской с, чтобы создать название таблицы|c
|!Для заголовка "!" сразу после вертикальной черты.|!Заголовок2|!Заголовок3|
|строка1 столбец1|строка1 столбец2|строка1 столбец3|
|>|>|Объединение столбцов - знак "больше" ( >)|
|Объединение строк - знак " ~"|>| Пробел выравнивает вправо|
|~|>| Пробелы с обеих сторон центруют |
|>|>|bgcolor(green):Цвет фона bgcolor(цвет):|
}}}
|Закончите строку латинской с, чтобы создать название таблицы|c
|!Для заголовка "!" сразу после вертикальной черты.|!Заголовок2|!Заголовок3|
|строка1 столбец1|строка1 столбец2|строка1 столбец3|
|>|>|Объединение столбцов - знак "больше" ( >)|
|Объединение строк - знак " ~"|>| Пробел выравнивает вправо|
|~|>| Пробелы с обеих сторон центруют |
|>|>|bgcolor(green):Цвет фона bgcolor(цвет):|
===
----
+++[Цитаты (blockquotes)]>
{{{
<<<
"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"
<<<
}}}
<<<
"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"
<<<
{{{
>У попа была собака
>...
>На могиле написал:
>>У попа была собака
>>...
>>На могиле написал:
}}}
>У попа была собака
>...
>На могиле написал:
>>У попа была собака
>>...
>>На могиле написал:
===
----
+++[Заголовки (headers, H*)]>
{{{
!Заголовок
!!Подзаголовок
!!!Подзаголовок 2
!!!!Подзаголовок 3
!!!!!Подзаголовок 4
}}}
!Заголовок
!!Подзаголовок
!!!Подзаголовок 2
!!!!Подзаголовок 3
!!!!!Подзаголовок 4
(и так далее до 6 уровня)
===
----
+++[inline HTML]>
{{{
<html>
С недавних пор в <a href="http://www.tiddlywiki.com/">TiddlyWiki</a> появилась возможность использовать <b>внедренный HTML</b>
</html>
}}}
<html>
С недавних пор в <a href="http://www.tiddlywiki.com/">TiddlyWiki</a> появилась возможность использовать <b>внедренный HTML</b>
</html>
===
----
+++[Спецсимволы HTML]>
Entities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below.
|>|>|>|>|>|>| !HTML Entities |
| &nbsp; | | no-break space | | &apos; | ' | single quote, apostrophe |
| &ndash; | – | en dash |~| &quot; | " | quotation mark |
| &mdash; | — | em dash |~| &prime; | ′ | prime; minutes; feet |
| &hellip; | … | horizontal ellipsis |~| &Prime; | ″ | double prime; seconds; inches |
| &copy; | © | Copyright symbol |~| &lsquo; | ‘ | left single quote |
| &reg; | ® | Registered symbol |~| &rsquo; | ’ | right single quote |
| &trade; | ™ | Trademark symbol |~| &ldquo; | “ | left double quote |
| &dagger; | † | dagger |~| &rdquo; | ” | right double quote |
| &Dagger; | ‡ | double dagger |~| &laquo; | « | left angle quote |
| &para; | ¶ | paragraph sign |~| &raquo; | » | right angle quote |
| &sect; | § | section sign |~| &times; | × | multiplication symbol |
| &uarr; | ↑ | up arrow |~| &darr; | ↓ | down arrow |
| &larr; | ← | left arrow |~| &rarr; | → | right arrow |
| &lArr; | ⇐ | double left arrow |~| &rArr; | ⇒ | double right arrow |
| &harr; | ↔ | left right arrow |~| &hArr; | ⇔ | double left right arrow |
The table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |
| grave accent | &_grave; | À | à | È | è | Ì | ì | Ò | ò | Ù | ù | | | | | | |
| acute accent | &_acute; | Á | á | É | é | Í | í | Ó | ó | Ú | ú | | | Ý | ý | | |
| circumflex accent | &_circ; | Â | â | Ê | ê | Î | î | Ô | ô | Û | û | | | | | | |
| umlaut mark | &_uml; | Ä | ä | Ë | ë | Ï | ï | Ö | ö | Ü | ü | | | Ÿ | ÿ | | |
| tilde | &_tilde; | Ã | ã | | | | | Õ | õ | | | Ñ | ñ | | | | |
| ring | &_ring; | Å | å | | | | | | | | | | | | | |
| slash | &_slash; | | | | | | | Ø | ø | | | | | | | |
| cedilla | &_cedil; | | | | | | | | | | | | | | | Ç | ç |
===
----
+++[Особые стили CSS]>
!!Inline-стили
{{{
@@color:green;green coloured@@
@@background-color:#ff0000;color:#ffffff;red coloured@@
@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@
@@color:#4bbbbb;Some random text@@
}}}
@@color:green;green coloured@@
@@background-color:#ff0000;color:#ffffff;red coloured@@
@@text-shadow:black 3px 3px 8px;font-size:18pt;display:block;margin:1em 1em 1em 1em;border:1px solid black;Access any CSS style@@
@@color:#4bbbbb;Some random text@@
!!CSS классы
CSS-классы можно применить к строкам или текстовым блокам. Так создается {{{span}}}-элемент:
{{{
{{customClassName{Some random text}}}
}}}
Отображается как:
{{customClassName{Some random text}}}
Так создается {{{<div>}}}-элемент:
{{{
{{customClassName{
Some random text
}}}
}}}
Отображается как:
{{customClassName{
Some random text
}}}
===
----
+++[Комментарии]>
To hide text within a tiddler so that it is not displayed you can wrap it in {{{/%}}} and {{{%/}}}. It can be a useful trick for hiding drafts or annotating complex markup.
===
----
+++[PluginFormatting]>
To make plugins, stylesheets and templates easier to read, you can use special alternative formatting for monospaced blocks.
In [[JavaScript|http://en.wikipedia.org/wiki/JavaScript]] code:
{{{
//{{{
var id = document.getElementById("mainMenu");
//}}}
}}}
In HTML templates:
{{{
<!--{{{-->
<div id="MainMenu">
</div>
<!--}}}-->
}}}
In CSS stylesheets
{{{
/*{{{*/
div {color: #ff0000;}
/*}}}*/
}}}
It will be displayed as:
//{{{
var id = document.getElementById("mainMenu");
//}}}
<!--{{{-->
<div id="MainMenu">
</div>
<!--}}}-->
/*{{{*/
div {color: #ff0000;}
/*}}}*/
===
<<br>>
Принудительный перенос текста: {{{<<br>>}}}
{{{ а это - ́ - знак уда́рения: aaaábbb }}}
хз :) особенности: Гэллемар.
Реально это не автономия, но Геллемар сказал,
что его это не волнует и никто решил не возражать ;)
ально это не автономия, но Геллемар сказал,
что его это не волнует и никто решил не возражать ;)
<<tagging "лоция:автономии" "Автономии">>
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Холодный мир
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
ПС - силы планетарной самообороны. Что-то вроде современной армии, только без строительства дач и прочего.
Нет, конечно от планеты зависит... Но вцелом - если в ВКС донести, что ты дачу строишь, а не полируешь оптическую ось (не забывай, емейл доступен!) - к владельцу дачи приедет полкан из ВКС, куратор сил планетарной самообороны и спросит "Ты не охуел, дядя? Твои действия - подрыв обороноспособности Федерации"
ну конечно там где на планете нет ВКС (такие есть) - силы ПС часто строят дачи :) Или ничего не строят, а хуи пинают)
> гражданская альтернативная служба?
> спасателем ,например
это не называется "альтернативная". Это называется просто "служба". Скорее всего кстати, спасатели входят в планетарные силы самообороны (по линии ведомств).
Rain
Ты же понимаешь, что вот приходят гражданские уроды, офисный планктон и крабы в ПС служить. Но их же кто-то учит! Кормит! Тренирует! Лекции читает!
А это офицерский и младшеофицерский состав ПС.
ну да, логично. В СПАСЕ ты закрепил навыки :)
Возможно, получил альпинизм вдобавок к верхолазанию.
Сообщество эльфов, живущее на Йорке. Официальное их название - эльфийская идиома, дословно переводимая как "потерявшиеся в сумерках", а обозначающая самоубийц.
Обитают в кварталах, находящихся в сити-регионах Йорка. Нечто похожее на китайские кварталы, негритянские гетто и еврейские кварталы... и Апраксин Двор в СПб.
! Государство
* [[Принципы управления]]
* [[Вертикаль власти (Федерация)]]
! Государственные структуры
* [[Конфедеративная служба безопасности]]
* [[Отдел Религиозного Контроля]]
* [[Институт Ментальной Безопасности]]
* [[Skynet]]
* [[Служба геологической разведки]]
* [[Совет Колонизации]]
* [[Федеральный банк]]
* ? Конфликты внутри системы
! Вооруженные силы
* [[Военно-космические силы]]
* [[Территориальная гвардия]]
* [[Специальные подразделения]]
* [[Планеты Флотов]]
! Система образования
Из обсуждения с Лау (3 июля 2012 года):
Флект взаимодействует со страхами жертвы. Чем сильнее страх - тем интенсивнее эффект. Основное действие флекта - страх обращается в силу, но силу иллюзорную, "дарованную" флектом. Слабость обращается силой, но лишь пока длится эффект. Эффект заканчивается и страх возвращается, но сильнее. А дальше - качели - принимаем флект - слабость обращается в силу, заканчивается и становится большей слабостью... и снова до тех пор, пока или сила или слабость не разрушит жертву психически... и физически.
Если человеку стремно было в темноте, флект дарует ему ощущение "в темноте я силен, я могущественен". Но эффект кончится - и боязнь темноты вернется - уже сильнее. Опять доза флекта - "я могущественен" - и вот привыкание. Привыкание психологическое, причем появляется практически после первого приема. Эффект заканчивается и мы уже боимся темноты. Флект - и мы сильны. И снова и снова, пока чувства не начнут подменяться "чувствами флекта" - пока человек не скатится в ужас от темноты - где он сойдет с ума или скорее убьет кого-нибудь в состоянии "могущества".
Если человек боялся ослепнуть - от флекта он выколет себе глаза осколком стекла... но не лишится зрения... до тех пор, пока принимает флект.
Человек, боящийся потерять хотя бы палец в итоге отпилит себе ноги пилой - не чувствуя боли и наслаждаясь процессом.
Но таков удел человека, не обладающего псайкерским даром.
На псайкера эффект другой. С развитием псайкер изживает в себе страхи, уничтожает их - и флект дарует ему СИЛУ. Но сила эта направлена на разрушение всех вокруг:
* психоменталист будет сводить с ума тех, с кем контактирует;
* психокинетик будет телекинезом действовать на людей, в "точке воздействия" на тело превращая его в кашу - разрывая ткани, дробя кости в порошок...
* биометаболик будет бустить параметры цели не за счет своей энергии, а за счет ресурсов его тела... 10 секунд повышенной подвижности обернутся параличами, час повышенной выносливости породит рак и метастазы...
* биоэнергетик будет вредить прикосновением - синяк превращая в злокачественную опухоль, порез заражая...
Эффект длится до нескольких часов, причем чем сильнее псайкер - тем дольше эффект - до двух суток.
На сенсорика флект действует гораздо дольше - ведь сила обращена на себя и не выходит вовне - длительность в 2-3 раза больше.
Флект начнет обманывать чувства сенсорика - искажая чувство опасности, перспективы, направления... искажать тактильные ощущения (как приколько смотреть, как обугливаются в пламени мои кости...), создавая слуховые галлюцинации или влияя на чувство равновесия.
Далее начнут отказывать биологические органы чувств и нервная система - флект заменит все. В перспективе - абсолютная сенсорная слепота (даже если псионик не выколет себе глаза), химеры в сознании и безумие. Возможно, в последние несколько секунд перед смертью все чувства вернутся - но это будут секунды, заполенные вечностью боли. Что интересно, для активации флекта смотреть на него уже не нужно - достаточно _обратить внимание_ (что случилось с м/и [[Всеволодом Сташевски||Всеволодом Сташевски]].
На //одаренного флект// действует. Неинициированного //одаренного// флект отрежет от источника. У //воина// флект ухудшит его связь с Источником - вплоть до сведения связи к нулю (и немедленной окончательной смерти БЕЗ ухода в Источник). //Адепты//... //адепты// *возможно* иммунны.
Дело в том, что фокус флектов и фокус Источника системно антагонистичны - это принципиальные противники.
Вообще говоря, флект и любого человека, попавшего под воздействие, отрезает от Источника - не важно - одаренный он, псайкер или простой гражданин. Отсюда и разрушение, саморазрушение и смерть... пусть и растянутая на часы... дни... недели. Финал известен - смерть.
Иммунитетом к воздействию флекта обладают люди сильные духом. Или сковавшие свои страхи цепями воли.. или сделавшие страхи своей силой и без флекта. Впрочем, возможно, люди финально слабые духом и живущие в слабостях также иммунны. Тут надо вспомнить парня-сноходца с Гарвини, сидевшего на флектах плотно... и без вреда для себя.
Интересный опыт "размножения" флектов. Из двух зеркал создаем зеркальный коридор. В фокусе коридора кладем флект (побольше ;) )... флект немедленно разряжается, отдавая энергию зеркальному коридору и через бесконечность преломлений-отражений заражает зеркала. Усугубить эффект заражения можно "пожертвовав" зеркалам кого-нибудь... кто сойдет с ума от страха и усилит заражение. А далее - разбиваем зеркала. В момент разбивания осколки потемнеют, помутнеют и станут флектами. Новосозданными, но флектами. Ничуть не слабее того, что стал "затравкой". Возможно (ДМ не уверен), эффект открыт г-ном Чемодановым (хотя мы его просчитали с Лау).
//Страшнее всего воздействие флекта на Старшего. Ведь чем выше пси-сила - тем страшнее, сильнее, деструктивнее эффект. Старший, полностью осознающий силу своего разума, обратися в... назгула. В общем то как-то так.//
Откуда они взялись? Терронус. Вспомни картины Виталия (?) Алексиуса.
----
При воздействии флект отражает человеку его страх. Это очень-очень грубо сказано, но тем не менее, это самое простое объяснение. При это возникают разные спец.эффекты. Обычным людям флект дает вледение магией (чаще всего, но не обязательно), а вот маги наоборот -- чаще всего теряют силу. Как-то так.
А! Еще флект возвращает людей в самые приятные моменты их жизни. При чем не очень понятно их ли это жизнь при этом.
Вообще, ОРК очень странно в данном случае подходило к вопросу. ВСЕ попытки исследовать что такое флект были объявлени ересью и карались еще в зародые. Только за высказывание такой идеи уже можно было получить проблем. Т. е. фактически либо они действительно сами не знаю что это такое, и умеют только быстро и качественно это уничтожать, или как раз очень хорошо знают, но не спешат этим знанием делиться.
Скорее первое. Исследования по этому поводу они проводили, но.... В общем на межведомственной комиссии эту информацию огласили.
----
-- Боюсь нарваться на третью подписку, но всё-таки спрошу. Что такое "флекты"? Тоесть, понятно, что это наркотики. Чем они опасны, точнее, чем они опаснее классических?
-- Что? -- кажется, что в позе Моро ничего не изменилось, но.. ты ощутил настороженность.
-- Ибрагим вскользь упоминал это название. Правда, пояснить его он отказался...
-- Это самый опасный наркотик, с которым сталкивалось человечество за всю свою историю.
-- Чем? Чем он так опасен?
-- Он раскрывает твои самые темные стороны. И дает им силу. Невиданную силу. Псионическую, -- слегка поежился Моро.
Открываю рот. Закрываю. Снова открываю. Да, если это вызывает такую реакцию У НЕГО, значит, это действительно что-то очень брутальное... Хотя, пока я ещё не понимаю почему.
-- Не буду делать вид, что понял, но... Информация принята... Любопытно, для чего он был разработан.. Ладно. Всё-таки пойду... Спокойного... остатка ночи.
-- Он не был разработан. О природе этого наркотика даже у нас есть смутные предположения. На данный момент мы разыскиваем, откуда его ввозят в конфедерацию.
-- Кем-то ведь он был разработан! Или это - природное соединение?
-- Мы не знаем. Внешне он выгдядит как кусок грязного стекла. Если он и был разработан, то точно не людьми. Ни один из ныне живущих псиоников не способен вложить даже в косточки духа ужас той силы, который несет флект... Даже Гэллемар.
-- Понятно... Что ничего не понятно. Ладно... А где он проявляется? На внутренних рынках?
-- На данный момент мы прикладываем все усилия, чтобы флект не появлялся на... благополучных планетах.
----
Проект "Морфей" одного из департаментов ИМБ
* о проекте (сводка для неспециалистов)
* личные дела и отчеты (80 документов)
* видеоотчеты (около 600 файлов)
* разное (в т.ч. бухгалтерия)
Подпроекты:
* Пробуждение - электростимуляция биотоков мозга и психоактивные препараты
* Зеркало - воздействие ксенопсихоактивных предметов (в т.ч. флектов)
* Нигредо - модулятор виртуальной боли
* Катарсисм - ампутации для формирования психоза, развивающего способности. Применялось вместе с "Зеркалом".
Штаб-квартира проекта - Аргостолион.
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
* Фолл-Хейм 1-4 - неколонизированные необитаемые планеты
* Роканнон - газовый гигант (6 масс Юпитера, 68 спутников)
** ☄ - несколько СТО на орбите гиганта.
** ☾Урсула - заселенная луна.
! Урсула
Система состоит из нескольких необитаемых планет и огромного газового гиганта (6 масс Юпитера) Роканнон (фактически недозвезда), имеющего 68 лун.
Одна из этих лун называется Урсула. Близость к гиганту обуславливает высокую тектоническую активность, благодаря которой в нескольких крупных зонах планеты возможно комфортное проживание людей. Остальные территории погружены в вечный хлад, доходящий до -100°С.
На Урсуле принято общеконфедеративное время.
Урсула обладает огромным промышленным потенциалом, связанным с наличием зон постоянных низких температур, вулканической активностью (в других областях планеты) и близостью газового гиганта (как источника газов).
На планете существуют заводы по производству сложных механизмов (автомобили, космические корабли), при изготовлении которых используется технология аргоновой сварки при низкой (-80°С) температуре. Производится не имеющая аналогов оптика, в том числе и нелинейная (в частности газонаполненные линзы с жидким аргоном и линзы для сверхмалой оптической техники – БТП, микроскопы и тому подобное). Кроме того, Фолл-Хейм (на экспорт) выпускает снегоходы, вездеходы и инженерно-строительное оборудование для зон субарктических и арктических пустынь и тундры.
Планета живет за счет урсулотермальной энергетики (жилищно-аграрный сектор), а производственные линии питаются мощнейшими водородными турбинами. Основная причина промышленного потенциала Урсулы – орбитальные платформы, добывающие смесь газов из атмосферы (тропосферы) Роканнона – метан, водород, аргон, гелий, неон, криптон, ксенон, радон. Основной объем этих газов после дифференции идет на экспорт для промышленности сектора. Для транспортивки используются сверхбольшие «наливные» транспортники типа «Обелиск».
Транспорт на поверхности Урсулы использует метановые ДВС. Практически не развита гражданская авиация (облака пепла в атмосфере Урсулы, плохо предсказуемая «метеорологическая» обстановка).
Агломерации Урсулы соединены прямыми как стрела скоростными крытыми (?) магистралями, проходящими через зоны вечных льдов с максимальной скоростью 220 км/ч. Также между зонами ходит транспорт на магнитной подушке (ТМП) со скоростями порядка 500 км/ч. Между удаленными точками Урсулы ходят суборбитальные шаттлы.
Крупных космопортов на Урсуле пять – по числу крупных агломераций и все они расположены в зонах вечного холода и связаны со своими агломерациями шоссе и ТМП-линиями. Расстояние от космопорта до жилой зоны составляет от 500 до 1200 км.
Вне агломераций люди практически не живут. Туризм не развит (кроме экстремального).
Столица Урсулы – агломерат Трайдент, названный так по расположению на берегах незамерзающего фьорда, похожего с орбиты на трезубец. Из за высокой сейсмической активности в столице мало высотных зданий. Средняя температура в Столице колеблется от -10°С до +20°С в зависимости от положения Урсулы на орбите. Фактически за две недели климат меняется от условно «летнего» к условно «зимнему» и обратно.
На территории Трайдента 4 горячих водных источника, на которых построены местные курорты. В силу специфических астрофизических условий притока туристов извне практически не наблюдается. Основной общественный транспорт Столицы – водный – по все трем фьордам между районами города.
Фолл-Хейм является автономией в составе Конфедерации Человечества, управляется Советом Агломераций, где представитель каждой агломерации – выборное лицо на срок 5 лет. Председатель совета наделен верховной властью, является главнокомандующим вооруженных сил автономии и выбирается общепланетарным голосованием из членов совета на срок 5 лет.
Фолл-Хейм имеет представителя в Сенате. Несмотря на регулярные попытки Сената перевести систему в ранг колонии, Фолл-Хейму удается сохранять статус автономии уже более @@color(#cc0033):~170 лет@@.
Вооруженные силы представлены ВКС и СПО (силы планетарной обороны). В задачи ВКС входит охрана газодобывающих платформ-заводов, транзитных и внутрисистемных маршрутов. Полицейские силы являются подразделением СПО. Воинская повинность общая, трехмесячная, в силах СПО и служит для подтверждения статуса совершеннолетия. Служба в ВКС контрактная и, в ряде случаев - пожизненная. Уволиться из рядов ВКС можно – такой сотрудник везде будет нарасхват (этакая милитаризированная республика).
На Фолл-Хейме существует собственный институт псионики, не привязанный к ИМБ. Псионики изучают дисциплины по уникальным методикам, общий фокус - сенсорика с углублением в прогностику (precognition).
!! Агломерации
* Трайдент - во фьорде
* Седна - в снежной "пустыне"
* ?
* ?
* ?
* ? (планируется)
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
!! Места интересные
* Старое Поле - бывший космопорт на "запад" от Трайдента;
----
День начала Пентаграмматонского конфликта, он же ++День Армии++ -- @@28 января@@
День Независимости (день Защиты Независимости): @@18 августа@@
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Самодостаточная бедная аграрная планета (точнее 2 штуки).
Невысокий класс жизнепригодности, экспорт продуктов питания на Пеллу, Пимон, Фолл-Хейм, Пентаграмматон.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Никакого чуда в том, что капрал Маккэйб и Джонсон стали управлять островом, вовсе не было. Многие захватывали Сан-Лоренцо, и никто им не мешал. Причина была проще простого: творец в неизреченной своей мудрости сделал этот остров совершенно бесполезным.
Фернандо Кортес был первым человеком, закрепившим на бумаге свою бесплодную победу над островом.
В 1519 году Кортес и его люди высадились там, чтобы запастись пресной водой, дали острову название, закрепили его за королем Карлом Пятым и больше туда не вернулись. Многие мореплаватели искали там золото и алмазы, пряности и рубины, ничего не находили, сжигали парочку туземцев для развлечения и острастки и плыли дальше.
"В 1682 году, когда Франция заявила притязания на Сан-Лоренцо, — писал Касл, — испанцы не возражали. Когда датчане в 1699 году заявили притязания на Сан-Лоренцо, французы не возражали. Когда голландцы заявили притязания на Сан-Лоренцо в 1704, датчане не возражали. Когда Англия заявила притязания на Сан-Лоренцо в 1706-м, ни один голландец не возражал. Когда Испания снова выдвинула свои притязания на Сан-Лоренцо, ни один англичанин не возражал. Когда в 1786 году африканские негры завладели британским работорговым кораблем, высадились на Сан-Лоренцо и объявили этот остров независимым государством, испанцы не возражали.
Императором стал Тум-Бумва, единственный человек, который считал, что этот остров стоит защищать. Тум-Бумва, будучи маньяком, заставил народ воздвигнуть кафедральный собор Сан-Лоренцо и фантастические укрепления на северном берегу острова, где в настоящее время помещается личная резиденция так называемого президента республики.
Эти укрепления никто никогда не атаковал, да и ни один здравомыслящий человек не смог бы объяснить, зачем их надо атаковать. Они ничего не защищали. Говорят, что во время постройки укреплений погибло полторы тысячи человек. Из этих полутора тысяч половина была публично казнена за недостаточное усердие".
Сахарная компания «Касл и сын» появилась на Сан-Лоренцо в 1916 году, во время сахарного бума, вызванного первой мировой войной. Никакого правительства там вообще не было. Компания решила, что даже глинистые и песчаные пустоши Сан-Лоренцо при столь высоких ценах на сахар можно обработать с прибылью. Никто не возражал.
Когда Маккэйб и Джонсон оказались на острове в 1922 году и объявили, что берут власть в свои руки, сахарная компания вяло снялась с места, словно проснувшись после скверного сна.
© Курт Вонненгут
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
Этнос: американские южные индейцы. Аграрная система.
Две пригодных для заселения планеты, но колонизирована одна. Другая начала заселяться в 2418 году.
На Чуматактионе, в Андах располагается ИМБ. Методики обучения разработаны на основе духовного наследия южноамериканских индейцев и весьма специфичны, но эффективны. В эту школу берут как правило только родившихся на Чуматактионе, но бывают и исключения…
Основные направления: Школа Взора и Школа Памяти (детекты и работа с памятью, в т.ч. и наследственной).
Впрочем есть и центральный институт "для всех". Профилирующая дисциплина - биоэнергетика (?).
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
! Сфера деятельности
! Штаб-квартира
! CEO
! Владелец контрольного пакета
! Оценочный бюджет
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
! Системная лоция
☀ - звезда
⊕ - планета
☾ - луны
☄ - Станции технического обслуживания, верфи
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
{{{
+++{{nestedLabel{[Изнанка]}}}>
content
===
или ++++ - если слайдер должен быть открыт
nestedLabel - класс надписи
}}}
Nested slider:
{{{
+++[title]>
text
===
}}}
{{{
☄ - Станции технического обслуживания, верфи
☾ - луны
⊕ - планета
☀ - звезда , ★
}}}
{{{
@@color(WHITE):
текст
@@
@@color(WHITE): текст @@
}}}
{{{ [img[-|conf/chars/-][conf/chars/-]] }}} - вставка картинки.
Население: ????? млн. человек.
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
транзитная космическая станция Шантьер
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
Население: 2 млн. человек (включая орбиталища)
Капитал:
| Природный | Финансовый | Реальный | Человеческий |
| ? | ? | ? | ? |
! Информация
2 полярных шапки, очень холодно, по экватору плывут два огромных корабля - один на восходе, другой на западе (огромных типа платформы из Причера)
Синяя холодная звезда.
Узловая система на пути к району Пеллы (в одну сторону) и Чуматактиону (в другую). Развитию системы препятствует отсутствие пригодных для аграрной колонизации планет. В системе космическая станция ремонта и обслуживания. Одна планета обитаема.
* Очень холодная планета. Существование возможно только в районе экватора. Планета имеет огромные, доходящие почти до экватора полярные шапки, а на экваторе - холодный океан. По нему равномерно курсируют, оставаясь в районе терминатора, два плавучих города-острова. Это единственные крупные поселения на планете, кроме нескольких станций геологов и физиков-криогенщиков во льдах. Сильные ураганы на планете препятствуют исследованиям поверхности. Тем не менее, исследования показывают, что когда-то Шард был более теплой планетой.
* Огромная длительность планетарных суток породила любопытный феномен – мигрирующие озера в полярных шапках. Эти озера мигрируют в районе полудня дневной стороны – оттаивая и снова замерзая. В этих озерах есть жизнь – несколько видов рыб и планктона.
Один из видов рыб – «Шардская ледяная треска» даже считается деликатесом и экспортируется с планеты.
* @@Город Восхода@@, @@Город Заката@@ – соответственно на восточном и западном терминаторах. Это плавучие города-купола – с переходами и куполами, башенками и посадочными площадками. По своему красиво (извне).
Экспорт: Лёд, деликатесы (ледяная треска), несколько видов рыбы.
Примечания: Существование колонии без госдотаций невозможно.
! Системная лоция
☾ ☄
! Госуправление
+++[................]>
????
!! КСБ
!! ОРК
!! ИМБ
===
! Отрасли капитала
+++[................]>
!! Природный
!! Финансовый
!! Реальный (промышленный)
!! Человеческий
===
! Экспорт и Импорт
! Из старых документов
* у штурмовиков два типа брони:
** "Комбидресс" - броня скрытого ношения, под одеждой, тонкая, но не стесняющая движений. Строго рекомендована к ношению офицерским составом "в поле". На деле её носят почти все почти постоянно начиная со старших дознавателей.
** "Shell" или "Ракушка" - полная штурмовая броня, одевается на специальное тонкое нательное белье, в комплект входит шлем со штурммаской (кат. Ц, линкуется с БТП, управление голосовое, сенсорное, БТП). Вес 12 кг, подвижность -1.
Как стать штурмовиком:
* со стороны: аттестация, учебный корпус, звание "сержант" и вперед.
* из школы ОРК: подготовка идет в младые годы.
В большинстве случаев штурмовики ОРК так или иначе (родственными связями) связаны с организацией.
Попасть со стороны можно, но соискатель в обязательном порядке пройдет аттестацию, по результатам закончит учебный корпус ОРК (по соотв. программе) и по его окончании войдет в штурмовые отряды с обязательным присвоением воинского звания "сержант".
На случай войны штурмовики ОРК не мобилизуются (даже если на момент вступления в ОРК они являлись офицерами запаса, тем не менее они могут быть направлены в действующую армию по приказу Высокого Совета ОРК).
> Mr.Garret ( http://rpg-world.org/index.php/topic,8034.msg173074.html#msg173074 )
> Однако, будущее шагающих танков выглядит более чем сомнительным, ибо их живучесть значительно ниже, чем живучесть МБТ. Силуэт машины высокий и поразить ее на расстоянии будет проще, чем какую-нибудь гусеничную каракатицу. Ну а во вторых, мех столь же плохо защищен от РПГ с тандемным боеприпасом, что и обычный танк. Таким образом, в городских условиях мех может быть уничтожен любым удачливым моджахедом.
----
Если учесть все эти минусы, на арену выходит нечто, что в одних сеттингах именуется power armor, а у меня - ++ЭМД++ (экзомышечный доспех).
Что понимаю под ЭМД я:
* //профиль// незначительно выше человека (максимум в полтора раза с учетом __всего__ навешенного оборудования)
* благодаря искусственным мышцам (а не сервомоторам):
** сравнимая с человеком //гибкость и подвижность// (как следствие: десантник в ЭМД в городском бою намного мобильнее танка)
** значительно более высокая //физическая сила// (как следствие: возможность вышибать двери, пробивать тонкие стены, ворочать плиты√)
** "бонус" к выносливости (за счёт биоэлектрики или motion prediction)
* возможность нести на себе //бронирование //и //оружие//
* //система связи// позволяет объединять бойцов в общее тактическое пространство - по иерархии, начиная от взвода и заканчивая армией.√√ + РЭБ
* в некоторых моделях используется нейроинтерфейс - но не для управления физическим движением, а для подсветки целей, смены оружия, темпа стрельбы и прочего.
Естественно такая штуковина возможна при следующих допущениях:
1) искусственные мышцы, достаточно хорошо управляемые и достаточно дешевые (подвижки к этому уже сейчас есть!)
2) ёмкий и компактный накопитель энергии (или миниатюрный источник), (у нас используется конденсатор на электрон-позитронных парах)
(еще какое-то допущение из головы вылетело, извините ;) )
В целом, в ВКС Федерации пилоты ЭМД занимают примерно такую же нишу, какую в средневековой Европе занимали латники в полных доспехах.
√: ЭМД имеет гражданскую версию: ЭМК (экзомышечный костюм), используемый при спасательных, погрузочных и прочих работах.
√√: кстати, логику работы тактического пространства, способы защиты данных и информационное обеспечение прописали за меня игроки
* [[Люди]]
* [[Эльфы]]
* [[Отличия между людьми и эльфами]]
! Этнические группы и конфликты
* [[Трущебные эльфы]]
* [[Валинор vs Лордаэрон]]
Гражданский космический корабль сверхмалых размеров. Оснащем двигателем канального гиперперехода.
Используется индивидуальными предпринимателями и малым бизнесом для курьерско-грузовых перевозок.
Существует спонсорская программа от Совета Колонизации, позволяющая приобрести "Кузнечик" за 1/4 стоимости. При этом покупатель приобретает 'hull' корабля (корпус, системы жизнеобеспечения и прочую внутреннюю начинку, исключая гипердрайв), а гипердвигатель выдается в аренду.
"Кузнечику" требуется его регулярное техническое обслуживание - так называемое "гашение" гипердвигателя. Выполняется эта процедура на станциях технического обслуживания сертифицированным специалистом, но может быть заменена и просто длительным ожиданием в ангаре (около двух недель). Без "гашения" гиперпрыжок возможен, но растет вероятность неуспешного входа в гиперканал.
Грузовой трюм "Кузнечика" - 6 кубических метров.
Жилой модуль совмещен с рубкой управления.
Штатный экипаж: 2 человека. Часто систему жизнеобеспечения меняют на дополнительный грузовой объем, а полёт проводят в скафандре с собственной системой жизнеобеспечения.
Скоростная формула "Кузнечика" не более 0.9 lk, уменьшается без регулярного ремонта и обслуживания (приблизительно на 0.001 lk / световой год хода)
----
~~
Кузнечик именно на это и рассчитан – замену двигательного модуля.
~~