Nové barvy pro apačský directory listing

Nahradil jsem dávno neakualizovaný serverový balík EasyPHP o poznání živějším balíkem Vertrigo a jedna z věcí, které se musely řešit je facelift pro directory listing. Ráno jsem z výsledků vyhledávání usoudil, že tohle nikdo moc neřeší a tak jsem to splácnul z gruntu na základě jednoho pro mě špatně srozumitelného tutoriálu a dokumentace. Tohle jsou vlastně poznámky pro mě. Na nic se neptejte, stejně nevím co ty slova znamenají…

Directory listing neboli výpis obsahu adresáře na localhostu je výchozně ohavný. Je potřeba vyměnit ikony a vůbec tabulku souborů nějak estetičtěji naformátovat. Úkol vypisování souborů se dá (zřejmě) shodit z beder Apache a řešit ho PHP skriptem, já to však řeším Apačem. Asi protože mi to přijde dostatečné.

Archiv s ikonami, CSS souborem a dvěma soubory, které se připojují k directory listingu (hlavička, patička). Celou složku hodit do adresáře Apache. Přidat do konfuguračního souboru (vertrigo.conf) tyto Aliasy:

Alias /MyDirList   "D:\Program Files\VertrigoServ\Apache\MyDirList"
Alias /icons       "D:\Program Files\VertrigoServ\Apache\MyDirList\icons"

httpd.conf je třeba upravit cestu k některým ikonám. Toto pravděpodobně není 100% funkční adresování, nechce se mi to kontrolovat, opravil jsem pár běžných typů, na další chyby jsem nenarazil. Běžné soubory prostě dostávají správné ikony. Neběžné ne nezbytně.

AddIconByEncoding (CMP,/icons/compressed.png) x-compress x-gzip

AddIconByType (TXT,/icons/text.png) text/*
AddIconByType (IMG,/icons/image.png) image/*
AddIconByType (SND,/icons/sound2.png) audio/*
AddIconByType (VID,/icons/movie.png) video/*

AddIcon /icons/binary.png .bin .exe
AddIcon /icons/binhex.png .hqx
AddIcon /icons/tar.png .tar
AddIcon /icons/world2.png .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.png .Z .z .tgz .gz .zip .rar .7z
AddIcon /icons/a.png .ps .ai .eps
AddIcon /icons/html.png .html .shtml .htm
AddIcon /icons/text.png .txt
AddIcon /icons/c.png .c
AddIcon /icons/p.png .pl .py
AddIcon /icons/f.png .for
AddIcon /icons/dvi.png .dvi
AddIcon /icons/uuencoded.png .uu
AddIcon /icons/script.png .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.png .tex
AddIcon /icons/bomb.png core

AddIcon /icons/back.png ..
AddIcon /icons/hand.right.png README
AddIcon /icons/folder.png ^^DIRECTORY^^
AddIcon /icons/blank.png ^^BLANKICON^^

DefaultIcon /icons/unknown.png

Dále je dobré zkorigovat IndexOptions. Asi takto.

IndexOptions FancyIndexing VersionSort SuppressHTMLPreamble XHTML HTMLTable NameWidth=* SuppressDescription SuppressRules FoldersFirst IconsAreLinks

Rychlá vysvětlivka:

  • FancyIndexing: nevím
  • VersionSort: řadí soubory naturálně
  • SuppressHTMLPre­amble: vynechání HTML hlavičky
  • XHTML: ať to máme s X
  • HTMLTable: ať je tabulka opravdu tabulka a ne nějaký tabulátorovaný text v PRE
  • NameWidth=*: zajistí, ať se názvy souborů nezkracují (možná lepší odstranit). Občas to deformuje tabulku.
  • SuppressDescrip­tion: vynech popis typu souboru
  • SuppressRules: zachytí nějaké HTML mrdky
  • FoldersFirst: jasné
  • IconsAreLinks: jasné

Dále je třeba naučit directory listing načítat hlavičku a patičku.

HeaderName /MyDirList/header.shtml
ReadmeName /MyDirList/footer.shtml

A adresář MyDirList je potřeba oprávnit k pár kouzelnickým trikům. Tohle je pro pořádek opět dobré vložit do souboru vertrigo.conf k ostatním podobným příkazům.

<Directory "D:\Program Files\VertrigoServ\Apache\MyDirList">
    Options Indexes MultiViews Includes
    AllowOverride None
    Order allow,deny
    Allow from All
</Directory>

Důležité je klíčové slovo Includes, které dovolí zpracovávat SSI příkazy. SSI je vlastně potřeba jen na výpis aktuální cesty.

Takto to vypadá docela jednoduše. Přibližný výsledek. To stylování tabulky je otrava. Někdy to třeba vypiluju.


Komentáře (1)

RSS kanál komentářů

    • Komentář číslo: 1
    • *
    • Jméno: bukaJ
    • Odesláno:
      13.8. 2008 — 8:32

    Jo, to znám, taky jsem si hrál, ale práci jsem nakonec přenechal z velké části Javascriptu.
    http://bukajuv­.net/filmy/

Přidat komentář

Nápověda ke psaní komentářů

Zde formátuje Texy!

  • *zvýraznění*
  • **silné zvýraznění**
  • > citace
  • "odkaz":http://kam
  • [4] reakce na komentář
  • zdrojové kódy a více

úplně nahoru