Skip to main content

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 plik
  • Ctrl+N - Dodaj nowy plik
  • Ctrl+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:

  1. Rozpakowanie: filename.mhtml.qra/*.*
  2. Edycja: Modyfikuj pliki w folderze .qra/
  3. 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

qra-0.1.2.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qra-0.1.2-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

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

Hashes for qra-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d08ae41e13379746c6b269568da2576c2a015b0f03099228c634130e0a34a394
MD5 07d0deb3c044adea6615340d8b7e63f2
BLAKE2b-256 f6ff4f7f0098a7eda6f107ae30efba58242e69760572a0fb94f382b43890a380

See more details on using hashes here.

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

Hashes for qra-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cffc99cdce3e64c348a464bcc50e1b5c05b311890fdc75dd95c7d4f3ad1c858b
MD5 992268801c3bce0eb486f19687328ad6
BLAKE2b-256 073bc03d0946d929b5e2bdbce3f182cd14a9e9cf39af02ca23e8f442326918bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page