Якоря Тики на той же странице

У меня есть страница Tiki с некоторыми заголовками в таком формате.

!!!schedule(%milliSeconds, %method, %arguments)

В другом месте (та же вики-страница) у меня есть упрощенная ссылка.

schedule()

Может ли Tiki автоматически создавать ссылки с schedule() на schedule(%milliSeconds, %method, %arguments) Это означает, что schedule () будет ссылаться на !!!schedule (%milliSeconds, % метод, %аргументов)

Надеюсь, это описание имеет смысл :)


person Max Kielland    schedule 18.02.2013    source источник


Ответы (2)


Хорошо, вот пример:

{JQ()}
$('.wikitext p').html( function(){
    return $(this).html().replace(/\s([^\)\s)]+)\(\)/gi, ' <a href="#$1_a_b_c_">$1()</a>');
});
{JQ}

Вы можете поместить этот подключаемый модуль JQ с кодом jQuery вверху вики-страницы (или, если вы хотите, чтобы он был на каждой странице, то без подключаемого модуля JQ в Настройка > Пользовательский JavaScript панели администратора Внешний вид). Затем, если есть foo() или bar() или любая функция(), упомянутая в любом абзаце страницы, она будет преобразована в ссылку, указывающую на якорь на той же странице, например.

<a href="#function_a_b_c_">function()</a>

где _a_b_c_ — параметры (a,b,c) в заголовке, например

!!Function(a,b,c)

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

person luciash d' being    schedule 25.02.2013
comment
Это направило меня в правильном направлении. Мне нужно немного проработать, чтобы получить теги, как я хочу, но это хорошее начало... - person Max Kielland; 28.02.2013

Я не уверен, что правильно понял, но, возможно, вы могли бы использовать функцию Hotwords, где вы определяете schedule() как «горячее слово», ссылающееся на YourWikiPageName#schedule(%milliSeconds, %method, %arguments). Тогда каждое упоминание schedule() в Tiki будет указывать на этот якорь на этой странице.

person luciash d' being    schedule 18.02.2013
comment
Я просмотрел горячие слова, но это означает, что мне придется вручную регистрировать сотни слов с риском неработающих ссылок, если описание будет перемещено. Интересно, можно ли заставить Tiki автоматически распознавать слова и создавать привязку к заголовку с тем же именем, как викислова автоматически ссылаются на вики-страницы. - person Max Kielland; 19.02.2013
comment
Это достаточно специфический вариант использования. Это должно быть специально закодировано в анализе синтаксиса вики Tiki, чтобы распознавать их и проверять каждый раз, когда страница редактируется, если цели все еще присутствуют, или (если вы не возражаете только против решения на стороне клиента) это может быть закодировано с использованием пользовательского jQuery код для применения этих ссылок к соответствующим якорям при загрузке страницы. - person luciash d' being; 19.02.2013
comment
Хорошо, тогда нет простого решения, доступного из коробки... Ну, JQuery сам по себе довольно простое решение :P Как лучше всего реализовать JQuery, используя теги ‹script› в блоке HTML для каждая страница? (если вы напишите новый ответ с ответом JQuery, я могу проверить его как решение). - person Max Kielland; 19.02.2013
comment
Надеюсь, мой второй ответ поможет :) - person luciash d' being; 28.02.2013