reflex/docs/in/README.md
Shreyas0410 e82bc40479
docs: fixed wrapping react link (#2097)
* docs: fixed wrapping react link

* updated link in all Readme
2023-10-31 10:23:19 -07:00

232 lines
15 KiB
Markdown

```diff
Pynecone рдХреА рддрд▓рд╛рд╢ рд╣реИрдВ? рдЖрдк рд╕рд╣реА рд░реЗрдкреЛ рдореЗрдВ рд╣реИрдВред Pynecone рдХрд╛ рдирд╛рдо Reflex рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред + +
```
<div align="center">
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg#gh-light-mode-only" alt="Reflex Logo" width="300px">
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
<hr>
### **тЬи Python (рдкрд╛рдпрдерди) рдореЗрдВ рдкрд░рдлреЙрд░реНрдореЗрдВрдЯ, рдЕрдиреБрдХреВрд▓рдирдпреЛрдЧреНрдп рд╡реЗрдм рдРрдкреНрд╕ред рдХреБрдЫ рд╕реЗрдХрдВрдбреНрд╕ рдореЗрдВ рд╣реА рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдВ тЬи**
[![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
![tests](https://github.com/pynecone-io/pynecone/actions/workflows/integration.yml/badge.svg)
![versions](https://img.shields.io/pypi/pyversions/reflex.svg)
[![Documentaiton](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)
[![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
</div>
---
[English](https://github.com/reflex-dev/reflex/blob/main/README.md) | [чоАф╜Уф╕нцЦЗ](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_cn/README.md) | [ч╣БщлФф╕нцЦЗ](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_tw/README.md) | [T├╝rk├зe](https://github.com/reflex-dev/reflex/blob/main/docs/tr/README.md) | [рд╣рд┐рдВрджреА](https://github.com/reflex-dev/reflex/blob/main/docs/in/README.md) | [эХЬъ╡ньЦ┤](https://github.com/reflex-dev/reflex/blob/main/docs/kr/README.md)
---
## тЪЩя╕П рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди
рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ (Python 3.8+ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):
```bash
pip install reflex
```
## ЁЯе│ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдРрдк рдмрдирд╛рдПрдВ
reflex рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рд╣реА reflex рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕рдлрд▓ рдереА, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рдЗрд╕реЗ рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВред ('my_app_name' рдХреА рдЬрдЧрд╣ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦреЗрдВ):
```bash
mkdir my_app_name
cd my_app_name
reflex init
```
рдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреА рдирдпреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдРрдк рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕ рдРрдк рдХреЛ development рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
```bash
reflex run
```
рдЖрдкрдХреЛ http://localhost:3000 рдкрд░ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЪрд▓рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рдЖрдк my_app_name/my_app_name.py рдореЗрдВ source рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Reflex рдореЗрдВ рддреЗрдЬ рд░рд┐рдлреНрд░реЗрд╢ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдЕрдкрдиреА рдХреЛрдб рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рддреБрд░рдВрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
## ЁЯлз рдЙрджрд╛рд╣рд░рдг рдРрдк
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ: DALL┬╖E рд╕реЗ рдПрдХ рдЗрдореЗрдЬ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП UIред рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд┐рд░реНрдл OpenAI API рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ ML рдореЙрдбрд▓ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ locallyред
&nbsp;
<div align="center">
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/dalle.gif" alt="A frontend wrapper for DALL┬╖E, shown in the process of generating an image." width="550" />
</div>
&nbsp;
рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдПрдХ рд╣реА Python рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
```python
import reflex as rx
import openai
openai.api_key = "YOUR_API_KEY"
class State(rx.State):
"""The app state."""
prompt = ""
image_url = ""
processing = False
complete = False
def get_image(self):
"""Get the image from the prompt."""
if self.prompt == "":
return rx.window_alert("Prompt Empty")
self.processing, self.complete = True, False
yield
response = openai.Image.create(prompt=self.prompt, n=1, size="1024x1024")
self.image_url = response["data"][0]["url"]
self.processing, self.complete = False, True
def index():
return rx.center(
rx.vstack(
rx.heading("DALL┬╖E"),
rx.input(placeholder="Enter a prompt", on_blur=State.set_prompt),
rx.button(
"Generate Image",
on_click=State.get_image,
is_loading=State.processing,
width="100%",
),
rx.cond(
State.complete,
rx.image(
src=State.image_url,
height="25em",
width="25em",
)
),
padding="2em",
shadow="lg",
border_radius="lg",
),
width="100%",
height="100vh",
)
# Add state and page to the app.
app = rx.App()
app.add_page(index, title="reflex:DALL┬╖E")
app.compile()
```
## рдЪрд▓реЛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред
### **Reflex UI**
рд╣рдо UI рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
```python
def index():
return rx.center(
...
)
```
рдпрд╣ `index` рдлрд╝рдВрдХреНрд╢рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдлрд╝реНрд░рдВрдЯрдПрдВрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП `center`, `vstack`, `input`, рдФрд░ `button` рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди components рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред Components рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рднреАрддрд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рдЖрдк CSS рдХреА рдкреВрд░реА рддрд╛рдХрд╝рдд рдХреЗ рд╕рд╛рде рдЗрдиреНрд╣реЗрдВ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреАрд╡рд░реНрдб рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ (keyword args) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рд┐рдлрд╝реНрд▓реЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ [60+ built-in components](https://reflex.dev/docs/library) рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╢реБрд░реБрдЖрддреА рдорджрдж рдХреЗ рд▓рд┐рдП рд╣реИрдВред рд╣рдо рдмрд╣реБрдд рд╕реЗ components рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ components рдмрдирд╛рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИред [create your own components](https://reflex.dev/docs/wrapping-react/overview/)
### **рд╕реНрдЯреЗрдЯ (State)**
Reflex рдЖрдкрдХреЗ UI рдХреЛ рдЖрдкрдХреА рд╕реНрдЯреЗрдЯ (state) рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
```python
class State(rx.State):
"""The app state."""
prompt = ""
image_url = ""
processing = False
complete = False
```
рд╕реНрдЯреЗрдЯ (state) рдРрдк рдореЗрдВ рдЙрди рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (vars) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдмрджрд▓ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЙрди рдлрд╝рдВрдХреНрд╢рдиреЛрдВ рдХреЛ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рд╕реНрдЯреЗрдЯ (state) рдореЗрдВ `prompt` рдФрд░ `image_url` рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рдЧрддрд┐ рдФрд░ рдЫрд╡рд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП `processing` рдФрд░ `complete` рдмреВрд▓рд┐рдпрди рднреА рд╣реИрдВред
### **рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ (Event Handlers)**
```python
def get_image(self):
"""Get the image from the prompt."""
if self.prompt == "":
return rx.window_alert("Prompt Empty")
self.processing, self.complete = True, False
yield
response = openai.Image.create(prompt=self.prompt, n=1, size="1024x1024")
self.image_url = response["data"][0]["url"]
self.processing, self.complete = False, True
```
рд╕реНрдЯреЗрдЯ (state) рдХреЗ рдЕрдВрджрд░, рд╣рдо рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ (event handlers) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдЯреЗрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ (event handlers) рд╕реЗ reflex рдореЗрдВ рд╕реНрдЯреЗрдЯ (state) рдХреЛ рдореЙрдбрд┐рдлрд╝рд╛рдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ (user actions) рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (response) рдХреЗ рд░реВрдк рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдмрдЯрди рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдирд╛ред рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЗрд╡реЗрдВрдЯреНрд╕ (events) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ DALL┬╖E. рдРрдк рдореЗрдВ рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ `get_image` рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ OpenAI API рд╕реЗ рдЗрдореЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ `yield` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд┐ рд╡рдЬрд╣ рд╕реЗ UI рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдпрдерд╛ UI рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред
### **рд░реВрдЯрд┐рдВрдЧ (Routing)**
рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
```python
app = rx.App()
```
рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдЯ рд╕реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рддрдХ рдПрдХ рдкреЗрдЬ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рд╢реАрд░реНрд╖рдХ рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдкреЗрдЬ рдкреНрд░реАрд╡реНрдпреВ/рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
```python
app.add_page(index, title="DALL-E")
app.compile()
```
рдЖрдк рдФрд░ рдкреЗрдЬ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдорд▓реНрдЯреА-рдкреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
## ЁЯУС рд╕рдВрд╕рд╛рдзрди (Resources)
<div align="center">
ЁЯУС [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; ЁЯЧЮя╕П [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; ЁЯУ▒ [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; ЁЯЦ╝я╕П [Gallery](https://reflex.dev/docs/gallery) &nbsp; | &nbsp; ЁЯЫ╕ [Deployment](https://reflex.dev/docs/hosting/deploy) &nbsp;
</div>
## тЬЕ рд╕реНрдЯреЗрдЯрд╕ (Status)
рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдХреЛ рджрд┐рд╕рдВрдмрд░ 2022 рдореЗрдВ рдкрд╛рдЗрдирдХреЛрди рдирд╛рдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдЬреБрд▓рд╛рдИ 2023 рддрдХ, рд╣рдо **Public Beta** (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреАрдЯрд╛) рдЪрд░рдг рдореЗрдВ рд╣реИрдВред
- :white_check_mark: **Public Alpha** (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрд▓реНрдлрд╛): рдХреЛрдИ рднреА рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдЗрд╢реВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- :large_orange_diamond: **Public Beta** (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреАрдЯрд╛): рдЧреИрд░-рдЙрджреНрдпрдо рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ред
- **Public Hosting Beta** (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдмреАрдЯрд╛): _Optionally_, рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЛ рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдкрд░ рдбрд┐рдкреНрд▓реЙрдЗ рдФрд░ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ!
- **Public** (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ): рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдореЗрдВ рд╣рд░ рд╕рдкреНрддрд╛рд╣ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЖ рд░рд╣реА рд╣реИрдВ! рдЕрдкрдбреЗрдЯ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ :star: рд╕реНрдЯрд╛рд░ рдХрд░реЗрдВ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЕрд╡рд╢реНрдп рджреЗрдЦреЗрдВ :eyes:ред
## (рдпреЛрдЧрджрд╛рди) Contributing
рд╣рдо рд╣рд░ рддрд░рд╣ рдХреЗ рдпреЛрдЧрджрд╛рди рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ! рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдХрдореНрдпреВрдирд┐рдЯреА рдореЗрдВ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВред
- **Join Our Discord** (рдбрд┐рд╕реНрдХреЙрд░реНрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗрдВ): Our [Discord](https://discord.gg/T5WSbC2YtQ) рд╣рдорд╛рд░рд╛ рдбрд┐рд╕реНрдХреЙрд░реНрдб рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЖрдк рдХреИрд╕реЗ рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред
- **GitHub Discussions** (рдЧрд┐рдЯрд╣рдм рдЪрд░реНрдЪрд╛рдПрдБ): рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдРрд╕реА рдЪреАрдЬрд╝реЗрдВ рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИрдВ/рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- **GitHub Issues** (рдЧрд┐рдЯрд╣рдм рд╕рдорд╕реНрдпрд╛рдПрдВ): рдпреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреАрдЖрд░ рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рдЖрдкрдХрд╛ рдХреМрд╢рд▓ рд╕реНрддрд░ рдпрд╛ рдЕрдиреБрднрд╡ рдХреБрдЫ рднреА рд╣реЛред
## рд▓рд╛рдЗрд╕реЗрдВрд╕ (License)
рд░рд┐рдлреНрд▓реЗрдХреНрд╕ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ рдФрд░ [рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0] (рд▓рд╛рдЗрд╕реЗрдВрд╕) рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИред