Основная цель нашего Текста — анализ и планирование деятельности, приносящей радость и моменты счастья.
История его появления приведена в самом начале, а описание формата и процесса, который сложился в результате, в главе «Жизнь как Текст».
Текст создаётся в концепции Open Source и это означает, что любой желающий может создать свою версию, взяв за основу то, что уже сделано и описано.
Инструкция «Как запустить собственный Текст» с помощью вспомогательной библиотеки text-forge приведена ниже.
text-forge — набор скриптов, которые преобразовывают Текст в разные форматы для веб сайта и электронной книги, а также подготавливает для агентов-помощников ИИ.
Библиотека этих программных компонентов является частью инициативы «Shared Goals» (или «Общие Цели»).
Для локальной сборки потребуются:
| Инструмент | Назначение | Установка |
|---|---|---|
make |
Запуск команд сборки | macOS/Linux: встроен. Windows: сначала установите WSL |
pandoc |
Сборка EPUB | macOS: brew install pandoc · Linux/WSL: apt install pandoc |
uv |
Менеджер Python-пакетов | Устанавливается автоматически через make install |
Windows — стандартный путь: установить WSL (Windows Subsystem for Linux), после чего выполнять все команды в терминале WSL — они будут работать так же, как на Linux.
После установки зависимостей запустите:
make install # установит uv и pandoc (если нужно), затем зависимости проектаЕсли у Вас ещё нет учётной записи GitHub, её потребуется создать.
При регистрации оставьте тип Вашей учётной записи Public и не переключайте его в Private. Иначе создаваемые Вами проекты будут по умолчанию закрытыми и наш Текст не получится переиспользовать.
Создать свой Текст просто
Попробуйте нажать кнопку Fork, оставив другие поля по умолчанию.
Спустя пару секунд будет создан Ваш персональный, новый, независимый, но связанный с нашим и уже готовый к запуску проект.
Для того, чтобы «вдохнуть жизнь» в Текст, для того, чтобы он начал автоматически публиковаться при внесении изменений, нужно сделать всего 2 действия.
Включить публикацию проекта
В настройках проекта (Settings) зайти в раздел Pages (Страницы) и выбрать публикацию этих страниц с помощью автоматизированных процессов — «Deploy Github Actions».
GitHub Actions — это такие программы (скрипты), которые автоматически запускаются каждый раз, когда возникает какое-то событие. Например, вносится изменение в Текст.
Actions эти уже настроены, работают в нашем проекте и были скопированы в Ваш при создании Fork. И так как наши проекты пока ничем не отличаются — эти действия будут работать точно также и для Вашего.
Разрешить исполнение Actions
Чтобы вдохнуть жизнь в пока ещё неактивный Текст, выберите в верхнем меню раздел Actions и нажмите там кнопку Enable.
Если Вы читаете и пишете код, то имеет смысл полюбопытствовать — оценить процесс сборки Текста и предложить улучшение — буду благодарен. Но этого базово не требуется — он уже работает.
В принципе — всё!
Все необходимые действия сделаны и дальше процесс публикации должен работать автоматически.
Текст можно редактировать и сохранять прямо в браузере. Например, изменить первую страницу Приветствия в файле text/index.md.
После изменения автоматически запускается Action, который:
- Скачает из облака и развернёт образ открытой операционной системы Linux Ubuntu,
- Установит на неё открытое программное обеспечение MkDocs, Pandoc,
- Обработает Ваш Текст,
- Соберёт из него веб сайт,
- Сверстает электронную книжку в формате EPUB,
- И всё это опубликует в Интернет.
Автоматический процесс сборки Текста
Весь этот процесс можно наблюдать в разделе Actions уже Вашего проекта.
Также потребуется персонализировать несколько свойств уже Вашего проекта:
mkdocs.yml:
- site_name: Поправить организацию-издателя, в моём случае — «Общие Цели», можно и оставить;
- site_url: можно изменить позже, если планируете использовать собственный домен — укажите его;
- site_author, copyright, site_description: очевидные значения;
- repo_url: ссылка на проект в github, которая получился после создания Fork;
- repo_name: что будет написано в ссылке на него;
- extra/social/link: ссылка на Вашу ленту, канал, группу или просто контакт;
- nav: Сделать свой список частей и глав в содержании или просто добавить свою главу;
А дальше удалять всё лишнее (или оставить) из папки text/ru и писать свой Текст в файлах, которые оставили в оглавлении nav.
Если изменение вызывает затруднение — просто оставьте как есть. Позже придёт понимание, и Вы сможете вернуться к этой настройке.
Главное начать писать свой Текст в файлах папки text/ru.
Базовый формат разметки Markdown довольно прост и получил широкое распространение. В нашем проекте он существенно расширен с помощью библиотек Python Markdown, PyMdown Extensions и других расширений MkDocs for Material. Тут есть поддержка таблиц, цитат, сносок, формул, диаграмм, предупреждений, примечаний и многого другого. Вероятно, это самый богатый ассортимент возможностей оформления Текста.
Однако в процессе написания нашего Текста возникла потребность определить новые специфичные блоки — такие как ситуации из жизни, определения, музыкальные вставки.
Технологическая платформа позволила определить такие типы — полный список Вы также найдёте в файле mkdocs.yml.
Примеры блоков:
/// abstract | Притча
Текст примера, истории или притчи.
///
/// situation
Ситуация из жизни.
///
/// note
Важное дополнение, сделанное позже написания основного текста.
///
/// quote
Текст цитаты.
[Автор](https://quote.url){ .author }
///
Obsidian — пожалуй, самый распространённый редактор для Markdown. С помощью плагина Templater можно настроить быструю вставку блоков и ссылок и горячие клавиши.
Настройка Obsidian одной командой
make obsidianКоманда выполняет следующие шаги (пропуская уже выполненные):
- Скачивает актуальную версию плагина Templater в
.obsidian/plugins/templater-obsidian/. - Прописывает пути для шаблонов и скриптов:
- шаблоны:
obsidian/templates - скрипты:
obsidian/scripts
- шаблоны:
- Добавляет Templater в список активных плагинов (
.obsidian/community-plugins.json). - Устанавливает горячие клавиши в
.obsidian/hotkeys.json(существующие настройки не затираются, недостающие — дописываются).
После запуска перезапустите Obsidian.
Горячие клавиши
| Сочетание | Действие |
|---|---|
Mod+Shift+B |
Вставить смысловой блок (abstract, quote, situation, rule, music, define, details) |
Mod+Shift+L |
Вставить внутреннюю ссылку на заголовок из text/ |
Mod+Shift+I |
Вставить изображение |
Mod— этоCmdна macOS иCtrlна Windows/Linux.
Если перед вызовом команды выделен текст, он будет подставлен в поле содержимого блока по умолчанию.
На этом всё!