I improved the script php_manual_prefs.js provided with the extended chm-version to better hilight user comments and code samples as I found those in the original version too dull (gray). Note that this all cannot be done using stylesheets only as the code samples in the chm-docs do not have any distinct classes etc and can only be parsed with a script. What I added to the original script follows. The timeouts are used because the page is not loaded right at once so we have to wait for complete loading. The colors (aColorMap) can be customized. This also improves navigation links positioning in short pages, so instead of directly following contents they are now bottom-aligned. This fix needs some extra styles so they follow the code, along with some general styles.
setTimeout("AddStyles(); window.focus();", 50);
//-----------
var D, TimerId, oNav, oPage;
function AddStyles(){
D=document; ChangeExamples(); ChangeNotes();
}
function ChangeExamples(){
var aDivs, DivNo, oDiv, aSpans, SpanNo, oSpan, aColorMap, Color, aCodes;
aColorMap=[];
aColorMap['#007700']='yellow';
aColorMap['#0000bb']='white';
aColorMap['#dd0000']='yellow';
aColorMap['#ff8000']='Aqua';
//aColorMap['']='';
//Scan examples
aDivs=D.getElementsByTagName('DIV');
for(DivNo=0; DivNo<aDivs.length; DivNo++){
oDiv=aDivs[DivNo];
if (oDiv.className!='examplecode') continue;
//Change colors
oDiv.style.backgroundColor='black';
oDiv.style.backgroundImage='none';
//oDiv.style.color='white';
aSpans=oDiv.getElementsByTagName('SPAN');
for(SpanNo=0; SpanNo<aSpans.length; SpanNo++){
oSpan=aSpans[SpanNo];
Color=oSpan.style.color;
oSpan.style.color=aColorMap[Color];
if (Color=='#dd0000') oSpan.style.backgroundColor='DarkRed';
oSpan.style.fontFamily='Lucida Console';
}
aCodes=oDiv.getElementsByTagName('CODE');
for(SpanNo=0; SpanNo<aCodes.length; SpanNo++){
oSpan=aCodes[SpanNo];
oSpan.style.color='yellow';
oSpan.style.fontFamily='Lucida Console';
}
}
}
function ChangeNotes(){
var oNotes, oDiv, aDivs, DivNo, oP, aPs;
oNotes=D.getElementById('pageNotes');
if (!oNotes){
setTimeout('ChangeNotes();', 100); return;
}
aDivs=oNotes.getElementsByTagName('DIV');
for(DivNo=0; DivNo<aDivs.length; DivNo++){
oDiv=aDivs[DivNo];
aPs=oDiv.getElementsByTagName('P');
oP=aPs[0];
oP.style.backgroundColor='DarkGreen';
oP.style.color='yellow';
oP.style.marginBottom='0px';
oP=aPs[1];
oP.style.backgroundColor='LightYellow';
oP.firstChild.style.fontFamily='Lucida Console';
//oP.firstChild.style.fontSize='12px';
oP.style.border='1px solid DarkGreen';
oP.style.borderTopWidth='0px';
}
//return;
oNav=D.getElementById('pageNav');
oPage=D.getElementById('pageContent');
AlignNav(); window.onresize=AlignNav;
}
function AlignNav(){
var Pos, NavBottom, Diff;
Pos=AbsPos(oNav);
NavBottom=Pos[1]+oNav.offsetHeight;
Diff=oPage.offsetHeight-NavBottom;
if (Diff!=0) oNav.style.top=(Diff+oNav.style.posTop)+'px';
}
function AbsPos(O, Parent){
var X=0, Y=0, Next;
Next=O; if (Parent==null) Parent=D;
while (Next!=null && Next!==Parent){
Y+=Next.offsetTop; X+=Next.offsetLeft; Next=Next.offsetParent;
}
return [X, Y];
}
//----------
This is to be added in style.css:
Body{
font-family: Verdana;
font-size: 80%;
height: 100%;
}
P{
text-align:justify;
}
#pageContent{
height: 100%;
}
#pageNav {
position:relative;
}
.literal{
background-color: LightCyan;
}
TR.question TD{
background:LightYellow;
}
TR.answer TD{
background:#F0FFF0;
}
Obsah
- Formáty
- O uživatelských poznámkách
- Jak číst definice funkcí (prototypy)
- Verze PHP dokumentované v tomto manuálu
- Jak najít více informací o PHP
- Jak pomoci zlepšit dokumentaci
- Jak generujeme formáty
- Překlady
Tento PHP manuál je poskytován v různých formátech. Tyto formáty se dají rozdělit do dvou skupin: formáty pro prohlížení on-line a balíky pro stahování.
Poznámka: Někteří vydavatelé vydali tištěné verze tohoto manuálu. Žádné z nich nedoporučujeme, protože velmi rychle zastarávají.
Manuál si lze přečíst on-line na » http://www.php.net/ a mnoha zrcadlech. Pro nejrychlejší přístup byste si měli vybrat zrcadlo umístěné co nejblíže k vám. HTML verze manuálu existuje v "holém" HTML formátu (vhodném pro tisk) nebo v HTML formátu integrujícím manuál do vzhledu a chování samotných stránek PHP.
Dvěma podstatnými výhodami on-line formátů manuálu oproti většině off-line formátů je integrace uživatelských poznámek a » URL odkazů, které lze použít k rychlému přístupu k požadovaným částem manuálu. Očividnou nevýhodou je, že k prohlížení této verze manuálu nutno být on-line.
Existuje více off-line formátů manuálu a formát pro vás nejvhodnější závisí na použitém operačním systému a na osobním stylu čtení. Pro informaci o tom, jak je manuál generován v tolika formátech, si přečtěte sekci 'Jak generujeme formáty' v tomto dodatku.
Pro nejvíce platforem se hodí manuál v HTML a jako prostý text. HTML formát je poskytován jak jako jediný HTML soubor, tak jako balíček souborů podle jednotlivých sekcí (což ve výsledku znamená kolekci tisíců souborů). Tyto verze poskytujeme komprimované, k získání souborů z archivů je potřeba nějaký dekompresní nástroj.
Pro platformu Windows je k dispozici verze Windows HTML Help™ pro použití s aplikací Windows HTML Help™. Tato verze fulltextové vyhledávání, úplný rejstřík a záložky. Mnoho populárních vývojových prostředí pro vývoj v PHP se také integruje s touto verzí dokumentace, čímž k ní poskytují snadný přístup. Existují i prohlížeče CHM pro Linux. Zkuste stránky » xCHM nebo » GnoCHM.
Existuje také » rozšířená CHM verze, která se aktualizuje méně často, ale nabízí mnohem více možností. Kvůli použitým technologiím však funguje pouze na Microsoft Windows™.
O tomto manuálu
21-Aug-2007 08:38
