Неисправность автогенерации списка ссылок - PullRequest
0 голосов
/ 18 октября 2018

У меня есть страница в моей вики (v5.1.17), которая должна автоматически генерировать список ссылок на тиддлеров, которые нуждаются в каком-то последующем наблюдении.Появляется то, что соответствует одному из двух критериев: с тегом «needs_followup» или заголовок начинается с «/followup/".

Вот мой код:

<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry> <$link><<entry>></$link><br/> </$list>

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

1 Ответ

0 голосов
/ 21 января 2019

Список элементов работает нормально, за исключением того, что они не являются кликабельными ссылками.

Проблема возникает из-за того, что вы изменили переменную, в которой виджет списка хранит заголовки.Обычно виджет списка хранит текущий заголовок в переменной с именем <<currentTiddler>>:

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

Однако ваш экземпляр виджета списка сохраняет текущий заголовок в переменной с именем entry, которая не понимается виджетом <$link>.

Они выглядят как ссылки - синие и подчеркнутые - но нажатие на них на самом деле ничего не делает.

На самом деле, это "настоящие" ссылки, а такжепереместиться после нажатия: виджет ссылки разрешит тиддлер, в котором находится ваш код, как <<currentTiddler>> и попытается связать его с этим тидлером (который выглядит так, как будто он вообще не связывается, потому что у вас, вероятно, нет эффекта прокрутки).

Может кто-нибудь сказать мне, что я делаю неправильно?

Решение 1) Следовательно, решение состоит в том, чтобы добавить атрибут to и установить его в <<entry>>:

<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry>
    <$link to=<<entry>>><<entry>></$link><br/>
</$list>

Решение 2) Вместо установки to вы также можете сделать следующее:

<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry>
    <$set name="currentTiddler" value=<<entry>>>
        <$link><<entry>></$link><br/>
    </$set>
</$list>

Решение 3) Или вы можете полностью удалить variable=entry

<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]">
  <$link><<currentTiddler>></$link><br/>
</$list>

Оффтоп: вы также можете использовать виджет $view для отображения заголовка, чтобы избежать автоматического викификации заголовков PascalCase в виде ссылок: <$link to=<<entry>>><$view field="title" /></$link>

...