parent
6d27356354
commit
b2499e03e8
@ -96,9 +96,6 @@ class DocTool
|
||||
$class = ' class="one-page"';
|
||||
}
|
||||
|
||||
echo '<div' . $class . ' id="table-of-contents">' . "\n";
|
||||
echo '<h1>Table of Contents</h1>' . "\n";
|
||||
|
||||
$classes[] = 'tree';
|
||||
|
||||
} else {
|
||||
@ -151,9 +148,6 @@ class DocTool
|
||||
|
||||
echo '</ul>' . "\n";
|
||||
|
||||
if ($toc instanceof Sensei_Doc_Toc) {
|
||||
echo '</div>' . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
public function makeUrl($path)
|
||||
|
95
manual/new/scripts/toc.js
Normal file
95
manual/new/scripts/toc.js
Normal file
@ -0,0 +1,95 @@
|
||||
function toggleToc()
|
||||
{
|
||||
var toc = document.getElementById('table-of-contents').getElementsByTagName('ul')[0];
|
||||
var toggleLink = document.getElementById('toc-collapse-toggle').getElementsByTagName('a')[0];
|
||||
var stickySpan = document.getElementById('toc-sticky-toggle');
|
||||
|
||||
if (toc && toggleLink && toc.style.display == 'none') {
|
||||
toggleLink.innerHTML = tocHideText;
|
||||
toc.style.display = 'block';
|
||||
if (stickySpan) {
|
||||
stickySpan.style.display = 'inline';
|
||||
}
|
||||
createCookie('hidetoc', 0, 1000);
|
||||
} else {
|
||||
toggleLink.innerHTML = tocShowText;
|
||||
toc.style.display = 'none';
|
||||
if (stickySpan) {
|
||||
stickySpan.style.display = 'none';
|
||||
}
|
||||
createCookie('hidetoc', 1, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
function toggleStickyToc()
|
||||
{
|
||||
var wrap = document.getElementById('wrap');
|
||||
var toggleLink = document.getElementById('toc-sticky-toggle').getElementsByTagName('a')[0];
|
||||
var collapseSpan = document.getElementById('toc-collapse-toggle');
|
||||
|
||||
if (wrap && toggleLink && !hasClassName(wrap, 'sticky-toc')) {
|
||||
toggleLink.innerHTML = tocUnstickyText;
|
||||
addClassName(wrap, 'sticky-toc');
|
||||
if (collapseSpan) {
|
||||
collapseSpan.style.display = 'none';
|
||||
}
|
||||
createCookie('stickytoc', 1, 1000);
|
||||
} else {
|
||||
toggleLink.innerHTML = tocStickyText;
|
||||
removeClassName(wrap, 'sticky-toc');
|
||||
if (collapseSpan) {
|
||||
collapseSpan.style.display = 'inline';
|
||||
}
|
||||
createCookie('stickytoc', 0, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
function createTocToggle()
|
||||
{
|
||||
var container = document.getElementById('toc-toggles');
|
||||
|
||||
var span = document.createElement('span');
|
||||
var link = document.createElement('a');
|
||||
var text = document.createTextNode(tocHideText);
|
||||
|
||||
link.appendChild(text);
|
||||
link.setAttribute('href', 'javascript:toggleToc()');
|
||||
|
||||
span.setAttribute('id', 'toc-collapse-toggle');
|
||||
span.appendChild(link);
|
||||
|
||||
container.appendChild(span);
|
||||
|
||||
if (readCookie('hidetoc') == 1) {
|
||||
toggleToc();
|
||||
}
|
||||
|
||||
if (readCookie('stickytoc') == 1) {
|
||||
span.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function createTocStickyToggle()
|
||||
{
|
||||
var container = document.getElementById('toc-toggles');
|
||||
|
||||
var span = document.createElement('span');
|
||||
var link = document.createElement('a');
|
||||
var text = document.createTextNode(tocStickyText);
|
||||
|
||||
link.appendChild(text);
|
||||
link.setAttribute('href', 'javascript:toggleStickyToc()');
|
||||
|
||||
span.setAttribute('id', 'toc-sticky-toggle');
|
||||
span.appendChild(link);
|
||||
|
||||
container.appendChild(span);
|
||||
|
||||
if (readCookie('stickytoc') == 1) {
|
||||
toggleStickyToc();
|
||||
}
|
||||
|
||||
if (readCookie('hidetoc') == 1) {
|
||||
span.style.display = 'none';
|
||||
}
|
||||
}
|
@ -1,14 +1,12 @@
|
||||
var symbolClosed = '+';
|
||||
var symbolOpen = '-';
|
||||
//var symbolClosed = '▹';
|
||||
//var symbolOpen = '▿';
|
||||
|
||||
function Tree_AutoInit()
|
||||
{
|
||||
var candidates = document.getElementsByTagName('ul');
|
||||
|
||||
for (i in candidates) {
|
||||
if (HasClassName(candidates[i], 'tree')) {
|
||||
if (hasClassName(candidates[i], 'tree')) {
|
||||
Tree_Init(candidates[i]);
|
||||
}
|
||||
}
|
||||
@ -31,7 +29,7 @@ function Tree_Init(element)
|
||||
expander.href = 'javascript:void(0);';
|
||||
expander.onclick = Tree_Toggle;
|
||||
|
||||
if (HasClassName(subTree, 'closed')) {
|
||||
if (hasClassName(subTree, 'closed')) {
|
||||
expander.innerHTML = symbolClosed;
|
||||
} else {
|
||||
expander.innerHTML = symbolOpen;
|
||||
@ -62,187 +60,14 @@ function Tree_Toggle()
|
||||
li = expander.parentNode;
|
||||
subTree = Tree_FindChild(li, 'ul');
|
||||
|
||||
if (HasClassName(subTree, 'closed')) {
|
||||
RemoveClassName(subTree, 'closed');
|
||||
if (hasClassName(subTree, 'closed')) {
|
||||
removeClassName(subTree, 'closed');
|
||||
expander.innerHTML = symbolOpen;
|
||||
} else {
|
||||
AddClassName(subTree, 'closed');
|
||||
addClassName(subTree, 'closed');
|
||||
expander.innerHTML = symbolClosed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// HasClassName
|
||||
//
|
||||
// Description : returns boolean indicating whether the object has the class name
|
||||
// built with the understanding that there may be multiple classes
|
||||
//
|
||||
// Arguments:
|
||||
// objElement - element to manipulate
|
||||
// strClass - class name to add
|
||||
//
|
||||
function HasClassName(objElement, strClass)
|
||||
{
|
||||
|
||||
// if there is a class
|
||||
if ( objElement.className )
|
||||
{
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for ( var i = 0; i < arrList.length; i++ )
|
||||
{
|
||||
|
||||
// if class found
|
||||
if ( arrList[i].toUpperCase() == strClassUpper )
|
||||
{
|
||||
|
||||
// we found it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if we got here then the class name is not there
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// AddClassName
|
||||
//
|
||||
// Description : adds a class to the class attribute of a DOM element
|
||||
// built with the understanding that there may be multiple classes
|
||||
//
|
||||
// Arguments:
|
||||
// objElement - element to manipulate
|
||||
// strClass - class name to add
|
||||
//
|
||||
function AddClassName(objElement, strClass, blnMayAlreadyExist)
|
||||
{
|
||||
// if there is a class
|
||||
if (objElement.className) {
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// if the new class name may already exist in list
|
||||
if (blnMayAlreadyExist) {
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for (var i = 0; i < arrList.length; i++) {
|
||||
|
||||
// if class found
|
||||
if (arrList[i].toUpperCase() == strClassUpper) {
|
||||
|
||||
// remove array item
|
||||
arrList.splice(i, 1);
|
||||
|
||||
// decrement loop counter as we have adjusted the array's contents
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add the new class to end of list
|
||||
arrList[arrList.length] = strClass;
|
||||
|
||||
// add the new class to beginning of list
|
||||
//arrList.splice(0, 0, strClass);
|
||||
|
||||
// assign modified class name attribute
|
||||
objElement.className = arrList.join(' ');
|
||||
|
||||
// if there was no class
|
||||
} else {
|
||||
// assign modified class name attribute
|
||||
objElement.className = strClass;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// RemoveClassName
|
||||
//
|
||||
// Description : removes a class from the class attribute of a DOM element
|
||||
// built with the understanding that there may be multiple classes
|
||||
//
|
||||
// Arguments:
|
||||
// objElement - element to manipulate
|
||||
// strClass - class name to remove
|
||||
//
|
||||
function RemoveClassName(objElement, strClass)
|
||||
{
|
||||
|
||||
// if there is a class
|
||||
if ( objElement.className )
|
||||
{
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for ( var i = 0; i < arrList.length; i++ )
|
||||
{
|
||||
|
||||
// if class found
|
||||
if ( arrList[i].toUpperCase() == strClassUpper )
|
||||
{
|
||||
|
||||
// remove array item
|
||||
arrList.splice(i, 1);
|
||||
|
||||
// decrement loop counter as we have adjusted the array's contents
|
||||
i--;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// assign modified class name attribute
|
||||
objElement.className = arrList.join(' ');
|
||||
|
||||
}
|
||||
// if there was no class
|
||||
// there is nothing to remove
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Handlers for automated loading
|
||||
*/
|
||||
_LOADERS = Array();
|
||||
|
||||
function callAllLoaders() {
|
||||
var i, loaderFunc;
|
||||
for(i=0;i<_LOADERS.length;i++) {
|
||||
loaderFunc = _LOADERS[i];
|
||||
if(loaderFunc != callAllLoaders) loaderFunc();
|
||||
}
|
||||
}
|
||||
|
||||
function appendLoader(loaderFunc) {
|
||||
if(window.onload && window.onload != callAllLoaders)
|
||||
_LOADERS[_LOADERS.length] = window.onload;
|
||||
|
||||
window.onload = callAllLoaders;
|
||||
|
||||
_LOADERS[_LOADERS.length] = loaderFunc;
|
||||
}
|
||||
|
||||
appendLoader(Tree_AutoInit);
|
||||
|
179
manual/new/scripts/util.js
Normal file
179
manual/new/scripts/util.js
Normal file
@ -0,0 +1,179 @@
|
||||
/**
|
||||
* Checks if the object has the class name.
|
||||
*
|
||||
* @param objElement element to manipulate
|
||||
* @param strClass class name to add
|
||||
*
|
||||
* @return boolean indicating whether the object has the class name built with
|
||||
* the understanding that there may be multiple classes.
|
||||
*/
|
||||
function hasClassName(objElement, strClass)
|
||||
{
|
||||
// if there is a class
|
||||
if (objElement.className) {
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for (var i = 0; i < arrList.length; i++) {
|
||||
// if class found
|
||||
if (arrList[i].toUpperCase() == strClassUpper) {
|
||||
// we found it
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// if we got here then the class name is not there
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a class to the class attribute of a DOM element built with the
|
||||
* understanding that there may be multiple classes.
|
||||
*
|
||||
* @param objElement element to manipulate
|
||||
* @param strClass class name to add
|
||||
*/
|
||||
function addClassName(objElement, strClass, blnMayAlreadyExist)
|
||||
{
|
||||
// if there is a class
|
||||
if (objElement.className) {
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// if the new class name may already exist in list
|
||||
if (blnMayAlreadyExist) {
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for (var i = 0; i < arrList.length; i++) {
|
||||
|
||||
// if class found
|
||||
if (arrList[i].toUpperCase() == strClassUpper) {
|
||||
|
||||
// remove array item
|
||||
arrList.splice(i, 1);
|
||||
|
||||
// decrement loop counter as we have adjusted the array's contents
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add the new class to end of list
|
||||
arrList[arrList.length] = strClass;
|
||||
|
||||
// add the new class to beginning of list
|
||||
//arrList.splice(0, 0, strClass);
|
||||
|
||||
// assign modified class name attribute
|
||||
objElement.className = arrList.join(' ');
|
||||
|
||||
// if there was no class
|
||||
} else {
|
||||
// assign modified class name attribute
|
||||
objElement.className = strClass;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* RemoveClassName
|
||||
*
|
||||
* Removes a class from the class attribute of a DOM element built with the
|
||||
* understanding that there may be multiple classes.
|
||||
*
|
||||
* @param objElement element to manipulate
|
||||
* @param strClass class name to remove
|
||||
*/
|
||||
function removeClassName(objElement, strClass)
|
||||
{
|
||||
// if there is a class
|
||||
if (objElement.className) {
|
||||
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
// get uppercase class for comparison purposes
|
||||
var strClassUpper = strClass.toUpperCase();
|
||||
|
||||
// find all instances and remove them
|
||||
for (var i = 0; i < arrList.length; i++) {
|
||||
|
||||
// if class found
|
||||
if (arrList[i].toUpperCase() == strClassUpper) {
|
||||
|
||||
// remove array item
|
||||
arrList.splice(i, 1);
|
||||
|
||||
// decrement loop counter as we have adjusted the array's contents
|
||||
i--;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// assign modified class name attribute
|
||||
objElement.className = arrList.join(' ');
|
||||
|
||||
}
|
||||
// if there was no class
|
||||
// there is nothing to remove
|
||||
}
|
||||
|
||||
/*
|
||||
* Handlers for automated loading
|
||||
*/
|
||||
_LOADERS = Array();
|
||||
|
||||
function callAllLoaders() {
|
||||
var i, loaderFunc;
|
||||
for(i=0;i<_LOADERS.length;i++) {
|
||||
loaderFunc = _LOADERS[i];
|
||||
if(loaderFunc != callAllLoaders) loaderFunc();
|
||||
}
|
||||
}
|
||||
|
||||
function appendLoader(loaderFunc) {
|
||||
if(window.onload && window.onload != callAllLoaders)
|
||||
_LOADERS[_LOADERS.length] = window.onload;
|
||||
|
||||
window.onload = callAllLoaders;
|
||||
|
||||
_LOADERS[_LOADERS.length] = loaderFunc;
|
||||
}
|
||||
|
||||
|
||||
function createCookie(name,value,days) {
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime()+(days*24*60*60*1000));
|
||||
var expires = "; expires="+date.toGMTString();
|
||||
}
|
||||
else var expires = "";
|
||||
document.cookie = name+"="+value+expires+";";
|
||||
}
|
||||
|
||||
function readCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function eraseCookie(name) {
|
||||
createCookie(name,"",-1);
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ body, html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: "Trebuchet MS", sans-serif;
|
||||
font-size: normal;
|
||||
font-size: medium;
|
||||
background: white;
|
||||
color: black;
|
||||
}
|
||||
@ -18,7 +18,7 @@ h1 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h2, #table-of-contents h1 {
|
||||
h2 {
|
||||
font-size: 1.5em;
|
||||
text-align: left;
|
||||
margin: 0.67em 0;
|
||||
@ -41,7 +41,7 @@ h4 {
|
||||
p, ul, ol, dl {
|
||||
line-height: 1.5em;
|
||||
text-align: justify;
|
||||
font-size: normal;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
ul {
|
||||
@ -56,6 +56,7 @@ table {
|
||||
border: 1px solid #aaaaaa;
|
||||
border-collapse: collapse;
|
||||
margin: 0.5em 0;
|
||||
color: black;
|
||||
background-color: #f9f9f9;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
@ -66,9 +67,30 @@ td, th {
|
||||
}
|
||||
|
||||
th {
|
||||
color: black;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: #3465a4;
|
||||
background-color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #75507b;
|
||||
background-color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:link:hover,
|
||||
a:link:active,
|
||||
a:visited:hover,
|
||||
a:visited:active {
|
||||
text-decoration: underline;
|
||||
color: #555753;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
/*** Code blocks and highlighting**********************************************/
|
||||
|
||||
@ -82,50 +104,50 @@ pre {
|
||||
padding: 1em;
|
||||
margin: 1em 0;
|
||||
line-height: 1.2em;
|
||||
color: black;
|
||||
background-color: #f6f6f6;
|
||||
border: 1px solid #cccccc;
|
||||
|
||||
/* Pup's Box Flow Hack, Rev 2 */
|
||||
overflow/**/: auto;
|
||||
\height: 1%;
|
||||
}
|
||||
|
||||
/* This rule applies only to Firefox */
|
||||
pre, x:-moz-any-link {
|
||||
/* overflow: auto causes artefacts */
|
||||
overflow: hidden;
|
||||
|
||||
/* prevents text to be hidden by wrapping it */
|
||||
white-space: -moz-pre-wrap !important;
|
||||
}
|
||||
|
||||
pre .default {
|
||||
color: #000000;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
pre .keyword {
|
||||
color: #3465a4;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
pre .string {
|
||||
color: #ef2929;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
pre .comment {
|
||||
color: #888a85;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: #3465a4;
|
||||
text-decoration: none;
|
||||
}
|
||||
/** Page layout ***************************************************************/
|
||||
|
||||
a:visited {
|
||||
color: #75507b;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:link:hover,
|
||||
a:link:active,
|
||||
a:visited:hover,
|
||||
a:visited:active {
|
||||
text-decoration: underline;
|
||||
color: #555753;
|
||||
}
|
||||
|
||||
|
||||
#table-of-contents {
|
||||
border: 1px solid #cccccc;
|
||||
background-color: #f6f6f6;
|
||||
padding: 0 1em;
|
||||
margin: 0;
|
||||
#sidebar {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#wrap {
|
||||
@ -133,30 +155,22 @@ a:visited:active {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
float: right;
|
||||
width: 25%;
|
||||
margin: 0;
|
||||
#content {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin-right: 25%;
|
||||
padding: 1em;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
||||
/** Tree specific styles ******************************************************/
|
||||
|
||||
ul.tree {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
ul.tree, ul.tree ul {
|
||||
list-style-type: none;
|
||||
padding-left: 2em;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
margin: 0;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
ul.tree {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.tree a {
|
||||
@ -167,6 +181,7 @@ ul.tree, ul.tree ul {
|
||||
|
||||
.tree .expander {
|
||||
color: black;
|
||||
background-color: inherit;
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 0;
|
||||
@ -181,9 +196,75 @@ ul.tree, ul.tree ul {
|
||||
.tree .expander:active,
|
||||
.tree .expander:hover {
|
||||
color: black;
|
||||
background-color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tree ul.closed {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** Table of Contents *********************************************************/
|
||||
|
||||
#table-of-contents {
|
||||
border: 1px solid #cccccc;
|
||||
color: black;
|
||||
background-color: #f6f6f6;
|
||||
padding: 1em;
|
||||
padding-top: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#table-of-contents p,
|
||||
#table-of-contents ul.tree,
|
||||
#table-of-contents span {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#table-of-contents p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#table-of-contents h1 {
|
||||
display: block;
|
||||
font-size: 1.5em;
|
||||
margin-right: 0.5em;
|
||||
margin-bottom: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#toc-toggles {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#toc-toggles span {
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
/** Sticky Table of Contents **************************************************/
|
||||
|
||||
div#wrap.sticky-toc #sidebar {
|
||||
/* Netscape 4, IE 4.x-5.0/Win and other lesser browsers will use this */
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 25%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
div#wrap.sticky-toc > #sidebar {
|
||||
/* used by Opera 5+, Netscape6+/Mozilla, Konqueror, Safari, OmniWeb 4.5+,
|
||||
iCab, ICEbrowser */
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.sticky-toc #content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 25%;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
@ -4,4 +4,12 @@
|
||||
|
||||
pre {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
div#wrap.sticky-toc #sidebar {
|
||||
/* IE5.5+/Win - this is more specific than the IE 5.0 version */
|
||||
top: expression(eval(document.documentElement.scrollTop));
|
||||
height: expression(eval(document.documentElement.clientHeight - 32));
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,9 @@
|
||||
<![endif]>
|
||||
<![endif]-->
|
||||
|
||||
<script type="text/javascript" src="<?php echo $baseUrl; ?>scripts/util.js"></script>
|
||||
<script type="text/javascript" src="<?php echo $baseUrl; ?>scripts/tree.js"></script>
|
||||
<script type="text/javascript" src="<?php echo $baseUrl; ?>scripts/toc.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
@ -24,17 +26,44 @@
|
||||
|
||||
<div id="wrap">
|
||||
|
||||
<?php if($tool->getOption('section') || $tool->getOption('one-page')): ?>
|
||||
|
||||
<div id="sidebar">
|
||||
|
||||
<div id="table-of-contents">
|
||||
|
||||
<div id="toc-toggles"></div>
|
||||
|
||||
<h1>Table of Contents</h1>
|
||||
|
||||
<?php $tool->renderToc(); ?>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var tocHideText = "hide"; var tocShowText = "show"; createTocToggle();
|
||||
var tocStickyText = "sticky"; var tocUnstickyText = 'unstick'; createTocStickyToggle();
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<p>
|
||||
<?php if($tool->getOption('one-page')): ?>
|
||||
<a href="<?php echo ($tool->getOption('clean-url') ? "${baseUrl}chapter/" : '?chapter=') . $tool->findByIndex('1.')->getPath(); ?>">View one chapter per page</a>
|
||||
<?php else: ?>
|
||||
<a href="<?php echo ($tool->getOption('clean-url') ? "${baseUrl}one-page" : '?one-page=1') . '#' . $tool->getOption('section')->getPath(); ?>">View all in one page</a>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="content">
|
||||
<?php
|
||||
</div>
|
||||
|
||||
try {
|
||||
$tool->render();
|
||||
} catch (Exception $e) {
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="content">
|
||||
|
||||
<?php if($tool->getOption('section') || $tool->getOption('one-page')): ?>
|
||||
<?php $tool->render(); ?>
|
||||
<?php else: ?>
|
||||
|
||||
<h1>Doctrine Manual</h1>
|
||||
|
||||
@ -45,12 +74,12 @@ try {
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user