Я тут подумал, а как, собственно, следует вести блог? Так как я достаточно скромен, то, пожалуй, не буду приписывать авторство этого вопроса себе. О том, что человечество давно и серьезно озадачилось этой проблемой, можно судить хотя бы по тому, что Google знает о ней. Но от этого не легче. Если я буду читать все, что есть в выдаче Google, даже отфильтровывая рекламу и совсем уж бредовый контент, то у меня (все равно) не останется времени заниматься чем-то другим. Тем более, вести блог.

Поэтому я решил начать с простого: систематизировать то, о чем хочется поведать миру. То есть, я должен сначала задать себе вопрос: а о чем я пишу? Вопрос, прямо скажем, не из легких. Но можно попробовать разобраться и найти пути к ответу.

Начать, вероятно, следует с того, что это не первый мой блог. Некоторое время назад я уже завел парочку: Компьютерные заметки на полях и Программистские заметки на полях. И вот в этом незначительном факте кроется первая подсказка. Если хорошенько напрячь лоб, то становится ясно, что я, еще в то время, возможно, подсознательно, разбил все, о чем хочу писать, на две большие категории:

  • то, что касается моей профессиональной деятельности - программирования
  • то, что касается моего хобби - возиться с программами и компами

И надо же, ничего умнее я не придумал, как завести два блога, да еще и дать им пусть и похожие, но, все-таки, разные доменные имена третьего уровня. Ладно, давайте все спишем на мою неопытность в данном вопросе и примем к сведению чистосердечное раскаяние.

Следующий вопрос, который я задал своему второму "я" - блогеру-самоучке: а о чем повествуют записи, опубликованные в этих его (моих) блогах? Если отбросить конкретику, то практически все они о том, что я пытался что-то сделать, столкнулся с небольшими трудностями, героически их преодолел, и, потому, счел себя вправе опубликовать об этом целую историю. В принципе, вполне себе обычный подход возгордившегося занудного любителя. Ну да ладно, таких же большинство, увеличим энтропию, приблизим конец света (знаю, знаю, не надо критиковать, это все лишь для красного словца, ну и - чтобы показать всем свою осведомленность).

В этом ответе, на самом деле, кроются некоторые проблемы, которые могут привести к не очень большой популярности как самих статей, так и блога в целом. Ну, опять же, на мой, не очень искушенный, взгляд. Ведь для чего люди приходят почитать что-нибудь в интернете? Тут, все, конечно, по-разному. Кто-то пришел искать ответы на свои вопросы, кто-то, напротив, найти эти самые вопросы, кто-то - ознакомиться с чьим-то мнением (чтобы яростно его проигнорировать). Если речь идет о поиске ответов на вопросы в такой области знаний и деятельности, как компьютерные технологии и программирование, то ищущих, чаще всего, интересует конкретный алгоритм решения проблемы, некоторая определенная последовательность действий, которая решит возникшее у них затруднение. Мало кого интересует путь, которым автор решения пришел к нему. А мне именно этот путь и интересен, и именно его, зтот процесс прохождения пути, я и описываю.

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

Я еще немного поморщил лоб и принял такое вот промежуточное - и по своей принципиальности, и по тому времени, пока оно будет действовать (я ведь понимаю, ситуации, когда "и волки сыты, и овцы целы" недолговечны, от слова "совсем") - решение. Вот, оцените, имеет ли оно право называться "Соломоновым", или нет.

Мне нравится писать именно так, как я пишу, и если этот аспект убрать, то, вскоре, я и вовсе перестану писать. Поэтому, я не отказываюсь от историй поиска и нахождения решений (кто же пишет о неудачах?). Но, как человек здравомыслящий и понимающий потребности большинства, я постараюсь давать и инструкции по использованию найденных решений.

Далее, остается (или, возникает) вопрос: как все это реализовать, чтобы было удобно и логично? Тут я буду исходить из сложившихся реалий. А они на настоящий момент таковы: блог я веду на self-hosted платформе Ghost. Соответственно, и использовать я могу только те инструменты, которые предоставляет эта платформа. Что же мы можем использовать?

Логично попытаться использовать механизм назначения тегов заметкам. То есть, введем тег, например, Компьютерные истории. Создадим его и настроим: привяжем картинку, придумаем URL, дадим описание - все чин чинарем.

Далее, добавим этот тег к тем заметкам, в которых я расписываю какие-нибудь приключения на тему борьбы с трудностями использования ПО, или настройки сервисов, ну, в общем, на компьютерную тему (благо, таких, пока, не очень много в этом новом блоге). Делать "первым" тегом такой тег можно, но, как-то, не очень правильно. На мой взгляд, надо добавлять его где-нибудь в конце списка назначенных посту тегов (я, например, добавил его везде в конец).

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

  1. Заходим в панель администрирования блога (https://your.blog-domain.com/ghost)
  2. Выбираем пункт Design
  3. Жмем на кнопку добавления нового пункта меню
  4. Вводим название нового пункта меню
  5. Вводим адрес страницы, открываемой при выборе пункта меню
  6. Повторяем пункты 3, 4, 5 сколько нужно раз
  7. Сохраняем произведенные изменения

Теперь, для тех, кому не интересно читать всю эту тягомотину, копируем последний абзац, создаем новый пост, например, Ghost: добавление пункта меню из панели управления блогом, вставляем ранее скопированную информацию, добавляем теги, включая Инструкции по применению (этот тег тоже надо создать, может, для него тоже сделаем пункт меню). Все, дело сделано!

Чего обычно хочется сделать по завершении какого-либо дела? Когда дело сделано и ты уже получил какое-никакое проедставление о том, что может тот или иной инструмент, а чего не может, что можно сделать, а чего нельзя, где, в каком месте и при каких условиях все получается быстро и легко, а где придется повозиться да еще и поизвращаться, вот тогда, когда все мытарства позади, когда груз приобретенных знаний тяжелым бременем придавил тебя к земле - именно в этот момент хочется оттолкнуться, взлететь и помечтать. Помечтать о том, что кога-нибудь все будет здорово, что количество мучений и извращений сократится до ничтожно малой величины, что все будет быстро, понятно и легко.

Переведу этот высокохудожественный пассаж на язык суровой действительности. Описанная мною процедура структуризации блога и навигации по нему, в принципе, работоспособна, но в определенных рамках. Дело в том, что теги, это все-таки не категории. Обычно, движки блогов здорово справляются с навигацией именно по категориям - их (категорий), как правило, немного, и они неплохо ложаться в структуру (многоуровнего) меню. С тегами все несколько сложнее, именно поэтому самым востребованным и удобным спосбом работы с тегами является так называемое облако тегов. Тегов много, и привязывать их к меню надо вручную. Кроме того, Ghost из интерфейса не позволит вам создать подменю, придется самостоятельно менять шаблон или искать готовый. К тому же, в предлагаемом варианте использовании тегов есть некоторая порочность, чревоточинка.

Ну, судите сами. В обычном состоянии, когда не надо привязываться к одноуровнему меню, я бы не создавал тег Компьютерные истории, у меня были бы теги Истории, Компьютер, ПО, Ghost и т.д. В идеале, мой пункт меню назывался бы Истории и имел бы подменю с таким, например, содержимым: Компьютерные войны, Ведение блога, Борьба с ПО, Похождения программиста и так далее. При выборе любого из этих подпунктов открывалась бы страница, отображающая заметки, помеченные не одним каким-то специальным тегом, а имеющих определенный набор тегов. Такой подход позволил бы получить значительно большую гибкость.

И тут надо отдать авторам Ghost должное: они работают над улучшением и упрощением того процесса, который я тут выше придумывал (изобретал велосипед, так сказать) и описывал. Они собираются внедрить технологию каналов - Channels. Работа идет уже не первый год, кое-что уже реализовано, но, далеко не все. Тем не менее, если все будет сделано, то описанный мной алгоритм получит значительно более простую реализацию. Мечты сбываются? Возможно. И, в завершении, хочу еще раз подчеркнуть - добиться нужного результата можно в Ghost и сейчас, только не из интерфейса консоли управления блогом, а путем программирования.