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

Если вы читали мои последние две статьи об Obsidian Canvas, вы уже знаете, как я использую его в качестве панели инструментов, поэтому я решил использовать то, что уже создал, с небольшими дополнениями. Мне нравится называть эти дополнения "Highlight Reels".

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

Давайте начнем с небольшого доказательства концепции: использование Dice Roller для демонстрации одной из многих цитат из существующего списка цитат. Для этого вы можете использовать что-то вроде следующего кода (если у вас включен плагин):

[!quote] dice: [[quotes]]|listItem

В приведенной выше заметке quotes у меня есть список из нескольких строк текста. Dice Roller просмотрит эту заметку и случайным образом выберет одну из них для отображения, так как каждая строка представляет собой одну listItem . Обертывание кода с использованием стиля выноски Obsidian: > [!quote] даст следующее:

Это довольно примитивная реализация, поэтому давайте сделаем еще один шаг, добавив автоматические выделения от Readwise. В настоящее время мои RSS-каналы находятся внутри Readwise Reader, и все, что я делаю, автоматически синхронизируется с моим хранилищем Obsidian. При выделении я добавлю соответствующий тег, и плагин Readwise будет синхронизироваться примерно раз в час.

Хотя мы можем использовать Dice Roller для выбора случайных lineItems из статей Readwise, он всегда будет брать из всей заметки, которая имеет этот тег. в нем, а не конкретная цитата с конкретным тегом. Поскольку вы, вероятно, будете использовать много разных тегов при записи одной статьи, это не сработает.

Вместо этого нам нужно использовать DataviewJS. Чтобы он работал идеально, нам нужно настроить форматирование по умолчанию для Readwise Syncs:

Внесите следующие изменения в раздел Выделение:

- {{ highlight_text }}{% if highlight_location and highlight_location_url %} ([{{highlight_location}}]({{highlight_location_url}})){% elif highlight_location %} ({{highlight_location}}){% endif %}{% if highlight_tags %} {% for tag in highlight_tags %}#{{tag}} {% endfor %}{% endif %}{% if highlight_note %}
    - Note: {{ highlight_note }}{% endif %}

Все, что я здесь сделал, это удалил список — Теги, чтобы теги теперь были на одной линии с кавычками, и добавил «#», чтобы Obsidian правильно воспринимал его как тег.

Я также отредактировал раздел Метаданные страницы, чтобы контент отображался под выноской (необязательно):

> [!info] Metadata
> Author: {% if author %}[[{{author}}]]{% endif %}
> Full Title: {{full_title}}
> Category: #{{category}}
{% if document_tags -%}
> Document Tags: {% for tag in document_tags %}[[{{tag}}]] {% endfor %}
{% endif -%}
{% if url -%}
> URL: {{url}}
{% endif -%}

Это просто оборачивает весь раздел метаданных в выноску.

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

Теперь, когда это сделано, давайте добавим код DataviewJS в заметку, которую мы можем добавить в Canvas.

>[!quote] 
>```dataviewjs
> let quotesArray = [];
> for (q of dv.pages("#seo").file.lists.values){
>  if (q.text.includes('#seo')) {
>   quotesArray.push(q.text)
>  }
> }
> dv.paragraph(quotesArray[Math.floor(Math.random() * quotesArray.length)])
> ```

Это будет искать #seo статей и возвращать случайные кавычки с #seo в той же строке, создавая следующий вывод.

Вы можете сделать это для любого количества тегов, которые вы хотите отслеживать, изменив #tag в коде, а затем добавив каждый запрос как отдельный элемент в Canvas, используя «Сузить до заголовка».

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

Если вы дочитали до этого момента, поздравляем — теперь у вас есть свои собственные хайлайты! 😎

Первоначально опубликовано на https://www.productnook.com 2 апреля 2023 г.