Создание нового поста.

Создание нового поста.

В админском меню Блоговой Наны предусмотрена соответствующая кнопка:

Сама форма для создания поста по ту сторону кнопки выглядит так:
(сразу напишем туда чего-нибудь)

Создание нового поста.

Всё, что Вам надо знать про поля этой формы:

  1. Дата публикации поста.

    Подставляется автоматически, и сразу в нужном формате. Это будет текущее время сайта, которым Вы можете управлять через настройки Наны, указав ей часовой пояс (он может не совпадать с Вашим локальным).

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

    При написании новых постов именно так следует и делать.
    Пользователь не подсмотрит на сайте пост во время его написания.
    То есть в не готовом виде.
    В примере мы так и поступили - указали дату на сутки вперёд.

    Предупреждение:

    Размещая пост в фиктивной дате, убедитесь, что в данной инсталляции Блоговой Наны в любой из её категорий не содержится поста в этой дате, с полным совпадением по времени публикации (с точностью до секунды).

    В противном случае пост заместит собой существующий. С точки зрения софта, это будет редактирование замещаемого поста, с полным обновлением его контента и переносом в другую категорию. Это ни разу не запрещено.

    В современных браузерах поле формы не даст себя заполнить в неверном формате, но, если Вы умудритесь как-то это проделать, Блоговая Нана всё равно заставит Вас этот формат соблюсти.

  2. Тема поста.

    Может содержать от 3 до 60 символов.
    На сами символы есть ограничения.
    Вот все они: 0-9 a-z A-Z а-я А-Я +-=.,():!?

  3. Текст поста.

    Пишется в HTML тегах.
    Для удобства выше и ниже поля формы есть кнопки подстановки тегов.

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

  4. Категория поста.

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

  5. Форма загрузки картинки.

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

    При загрузке изображения его HTML код подставляется либо в самое начало поста, либо вместо первого вхождения в коде поста такого тега:

    <img src="#">

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

    Место жительства картинки будет понятно из её URL-а в коде.

  6. Поле для макросов поста.

    Может содержать либо пробел (он уже изначально подставлен), либо перечень макросов, создаваемых как автоматически, так и вручную. Сами макросы таковы:

    1. <!-- cat:xxx --> Подставляется автоматически.

      Идентификатор категории, к которой относится пост. Если индекс постов будет утерян вследствие какого-нибудь сбоя на сервере, этот индекс всегда можно воссоздать автоматически, с сохранением привязки постов к своим категориям. За что и отвечает данный макрос.

    2. <!-- last:xxx --> Подставляется автоматически.

      Последнее время изменения поста.
      Требуется для работы с хедерами Last-Modified и If-Modified-Since
      Для современных поисковых систем эти хедеры очень важны.

      Было бы логично время последнего изменения поста брать прямо из даты его файла. Однако при всевозможных переездах сайта между хостингами, при переносе сайта между серверами одного хостера, и тому подобными рутинными процедурами, даты файлов тоже меняются. Так что указанный макрос будет заботиться о правильной дате последнего изменения поста, и адекватных значениях указанных выше хедеров, отдаваемых индексирующим ботам поисковых систем.

    3. <!-- comment_time_limit:xxx --> Подставляется руками.

      Время в сутках, на протяжении которого к данному посту принимаются комментарии. При отсутствии макроса действуют настройки блога, при наличии - то, что подставлено вместо xxx

      Указав там ноль, Вы тем самым запретите комментарии к посту.

    4. <!-- csp:xxx URL --> Подставляется руками.

      Исключения для CSP политики. Вместо xxx возможны записи:

      img-src
      script-src
      frame-src
      object-src
      connect-src
      style-src
      media-src
      font-src
      form-action

      Вместо URL подставляется домен сайта с указанием протокола, с которого (или на который) импортируются или экспортируются данные.

      В рамках рассмотрения специфики работы с Блоговой Наной вопросы CSP политики не затрагиваются, по отношению к скрипту они внешние. Но механизм разрешения импорта контента в посты блога именно таков, через данный макрос. Если мало одного - пишите несколько, для разных секций CSP политики, и разных доменов. Этот набор макросов во всей их совокупности поймётся верно.

      Например, самый первый по дате пост из демоблога с хаджами бродячих самураев ссылается на карты Гугла, треки в специальном сервисе, и видеохостинг. Его набор макросов для исключений CSP политики выглядит так:

         <!-- csp:frame-src https://www.youtube.com -->
         
      <!-- csp:frame-src https://www.wikiloc.com -->
         
      <!-- csp:frame-src http://maps.google.ru -->
         
      <!-- csp:frame-src https://maps.google.ru -->
         
      <!-- csp:frame-src https://www.google.com -->
         
      <!-- csp:frame-src https://maps.google.com -->

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

Все поля оборудованы указателем справа, который индицирует кошерность заполнения поля. Что-то неверно - индикатор красный, всё формально правильно - зелёный.

Отправка формы создания нового поста.

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

В ответ на экране ему будет показан получившийся пост (так, как он реально будет виден в блоге), а ниже форма, теперь уже являющаяся редактором поста:

18 декабря 2018, 18:44

Чтобы ничего не делать, надо находиться очень высоко.

Чтобы ничего не делать, надо находиться очень высоко.

Сидела одна ворона на дереве, и целый день ничего не делала.

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

- Конечно, а почему бы и нет? - ответила птица.

Тогда заяц блаженно развалился под деревом, закрыл глаза, и забыл обо всех заботах.

Вдруг из-за кустов выскочила лиса.
Увидела расслабившегося зайца, и съела его.
Ибо, чтобы ничего не делать, надо находиться очень и очень высоко.

Что нам тут интересно?

Пост, отправленный в будущее, при отображении блогом заключает дату своей публикации в красную рамку. Это говорит Администратору, что пока посетители этого поста не видят.

По завершении написания поста его можно перенести на любое другое время публикации, просто исправив дату в первом поле формы, и нажав кнопку внесения изменений. Точно так же можно таскать пост между категориями блога, выбрав в выпадающем меню иную категорию.

Для удобства Администратора при каждом субмите формы редактирования поста страница сразу прокручивается к началу формы редактирования - сэмулировать это можно данной ссылкой.

Прокрутив колёсиком мышки страницу чуть выше, Администратор увидит последние изменения поста, как они будут выглядеть для читателя (обычно пост пишется фрагментами, от начала к концу). Там же есть кнопка возврата к посту без всяких форм редактирования, чтобы видеть готовый итоговый вариант в оригинальном оформлении блога.

Про форму с макросами разговор уже заходил, автоматически создаваемые макросы в примере присутствуют. Если нужно, администратор добавляет свои.

Особые теги.

Поскольку Блоговая Нана при просмотре категорий или морды блога пытается для каждого поста сформулировать анонс, может возникнуть желание сознательно поместить в анонс некоторый выбранный фрагмент поста, либо вообще специально предназначенный только для этого текст. Да, так можно сделать.

Давайте договоримся, что никак не отображаемый визуально тег форматирования div в зависимости от манеры его написания (большими либо мелкими буковками) будет прятать с глаз долой содержимое своего контейнера в зависимости от режима просмотра.

<DIV>
   <
p>Этот текст не отображается постом.
   <
br>Но уходит в анонс.</p>
</
DIV>

<
div>
   <
p>Этот текст не отображается анонсом поста.
   <
br>Но виден на странице поста.</p>
</
div>

   <
p>Этот текст уходит и в анонси в пост.</p>

Вкладывать тег div матрёшкой сам в себя не рекомендуется.

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

Теперь на вопрос, как выводить в анонс не самую первую картинку поста, есть очевидный ответ. Помещайте нежелательные в анонсе картинки в контейнер div, написанный мелкими буковками. Для анонсопостроителя они перестанут существовать.

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