Страница 1 из 1

wiki bbcode

Добавлено: 13.10.2006 20:07
UA6ATG
Ну зря Вы так, искал я искал :lol:
Нужен bbcode <wiki></wiki> на "википедию"
Такой есть:
http://www.phpbbhacks.com/downloads/3372.zip

Проблема в том, что он для своей установки хочет:
"NOTE ! you have to install Advanced BBCode Box v5.0.0 first!!!!!"
Устанавливать расширенный Advanced BBCode Box v5.0.0 мне не хочется.
Есть ли какой либо "упрошенный" bbcode на "википедею"

Добавлено: 13.10.2006 22:23
rxu

Добавлено: 13.10.2006 22:40
UA6ATG
rxu писал(а):А вот это?
А вот это, именно то, от чего я хочу отказаться :)

wiki

Добавлено: 26.03.2007 1:20
stupefait
Пытаюсь заинтегрировать покрепче wiki c phpbb

хочется немного синтаксиса в Phpbb как в wiki: с поддержкой самых простых выражений типа

Код: Выделить всё

[[страничка wiki]] или [[страничка wiki|всякая фигня на страничке wiki]]
Интересно, есть ли ограничения на синтаксиc в BBCode?

Re: wiki bbcode

Добавлено: 07.04.2007 13:53
stupefait
UA6ATG писал(а):Ну зря Вы так, искал я искал :lol:
Нужен bbcode <wiki></wiki> на "википедию"
Такой есть:
http://www.phpbbhacks.com/downloads/3372.zip

Проблема в том, что он для своей установки хочет:
"NOTE ! you have to install Advanced BBCode Box v5.0.0 first!!!!!"
Устанавливать расширенный Advanced BBCode Box v5.0.0 мне не хочется.
Есть ли какой либо "упрошенный" bbcode на "википедею"
Уж не знаю зачем был нужен этому моду Advanced BBCode Box v5.0.0 - (никогда не пользовался этим чудом - лень его устанавливать, а после вашего комментария и не хочется :) ),

у меня просто стоял Multiple BBCode MOD, и я просто добавил ещё одну дополнительную кнопочку в tpl и пару bbcode-ных шаблонов в bbcode.php.

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

Код: Выделить всё

$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
я, често признаться, не очень силён в регулярных выражения и не пониимаю, какую роль играет и что такое "#ise",

но в конечном итоге помучавшись, сделал поддержку синтаксиса

Код: Выделить всё

// [wiki=Нужная страница]фигня с упоминанием нужной страницы[/wiki]
Добавлено спустя 2 часа 4 секунды:

Re: wiki
stupefait писал(а):Пытаюсь заинтегрировать покрепче wiki c phpbb

хочется немного синтаксиса в Phpbb как в wiki: с поддержкой самых простых выражений типа

Код: Выделить всё

[[страничка wiki]] или [[страничка wiki|всякая фигня на страничке wiki]]
Интересно, есть ли ограничения на синтаксиc в BBCode?


Продолжаю беседовать сам с собой :)
реализовал и такой синтаксис

Добавлено: 09.04.2007 0:01
go
stupefait
хотелось бы задать вопрос.Для чего этот мод.какие цели вы преследуюте устанавливая подобный мод?
интересно стало.

Добавлено: 09.04.2007 1:11
stupefait
go писал(а):stupefait
хотелось бы задать вопрос.Для чего этот мод.какие цели вы преследуюте устанавливая подобный мод?
интересно стало.
цели очень простые: интеграция проекта который крутится на media wiki и форума. все проекты тематические. Хочется, чтобы пользователь не напрягаясь, используя термин или вспоминая какого нибудь известного человека, из этой области, мог сразу дать ссылку на статью в wiki.

А т.к. к wiki нужно ещё долго людям привыкать и учиться, то пользователей с форума можно уже постепенно "приучать" к тому, что есть и такой инструмент.

Добавлено: 10.04.2007 14:03
vooon
stupefait
а вы можете составить это
http://www.shulgina.ru/forum/viewtopic.php?p=1900#1900
в мод?
очень заинтересовался :)

Добавлено: 10.04.2007 21:41
stupefait
vooon писал(а):stupefait
а вы можете составить это
http://www.shulgina.ru/forum/viewtopic.php?p=1900#1900
в мод?
очень заинтересовался :)
честно признаться я не большой (точнее никакой :)) специалист по составлению модов, но я написал примерно такой код:


только вот лень мне писать в инструкциях для easymoda, пишу в инстукциях для RUSSIAN_HUMAN_BRAIN :)

Код: Выделить всё

## PHPBB2WikiFlamenca mod
## MOD Author: sergey@shulgin.ru
## Files To Edit: 
## includes/bbcode.php,
## templates/subSilver/posting_body.tpl 
## templates/subSilver/bbcode.tpl,
## 

## В конце файла templates/subSilver/bbcode.tpl
# Добавить 

<!-- BEGIN wikiflamenca -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Внутренняя ссылка на статью  в wiki.Flamenca">{STRING}</a>
<!-- END wikiflamenca -->

<!-- BEGIN wikiflamenca_ex -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Ссылка на статью  в wiki.Flamenca в новом окне" target="_blank">{STRING}</a>
<!-- END wikiflamenca_ex -->

## В файле templates/subSilver/posting_body.tpl

# Найти
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
','
  • ','
','
  • ','
','[img]','[/img]','','');

# Заменить на
bbtags = new Array('','','','','','','
','
','','
  • ','
','
  • ','
','[img]','[/img]','','','[[',']]');

## В файле includes/bbcode.php
# в function Multi_BBCode() добавить '90' и 'WikiFlamenca'

$EMBB_widths = array('','90') ;
$EMBB_values = array('','WikiFlamenca') ;

# После сточки $bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']);
# Добавить
//Begin wikiflamenca mode
$bbcode_tpl['wikiflamenca1'] = '\'' . $bbcode_tpl['wikiflamenca_ex'] . '\'';
$bbcode_tpl['wikiflamenca1'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\1') . '", $bbcode_tpl['wikiflamenca1']);
$bbcode_tpl['wikiflamenca1'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca1']);

$bbcode_tpl['wikiflamenca2'] = '\'' . $bbcode_tpl['wikiflamenca_ex'] . '\'';
$bbcode_tpl['wikiflamenca2'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca2']);
$bbcode_tpl['wikiflamenca2'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\2') . '", $bbcode_tpl['wikiflamenca2']);

$bbcode_tpl['wikiflamenca3'] = '\'' . $bbcode_tpl['wikiflamenca'] . '\'';
$bbcode_tpl['wikiflamenca3'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca3']);
$bbcode_tpl['wikiflamenca3'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\1') . '", $bbcode_tpl['wikiflamenca3']);

$bbcode_tpl['wikiflamenca4'] = '\'' . $bbcode_tpl['wikiflamenca'] . '\'';
$bbcode_tpl['wikiflamenca4'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca4']);
$bbcode_tpl['wikiflamenca4'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\2') . '", $bbcode_tpl['wikiflamenca4']);

//End wikiflamenca mode

# После сточки $replacements[] = $bbcode_tpl['email'];
# Добавить

//Begin wikiflamenca
// [wiki]page name[/wiki]
$patterns[] = "#\[wiki\](.*?)\[/wiki\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca1'];

// [wiki=page name]current page name spelling[/wiki]
$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca2'];

// [[page name]]
$patterns[] = "#\[\[([^\|]*?)\]\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca3'];

// [[page name|current page name spelling]]
$patterns[] = "#\[\[(.*?)\|(.*?)\]\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca4'];

//End wikiflamenca

#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------

[/code]

повторюсь, что я не понимаю, что такое #ise в строчке и идругих шаблонах

Код: Выделить всё

$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
понятно, что нужно исправить адрес вашей mediawiki с wiki.flamenca.ru на что вам нужно, хоть ru.wikipedia.org хоть что-нибудь другое.

Если заметили этот "мод" делает не только это
http://www.shulgina.ru/forum/viewtopic.php?p=1900#1900
но и это
http://www.shulgina.ru/forum/viewtopic.php?p=1901#1901

т.е. для синтаксиса [[ ]] ссылка в том же окне, для синтаксиса [wiki] [/wiki], ссылк открывается в новом окне (так задумано было мной - думаю кому надо может легко исправить это отредактировав поле target="_blank" в шаблонах

Код: Выделить всё

<!-- BEGIN wikiflamenca -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Внутренняя ссылка на статью  в wiki.Flamenca">{STRING}</a>
<!-- END wikiflamenca -->

<!-- BEGIN wikiflamenca_ex -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Ссылка на статью  в wiki.Flamenca в новом окне" target="_blank">{STRING}</a>
<!-- END wikiflamenca_ex -->
я не считаю себя специалистом ни в php ни phpBB, поэтому советую проконсультироваться у знающих людей на предмет дырявости и глюкавости этого кода.

Добавлено спустя 14 минут 30 секунд:

в зависимости от того, насколько активно вы добавляли кнопочки для Multiple BBCode, будут отличаться строчки кода,

Код: Выделить всё


   $EMBB_widths = array('','90') ;
   $EMBB_values = array('','WikiFlamenca') ; 
ну например с установлеными BBCode YouTuba и FLV у меня выглядят как

Код: Выделить всё


	$EMBB_widths = array('','80','65','90') ;
	$EMBB_values = array('','FlowPlayer','YouTube','WikiFlamenca') ;

Добавлено: 12.04.2007 22:13
vooon
stupefait
честно признаться я не большой (точнее никакой Smile) специалист по составлению модов, но я написал примерно такой код:

только вот лень мне писать в инструкциях для easymoda, пишу в инстукциях для RUSSIAN_HUMAN_BRAIN Smile
ничего, тем более что я нелюблю изимод, он слишком "изи" :)
спасибо, пойду учстановлю...

$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
i - не различать строчные и заглавные буквы.
m - считать строку многострочной.
s - однострочная строка.
x - расширенный синтаксис ( использование пробелов и комментариев)
вот только e ненашел...