Сохранение ЖЖ Дмитрия Евгеньевича Галковского в читаемых форматах.
Готовые PDF можно скачать тут: https://github.com/orloffm/OrlovMikhail.GalkovskyLJ/releases/tag/2.0. EPUB и MOBI будут доступны после того, как будет исправлен баг в asciidoctor-epub3.
Все записи со всеми изображениями, а также все комментарии автора сохраняются по годам в отдельные файлы.
- Специальная программа сохраняет каждый пост в собственном XML-формате
в файл
book\YYYY\NNNN\dump.xml
, гдеYYYY
--- год, аNNNN
--- номер поста. После скачивания поста анализируется, какие комментарии войдут в книгу, и все изображения и юзерпики из самого поста и этих комментариев сохраняются рядом. Изображения --- в папкеbook\YYYY\NNNN\Files
, юзерпики --- в общей для всех постов папкеbook\userpics
. - Далее отдельная программа на основе
dump.xml
также анализирует список комментариев, после чего сохраняет текст поста в форматеAsciiDoc
в файлbook\YYYY\NNNN\fragment.asc
. Эти файлы совместно составляют целую книгу.
Сборка книги возможна только под Windows.
Потребуются Visual Studio и Ruby.
- Visual Studio.
- Скачать установщик Community Edition 2015: https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx.
- Запустить его. Выбрать кастомную установку, снять все галочки. (Т.е. Web-компоненты не нужны, нужен только C#.)
- Сборка проекта.
- Клонировать проекты https://github.com/orloffm/OrlovMikhail.Tools и https://github.com/orloffm/OrlovMikhail.LiveJournalGrabber
в папки того же уровня. Открыть их
src\*.sln
-файлы в VS и последовательно собрать в Release. - Клонировать данный проект в папку на том же уровне, собрать его
src\*.sln
.
- Клонировать проекты https://github.com/orloffm/OrlovMikhail.Tools и https://github.com/orloffm/OrlovMikhail.LiveJournalGrabber
в папки того же уровня. Открыть их
- Ruby.
- Скачать Ruby, версию >= 2.2 с http://rubyinstaller.org/downloads/. Возможно, рабочая ссылка --- http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.2.exe.
- Запустить установщик. При установке нужно отметить добавление программ в переменную PATH.
- Скачать Ruby Dev Kit оттуда же. Опять же, возможно рабочая ссылка --- http://dl.bintray.com/oneclick/rubyinstaller/DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe.
- Запустить скачанное, распаковать в произвольную папку, например,
C:\RubyDevKit
.
- Настройка Ruby.
- Открыть командную строку.
- Перейти в эту папку (
cd C:\RubyDevKit
). - Выполнить
ruby dk.rb init
. - Выполнить
ruby dk.rb install
. - Перейти в папку
book
проекта. - Установить bundler:
gem install bundle
. - Установить всё нужное для сбора книг:
bundle install
.
- Открыть консоль. Перейти в папку
book
проекта. - Запустить сборку:
make
. - Взять готовые файлы в папке
book\output
.
- Очистить результаты:
clean
. - Очистить результаты для одного года:
clean 2004
. - Собрать фрагменты для одного года:
fragmentate 2004
. - Подготовить список корневых документов:
prepare
. - Проверить собранные PDF:
pdftest
. - Собрать конкретную книгу:
build X
.
Информационно, это не требуется для сборки книги из исходников.
- Собрать проект, как указано выше.
- Купить платный аккаунт в ЖЖ: http://www.livejournal.com/shop/paidaccount.bml.
- Переключить на страницу выбора стиля журнала,
http://www.livejournal.com/customize/,
ввести в поиске
SimpleXML
, переключиться на этот layer. Его исходный код приведён в файле https://raw.githubusercontent.com/orloffm/OrlovMikhail.LiveJournalGrabber/master/Data/layer.txt. Теперь ЖЖ будет выдавать специально сформированный XML для вашего журнала. Возможно выдавать любой журнал в таком XML-виде путём добавления?style=mine
к адресу. Этим мы и пользуемся. - Открыть любой пост в ЖЖ. Включить в браузере по F12 консоль разработчика. Посмотреть, с каким cookie открывается страница.
- Открыть консоль.
- Зайти в папку
book
. - Запустить
dumper /url=<адрес поста> /cookie="<cookie>"
. Здесь:- Адрес поста --- полный его адрес, например, http://galkovsky.livejournal.com/15915.html.
- Cookie --- то, что мы скопировали из консоли разработчика. В кавычках.
Пример.
dumper /url=http://galkovsky.livejournal.com/15915.html /cookie="__utma=48425145..."
- Можно добавить параметр
/nocontinue
, тогда не будут скачаны посты далее. - В следующий раз можно указывать только
/url=...
, кука будет запомнена. - Программа автоматически вытаскивает год и номер поста из заголовка. Так что
в результате приведённой команды будет создан файл
book\2004\0061\dump.xml
, возможные файлы будут сохранены вbook\2004\0061\Files
, а нужные юзерпики --- вbook\userpics
. - Программу можно запускать подряд, в этом случае файл дампа не переписывается, а дополняется.
- Вернуться на страницу http://www.livejournal.com/customize/ и переключить журнал обратно в обычную тему.