2012-06-14

Blogger.com: как создать страницу со списком постов блога

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

Как и следовало ожидать, всё придумано до нас. Рецепт нашёлся довольно быстро.
На странице следует разместить следующий код:
<script style="text/javascript" src="http://abu-farhan.com/script/daftarisibloggerarchive/tocbyarchivemin.js">
</script>
<script src="http://yourblogname.blogspot.com/feeds/posts/default?max-results=500&alt=json-in-script&callback=loadtoc">
</script>

Я пошёл чуть дальше, решил подстраховаться и разместил код скрипта tocbyarchivemin.js у себя, используя следующую конструкцию:
<script type='text/javascript'>
//<![CDATA[
[Содержимое скрипта tocbyarchivemin.js]
//]]>
</script>
<script src="http://yourblogname.blogspot.com/feeds/posts/default?max-results=500&alt=json-in-script&callback=loadtoc">
</script>

В итоге получился вполне подходящий результат:

9 комментариев:

  1. Не понял, а чем не устраивает стандартный виджет от блоггера? Там можно его сделать в виде иерархического списка - дёшево, красиво и сердито. Why not?

    На самом деле, Акулович, сходный скрипт у меня генерит не тупо список постов, а Оглавление. Это разбивка постов по тегам. И вот это крутая инновация, надо сказать. Один изъян - ест много трафика.

    ОтветитьУдалить
  2. > Не понял, а чем не устраивает стандартный виджет от блоггера?
    Не хочу, чтобы он постоянно загружался. 99% на него даже не посмотрит. Поэтому вынес на отдельную страницу, как в модных нынче генераторах статических сайтов аля Jekyll. Мне кажется, так логичнее и правильнее.

    Твой вариант видел, он мне не подходит. Дата написания поста не учитывается.

    ОтветитьУдалить
  3. А можете рассказать как и где "разместить код скрипта у себя", так как указанный уже не работает. И как убрали даты? Спасибо)

    ОтветитьУдалить
  4. @Lily N
    Необходимо создать страницу (Page) в интерфейсе Блоггера, переключить редактор в режим HTML и скопировать код.
    Обращаю внимание на строку с адресом. Её нужно отредактировать под ваши нужды, само собой.

    ОтветитьУдалить
  5. Спасибо за ответ! Я так поняла, что код по ссылке вставить на страницу, например "Архив блога" у меня, в HTML коде и изменить строчку с адресом своего блога.... Что-то у меня не получилось, или я не так поняла)

    ОтветитьУдалить
  6. Всё правильно поняли :-)
    Так это выглядит у меня.

    ОтветитьУдалить
  7. Тогда я не знаю, у меня все так же в HTML коде, но отображать архив не хочет(((
    Вот мой архив

    ОтветитьУдалить
  8. Я разобрался, в чем причина. Редактор Blogger добавил лишние переносы строк в код javascript. Все должно быть в одну строку. Правильное содержимое доступно тут.

    ОтветитьУдалить
  9. Ураа, убрала все переносы и все получилось!! Большое спасибо за помощь!!! :))

    ОтветитьУдалить