semvec/pypi-packages huggingface dataset:
sphinx-flyout 0.1
Расширение для Sphinx для создания flyout-меню
Requires Python: >=3.7

# sphinx-flyout

**sphinx-flyout** - это расширение [Sphinx](https://www.sphinx-doc.org/en/master/)
для автоматической генерации [flyout-меню](https://docs.readthedocs.io/en/stable/flyout-menu.html)

## Использование

### Установка

```bash
pip install git+https://github.com/irsural/sphinx-flyout@master
```

Расширение добавляется в файл конфигурации sphinx (**conf.py**), так же как и другие расширения sphinx:

```python
extensions = [
    ...,
    'sphinx_flyout',
    ...
]
```

### Настройка

У расширения есть 7 параметров, задаваемых переменными в **conf.py**.

#### `sphinx_flyout_header`

Заголовок меню. По умолчанию - название проекта **Sphinx**

#### `sphinx_flyout_git_reference`

Название версии git-репозитория. По умолчанию - текущая ветка

#### `sphinx_flyout_repository_link`

Строка со ссылкой на репозиторий проекта. По умолчанию пустая,
а раздел **Репозиторий** не отображается

#### `sphinx_flyout_host`

Ссылка на хостинг сайта. Автоматически вставляется в нижеупомянутые ссылки.
Обязательный параметр

#### `sphinx_flyout_downloads`

Список с форматами документации проекта, доступными для загрузки
(`html`, `pdf` и т.д.) .

Во время работы расширения ссылки автоматически преобразуются в следующий формат:

`html: sphinx_flyout_host / sphinx_flyout_header / download / html`

По умолчанию пуст, а раздел **Загрузки** не отображается

#### `sphinx_flyout_branches`

Список с названиями собранных веток проекта.

Во время работы расширения ссылки автоматически преобразуются в следующий формат:

`ветка1: sphinx_flyout_host / sphinx_flyout_header / branch / ветка1`

По умолчанию пуст, а раздел **Ветки** не отображается

#### `sphinx_flyout_tags`

Список с названиями собранных тэгов проекта.

Во время работы расширения ссылки автоматически преобразуются в следующий формат:

`тэг1: sphinx_flyout_host / sphinx_flyout_header / tag / тэг1`

По умолчанию пуст, а раздел **Тэги** не отображается

## Пример

Содержимое **conf.py**:

```python
sphinx_flyout_header = "My project"
sphinx_flyout_repository_link = "https://gitea.example.com/my/project"

sphinx_flyout_host = "https://example.com"
sphinx_flyout_downloads = ["html", "pdf"]

sphinx_flyout_tags = ["t2", "release"]
sphinx_flyout_branches = ["b1", "master"]
```

Вид сгенерированного меню:

![flyout](docs/images/menu.png)

Ссылки **Ветки** ведут на `https://example.com/My%20project/branch/b1` и `https://example.com/My%20project/branch/master`

Ссылки **Тэги** ведут на `https://example.com/My%20project/tag/t2` и `https://example.com/My%20project/tag/release`

Ссылки **Загрузки** ведут на `https://example.com/My%20project/download/html` и `https://example.com/My%20project/download/pdf`

Ссылка **Посмотреть** ведёт на `https://gitea.example.com/my/project`
tabshot 1.0.0
copy all tab URLs from a browser window
Requires Python: >=3.8
Keywords: browser, url

# Tabshot

Tabshot is a script that fetches all URLs from a browser window by iterating over the open tabs. This is achieved in an ineloquent way, but one which should work for most browsers (see [How the script works](#how-the-script-works) for more).

## Requirements

- pyautogui
- pyperclip
- pynput

## Usage and Commands

### print
- prints the list of URLs to the terminal
- usage: `tabshot print` or `tabshot p`

### save
- saves the list of URLs to a json file (see [Output file schema](#output-file-schema))
- usage: `tabshot save <outfile>` or `tabshot s <outfile>`
- add a description: `tabshot s "div centre" -d "useful links for how to centre a div"`
- `outfile` is saved to the `/output` directory

### load
- opens URLs from a saved file in a new (default) browser window
- usage: `tabshot load <infile>` or `tabshot l <infile>`

## Notes

### How the script works

Tabshot uses `pyautogui` to execute keyboard shortcuts to iterate over the browser tabs and copy the URL of each tab. 

Iterating over the browser tabs is performed by using the `ctrl-tab` keyboard shortcut. **Ensure that the browser settings are enabled to allow this behaviour.** 

When two duplicate tab URLs have been encountered, the iteration over browser tabs will cease. 

### Terminating the script

To terminate the script whilst the browser tabs are being iterated over:

1. Provide mouse or keyboard input other than the following keys: `'ctrl'`, `'tab'`, `'c'`, `'v'`, `'t'`, `'l'`, `'enter'`, or
2. Move the mouse to any corner of the screen (this is the default behaviour of `pyautogui`)

## Output file schema
- the `save` command outputs a `json` file to `/output` with the following schema:
```
{
    "title": "",
    "description": "",
    "datetime_created": "",
    "num_urls": "",
    "urls": []
}
```
- `title` corresponds to the argument passed as `outfile` to the `save` command
- input files passed to the `load` command must adhere to this schema in order to be valid