MHTML editor and processor with live preview
Project description
QRA - MHTML Editor and Processor
QRA to zaawansowany edytor plików MHTML z podglądem na żywo, automatycznym zapisywaniem i możliwością konwersji między formatami.
Instalacja
# Sklonuj repozytorium lub utwórz nowy projekt
poetry install
Komendy
Edycja plików MHTML
# Otwórz edytor dla konkretnego pliku
qra edit filename.mhtml
# Otwórz edytor bez pliku (wybierz z interfejsu)
qra edit
Edytor:
- Rozpakuje plik MHTML do folderu
.qra/ - Otworzy przeglądarkę z interfejsem edycji
- Auto-save co 5 sekund
- Podgląd na żywo
- Kolorowanie składni dla HTML, CSS, JS
- Wszystkie pliki w jednym interfejsie
Tworzenie nowych plików
# Utwórz nowy plik MHTML
qra create invoice.mhtml
qra mhtml create invoice.mhtml # alternatywnie
Konwersja formatów
# Markdown → MHTML
qra html readme.md # Utworzy readme.mhtml
qra html readme.md output.mhtml # Własna nazwa
# MHTML → Markdown
qra md index.mhtml # Utworzy index.md
qra md index.mhtml output.md # Własna nazwa
Wyszukiwanie
# Wyszukaj pliki zawierające wszystkie słowa kluczowe
qra search "invoice"+"paypal"
qra search "dokumenty"+"2024"+"faktura"
# Wyszukaj w konkretnym folderze
qra search "test" --path ./documents/
Struktura projektu
projekt/
├── filename.mhtml # Oryginalny plik MHTML
├── .qra/ # Rozpakowane komponenty (auto-generowane)
│ ├── index.html # HTML główny
│ ├── style.css # Style
│ ├── script.js # JavaScript
│ ├── image1.jpg # Obrazy i zasoby
│ └── metadata.json # Metadane komponentów
├── pyproject.toml
└── README.md
Funkcje edytora
Interface
- Lista plików: Wszystkie komponenty z folderu
.qra/ - Edytor kodu: Kolorowanie składni dla HTML, CSS, JS, JSON, XML
- Podgląd na żywo: Automatycznie odświeżany iframe
- Status zapisu: Wskaźnik stanu (zapisane/zmodyfikowane/błąd)
Auto-save
- Lokalne auto-save: 2 sekundy po ostatniej zmianie
- Globalne auto-save: Co 5 sekund do pliku MHTML
- Ręczny zapis: Ctrl+S lub przycisk "Zapisz wszystko"
Skróty klawiszowe
Ctrl+S- Zapisz bieżący plikCtrl+N- Dodaj nowy plikCtrl+Shift+S- Zapisz wszystko do MHTML
Przykłady użycia
Edycja istniejącego pliku
qra edit newsletter.mhtml
# Otworzy edytor w przeglądarce
# Edytuj pliki w interfejsie
# Auto-save działa automatycznie
Tworzenie od zera
qra create portfolio.mhtml
qra edit portfolio.mhtml
# Dodaj nowe pliki przez interface
# Przykład: dodaj "styles.css", "app.js"
Konwersja dokumentacji
qra html documentation.md
qra edit documentation.mhtml
# Edytuj wynikowy MHTML
# Dodaj style, skrypty, obrazy
Wyszukiwanie projektów
qra search "react"+"component"
# Znajdzie wszystkie pliki MHTML zawierające oba terminy
# Pokaże kontekst znalezionych dopasowań
Struktura MHTML
QRA automatycznie zarządza strukturą MHTML:
- Rozpakowanie:
filename.mhtml→.qra/*.* - Edycja: Modyfikuj pliki w folderze
.qra/ - Pakowanie:
.qra/*.*→filename.mhtml(auto-save)
Metadane
Plik .qra/metadata.json przechowuje:
{
".qra/index.html": {
"content_type": "text/html",
"content_location": "index.html",
"encoding": "utf-8",
"original_name": "index.html"
}
}
Zaawansowane funkcje
Markdown z CSS
qra html article.md
# Automatycznie dodaje profesjonalne style CSS
# Wspiera code highlighting, tabele, blockquotes
Wyszukiwanie z kontekstem
qra search "API"+"authentication"
# Wyświetla fragmenty tekstu z dopasowaniami
# Pokazuje kontekst ±50 znaków wokół słów kluczowych
Dodawanie plików przez edytor
- Kliknij "Nowy plik" w edytorze
- Wpisz nazwę (rozszerzenie opcjonalne)
- Automatycznie wybierze template na podstawie rozszerzenia
Rozwiązywanie problemów
Plik nie otwiera się
# Sprawdź czy plik istnieje
ls -la *.mhtml
# Utwórz nowy jeśli nie istnieje
qra create filename.mhtml
Błędy auto-save
- Sprawdź uprawnienia do zapisu
- Upewnij się że folder
.qra/nie jest chroniony - Uruchom ponownie
qra edit
Problemy z podglądem
- Sprawdź czy istnieje plik
.qra/*.html - Odśwież przeglądarkę (F5)
- Sprawdź konsolę deweloperską w przeglądarce
Rozwój
Dodawanie nowych typów plików
Edytuj qra/core.py, funkcję get_qra_files():
file_type = {
'.html': 'html',
'.css': 'css',
'.js': 'javascript',
'.json': 'json',
'.xml': 'xml',
'.py': 'python', # Dodaj nowy typ
# ...
}.get(ext, 'text')
Rozszerzanie wyszukiwania
Modyfikuj search_files() w qra/core.py dla dodatkowych formatów czy operatorów wyszukiwania.
Licencja
Apache Software License 2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qra-0.1.2.tar.gz.
File metadata
- Download URL: qra-0.1.2.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d08ae41e13379746c6b269568da2576c2a015b0f03099228c634130e0a34a394
|
|
| MD5 |
07d0deb3c044adea6615340d8b7e63f2
|
|
| BLAKE2b-256 |
f6ff4f7f0098a7eda6f107ae30efba58242e69760572a0fb94f382b43890a380
|
File details
Details for the file qra-0.1.2-py3-none-any.whl.
File metadata
- Download URL: qra-0.1.2-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cffc99cdce3e64c348a464bcc50e1b5c05b311890fdc75dd95c7d4f3ad1c858b
|
|
| MD5 |
992268801c3bce0eb486f19687328ad6
|
|
| BLAKE2b-256 |
073bc03d0946d929b5e2bdbce3f182cd14a9e9cf39af02ca23e8f442326918bd
|