Волею судеб реализовалась давно поставленная задача — превратить binoniq.net в удобное место для хранения стихов. Удобное — в смысле, чтобы стихи были на одном сайте, чтобы их индексировал поисковик, чтобы был удобный рубрикатор и быстрый поиск по ключевым словам. И главное — чтобы стихи можно было туда загрузить сразу кучей архивами. Потому что они обычно у авторов в файлах и сборниках.
По этому поводу был сделан инструмент, в который загружается файл из 300-700 штук нехитрым способом размеченных стихов, а дальше дело техники всякие там рубрикаторы, по годам, по алфавиту, по сборникам и так далее.
Таким образом мы сделали страницу с наиболее полным архивом стихов Игоря Иртеньева (на его старом сайте утеряны владельцы и пароли с 2006 года):
Затем я собрал сайт Вадиму Седову, в основном распарсив его ЖЖ, хотя жду, что он пришлет и новые подборки:
Ну и конечно сайт Саши Елина, стихов которого прежде было практически не нагуглить нигде:
Затем выразил желание сделать себе сайт Юрий Черняк http://chernyak.binoniq.net/ и я написал пошаговую инструкцию уже для самостоятельного создания.
Ниже предлагаю ее всем желающим. Напоминаю, что инструкция сложная и запутанная — это не баг, а фича. Я публикую ее только в своем дневнике, потому что совершенно не планировалось звать всех желающих — у меня нет ни ресурсов ни желания превращать это в сервис. Это инструмент только для френдов, если кому это нужно. Тем — помогу и расскажу. А кому это не нужно — не спешите возмущаться, помните, что именно вас и не звали.
Итак, инструкция.
=============== cut ===============
1. Подготовка к регистрации.
Надо зайти на любую страницу любого раздела binoniq.net и один раз обновить ее, чтобы браузер прописал куки. Иначе следующий пункт не сработает.
2. Завести аккаунт.
Нажать клавишу U чтобы открыть личную карточку, она пустая. В ней прописать логин — латинскими буквами, он станет частью адреса. И пароль. Указать емайл (без него пароль считается невосстанавливаемым) и нажать сохранить. Подтвердить емайл по ссылке. Теперь вы зарегистрированый посетитель. Но своего раздела у вас нет.
3. Создание личного раздела.
Зайти на http://binoniq.net/acc и нажать «создать аккаунт». Оно выдаст разные ошибки, но аккаунт создаст. Но этого пока не будет заметно, потому что системе понадобится время, чтобы прописать его в DNS Cloudflare, за которым мы все сидим. Это займет от часа до суток.
4. Тем временем — подготовить текст стихов.
Стихи должны быть отделены друг от друга полосой из знаков равно:
=================================
Штук 20, не важно, сколько.
Если у стиха есть дата, она должна быть последней строкой (не в начале) после пустой строки. Примеры:
2003
2003, Переделкино
1 мая 2003
2003/05/01
Если у стиха есть абзац предыстории в прозе, он должен быть самым первым, идти одним абзацем, и быть длиннее, чем строчки самого стиха. «Британские учёные обещают вывести оранжевую капусту. Я написал об этом поэму...»
Если у стиха есть название, оно должно быть после предыстории отдельной строкой. Или первым, если предыстории нет. Название не обязательно заглавными буквами, но если буквы заглавные, системе проще понять, что это название, когда оно из двух строк:
МУХА
венок сонетов
Если у стиха есть эпиграф или посвящение или что-то, что не является началом текста стиха и выравнивается по правому краю, оно должно быть после названия и начинаться не менее 5 пробелами. Если у эпиграфа есть подпись, в начале строки этой подписи должно быть пробелов больше, чем в эпиграфе (здесь заменяю подчеркиваниями для понимания):
_ _ _ _ _ Посвящаю любимой N.
_ _ _ _ _ Я помню чудное
_ _ _ _ _ Передо мной явилась
_ _ _ _ _ _ А.С.Пушкин
Если в стихе есть отступы куплетов, лесенка, припев, то отступ делается пробелами от 1 до 4 штук. Каждый пробел в начале строки превратится в восемь.
Я Маяковский!
_ Рублю свой ритм
_ _ словно
_ _ _ капусту
_ _ _ _ кухарка!
Размеченный таким образом файл с добавленным сверху заголовком настроек (о нем чуть ниже) надо будет разместить в форму аккаунт.binoniq.net/addtexts, и он создаст страницы.
5. Теперь пришло время создать дизайн. Плохая новость: с дизайном у нас хреново — я не дизайнер. Хорошая новость: там обычный html, css и JS, ну в некоторых местах темплейта вставлены магические команды. Для стихов основным дизайном можно взять того же Елина. Шаблон дизайна: https://binoniq.net/install?userdata/yellin/template/blog.html%7C
Там достаточно изменить имя.
Прописать его надо вместо обычного. То есть, открываем любую страницу своего аккаунта, например: https://мой-аккаунт.binoniq.net/contents В левом верхнем углу видим оранжевый шарик — админская кнопка. Нажимаем, открывается меню. Идём в FILES. В разделе template вызываем на редактирование blog.html и заменяем содержимое тем, что у Елина: https://binoniq.net/install?userdata/yellin/template/blog.html%7C
6. Возвращаемся к файлу стихов. В начале его пишем такой заголовок:
mode=gazeta
tags=стихи, сборник Гусли, раннее
autokaw=auto
#tag_day=YES
#tag_mon=YES
#base=sborniki/gusli/
numeration=000
===========================
От остального отделяем той же вереницей равно.
Вкратце поясняю:
mode gazeta — уже не важно, просто включает последнюю версию алгоритма.
tags — через запятую перечисляются тэги, здесь важно «стихи», но также можно указать название конкретно этого сборника, если хочется позже создать отдельно его страницу и сделать отдельные оглавления только по нему.
При добавлении каждого нового файла с множеством стихов имеет смысл к нему добавлять какой-то свой тэг хотя бы только затем, чтобы по тегу можно было всё это удалить если что-то импортировалось не так, не затронув остальное. Кнопка удаления страниц по Тэгу (красный крестик справа под формой) будет на странице импорта, о ней позже.
autokaw — вопрос верстки, автоматически заменит кавычки на фигурные, а минусы на длинные тире.
tag_day и tag_mon в примере отключены, их имеет смысл включать, если в подписях каждого стиха имеется не только год, но день и месяц. Тогда система пропишет для них отдельные тэги и можно будет выводить, скажем, всем стихи за август 2017.
base — в примере отключено, но можно указать кусок адреса url, раздел, в котором будут располагаться стихи именно этого сборника, если хочется разные подборки располагать по разным адресам.
numeration — задаёт нумерацию страниц. Если у каждого стиха была дата, этот параметр не нужен, система будет создавать страницы по их датам типа:
https://логин.binoniq.net/sborniki/gusli/2017/08/19
Если же дат нет, то страницы надо создавать просто по номерам. Для этого и пишем numeration и числом нулей показываем диапазон. numeration=000 означает, что страницы будут созданы:
https://логин.binoniq.net/sborniki/gusli/001 следующая ..../002 и так далее.
Там были какие-то ещё опции, но в них чёрт ногу сломит, а эти основные.
7. Идём на страницу импорта:
https://ваш-логин.binoniq.net/addposts
В форму копипастим наш файл с добавленной сверху секцией заголовка. Нажимаем добавить. И внизу создаётся простыня из будущих постов. Там сразу видно, по какому адресу будет создан каждый файл, какой у него будет заголовок, какие тэги разметились. Файлы можно создавать по одиночке, можно убрать ненужные, но можно нажать SaveAll, чтобы создать всю кучу страниц. Также есть кнопка CheckAll, которая проверяет, встречались ли эти стихи уже на сайте как дубли в других подборках, если по какой-то причине это пугает. Но это оооочень долгая операция, не советую.
Вот и всё, созданные страницы появятся.
8. Осталось создать для них разделы. Главная страница сайта называется index.htm Набираем ее в своем адресе, но такой нет, поэтому система предлагает создать, соглашаемся, создаём. Вносим в нее такой текст:
Всего стихов: {_ANONS: tags = стихи
limit = 999999999
days = 0
mode = count
_}
{_DAT: template=<p><div><font size=+2 color=#773900>{0}</font><p>{@ANONS:template = <a href=https://lleo.me/dnevnik/2021/02/'{link}'>{Header}</a><br>\ntags = {0}\nlimit = 999999999\ndays = 0_}</div>
{_GETALLTAGS: sort=1
YYYY _}
_}
Это сложная магия, которая состоит в том, что движок находит все варианты тэгов годов и по каждому году формирует списки стихов, относящиеся к нему. Это по годам. В меню можно создать страницу стихов по алфавиту. Там чуть иная магия:
{_STYLES:
.b { font-size:9px; margin-top:-10px;}
.BK { padding-bottom:20px; padding-top:20px; font-size:28px; color:#773900; }
_}
Всего стихов: {_ANONS: tags = стихи
limit = 999999999
days = 0
mode = count
_}
{_DAT: template=<div><div class=BK>{0}</div>{_nobr:
{@ANONS: template = <a name='{num}' href=https://lleo.me/dnevnik/2021/02/'{link}'>{Header}</a><div class=b>{Body}...</div>\n
preBody = {|STIH:delheader=1|no=1|\n
postBody = |}\n
tags = lj\n
limit = 999999999\n
days = 0\n
length = 60@}
_}</div>
{_GETALLTAGS: A_}
_}
Магия позволяет создавать самые разные оглавления и системы вывода заметок. Разумеется, это не магия, в ней есть своя логика вложенных модулей, но об этом в другой раз.
Важно: страницы разделов, созданные вручную таким образом, по умолчанию видны лишь админу (а вот стихи, созданные через addposts, доступны сразу всем). Чтобы их раскрыть, надо снова открыть их редактор и нажимать в настройках на красный кружок, пока он не сменится через жёлтый на зелёный. Тогда страница видна всем.
9. Чтобы создать новый стих в этом дизайне (допустим, стих вы сегодня написали), достаточно нажать на свое имя в шапке и откроется особо простая форма редактора, которая тэги тоже проставит затем сама.
10. Напоминаю, что это тот же самый движок, и помимо стихов он позволяет хранить страницы, дневники, сценарии и книги почти неограниченного объема. Также можно завести свой домен vasya.ru и прописать его DNS так, чтобы открывался он без всякого binoniq.
=============== /cut ===============
Если у кого-то есть желание помочь с дизайном страниц, это будет прекрасная помощь, потому что дизайн Иртеньева я тупо взял с его старого сайта, а он очень древний. А дизайн остальных страниц я кое-как лепил сам, он просто ужасен.
это перепост заметки, оригинал находится на моем сайте: https://lleo.me/dnevnik/2021/02/03