Skip to content
This repository has been archived by the owner on Sep 22, 2020. It is now read-only.

Commit

Permalink
1.0.0-beta.3 (#3)
Browse files Browse the repository at this point in the history
The release of 1.0.0-beta.3 version.
  • Loading branch information
Amaimersion authored Feb 23, 2018
1 parent 0af3e3b commit c8d87bc
Show file tree
Hide file tree
Showing 31 changed files with 2,188 additions and 409 deletions.
1 change: 0 additions & 1 deletion CHANGELOG-EN.md

This file was deleted.

113 changes: 113 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1,114 @@
# 1.0.0-beta.3 (23 февраля, 2018)

## Расширение

### Добавлено

* Добавлены настройки.
* Добавлен профиль пользователя.

### Изменено

* Изменено название c "2ch+" на "2ch-helper".
* Изменен формат версии. Теперь не beta-дата, а 1.0.0-beta.версия-беты.

## Проект

### Добавлено

* Добавлена документация для модулей.
* Добавлена информация в CHANGELOG.
* Добавлена информация в README.
* Добавлены модули: background-events.js, background-user-profile.js, settings-download.js, settings-iframe.js, settings-screenshot.js, settings.js, settings-iframe.css, settings.css.
* Добавлены страницы: settings-download.html, settings-screenshot.html.
* Добавлены библиотеки: bootstrap-slider.min.js, bootstrap-slider.min.css.
* Добавлен "persistent: false" в манифест.

### Удалено

* Changelog (EN версия).
* Readme (EN версия).
* License (RU версия).
* Удален временный коментарий из content-downloads.js.

### Изменено

* Большинство "then" изменено на "await".
* Незначительные изменения в коде.
* Изменена страница настроек.
* Изменен порядок загрузки скриптов.

# 1.0.0-beta.2 (11 февраля, 2018)

## Расширение

### Изменено

* Скачанные файлы имеют оригинальное имя.
* Скриншот постов имеет имя `posts.jpg`.
* Скриншот треда имеет имя `thread.jpg`.
* Во время создания скриншота все "ненужные" детали страницы скрываются.
* Если во время работы расширения произошла ошибка, то она появится в консоли браузера.

## Проект

### Добавлено

* Changelog (RU и EN версия).
* Readme (EN версия).
* License (RU версия).

### Удалено

* удалена папка `libs` из `extension/interaction/js/`.

### Изменено

* Произведено разделение логики расширения на модули.
* Исчезли глобальные переменные. Теперь каждая переменная закреплена за собственным модулем.
* Общие функции или специфические функции перенесены в главный модуль API (`content-API.js`, `background-API.js`).
* Произведен рефакторинг всех скриптов.
* Большинство функций реализованы через `Promise`.
* Переменные `var` заменены на `const` и `let`.
* Изменена логика каждого модуля.
* Изменен формат сообщений между модулями. Теперь в сообщении обязательно должен содержаться тип сообщения.
* Модули скриншота полностью переписаны.
* Изменен алгоритм получения координат.
* Скриншоты делаются в формате JPEG c качеством 100%.
* Появилась обработка ошибок.

### Улучшение производительности

* Модули инжектятся в страницу не сразу, а по мере их необходимости.
* Память освобождается от мусора после создания скриншота.

# 1.0.0-beta.1 (5 февраля, 2018)

## Расширение

### Новые функции

* **скриншот**:
* создание скриншота треда.
* **загрузка**:
* скачивание изображений.
* скачивание видео.
* скачивание медиаконтента (изображения + видео).
* скачивание треда.

## Проект

### Изменено

* Скрипты взаимодействия теперь находятся в папке `scripts`.

# 1.0.0-beta.0 (3 февраля, 2018)

Релиз проекта.

## Расширение

### Новые функции

* **скриншот:**
* создание скриншота постов.
1 change: 0 additions & 1 deletion LICENSE-RU

This file was deleted.

1 change: 0 additions & 1 deletion README-EN.md

This file was deleted.

41 changes: 39 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,39 @@
# 2ch-helper
Расширение для Google Chrome, которое упрощает взаимодействие с сайтом 2ch.hk
<h1 align="center">
2ch-helper
</h1>

<p align="center">
Расширение для браузера, которое облегчает взаимодействие с имиджбордой 2ch.hk.
</p>

<br>

## Содержание

- [Возможности](#Возможности)
- [Системные требования](#Системные-требования)
- [Установка](#Установка)
- [Лицензия](#Лицензия)

## Возможности

- создание скриншота постов и треда.
- загрузка изображений, видео и треда.

## Системные требования

- Браузер: Google Chrome.

## Установка

**GitHub**

1. Скачайте этот репозиторий.
2. Перейдите на вкладку <chrome://extensions>.
3. Включите режим разработчика.
4. Нажмите на "Загрузить распакованное расширение...".
5. Выберите папку "extension".

## Лицензия

Исходный код находится под [лицензией MIT](https://github.com/Amaimersion/2ch-helper/blob/master/LICENSE "Лицензия").
58 changes: 58 additions & 0 deletions extension/interaction/js/scripts/background/background-API.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,69 @@
/**
* The common module for usage in others background modules.
*
* @module BackgroundAPI
*/
function BackgroundAPI() {}


/**
* Settings of user.
*
* @memberof BackgroundAPI
* @static
* @type {Object}
*/
BackgroundAPI.userSettings = {};


/**
* Clears a cashe of the background page.
* It just reload a page, but it's works.
*
* @memberof BackgroundAPI
* @static
*/
BackgroundAPI.clearCashe = function() {
window.location.reload(true);
}


/**
* Gets an user settings from chome storage.
* After getting they will be setted to BackgroundAPI.userSettings.
*
* @memberof BackgroundAPI
* @static
* @async
*/
BackgroundAPI.getUserSettings = function() {
// what settings to receive.
const settings = [
'settings_screenshot',
'settings_download'
];

chrome.storage.sync.get(settings, (data) => {
this.userSettings = data;
});
}


/**
* Injects a script into the page.
*
* @memberof BackgroundAPI
* @static
* @async
*
* @param {Object} options
* An options for execute.
* See https://developer.chrome.com/extensions/tabs#method-executeScript
*
* @returns {Promise<void | Error>}
* A promise for the inject that will resolve when injects are successfully completed.
* Resolve will contain nothing if success, otherwise reject will contain an error.
*/
BackgroundAPI.injectScript = function(options) {
return new Promise((resolve, reject) => {
chrome.tabs.executeScript(options, (result) => {
Expand Down
Loading

0 comments on commit c8d87bc

Please sign in to comment.