8000 GitHub - huser123/CSS-optimizer
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

huser123/CSS-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CSSOptimalizáló

Ez a projekt egy HTML és CSS optimalizáló eszközt tartalmaz, amely a HTML fájlban használt osztályok alapján kiszűri a CSS-ből a felesleges szabályokat, majd eltávolítja a média lekérdezéseket, és végül kisebb, könnyen kezelhető darabokra bontja a CSS fájlt.

Funkciók

  1. extract_used_classes:

    • Feladata: A megadott HTML tartalomból kigyűjti az összes használt osztály nevét.
    • Működése:
      • A BeautifulSoup segítségével végigmegy minden olyan HTML elemen, amelyeknek van class attribútuma.
      • Ezekből egy halmazt készít, hogy az osztálynevek egyediek legyenek.
  2. extract_css_rules:

    • Feladata: A CSS szabályokat lebontja stílusokra és azokat csoportosítja.
    • Működése:
      • A CSS tartalmat } karakter mentén darabolja, majd a { karakter alapján szétválasztja a szelektorokat és stílusokat.
      • Ezeket párosítva tárolja egy szótárban.
  3. filter_and_optimize_css:

    • Feladata: Csak azokat a CSS szabályokat tartja meg, amelyek a HTML-ben ténylegesen használt osztályokhoz tartoznak.
    • Működése:
      • Végigmegy minden stílus-szelektor páron, és kiszűri azokat, amelyek nem tartalmaznak olyan osztályokat, amelyek a HTML-ben szerepelnek.
      • Az eredményeket optimalizált szabályok formájában adja vissza.
  4. remove_media_queries:

    • Feladata: Eltávolítja az összes @media szabályt a CSS-ből.
    • Működése: A @media kulcsszót tartalmazó szabályokat kizárja a végleges CSS-ből.
  5. split_into_chunks:

    • Feladata: A CSS szabályokat kisebb darabokra bontja (alapértelmezés szerint 200 soros darabokra).
    • Működése: A szabályokat sorokra bontja, majd a megadott méretű darabokra osztja.
  6. optimize_css:

    • Feladata: Az összes fenti lépést összefogja és végrehajtja.
    • Működése:
      • Kinyeri a HTML-ben használt osztályokat, majd kiszűri a releváns CSS szabályokat, eltávolítja a média lekérdezéseket, és darabokra bontja a szabályokat.

Használat

  1. Töltsd be a HTML és CSS fájlokat az alábbi formátumban:

    with open("index.html", "r", encoding="utf-8") as html_file:
        html_content = html_file.read()
    
    with open("index.css", "r", encoding="utf-8") as css_file:
        css_content = css_file.read()
  2. Futtasd az optimalizálást:

    chunks = optimize_css(html_content, css_content)
  3. Mentés:

    with open("rovid.css", "w", encoding="utf-8") as output_file:
        for chunk in chunks:
            output_file.write(chunk + "\n")

Példa bemenet és kimenet

Példa bemeneti HTML (index.html)

<!DOCTYPE html>
<html lang="hu">
<head>
    <link rel="stylesheet" href="index.css">
</head>
<body>
    <div class="header"></div>
    <p class="text bold"></p>
</body>
</html>

Példa bemeneti CSS (index.css)

.header { color: red; }
.text { font-size: 16px; }
.bold { font-weight: bold; }
.footer { color: blue; }
@media (max-width: 600px) {
    .responsive { display: none; }
}

Példa kimeneti CSS (rovid.css)

.header { color: red; }
.text { font-size: 16px; }
.bold { font-weight: bold; }

Függőségek

  • Python 3.6+
  • BeautifulSoup (bs4 csomag)

Licenc

Ez a projekt szabadon felhasználható, módosítható és terjeszthető az MIT licenc feltételei mellett.

0