1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-hexo-douban

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

hexo-douban

Маленький плагин для встраивания персональной страницы Douban в страницы Hexo.

package version npm GitHub license

NPM

Принцип работы

hexo-douban был обновлен до версии 2.x, изменив логику получения данных, переместив её в скрытый серверный компонент, что позволяет решать вопросы получения данных, кэширования данных и противодействия риску, повышая успешность и скорость генерации страниц.

Установка

Требуемая версия Node.js >= v18

$ npm install hexo-douban --save

Настройка

Добавьте следующую конфигурацию в файл конфигурации сайта _config.yml (не в конфигурационный файл темы).

Упрощённая конфигурация

douban:
  id: 162448367
  book:
    title: "Это заголовок моей книги"
  movie:
    title: "Это заголовок моего фильма"
  game:
    title: "Это заголовок моей игры"
  song:
    title: "Это заголовок моей песни"

Полная конфигурация```yaml

douban: id: 162448367 builtin: false dynamic: false item_per_page: 10 meta_max_line: 4 customize_layout: page swup: false book: path: books/index.html title: "Это заголовок моей книги" quote: "Это цитата из моей книги" actions: - do - wish - collect option: movie: path: movies/index.html title: "Это заголовок моего фильма" quote: "Это цитата из моего фильма" actions: - do - wish - collect option: game: path: games/index.html title: "Это заголовок моей игры" quote: "Это цитата из моей игры" actions: - do - wish - collect option: song: path: songs/index.html title: "Это заголовок моей песни" quote: "Это цитата из моей песни" actions: - do - wish - collect option:

- **id**: Ваш идентификатор Douban (числовая форма, а не пользовательское доменное имя). Метод получения можно найти в [этой статье](https://www.zhihu.com/question/19634899).
- **builtin**: Установите, будет ли команда `hexo douban` по умолчанию встроена в `hexo g`, `hexo s`, чтобы она автоматически выполняла команду `hexo douban`. По умолчанию отключено.
- **dynamic**: Будет ли страница Douban запрашиваться в режиме реального времени при каждом доступе. По умолчанию `false`, что означает, что информация страницы будет обновляться при выполнении команды `hexo douban`. Преимущество заключается в том, что сгенерированная страница не будет зависеть от доступности интерфейса в будущем, недостаток - необходимость ручного обновления. Если значение установлено в `true`, то страница будет запрашиваться в режиме реального времени при каждом доступе, без необходимости выполнения команды `hexo douban` для обновления страницы.Однако, если интерфейс недоступен, страница будет недоступна.
- **item_per_page**: Количество элементов на странице по умолчанию 10.
- **meta_max_line**: Максимальное количество строк информации для каждого элемента, превышение которого приведет к сокращению ". . . ". По умолчанию 4.
- **customize_layout**: Файл с пользовательским макетом. По умолчанию `page`. Если нет специальных требований, оставьте поле пустым. Если значение установлено в `abcd`, это означает использование файла `//theme/hexo-theme/layout/abcd.ejs` для рендеринга страницы Douban.
- **swup**: Поддержка [swup](https://swup.js.org/plugins/scripts-plugin/). Поддерживает горячую загрузку скриптов, что решает проблемы загрузки для некоторых одностраничных тем. По умолчанию `false`.
- **path**: Путь к сгенерированной странице по умолчанию //yourblog/books/index.html и т. д. Если требуется пользовательский путь, его можно изменить здесь.
- **title**: Заголовок страницы.
- **quote**: Текст, написанный в начале страницы, поддерживает HTML-синтаксис, может быть пустым.
- **actions**: Список строк, представляющий настройки меток "уже X", "хочу X", "X-нуто" на сгенерированной странице. По умолчанию фокусируется на первой метке. Возможные значения: 'do', 'wish', 'collect'.
- **option**: Дополнительные настройки Front-matter для страницы, см. [документацию Hexo](https://hexo.io/docs/front-matter.html). Если нет специальных требований, оставьте поле пустым.Если вы хотите отобразить только один раздел (например, movie), просто закомментируйте другие конфигурационные параметры.## Использование

**Показать справочную информацию**

$ hexo douban -h Использование: hexo douban

Описание: Создание страниц из Douban

Параметры: -b, --books Создание страниц Douban books только -g, --games Создание страниц Douban games только -m, --movies Создание страниц Douban movies только -s, --songs Создание страниц Douban songs только


**Основная команда для создания страниц Douban**

$ hexo douban INFO Начало обработки INFO 0 (желаемые), 0 (сделано), 0 (собрано) игр загружено за 729 мс INFO 0 (желаемые), 0 (сделано), 20 (собрано) песен загружено за 761 мс INFO 2 (желаемые), 0 (сделано), 136 (собрано) книг загружено за 940 мс INFO 30 (желаемые), 0 (сделано), 6105 (собрано) фильмов загружено за 4129 мс INFO Сгенерировано: books/index.html INFO Сгенерировано: movies/index.html INFO Сгенерировано: games/index.html INFO Сгенерировано: songs/index.html


Если параметры не указаны, по умолчанию используется `-bgms`. Конечно, это предполагает, что конфигурационные файлы содержат все эти типы данных.

**Важно отметить**, что обычно все используют `hexo d` как сокращение для `hexo deploy`, но после установки `hexo douban` это использовать нельзя, так как `hexo douban` и `hexo deploy` имеют одинаковые префиксы `hexo d`.

Если `builtin:false`, после выполнения `hexo g` вы обнаружите, что страницы, созданные Douban, были удалены:

INFO Начало обработки INFO Файлы загружены за 343 мс INFO Удалено: games/index.html INFO Удалено: books/index.html INFO Удалено: movies/index.html INFO Удалено: songs/index.html ```Тогда выполните hexo clean (причина — кэширование данных из db.json).

При первом использовании hexo douban система асинхронно загружает данные, обычно это требует некоторого времени (система обращается к вашим метаданным). В нормальных условиях, среднее время загрузки одной страницы составляет 10 секунд.

Например, если у вас есть 150 книг, которые вы хотите прочитать, 150 книг, которые вы уже прочитали, и 150 книг, которые вы читаете, и каждая страница содержит 15 книг, то вам потребуется 30 страниц. Это означает, что вам потребуется около 5 минут ожидания (30 * 10 / 60 = 5 минут).

Если обновление не происходит в течение длительного времени (более одного дня), пожалуйста, сообщите об этом в issue.

При последующих обновлениях данных на Douban, hexo douban также автоматически обновит данные (также потребуется некоторое время для загрузки обновлений). Однако, для обеспечения безопасности, данные для одного пользователя id обновляются не чаще одного раза каждые 30 минут.Из-за высокой задержки RT (Response Time) при глубоком пагинации на Douban (для более чем 10 000 записей RT может достигать 15 до 60 секунд), чтобы предотвратить перегрузку системы, для каждого пользователя и каждого типа данных загружается не более 10 000 записей. Если параметр dynamic установлен в true, то при каждом посещении страницы автоматически будет отправляться запрос на обновление к серверу, без необходимости выполнения команды hexo douban вручную.## Обновление

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

  1. Измените версию hexo-douban в файле package.json на последнюю.
  2. Установите последнюю версию с помощью команды npm install hexo-douban --save.

Или используйте команду npm install hexo-douban --update --save для автоматического обновления.

Отображение

Если все настройки и действия выполнены правильно, вы сможете открыть страницы //yourblog/books, //yourblog/movies, //yourblog/games после создания сайта и проверить результат.

Меню

Если отображение работает корректно, вы можете добавить следующие настройки в файл конфигурации темы _config.yml, чтобы создать меню для этих страниц.

menu:
  Главная: /
  Архивы: /archives
  Книги: /books # Это страница с книгами
  Фильмы: /movies # Это страница с фильмами
  Игры: /games # Это страница с играми
  Песни: /songs # Это страница с песнями

Общая среда

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

Интерфейсы

Если вам нужно только сделать резервную копию ваших данных с Douban, вы можете использовать следующие интерфейсы, воспользовавшись сервисом извлечения данных mouban:

# Замените {your_douban_id} на ваш уникальный идентификатор Douban
```# Ввод/обновление пользователя

https://mouban.mythsman.com/guest/check_user?id={your_douban_id}

# Получение отзывов пользователя о книгах

https://mouban.mythsman.com/guest/user_book?id={your_douban_id}&action=wish

https://mouban.mythsman.com/guest/user_book?id={your_douban_id}&action=do

https://mouban.mythsman.com/guest/user_book?id={your_douban_id}&action=collect

# Получение отзывов пользователя о фильмах

https://mouban.mythsman.com/guest/user_movie?id={your_douban_id}&action=wish

https://mouban.mythsman.com/guest/user_movie?id={your_douban_id}&action=do

https://mouban.mythsman.com/guest/user_movie?id={your_douban_id}&action=collect

# Получение отзывов пользователя о играх

https://mouban.mythsman.com/guest/user_game?id={your_douban_id}&action=wish

https://mouban.mythsman.com/guest/user_game?id={your_douban_id}&action=do

https://mouban.mythsman.com/guest/user_game?id={your_douban_id}&action=collect

# Получение отзывов пользователя о музыке

https://mouban.mythsman.com/guest/user_song?id={your_douban_id}&action=wish

https://mouban.mythsman.com/guest/user_song?id={your_douban_id}&action=do

https://mouban.mythsman.com/guest/user_song?id={your_douban_id}&action=collect

## Они используют

Ниже приведен список сайтов, использующих плагин в различных темах Hexo. Это только для справки.

Если вы используете этот плагин, вы также можете отправить pull request, чтобы добавить ваш сайт в README.md для использования другими людьми.

### [hexo-theme-butterfly](https://github.com/jerryc127/hexo-theme-butterfly)- [Блог Seven Crocodiles - Изучение и развитие](https://blog.gmcj0816.top/books/)
- [Ofra Serendipity](https://cmwlvip.github.io/movies/)
- [Коробка со леденцами - Блог Цзинь](https://cvki.cn/movies/)
- [Фу Сай Кэмберлар - Блог Цзинь](https://zipblog.top/movies/)
- [Личные мысли и наблюдения](https://www.ensoul.club/books/)
- [Week.wiki](https://week.wiki/movies/)
- [CodeRain - Чем больше стараешься, тем больше удача](https://code7rain.github.io/movies/)
- [hangzl's Blog - Время длинное, но стоит того](https://hangzl.xyz/movies/)
- [Lmx0](https://www.lmx0.top/movies/)
- [Блог Лао Пань - JZ](https://laopangshu.top/movies/)
- [Компания ТФК - Официальный сайт](https://kisugitakumi.net/movies/)
- [Блог Фрукт О - Личный сайт](https://www.shengshunyan.xyz/movies/)
- [Блог TFC](https://iqdxa.github.io/movies/)
- [Блог Лю Сяобу - MindCons](https://mindcons.cn/booklist/)
- [Дарлер Спейс - Быстрый полет](https://blog.darler.cn/movies/)
- [Evergarden](https://evergarden.moe/books/)
- [Продолжение реальности](https://www.intelland.cn/movies/)
- [Дневник изучения компьютера Галлифрея - Архив статей](https://gallifrey.asia/)
- [Блог Чена](https://chenxs.site/)### [hexo-theme-matery](https://github.com/blinkfox/hexo-theme-matery)

- [Моуянг - продвинутый](https://imouyang.com/books/)
- [Блог Пэйки](https://jupeiqi.top/books/)

### [hexo-theme-next](https://github.com/theme-next/hexo-theme-next)

- [Блог Ляо Цзянь - Никогда не сдавайся](https://blog.home999.cc/books)
- [Блог Сича](https://sitchzou.com/movies/)

### [hexo-theme-stellar](https://github.com/xaoxuu/hexo-theme-stellar)

- [Суть вопроса](https://www.shifeiti.com/about/movies/)
- [Мерри Джингл](https://blog.pengfeima.cn/movies/)
- [Мейюань Суиджин - Жизнь](https://www.auntyang.cf/life/doubanmovies/)
- [Су Мо Ляо](https://sumorio.com/douban/movie/)

### [hexo-theme-volantis](https://github.com/volantis-x/hexo-theme-volantis)

- [Лао Лянг Юй Мо](https://www.laoliang.ink/book/)

### [hexo-theme-pure](https://github.com/cofess/hexo-theme-pure)

- [Фюпэнг](https://lhx.cool/movies/)

### [hexo-theme-icarus](https://github.com/ppoffice/hexo-theme-icarus)

- [There Hello](https://therehello.top/movies/)

### [hexo-theme-fluid](https://github.com/fluid-dev/hexo-theme-fluid)

- [Блог Лостстар](https://blog.loststar.tech/movies)
- [Блог Мерикбао](https://merickbao.github.io/movies/)

## Отказ от ответственности

Этот проект предназначен только для образовательных и обменных целей и не может использоваться для коммерческих целей.

Данные получены из открытых источников в интернете, не было получено никакой личной или защищенной информации (личные данные и т.д.). Любые юридические споры, возникшие из-за этого, не имеют отношения к автору.

## Обратная связь

Система только что запущена, возможно, она еще не идеальна. Если у вас возникли какие-либо проблемы с данными или у вас есть какие-либо предложения, пожалуйста, создайте issue.Если вы считаете, что этот плагин полезен, пожалуйста, нажмите на звезду ⭐️ в правом верхнем углу, чтобы поддержать автора.

Если вы хотите узнать, как были получены данные, вы можете обратиться к проекту [mouban](https://github.com/mythsman/mouban).

## История звезд

[![Количество звезд со временем](https://starchart.cc/mythsman/hexo-douban.svg)](https://starchart.cc/mythsman/hexo-douban)

## Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

hexo-douban —— небольшой плагин для встраивания персональной страницы Douban в Hexo-страницы Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-hexo-douban.git
git@api.gitlife.ru:oschina-mirror/mirrors-hexo-douban.git
oschina-mirror
mirrors-hexo-douban
mirrors-hexo-douban
master