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;
}
Sobre o manual
Índice
- Sobre as notas de usuários
- Como ler a definição de função (protótipo)
- Versões do PHP documentadas neste manual
- Como encontrar mais informações sobre o PHP
- Como ajudar a melhorar a documentação
- Como nós geramos os formatos
- Traduções
Formatos
O manual do PHP é fornecido em vários formatos. Esses formatos podem ser divididos em dois grupos: de leitura online e em pacotes para download.
Nota: Algumas editoras tornaram disponíveis versões impressas desse manual. Nós não podemos recomendar nenhum deles, pois eles se tornam desatualizados rapidamente.
O manual pode ser lido online no » site do PHP e em numerosos mirrors. Para melhor performance, escolha o mirror mais próximo de você. A versão online do manual tem atualmente duas folhas de estilo CSS, para web e para impressão.
Duas vantagens notáveis do manual on-line sobre seus formatos offline são a integração das notas dos usuários e os » atalhos de URL, que você pode usar para alcançar partes do manual rapidamente. Uma desvantagem óbvia é que você precisa estar on-line para ver esta edição do manual.
Existem vários formatos offline do manual, e o formato mais apropriado para você depende do seu sistema operacional de seu estilo pessoal de leitura. Para informações de como esse manual é gerado e quais são esses formatos, veja a seção 'Como nós criamos os formatos' deste apêndice.
A versão mais compatível do manual entre as plataformas é a HTML. Este é fornecido em um único arquivo HTML e como um pacote de arquivos individuais, um para cada seção (o que resulta numa coleção de milhares de arquivos). Esses pacotes são compactados, então um programa para descompressão será necessário para ter os arquivos contidos no pacote.
Para a plataforma Windows, a versão Windows HTML Help do manual condensa os originais no formato HTML para o uso com o Windows HTML Help. Esse formato tem busca de textos, índice completo e marcadores. Vários ambientes de desenvolvimento populares do PHP no Windows se integram com esse formato da documentação para facilitar o acesso a documentação. Visualizadores de CHM para Linux também estão disponíveis. Veja » xCHM or » GnoCHM.
Existe também uma » versão CHM extendida, atualizada menos freqüentemente, mas que provê muitos adicionais recursos. Ela somente está disponível no Microsoft Windows, por causa das tecnologias utilizadas para compilar essas páginas.
Sobre o manual
21-Aug-2007 05:38
