Commit d794969f authored by Justin Hileman's avatar Justin Hileman

Merge pull request #238 from VEINHORN/master

Add ru-RU docs
parents 6323844b 38a8c9b5
......@@ -12,7 +12,8 @@ Oh My Fish provides core infrastructure to allow you to install packages which e
<p align="center">
<b>English</b> &bull;
<a href="docs/zh-CN">简体中文</a>
<a href="docs/zh-CN">简体中文</a> &bull;
<a href="docs/ru-RU">Русский</a>
</p>
## Installation
......
......@@ -8,7 +8,8 @@
<p align="center">
<b>English</b> &bull;
<a href="docs/zh-CN/FAQ.md">简体中文</a>
<a href="docs/zh-CN/FAQ.md">简体中文</a> &bull;
<a href="docs/ru-RU/FAQ.md">Русский</a>
</p>
......@@ -19,7 +20,7 @@ Thanks for taking the time to read this FAQ. Feel free to create a new issue if
## What is Oh My Fish and why do I want it?
Oh My Fish is a _framework_ for the [fishshell](https://fishshell.org). It helps you manage your configuration, themes and packages.
Oh My Fish is a _framework_ for the [Fishshell](http://fishshell.com/). It helps you manage your configuration, themes and packages.
## What do I need to know to use Oh My Fish?
......
......@@ -8,7 +8,8 @@
<p align="center">
<b>English</b> &bull;
<a href="docs/zh-CN/Packages.md">简体中文</a>
<a href="docs/zh-CN/Packages.md">简体中文</a> &bull;
<a href="docs/ru-RU/Packages.md">Русский</a>
</p>
# Creating
......
<div align="center">
<a href="http://github.com/oh-my-fish/oh-my-fish">
<img width=120px src="https://cloud.githubusercontent.com/assets/8317250/8510172/f006f0a4-230f-11e5-98b6-5c2e3c87088f.png">
</a>
</div>
<br>
<p align="center">
<a href="../en-US/FAQ.md">English</a> &bull;
<a href="../zh-CN/FAQ.md">简体中文</a> &bull;
<b>Русский</b>
</p>
# FAQ
Спасибо что нашли время прочитать этот FAQ. Не стесняйтесь создавать новый Issue если вы не нашли тут ответ на свой вопрос.
## Что такое Oh My Fish и зачем он мне нужен?
Oh My Fish это _фреймворк_ для [Fishshell](http://fishshell.com/). Он помогает Вам управлять Вашими настройками, темами и пакетами.
## Что мне нужно знать чтобы использовать Oh My Fish?
_Ничего_. Вы можете установить Oh My Fish и продолжать использовать Fish как обычно. Когда Вы захотите узнать больше просто наберите `omf help`.
## Что такое пакеты в Oh My Fish?
Пакеты в Oh My Fish - это темы и плагины, написанные на fish которые наследуют базовую функциональность Shell, запускают код во время инициализации, добавляют автодополнение к известным утилитам и тд.
## Какие типы пакетов существуют в Oh My Fish?
Существует 3 основных вида пакетов:
1. Конфигурационные утилиты. Например [`pkg-pyenv`](https://github.com/oh-my-fish/pkg-pyenv) проверяет существует ли `pyenv` в Вашей системе и запускает `(pyenv init - | psub)` для Вас при запуске Fish.
2. Темы. Ознакомьтесь с [темами](https://github.com/oh-my-fish).
3. Традиционные утилиты оболочки. Например [`pkg-copy`](https://github.com/oh-my-fish/pkg-copy), утилита буфера обмена, совместимая с Linux и OSX.
## Что именно делает Oh My Fish?
+ Запускает `$OMF_CONFIG/before.init.fish` если доступно.
+ Автозагрузка установленных пакетов и тем из `$OMF_PATH/`.
+ Автозагрузка пути к Вашему конфигу. `~/.config/omf` по умолчанию, но конфигурируемый через `$OMF_CONFIG`.
+ Автозагрузка любых `функций` из `$OMF_PATH` и `$OMF_CONFIG`
+ Запускает `$OMF_CONFIG/init.fish` если доступно.
## Как я могу обновить текущую версию Oh My Fish?
> :предупреждение: Не забудьте сперва сделать резервную копию Ваших dotfiles и других важных данных.
```
curl -L github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | sh
```
Теперь Вы можете безопасно удалить `$fish_path`.
```fish
rm -rf "$fish_path"
```
## Как я могу использовать fish в качестве оболочки по умолчанию?
Добавьте Fish в `/etc/shells`:
```sh
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
```
Сделайте Fish Вашей оболочкой по умолчанию:
```sh
chsh -s /usr/local/bin/fish
```
Чтобы обратно переключиться на оболочку по умолчанию:
> Вышедший на замену `/bin/bash` с `/bin/tcsh` или `/bin/zsh` в соответствующих случаях.
```sh
chsh -s /bin/bash
```
<div align="center">
<a href="http://github.com/oh-my-fish/oh-my-fish">
<img width=120px src="https://cloud.githubusercontent.com/assets/8317250/8510172/f006f0a4-230f-11e5-98b6-5c2e3c87088f.png">
</a>
</div>
<br>
<p align="center">
<a href="../en-US/Packages.md">English</a> &bull;
<a href="../zh-CN/Packages.md">简体中文</a> &bull;
<b>Русский</b>
</p>
# Создание
Чтобы научиться создавать пакеты давайте создадим новый пакет который будет выводить команду `hello_world` для Вашей оболочки. Имена пакетов могут содержать только символы нижнего регистра и символ подчеркивания для разделения слов.
Oh My Fish может сгенерировать структуру пакета для Вас. Используйте команду `omf new`:
```fish
$ omf new pkg hello_world
```
> Используйте `omf new theme my_theme_name` для тем.
Утилита изменяет текущий каталог на только что созданыый пакет:
```
$ ls -l
README.md
hello_world.fish
completions/hello_world.fish
```
Всегда описывайте как работает ваш пакет в `README.md`. Также прочитайте больше об [автодополнении](http://fishshell.com/docs/current/commands.html#complete) а также позаботьтесь о том чтобы предоставить его для ваших утилит, когда это возможно.
`hello_world.fish` определяет одну функцию:
```fish
function hello_world -d "Prints hello world"
echo "Hello World!"
end
```
Каждая функция в Вашем пакете должна быть объявлена в своем собственном файле. Это требование механизма автозагрузки fish, который загружает функции по запросу, избегая загрузки ненужных функций.
Имейте в виду что fish не имеет приватной области видимости, поэтому если Вам необходимо разделить Ваш пакет на функции, добавьте префикс к Вашим функциям как здесь:
`__hello_world.my_extra_function`, чтобы избежать совпадения имен и загрязнения глобального пространства имен.
# События
Пакеты были спроектированы так, чтобы использовать преимущества событий fish. На данный момент существует два события которые Oh My Fish будет передавать Вашему пакету:
## Инициализация
Если вы хотите быть [уведомлены](http://fishshell.com/docs/current/commands.html#emit) когда Ваш пакет загружается, объявите следующую функцию в Вашем `hello_world.fish`:
```fish
function init -a path --on-event init_hello_world
echo "hello_world initialized"
end
```
Используйте это событие чтобы модифицировать окружение, загружать ресурсы, автоматически загружать функции и тд. Если Ваш пакет не экспортирует никаких функций, Вы все равно можете использовать это событие чтобы добавить функциональность в Ваш пакет.
## Удаление
Oh My Fish генерирует `uninstall_<pkg>` события перед тем как пакет удален с помощью команды `omf remove <pkg>`. Подписчики могут использовать это событие чтобы очистить кастомные ресурсы и тд.
```fish
function uninstall --on-event uninstall_hello_world
end
```
# Сделайте его публичным
Oh My Fish хранит реестр публичных пакетов в `$OMF_PATH/db/`.
Чтобы добавить Ваш пакет в реестр вам необходимо:
To add your package to the registry you need to:
```fish
# Для пакетов:
omf submit pkg/hello_world .../hello_world.git
# Для тем
omf submit theme/my_theme .../my_theme_name.git
```
Это добавит новую сущность в ваш локальный реестр. Теперь Вам просто надо [отправить нам PR][omf-pulls-link] чтобы обновить глобальный реестр.
[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls
<img src="https://cdn.rawgit.com/oh-my-fish/oh-my-fish/e4f1c2e0219a17e2c748b824004c8d0b38055c16/docs/logo.svg" align="left" width="192px" height="192px"/>
<img align="left" width="0" height="192px" hspace="10"/>
> The <a href="http://fishshell.com">Fishshell</a> Framework
[![MIT License](https://img.shields.io/badge/license-MIT-007EC7.svg?style=flat-square)](/LICENSE.md) [![Fish Shell Version](https://img.shields.io/badge/fish-v2.2.0-007EC7.svg?style=flat-square)](http://fishshell.com) [![Travis Build Status](http://img.shields.io/travis/oh-my-fish/oh-my-fish.svg?style=flat-square)](https://travis-ci.org/oh-my-fish/oh-my-fish) [![Slack Status](https://oh-my-fish-slack.herokuapp.com/badge.svg)](https://oh-my-fish-slack.herokuapp.com)
Oh My Fish обеспечивает базовую инфраструктуру чтобы обеспечить установку пакетов которые расширяют и модифицируют внешний вид вашей оболочки. Он быстрый, расширяемый и легок в использовании.
<br><br>
<p align="center">
<a href="../../README.md">English</a> &bull;
<a href="../zh-CN">简体中文</a> &bull;
<b>Русский</b>
</p>
# Установка
```fish
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install | fish
omf help
```
Или _скачайте_ и запустите сами:
```fish
curl -L https://github.com/oh-my-fish/oh-my-fish/raw/master/bin/install > install
fish install
```
# Туториал
Oh My Fish содержит небольшую утилиту `omf` для загрузки и установки новых пакетов и тем.
#### `omf update`
Обновляет фреймворк и установленные пакеты.
#### `omf install` _`[<name>|<url>]`_
Устанавливает один _или более_ пакетов.
- Вы можете установить пакеты прямо по URL с помощью команды `omf install URL`
- Когда вызывается без аргументов, устанавливает отсутствующие пакеты из [bundle](#файлы конфигурации).
#### `omf list`
Список установленных пакетов.
#### `omf theme` _`<theme>`_
Применяет тему. Чтобы получить список доступных тем введите `omf theme`. Также вы можете предварительно посмотреть [доступные темы](../docs/Themes.md) перед установкой.
#### `omf remove` _`<name>`_
Удаляет тему или пакет.
> Пакеты, подписанные на событие `uninstall_<pkg>` уведомляются перед тем как пакет будет удален, поэтому может быть выполнена кастомная очистка ресурсов. Смотрите [Удаление](Packages.md#Удаление) чтобы получить больше информации.
#### `omf new pkg | theme` _`<name>`_
Генерирует новый пакет или тему.
> Создает новый каталог в `$OMF_CONFIG/{pkg | themes}/` с шаблоном.
#### `omf submit` _`pkg/<name>`_ _`[<url>]`_
Добавляет новый пакет. Чтобы добавить тему используйте `omf submit` _`themes/<name>`_ _`<url>`_.
Убедитесь что [отправили нам PR][omf-pulls-link] чтобы обновить реестр.
#### `omf doctor`
Используйте для устранения проблем перед [созданием нового issue][omf-issues-new].
#### `omf destroy`
Удаляет Oh My Fish.
# Продвинутый
Установщик Oh My Fish помещает код для старта в вашем конфиг файле (`~/.config/fish/config.fish`).
## Стартап
Каждый раз когда вы открываете новый shell стартап код инициализирует Oh My Fish путь установки и _конфиг_ путь (`~/.config/omf` по умолчанию), потом запускает [`init.fish`](../../init.fish) скрипт, который автоматически загружает пакеты, темы и ваши кастомные init файлы. Чтобы узнать больше информации смотрите [FAQ](FAQ.md#что именно делает Oh My Fish?).
## Файлы конфигурации
Директория `$OMF_CONFIG` представляет состояние пользователя Oh My Fish, и это превосходный кандидат для добавления в ваши dotfiles и/или добавлена в систему контроля версий. Это четыре важных файла:
- __`theme`__ - Текущая тема
- __`bundle`__ - Список установленных пакетов/тем
- __`init.fish`__ - Кастомный скрипт, который запускается после запуска shell
- __`before.init.fish`__ - Кастомный скрипт который запускается перед запуском shell
Настоятельно рекомендуется добавлять свои стартап команды в файл `init.fish` вместо `~/.config/fish/config.fish`, так как это позволяет вам держать весь каталог `$OMF_CONFIG` в системе контроля версий.
Если вам нужно запускать стартап команды *перед* тем как Oh My Fish начнет загружать плагины, поместите их в `before.init.fish`. Если вы не уверены, как правило, лучше поместить их в `init.fish`.
### О bundle
Каждый раз когда пакет/тема устанавливается или удаляется, `bundle` файл обновляется. Также вы можете отредактировать его и потом запустить `omf install` чтобы зафиксировать изменения. Пожалуйста обратите внимание на то что если пакеты/темы добавлены в bundle, они автоматически установятся, в то время как пакеты/темы, удаленные из bundle файла не удалятся из пользовательской папки.
## Создание пакетов
Oh My Fish использует продвинутую и хорошо определенную архитектуру плагинов для упрощения их разработки, включая события инициализации/удаления и функции автозагрузки.
[Смотрите документацию](Packages.md) чтобы узнать больше информации.
[fishshell]: http://fishshell.com
[contributors]: https://github.com/oh-my-fish/oh-my-fish/graphs/contributors
[omf-pulls-link]: https://github.com/oh-my-fish/oh-my-fish/pulls
[omf-issues-new]: https://github.com/oh-my-fish/oh-my-fish/issues/new
......@@ -8,7 +8,8 @@
<p align="center">
<a href="../en-US/FAQ.md">English</a> &bull;
<b>简体中文</b>
<b>简体中文</b> &bull;
<a href="../ru-RU/FAQ.md">Русский</a>
</p>
# FAQ
......@@ -18,7 +19,7 @@
## 什么是 Oh My Fish,我为什么会使用它?
Oh My Fish 是基于 [fishshell](https://fishshell.org) 封装的高级 _框架_。它可以帮你管理你的配置,主题和插件。
Oh My Fish 是基于 [Fishshell](http://fishshell.com/) 封装的高级 _框架_。它可以帮你管理你的配置,主题和插件。
## 使用 Oh My Fish 我需要注意什么?
......
......@@ -8,7 +8,8 @@
<p align="center">
<a href="../en-US/Packages.md">English</a> &bull;
<b>简体中文</b>
<b>简体中文</b> &bull;
<a href="../ru-RU/Packages.md">Русский</a>
</p>
# 创建插件或主题
......
......@@ -11,7 +11,8 @@ Oh My Fish 提供核心基础设施的配置,允许每个人可以轻松安装
<p align="center">
<a href="../../README.md">English</a> &bull;
<b>简体中文</b>
<b>简体中文</b> &bull;
<a href="../ru-RU/README.md">Русский</a>
</p>
# 安装
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment