1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mightyang-pyhtmlPreviewer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 08:06 0ee4ef1

PyHtmlPreviewer

Введение

PyHtmlPreviewer — это плагин для Vim, который позволяет просматривать HTML-код в реальном времени.

Требования

  1. Python 3.
  2. PySide2 версии 5.14 или выше (поскольку в версии 5.14 QWebEnginePage был добавлен параметр NavigationTypeRedirect, который используется для управления автоматической переадресацией страницы).
  3. Gvim (Vim может выдавать ошибку из-за того, что PySide2 не работает в основном потоке).

Причины создания

Недавно я переводил HTML-документ и пробовал различные плагины для Vim. Большинство из них требовали установки NodeJS для обеспечения возможности предварительного просмотра в реальном времени с браузером, но ни один из них не оказался успешным. Поскольку я знаю только Python, я решил использовать модуль QtWebEngineWidgets от PySide2 для создания интерфейса браузера, который обеспечивает предварительный просмотр в реальном времени.

Принцип работы

Запуск

В скрипте плагина VIM используется многопоточность для запуска app.exec_, но поскольку PySide2 сам по себе работает медленно, запуск может занять некоторое время.

Связь между веб-страницей и Python

Связь между веб-страницей и VIM осуществляется через qwebchannel.js в PySide2.

Синхронная локализация

Информация HTML анализируется с помощью библиотеки HTMLParser в Python, а соответствующие теги получают пользовательские атрибуты: pyhtmlpos со значением «x,y» (где x и y — позиции в исходном коде, которые можно получить с помощью функции getpos в HTMLParser). При каждом клике информация передаётся в Python через qwebchanne.js, что позволяет курсору VIM перемещаться в соответствующую позицию. Этот метод применим только к статическим веб-страницам, динамические веб-страницы не поддерживаются. Анализ HTML с использованием HTMLParser занимает некоторое время, поэтому обновление происходит при сохранении, а не в режиме реального времени.

Инструкция по установке

  1. Установите Python 3 (можно загрузить с официального сайта).
  2. Установите PySide2 (с помощью команды pip install PySide2).
  3. Установите плагин vim-plug: Plug 'https://gitee.com/mightyang/pyhtmlPreviewer.git'.

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

  1. По умолчанию при открытии HTML-файла автоматически открывается браузер.
  2. В верхней панели инструментов есть функция редактирования, которая после включения закрывает браузер и синхронизирует положение клика на веб-странице с положением курсора в VIM. На данный момент эта функция не полностью работает с динамическими веб-страницами.

Управляемые параметры и команды:

Параметры

Автоматическое открытие: по умолчанию включено.

let g:pyhtmlPreviewerAutoOpen=1

Привязка формата файла: например, '.html,.py,.js', по умолчанию '.html'.

let g:pyhtmlPreviewerFileType='*.html'

Синхронная локализация: по умолчанию включена, в противном случае локализуется тег, некоторые теги, такие как , не могут быть точно определены.

let g:pyHtmlPreviewerPosAtText=1

Команды

Команда для открытия окна:

PyHtmlPreviewToggle()

Эту команду можно привязать к клавише быстрого доступа:

map <F10> :call PyHtmlPreviewerToggle()<CR>

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mightyang-pyhtmlPreviewer.git
git@api.gitlife.ru:oschina-mirror/mightyang-pyhtmlPreviewer.git
oschina-mirror
mightyang-pyhtmlPreviewer
mightyang-pyhtmlPreviewer
master