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;
}
Despre manual
Cuprins
- Despre adnotările utilizatorilor
- Cum se citeşte definiţia unei funcţii (prototipul)
- Versiunile PHP documentate în acest manual
- Cum să găsim mai multă informaţie despre PHP
- Cum să contribuim la îmbunătăţirea documentaţiei
- Cum generăm formatele
- Traduceri
Formate
Manualul PHP este disponibil în câteva formate. Aceste formate pot fi divizate în două grupuri: formate, ce pot fi citite online şi pachete, ce pot fi descărcate.
Notă: Unii editori au pus la dispoziţie versiuni tipărite ale acestui manual. Nu putem să vă recomandăm careva din acestea, deoarece ele tind să se învechească foarte repede.
Manualul poate fi citit online pe » web site-ul PHP.net, şi pe numeroasele oglinzi ale acestuia. Pentru performanţa optimă, alegeţi cea mai apropiată oglindă. Versiunea online a manualului PHP are în prezent două foi de stil CSS, o foaie de stil pentru acces web şi una pentru tipar.
Două avantaje remarcabile ale manualului online faţă de majoritatea formatelor offline este integrarea adnotărilor contribuite de utilizatori şi » scurtăturilor URL , care pot fi utilizate pentru a ajunge rapid la secţiunea dorită a manualului. Un dezavantaj evident este necesitatea de a fi conectat online pentru a vizualiza această ediţie a manualului.
Există cîteva formate offline ale manualului, iar cel mai potrivit format depinde de sistemul de operare şi stilul personal al cititorului. Pentru informaţii despre modul în care manualul este generat în aşa multe formate, puteţi citi secţiunea 'Cum generăm formatele' a acestei anexe.
Formatul manualului potrivit pentru cele mai multe platforme (sisteme de operare) este versiunea HTML. Aceasta este oferită în două modalităţi — sub forma unui fişier HTML unic şi sub forma unui pachet din mai multe fişiere individuale pentru fiecare secţiune (ceea ce rezultă într-o colecţie de câteva mii de fişiere). Noi furnizăm aceste versiuni în formă comprimată, deci este necesară o utilită de decompresie pentru a căpăta fişierele conţinute în arhive.
Pentru platformele Windows, versiunea Windows HTML Help a manualului îmbunătăţeşte formatul HTML pentru a fi utilizat în cadrul aplicaţiei Windows HTML Help. Această versiune oferă căutare deplină în text, un indice complet şi repere de carte. Multe medii de dezvoltare PHP în Windows utilizate pe larg, de asemenea se integrează cu această versiune a documentaţiei, pentru a oferi un acces simplu. De asemenea sunt disponibile şi programe de vizualizare CHM pentru sistemele Linux. Verificaţi » xCHM sau » GnoCHM.
De asemenea este disponibilă si o » versiune CHM extinsă, care este reînnoită mai rar, dar oferă multe facilităţi suplimentare. Doar că ea va funcţiona numai pe Microsoft Windows, din cauza tehnologiilor folosite pentru a construi paginile de ajutor.
Despre manual
21-Aug-2007 11:38
