Skip to content

Commit 07d30e5

Browse files
authored
Update 2.installation.md
1 parent 011b0aa commit 07d30e5

File tree

1 file changed

+89
-125
lines changed

1 file changed

+89
-125
lines changed
Lines changed: 89 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,128 +1,92 @@
11
---
2-
title: Как использовать
3-
description: Практические примеры того, как читать, записывать и управлять файлами конфигурации из разных плагинов.
4-
icon: lucide:book-open
2+
title: Установка
3+
description: Подробное руководство по установке плагина, включая системные требования и зависимости.
4+
icon: lucide:download
55
---
66

7-
**Плагин Configs** предоставляет простой API для управления файлами конфигурации в экосистеме Plugify. Основные функции включают `ReadConfig`, `WriteConfig` и `MergeConfig`. Это руководство проведет вас через использование этих функций с практическими примерами.
8-
9-
## **Начало работы**
10-
11-
Чтобы использовать плагин Configs, сначала убедитесь, что он загружен. После загрузки вы можете получить доступ к его функциям через API Plugify. Имя плагина — `configs`.
12-
13-
## **Чтение конфигурации**
14-
15-
Функция `ReadConfig` используется для чтения файла конфигурации из каталога другого плагина. Она автоматически определяет формат файла и возвращает данные в виде строки.
16-
17-
### **Пример: Чтение файла JSON**
18-
19-
Предположим, у вас есть плагин с именем `my_plugin`, который имеет файл конфигурации `config.json`, и пользователь создал свой собственный файл `user.json` в папке `res/configs`.
20-
21-
**Код C++**
22-
```cpp
23-
#include <iostream>
24-
#include "configs.hpp" // Сгенерированный заголовочный файл
25-
26-
void ReadMyPluginConfig() {
27-
// Чтение файла конфигурации из 'my_plugin'
28-
const char* result = configs::ReadConfig("my_plugin", "config.json");
29-
if (result) {
30-
std::cout << result << std::endl;
31-
delete[] result; // Освободить память, выделенную плагином
32-
}
33-
}
34-
```
35-
36-
**Файл конфигурации (`my_plugin/config.json`)**
37-
```json
38-
{
39-
"setting1": "default_value",
40-
"setting2": 123
41-
}
42-
```
43-
44-
**Пользовательский файл конфигурации (`res/configs/my_plugin/user.json`)**
45-
```json
46-
{
47-
"setting1": "user_value"
48-
}
49-
```
50-
51-
**Ожидаемый вывод**
52-
Функция `ReadConfig` автоматически объединит пользовательскую конфигурацию с конфигурацией по умолчанию.
53-
```json
54-
{
55-
"setting1": "user_value",
56-
"setting2": 123
57-
}
58-
```
59-
60-
### **Важное примечание**
61-
Плагин Configs выделяет память для возвращаемой строки, которую необходимо освободить вручную с помощью `delete[] result;` после использования, чтобы избежать утечек памяти.
62-
63-
## **Запись конфигурации**
64-
65-
Функция `WriteConfig` используется для записи строки в файл конфигурации в папке `res/configs`.
66-
67-
### **Пример: Запись в файл конфигурации**
68-
Этот пример показывает, как записать новую конфигурацию в файл `user.json` для `my_plugin`.
69-
70-
**Код C++**
71-
```cpp
72-
#include "configs.hpp"
73-
74-
void WriteMyPluginConfig() {
75-
const char* newData = R"({ "setting1": "new_user_value", "setting3": true })";
76-
// Запись новой конфигурации в 'user.json' для 'my_plugin'
77-
configs::WriteConfig("my_plugin", "user.json", newData);
78-
}
79-
```
80-
81-
**Итоговый `user.json`**
82-
```json
83-
{
84-
"setting1": "new_user_value",
85-
"setting3": true
86-
}
87-
```
88-
89-
## **Объединение конфигураций**
90-
91-
Функция `MergeConfig` объединяет два файла конфигурации. Это полезно, когда вам нужно объединить конфигурацию по умолчанию с пользовательской конфигурацией вручную.
92-
93-
### **Пример: Объединение конфигурации по умолчанию с пользовательской конфигурацией**
94-
Этот пример показывает, как объединить `default.json` с `user.json`.
95-
96-
**Код C++**
97-
```cpp
98-
#include <iostream>
99-
#include "configs.hpp"
100-
101-
void MergeMyConfigs() {
102-
const char* defaultConfig = R"({ "setting1": "default", "setting2": 10 })";
103-
const char* userConfig = R"({ "setting1": "user" })";
104-
105-
const char* mergedResult = configs::MergeConfig(defaultConfig, userConfig, "json");
106-
if (mergedResult) {
107-
std::cout << mergedResult << std::endl;
108-
delete[] mergedResult;
109-
}
110-
}
111-
```
112-
113-
**Ожидаемый вывод**
114-
```json
115-
{
116-
"setting1": "user",
117-
"setting2": 10
118-
}
119-
```
120-
121-
## **Рекомендации**
122-
- **Всегда освобождайте память**: Не забывайте освобождать память, возвращаемую `ReadConfig` и `MergeConfig`, с помощью `delete[]`.
123-
- **Используйте правильные имена файлов**: Убедитесь, что вы используете правильные имена файлов конфигурации при чтении или записи.
124-
- **Обрабатывайте ошибки**: Проверяйте наличие нулевых указателей при чтении конфигураций, чтобы корректно обрабатывать ошибки.
125-
126-
## **Заключение**
127-
128-
Плагин Configs предоставляет простой, но мощный способ управления файлами конфигурации в Plugify. Следуя примерам и рекомендациям, изложенным в этом руководстве, вы можете эффективно читать, записывать и объединять конфигурации, обеспечивая при этом сохранение пользовательских настроек.
7+
**Configs Plugin** можно установить двумя способами: вручную загрузив релиз или с помощью менеджера пакетов Plugify. Это руководство описывает оба метода и предоставляет пошаговые инструкции.
8+
9+
## **Метод 1: Ручная установка**
10+
11+
::steps
12+
### **Скачайте релиз**
13+
1. Перейдите в [репозиторий Configs Plugin](https://github.com/untrustedmodders/plugify-configs).
14+
2. Перейдите в раздел **Releases**.
15+
3. Скачайте последний релиз (например, `configs.zip`).
16+
17+
### **Распакуйте архив**
18+
1. Распакуйте загруженный архив во временную папку.
19+
20+
### **Поместите плагин в папку plugins**
21+
1. Найдите папку `plugins` в каталоге установки Plugify.
22+
2. Скопируйте распакованные файлы плагина в папку `plugins`.
23+
24+
### **Проверьте установку**
25+
1. Запустите Plugify.
26+
2. Плагин Configs должен быть доступен для использования.
27+
::
28+
29+
## **Метод 2: Установка через менеджер пакетов**
30+
31+
::steps
32+
### **Добавьте репозиторий (если требуется)**
33+
Если Configs Plugin не найден в стандартном репозитории, его нужно добавить вручную.
34+
35+
#### **Вариант A: Добавление через команду**
36+
1. Выполните следующую команду в терминале:
37+
```bash
38+
plg repo https://untrustedmodders.github.io/plugify-configs/configs.json
39+
```
40+
41+
#### **Вариант B: Добавление через `plugify.pconfig`**
42+
1. Откройте файл `plugify.pconfig` в каталоге установки Plugify.
43+
2. Добавьте следующую строку в раздел `repositories`:
44+
```json
45+
{
46+
"repositories": [
47+
"https://untrustedmodders.github.io/plugify-configs/configs.json"
48+
]
49+
}
50+
```
51+
52+
### **Установите плагин**
53+
1. Выполните следующую команду в терминале:
54+
```bash
55+
plg install configs
56+
```
57+
58+
### **Проверьте установку**
59+
1. Запустите Plugify.
60+
2. Плагин Configs должен быть установлен и готов к использованию.
61+
::
62+
63+
## **Структура папок**
64+
65+
После установки плагин Configs должен иметь следующую структуру папок:
66+
67+
::file-tree
68+
---
69+
tree:
70+
- res/plugins:
71+
- configs:
72+
- bin:
73+
- configs.dll
74+
- libconfigs.so
75+
- ^configs.pplugin^
76+
---
77+
::
78+
79+
### **Пояснение**
80+
- **`res/plugins/configs`**: Корневая папка для плагина Configs.
81+
- **`bin`**: Содержит скомпилированные бинарные файлы плагина (`.dll` для Windows, `.so` для Linux/macOS).
82+
- **`configs.pplugin`**: Манифест плагина, описывающий его и экспортируемые функции.
83+
84+
## **Устранение неполадок**
85+
86+
### **Плагин не найден**
87+
- Убедитесь, что URL репозитория указан правильно и доступен.
88+
- Проверьте, что репозиторий был добавлен в `plugify.pconfig` или через команду `plg repo <url>`.
89+
90+
### **Не удалось установить**
91+
- Проверьте интернет-соединение.
92+
- Убедитесь, что у вас установлена последняя версия Plugify.

0 commit comments

Comments
 (0)