diff options
author | Erlang/OTP <[email protected]> | 2009-11-20 14:54:40 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2009-11-20 14:54:40 +0000 |
commit | 84adefa331c4159d432d22840663c38f155cd4c1 (patch) | |
tree | bff9a9c66adda4df2106dfd0e5c053ab182a12bd /system/doc/top/templates | |
download | otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2 otp-84adefa331c4159d432d22840663c38f155cd4c1.zip |
The R13B03 release.OTP_R13B03
Diffstat (limited to 'system/doc/top/templates')
-rw-r--r-- | system/doc/top/templates/applications.html.src | 34 | ||||
-rw-r--r-- | system/doc/top/templates/erlang.gif | bin | 0 -> 2162 bytes | |||
-rw-r--r-- | system/doc/top/templates/first.html.src | 104 | ||||
-rwxr-xr-x | system/doc/top/templates/flip_closed.gif | bin | 0 -> 82 bytes | |||
-rwxr-xr-x | system/doc/top/templates/flip_google.gif | bin | 0 -> 257 bytes | |||
-rwxr-xr-x | system/doc/top/templates/flip_open.gif | bin | 0 -> 86 bytes | |||
-rwxr-xr-x | system/doc/top/templates/flip_static.gif | bin | 0 -> 109 bytes | |||
-rwxr-xr-x | system/doc/top/templates/flipmenu.js | 342 | ||||
-rw-r--r-- | system/doc/top/templates/index.html.src | 180 | ||||
-rw-r--r-- | system/doc/top/templates/otp_top.css | 53 | ||||
-rw-r--r-- | system/doc/top/templates/system.html.src | 281 | ||||
-rw-r--r-- | system/doc/top/templates/toc_.html.src | 105 |
12 files changed, 1099 insertions, 0 deletions
diff --git a/system/doc/top/templates/applications.html.src b/system/doc/top/templates/applications.html.src new file mode 100644 index 0000000000..0251d39b28 --- /dev/null +++ b/system/doc/top/templates/applications.html.src @@ -0,0 +1,34 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>Erlang/OTP #version#</title> + <style type="text/css"> +<!-- + BODY { background: white } + + BODY { font-family: Verdana, Arial, Helvetica, sans-serif } + TH { font-family: Verdana, Arial, Helvetica, sans-serif } + TD { font-family: Verdana, Arial, Helvetica, sans-serif } + P { font-family: Verdana, Arial, Helvetica, sans-serif } + + .header { background: #222; color: #fff } + .app { background: #ccc } + + a.anum:link { color: green; text-decoration: none } + a.anum:active { color: green; text-decoration: none } + a.anum:visited { color: green; text-decoration: none } + + a:link { text-decoration: none } + a:active { text-decoration: none } + a:visited { text-decoration: none } +--> + </style> +</head> + +<body bgcolor=white text="#000000" link="#0000ff" vlink="#ff00ff" + alink="#ff0000"> +<center> +#groups# +</center> +</body> +</html> diff --git a/system/doc/top/templates/erlang.gif b/system/doc/top/templates/erlang.gif Binary files differnew file mode 100644 index 0000000000..91fd4b9647 --- /dev/null +++ b/system/doc/top/templates/erlang.gif diff --git a/system/doc/top/templates/first.html.src b/system/doc/top/templates/first.html.src new file mode 100644 index 0000000000..edef1c0e5c --- /dev/null +++ b/system/doc/top/templates/first.html.src @@ -0,0 +1,104 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>Erlang/OTP #release# Documentation</title> + <style type="text/css"> +<!-- + BODY { background: white } + + BODY { font-family: Verdana, Arial, Helvetica, sans-serif } + TH { font-family: Verdana, Arial, Helvetica, sans-serif } + TD { font-family: Verdana, Arial, Helvetica, sans-serif } + P { font-family: Verdana, Arial, Helvetica, sans-serif } + + .header { background: #222; color: #fff } + .app { background: #ccc } +--> + </style> +</head> +<body bgcolor=white text="#000000" link="#0000ff" vlink="#ff00ff" + alink="#ff0000"> +<center> +<p> +<font size="+1">Welcome to Erlang/OTP, a complete<br> +development environment<br> +for concurrent programming.</font> +</p> +</center> +<br> +<br> +<br> +<p><b> +<font size"+1"> +Some hints that may get you started faster +</font> +</b></p> + +<ul> + +<li>In addition the the documentation here Erlang is described in the book +<a href="http://www.pragprog.com/titles/jaerlang" target="_top">"Programming Erlang"</a>, ISBN 978-1-934356-00-5 which we really recommend as a start.<br/ > +The complete language is also described in the <a href="reference_manual/part_frame.html" target="_top">Erlang Reference Manual</a>. An Erlang tutorial can be found in <a href="getting_started/part_frame.html" target="_top">Getting Started With Erlang</a>. +</li> +<li>Erlang/OTP is divided into a number of OTP <a +href="applications.html">applications</a>. An application normally contains +Erlang <a href="man_index.html">modules</a>. Some OTP applications, +such as the C interface <em>Erl_Interface</em>, are written in other languages and have no Erlang +modules. + +<p> +Note that functions that are not imported or prefixed with a module +name belong to the module +<a href="#kernel#/erlang.html" target="_top">erlang</a> +(in the <em>Kernel</em> application). +</p> +<p> +<li>On a Unix system you can view the manual pages from the command +line using +<pre> + % erl -man <module> +</pre> +<p> + +<li> You can of course use any editor you like to write Erlang +programs, but if you use Emacs there exists editing support such as +indentation, syntax highlighting, electric commands, module name +verification, comment support including paragraph filling, skeletons, +tags support and more. See the <a href="#tools#/index.html" +target="_top">Tools</a> application for details. +<p> +There is also an +<a href="http://erlide.sourceforge.net" target="_top"> +Erlang plugin (ErlIde) for Eclipse</a> if you prefer a more graphical +environment. ErlIde is under development and should at the time +of writing this be quite stable and useful. +<li>When developing with Erlang/OTP you usually test your programs +from the interactive shell (see <a href="getting_started/part_frame.html" +target="_top">Getting Started With Erlang</a>) where you can call individual +functions. There is also a number of tools available, such as the graphical <a +href="#debugger#/index.html" target="_top">Debugger</a>, the process +manager <a href="#pman#/index.html" target="_top">Pman</a> and table +viewer <a href="#tv#/index.html" target="_top">TV</a>. +<p> Also note that there are some shell features like history list +(control-p and control-n), inline editing (emacs key bindings) and +module and function name completion (tab) if the module is loaded. +<p> + +<li>OpenSource users can ask questions +and share experiences on the <a href="http://www.erlang.org/faq.html" +target="_top">Erlang questions mailing list</a>. <p> + +<li>Before asking a question you can browse the <a +href="http://www.erlang.org/pipermail/erlang-questions/" +target="_top">mailing list archive</a> and read the <a +href="http://www.erlang.org/faq/faq.html" target="_top">Frequently +Asked Questions</a>. <p> + +<li>Additional information and links of interest for Erlang programmers can be found on the Erlang Open Source site +<a href="http://www.erlang.org/" target="_top">http://www.erlang.org</a>. +<p> + +</ul> + +</body> +</html> diff --git a/system/doc/top/templates/flip_closed.gif b/system/doc/top/templates/flip_closed.gif Binary files differnew file mode 100755 index 0000000000..9a27c7c25d --- /dev/null +++ b/system/doc/top/templates/flip_closed.gif diff --git a/system/doc/top/templates/flip_google.gif b/system/doc/top/templates/flip_google.gif Binary files differnew file mode 100755 index 0000000000..3f0543c2bb --- /dev/null +++ b/system/doc/top/templates/flip_google.gif diff --git a/system/doc/top/templates/flip_open.gif b/system/doc/top/templates/flip_open.gif Binary files differnew file mode 100755 index 0000000000..9dda60e73a --- /dev/null +++ b/system/doc/top/templates/flip_open.gif diff --git a/system/doc/top/templates/flip_static.gif b/system/doc/top/templates/flip_static.gif Binary files differnew file mode 100755 index 0000000000..2b3ddb5382 --- /dev/null +++ b/system/doc/top/templates/flip_static.gif diff --git a/system/doc/top/templates/flipmenu.js b/system/doc/top/templates/flipmenu.js new file mode 100755 index 0000000000..92a5a58a06 --- /dev/null +++ b/system/doc/top/templates/flipmenu.js @@ -0,0 +1,342 @@ +// ######################################################################
+
+// ## flipMenu 5.0.0 (c) J. Reijers
+// ## Last modifications: 23 March 2007
+
+// ######################################################################
+
+// ## Degree of indentation from the left.
+ flipIndentation = "5px";
+
+// ## Padding inbetween menu items.
+ flipVerticalPadding = "4px";
+
+// ## Margin between the left of the browser and the menu.
+ flipLeftMargin = "16px";
+
+// ## Margin between the top of the browser and the menu.
+ flipTopMargin = "10px";
+
+// ## Allow multiple menus to fold out without closing all the other open ones.
+ flipOpenMultipleMenus = false;
+
+// ## Preserve the current state of the menu (requires cookies).
+ flipSaveMenuState = true;
+
+// ## Use custom images for bullets
+ flipImages = true;
+
+// ## Images to use (specify full path)
+ flipImg_open = "flip_open.gif";
+ flipImg_closed = "flip_closed.gif";
+ flipImg_static = "flip_static.gif";
+
+// ## Initialise all flipMenus onload
+ flipInitOnLoad = true;
+
+// ## Message to display in status bar while loading
+ flipLoadingMessage = "Loading...";
+
+// ######################################################################
+
+function alterSize(someSize, alterAmount) {
+ someSize = String(someSize);
+ var tmpNr = parseFloat(someSize.replace(/\D/g, ""));
+ var tmpChar = someSize.replace(/\d/g, "");
+ return isNaN(tmpNr) ? someSize : ((tmpNr + alterAmount) + tmpChar);
+}
+
+isIE = (String(navigator.appVersion).indexOf("MSIE") > -1);
+if (!isIE) flipIndentation = alterSize(flipIndentation, -16);
+if (!isIE) flipLeftMargin = alterSize(flipLeftMargin, -16);
+
+document.write(
+ "<style type=\"text/css\">" +
+
+ "ul.flipMenu { margin-top: " + flipTopMargin + "; margin-left: " + flipLeftMargin + "; " + (flipImages ? "" : "list-style-type: none;") + " }" +
+ "ul.flipMenu ul, ul.flipMenu li { padding-top: " + flipVerticalPadding + "; margin-left: " + flipIndentation + "; margin-right: 0px; " + (flipImages ? "" : "list-style-type: none;") + " }" +
+
+ "li.flipFolderOpen { cursor: pointer; " + (flipImages ? "list-style-image: url(" + flipImg_open + ");" : "") + " }" +
+ "li.flipFolderClosed { cursor: pointer; " + (flipImages ? "list-style-image: url(" + flipImg_closed + ");" : "") + " }" +
+
+ "</style>"
+);
+
+if (flipImages) {
+ aFlipPreloads = [];
+ aFlipPreloads[0] = new Image;
+ aFlipPreloads[0].src = flipImg_open;
+ aFlipPreloads[1] = new Image;
+ aFlipPreloads[1].src = flipImg_closed;
+ aFlipPreloads[2] = new Image;
+ aFlipPreloads[2].src = flipImg_static;
+}
+
+function addEvent(someObj, someEvent, someFunction) {
+ if (someObj.addEventListener) { someObj.addEventListener(someEvent, someFunction, true); return true; } else if (someObj.attachEvent) return someObj.attachEvent("on" + someEvent, someFunction); else return false;
+}
+
+function openCloseFlip(theItem, newSetting, openParents) {
+ if (theItem.flipID) {
+ if (openParents) {
+ var tmpItem = theItem;
+ while (tmpItem.parentElement || tmpItem.parentNode) {
+ tmpItem = (tmpItem.parentElement) ? tmpItem.parentElement : tmpItem.parentNode;
+ openCloseFlip(tmpItem, newSetting);
+ }
+ }
+ if ((theItem.className == "flipFolderOpen" && newSetting == "closed") || (theItem.className == "flipFolderClosed" && newSetting == "open")) {
+ if (!theItem.childrenInitialised) {
+ for (var j = 0; j < theItem.childNodes.length; j++) if (theItem.childNodes[j].nodeName == "UL" && !theItem.childNodes[j].initialised) initFlip(theItem.childNodes[j]);
+ theItem.childrenInitialised = true;
+ }
+ theItem.getElementsByTagName("UL")[0].style.display = (newSetting == "open") ? "" : "none";
+ theItem.className = newSetting == "open" ? "flipFolderOpen" : "flipFolderClosed";
+ }
+ }
+}
+
+function openFlip(theItem, openParents) {
+ openCloseFlip(theItem, "open", openParents);
+}
+
+function closeFlip(theItem, closeParents) {
+ openCloseFlip(theItem, "closed", closeParents);
+}
+
+function toggleFlip(theElement) {
+ if (theElement.flipID) {
+ var theItem = theElement;
+ var isContained = true;
+ } else {
+ if (theElement && theElement.button > 0) return false;
+ var theItem = (isIE) ? event.srcElement : theElement.target;
+
+ var isContained = false;
+ if (theItem.className == "flipFolderOpen" || theItem.className == "flipFolderClosed") isContained = true; else while (theItem.parentElement || theItem.parentNode) {
+ if (theItem.className == "flipStatic" || theItem.className == "flipFolderOpen" || theItem.className == "flipFolderClosed") {
+ isContained = (theItem.className == "flipFolderOpen" || theItem.className == "flipFolderClosed");
+ break;
+ }
+ theItem = (theItem.parentElement) ? theItem.parentElement : theItem.parentNode;
+ }
+ }
+
+ var toOpenFlip = (isContained && theItem.className == "flipFolderClosed");
+
+ if (!flipOpenMultipleMenus && (toOpenFlip || theItem.className == "flipStatic")) {
+ if (theItem.parentElement || theItem.parentNode) {
+ var parentUL = (theItem.parentElement) ? theItem.parentElement : theItem.parentNode;
+ for (var i = 0; i < parentUL.childNodes.length; i++) closeFlip(parentUL.childNodes[i]);
+ }
+ }
+
+ if (isContained) {
+ if (toOpenFlip) openFlip(theItem); else closeFlip(theItem);
+ }
+}
+
+function setAllFlips(startElement, newSetting) {
+ if (typeof startElement == "undefined") var startElement = document;
+ if (typeof newSetting == "undefined") var newSetting = "closed";
+
+ var aUL = startElement.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var parentFlip = aUL[i].parentElement ? aUL[i].parentElement : aUL[i].parentNode;
+ openCloseFlip(parentFlip, newSetting);
+ }
+}
+
+function openAllFlips(startElement) {
+ setAllFlips(startElement, "open");
+}
+
+function closeAllFlips(startElement) {
+ setAllFlips(startElement, "closed");
+}
+
+function initFlip(startElement) {
+ if (!document.createElement) return false;
+
+ if (!startElement || !startElement.nodeName) {
+ var aUL = document.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ if (flipLoadingMessage != "") window.status = flipLoadingMessage + " " + parseInt((i / (aUL.length - 1)) * 100, 10) + "%";
+ var curUL = aUL[i];
+ if (curUL.className == "flipMenu") {
+ initFlip(curUL);
+
+ // ## Fix text selecting problem in Mozilla
+ curUL.onselectstart = new Function("return false");
+ curUL.onmousedown = new Function("return false");
+ curUL.onclick = new Function("return true");
+ }
+ }
+
+ if (flipSaveMenuState) loadMenuState();
+
+ if (flipLoadingMessage != "") window.status = "";
+ return true;
+ }
+
+ if (startElement.className == "flipMenu") startElement.style.display = "";
+
+ if (!startElement.childNodes || startElement.childNodes.length == 0) return false;
+
+ if (typeof flipIDCur == "undefined") flipIDCur = 0;
+ if (!startElement.initialised) {
+ var aUL = startElement.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) aUL[i].style.display = "none";
+ }
+
+ for (var i = 0; i < startElement.childNodes.length; i++) {
+ var curNode = startElement.childNodes[i];
+ if (curNode.nodeName == "LI") {
+ flipIDCur++;
+ curNode.flipID = flipIDCur;
+
+ var nodeHasChildren = curNode.getElementsByTagName("UL").length > 0;
+ if (nodeHasChildren) {
+ if (flipImages && curNode.flipClosed) curNode.style.listStyleImage = "url(" + curNode.flipClosed + ")";
+
+ if (curNode.className == null || curNode.className == "") curNode.className = "flipFolderClosed";
+ } else {
+ curNode.className = "flipStatic";
+ if (flipImages && !curNode.style.listStyleImage) {
+ if (!curNode.flipStatic) curNode.flipStatic = flipImg_static;
+ curNode.style.listStyleImage = "url(" + curNode.flipStatic + ")";
+ }
+ }
+
+ if (!curNode.flipOpen) curNode.flipOpen = flipImg_open;
+ if (!curNode.flipClosed) curNode.flipClosed = flipImg_closed;
+
+ if (curNode.flipIsOpen) openFlip(curNode);
+ }
+ }
+
+ startElement.initialised = true;
+}
+
+function rootOfFlip(flipID, startElement) {
+
+ function containsFlip(startElement, flipID) {
+ var flipFound = false;
+ var i = 0;
+ while (i < startElement.childNodes.length && !flipFound) {
+ var curNode = startElement.childNodes[i];
+ flipFound = (curNode.flipID == flipID) ? true : containsFlip(curNode, flipID);
+ i++;
+ }
+ return flipFound;
+ }
+
+ var rootFlip = null;
+
+ if (!startElement || !startElement.nodeName) {
+ var aUL = document.getElementsByTagName("UL");
+ var i = 0;
+ while (rootFlip == null && i < aUL.length) {
+ var curUL = aUL[i];
+ if (curUL.nodeName == "UL" && curUL.className == "flipMenu") rootFlip = rootOfFlip(flipID, curUL);
+ i++;
+ }
+ return rootFlip;
+ }
+
+ if (startElement.childNodes) for (var i = 0; i < startElement.childNodes.length; i++) {
+ var curNode = startElement.childNodes[i];
+ if (curNode.flipID == flipID || containsFlip(curNode, flipID)) rootFlip = curNode;
+ }
+
+ return rootFlip;
+}
+
+function getCookie(cookieName) {
+ var allCookies = document.cookie;
+ var indexStr = allCookies.indexOf(cookieName + "=");
+ if (indexStr == -1) return "";
+ indexStr = allCookies.indexOf("=", indexStr) + 1;
+ var endStr = allCookies.indexOf(";", indexStr);
+ if (endStr == -1) endStr = allCookies.length;
+ return unescape(allCookies.substring(indexStr, endStr));
+}
+
+function inArray(someID, someArray) {
+ for (var i = 0; i < someArray.length; i++) if (someArray[i] == someID) return true;
+ return false;
+}
+
+function getMenuState(startElement) {
+ if (!startElement.childNodes || startElement.childNodes.length == 0) return "";
+
+ var openItems = "";
+ var aUL = startElement.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var curNode = aUL[i];
+ var parentFlip = (curNode.parentElement) ? curNode.parentElement : curNode.parentNode;
+ if (curNode.style.display == "" && parentFlip.flipID) openItems += " " + parentFlip.flipID;
+ }
+ return openItems;
+}
+
+function putMenuState(startElement) {
+ if (!startElement.childNodes || startElement.childNodes.length == 0) return false;
+
+ var aUL = startElement.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var curNode = aUL[i];
+ var parentFlip = (curNode.parentElement) ? curNode.parentElement : curNode.parentNode;
+ if (inArray(parentFlip.flipID, aOpenItems)) {
+ openFlip(parentFlip);
+ if (typeof prevFlipRoot == "undefined") {
+ var testRoot = rootOfFlip(parentFlip.flipID);
+ if (testRoot.flipID == parentFlip.flipID) prevFlipRoot = testRoot;
+ }
+ }
+ }
+}
+
+function saveMenuState() {
+ if (flipSaveMenuState) {
+ var aUL = document.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var curUL = aUL[i];
+ var curID = curUL.id ? curUL.id : i;
+ if (curUL.className == "flipMenu") document.cookie = cookiePrefix + curID + "=" + getMenuState(curUL) + ";";
+ }
+ }
+}
+
+function loadMenuState() {
+ var aUL = document.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var curUL = aUL[i];
+ var curID = curUL.id ? curUL.id : i;
+ if (curUL.className == "flipMenu") {
+ var savedState = String(getCookie(cookiePrefix + curID));
+ if (savedState != "") {
+ aOpenItems = savedState.split(" ");
+ putMenuState(curUL);
+ }
+ }
+ }
+
+ addEvent(window, "unload", saveMenuState);
+}
+
+function clearMenuState(flipMenuID) {
+ if (typeof flipMenuID == "undefined") {
+ var aUL = document.getElementsByTagName("UL");
+ for (var i = 0; i < aUL.length; i++) {
+ var curUL = aUL[i];
+ var curID = curUL.id ? curUL.id : i;
+ if (curUL.className == "flipMenu") document.cookie = cookiePrefix + curID + "=;";
+ }
+ } else document.cookie = cookiePrefix + flipMenuID + "=;";
+}
+
+cookiePrefix = document.location.pathname + "_";
+
+addEvent(document, "click", toggleFlip);
+if (flipInitOnLoad) addEvent(window, "load", initFlip);
diff --git a/system/doc/top/templates/index.html.src b/system/doc/top/templates/index.html.src new file mode 100644 index 0000000000..935bb11c80 --- /dev/null +++ b/system/doc/top/templates/index.html.src @@ -0,0 +1,180 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- +%CopyrightBegin% + +Copyright Ericsson AB 2001-2009. All Rights Reserved. + +The contents of this file are subject to the Erlang Public License, +Version 1.1, (the "License"); you may not use this file except in +compliance with the License. You should have received a copy of the +Erlang Public License along with this software. If not, it can be +retrieved online at http://www.erlang.org/. + +Software distributed under the License is distributed on an "AS IS" +basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +the License for the specific language governing rights and limitations +under the License. + +%CopyrightEnd% +--> + +<html> +<head> + <link rel="stylesheet" href="otp_doc.css" type="text/css"/> + <title>Erlang/OTP #release#</title> + +<script id="js" type="text/javascript" language="JavaScript" src="js/flipmenu/flipmenu.js"> + +</script> +</head> + +<body bgcolor=white text="#000000" link="#0000ff" vlink="#ff00ff" + alink="#ff0000"> + +<div id="container"> +<div id="leftnav"> +<div class="innertube"> +<img alt="Erlang logo" src="erlang-logo.png"/ > +<!-- small><a href="glossary.html">Glossary</a> |--> +<small><a href="applications.html">Applications</a><br> +<a href="man_index.html">Modules</a></small> +<p/> +<small><a href="highlights.html">Release highlights</a><br> +<a href="incompatible.html">Potential incompatibilities</a><br> +</small> +<br> +<a href="javascript:openAllFlips()">Expand All</a><br> +<a href="javascript:closeAllFlips()">Contract All</a> +<p/> + +<ul class="flipMenu"> +<li>Erlang/OTP System Documentation +<ul> +<li><a href="installation_guide/users_guide.html">Installation Guide</a></li> +<li><a href="system_principles/users_guide.html">System Principles</a></li> +<li><a href="embedded/users_guide.html">Embedded System</a></li> +<li><a href="getting_started/users_guide.html">Getting Started</a></li> +<li><a href="reference_manual/users_guide.html">Erlang Reference Manual</a></li> +<li><a href="programming_examples/users_guide.html">Programming Examples</a></li> +<li><a href="efficiency_guide/users_guide.html">Efficiency Guide</a></li> +<li><a href="tutorial/users_guide.html">Interoperability Tutorial</a></li> +<li><a href="design_principles/users_guide.html">Design Principles</a></li> +<li><a href="oam/users_guide.html">OAM Principles</a></li> +</ul> +</li> + +#applinks# +</ul> + +</div> +</div> + + +<div id="content"> +<div class="innertube"> +<center> +<font size="+1"><b>Erlang/OTP #release#</b></font><br> +</center> +<center> +<p> +<font size="+1">Welcome to Erlang/OTP, a complete<br> +development environment<br> +for concurrent programming.</font> +</p> +</center> +<br> +<br> +<br> +<p><b> +<font size="+1"> +Some hints that may get you started faster +</font> +</b></p> + +<ul> + +<li> +The complete Erlang language is described in the +<a href="reference_manual/users_guide.html">Erlang Reference Manual</a>. +An Erlang tutorial can be found in +<a href="getting_started/users_guide.html"> +Getting Started With Erlang</a>. +<p> +In addition to the documentation here Erlang is described in several recent books like: +</p> +<ul> +<li> +<a href="http://oreilly.com/catalog/9780596518189">"Erlang Programming"</a> from O'Reilly. +</li> +<li> +<a href="http://www.pragprog.com/titles/jaerlang">"Programming Erlang"</a> from Pragmatic. +</li> +</ul> +<p> +These books are highly recommended as a start for learning Erlang. +</p> +</li> +<li>Erlang/OTP is divided into a number of OTP <a +href="applications.html">applications</a>. An application normally contains +Erlang <a href="man_index.html">modules</a>. Some OTP applications, +such as the C interface <em>erl_interface</em>, are written in other languages and have no Erlang +modules. + +<p> +<li>On a Unix system you can view the manual pages from the command +line using +<pre> + % erl -man <module> +</pre> +<p> + +<li> You can of course use any editor you like to write Erlang +programs, but if you use Emacs there exists editing support such as +indentation, syntax highlighting, electric commands, module name +verification, comment support including paragraph filling, skeletons, +tags support and more. See the <a href="#tools#/index.html"> +Tools</a> application for details. +<p> +There is also an +<a href="http://erlide.sourceforge.net"> +Erlang plugin (ErlIDE) for Eclipse</a> if you prefer a more graphical +environment. ErlIDE is under active development with new features in almost every release. +<li>When developing with Erlang/OTP you usually test your programs +from the interactive shell (see <a href="getting_started/users_guide.html"> +Getting Started With Erlang</a>) where you can call individual +functions. There is also a number of tools available, such as the graphical <a +href="#debugger#/index.html" >Debugger</a>, the process +manager <a href="#pman#/index.html" >Pman</a> and table +viewer <a href="#tv#/index.html">TV</a>. +<p> Also note that there are some shell features like history list +(control-p and control-n), in line editing (Emacs key bindings) and +module and function name completion (tab) if the module is loaded. +<p> + +<li>OpenSource users can ask questions +and share experiences on the <a href="http://www.erlang.org/faq.html"> +Erlang questions mailing list</a>. <p> + +<li>Before asking a question you can browse the <a +href="http://www.erlang.org/pipermail/erlang-questions/"> +mailing list archive</a> and read the <a +href="http://www.erlang.org/faq/faq.html" >Frequently +Asked Questions</a>. <p> + +<li>Additional information and links of interest for Erlang programmers can be found on the Erlang Open Source site +<a href="http://www.erlang.org/">http://www.erlang.org</a>. +<p> + +</ul> + +<center> +<small> +Copyright © 1999-2009 +<a href="http://www.ericsson.com">Ericsson AB</a> +</small> +</center> +</div> +</div> +</div> +</body> +</html> diff --git a/system/doc/top/templates/otp_top.css b/system/doc/top/templates/otp_top.css new file mode 100644 index 0000000000..1c6d27bd8d --- /dev/null +++ b/system/doc/top/templates/otp_top.css @@ -0,0 +1,53 @@ + BODY { background: white } + + BODY { font-family: Verdana, Arial, Helvetica, sans-serif } + TH { font-family: Verdana, Arial, Helvetica, sans-serif } + TD { font-family: Verdana, Arial, Helvetica, sans-serif } + P { font-family: Verdana, Arial, Helvetica, sans-serif } + + .header { background: #222; color: #fff } + .top { background: #efe } + .otp { background: #efe } + .erlang { background: #ffe } + .otp2 { background: #efe } + .app { background: #ffe } + + a:link { color: blue; text-decoration: none } + a:active { color: blue; text-decoration: none } + a:visited { color: blue; text-decoration: none } + body { + margin: 0; + padding: 0; + border: 0; + overflow: scroll; + height: 100%; + max-height: 100% + } + #container { + width: 100%; + margin: 10px auto; + background-color: #fff; + } + #leftnav { + float: left; + width: 200px; + margin: 0; + padding: 1em; + } + #content { + margin-left: 220px; /* set left value to WidthOfFrameDiv */ + border-left: 1px solid red; + } + + .innertube { + margin: 15px; /* Magins for inner DIV inside each DIV (to provide padding) */ + } + + * html body{ /* IE6 hack */ + padding: 0 0 0 200px; /* Set value to (0 0 0 WidthOfFrameDiv)*/ + } + * html #maincontent{ /* IE6 hack*/ + height: 100%; + width: 100%; + } + diff --git a/system/doc/top/templates/system.html.src b/system/doc/top/templates/system.html.src new file mode 100644 index 0000000000..761bc96ed0 --- /dev/null +++ b/system/doc/top/templates/system.html.src @@ -0,0 +1,281 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>Erlang/OTP #release#</title> + <style type="text/css"> +<!-- + BODY { background: white } + + BODY { font-family: Verdana, Arial, Helvetica, sans-serif } + TH { font-family: Verdana, Arial, Helvetica, sans-serif } + TD { font-family: Verdana, Arial, Helvetica, sans-serif } + P { font-family: Verdana, Arial, Helvetica, sans-serif } + + .header { background: #222; color: #fff } + .app { background: #ccc } + + a.anum:link { color: green; text-decoration: none } + a.anum:active { color: green; text-decoration: none } + a.anum:visited { color: green; text-decoration: none } + + a:link { text-decoration: none } + a:active { text-decoration: none } + a:visited { text-decoration: none } +--> + </style> +</head> + +<body bgcolor=white text="#000000" link="#0000ff" vlink="#ff00ff" + alink="#ff0000"> +<center> +<table border=0 width="90%" cellspacing=3 cellpadding=5> + + <tr> + <td colspan=2 class=header> + <font size="+1"><b>General</b></font> + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="system_architecture_intro/part_frame.html" target="_top" + name=system_architecture_intro> + Introduction + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +About Erlang, OTP, Erlang/OTP and this documentation + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="installation_guide/part_frame.html" target="_top" + name=installation_guide> + Installation Guide + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +The Erlang/OTP Installation Guide + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="system_principles/part_frame.html" target="_top" + name=system_principles> + System Principles + </a> + </td> + <td align=right valign=top width=20> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Starting, stopping and configuring the Erlang runtime system + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="embedded/part_frame.html" target="_top" name=embedded> + Embedded System + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Erlang in an Embedded System + </td> + </tr> + + <tr> + <td colspan=2><font size=1> </font></td> + </tr> + +<!-- ====================================================================== --> + + <tr> + <td colspan=2 class=header> + <font size="+1"><b>Programming in Erlang</b></font> + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="reference_manual/part_frame.html" target="_top" name=reference_manual> + Erlang Reference Manual + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Description of data types, language constructs and more + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="getting_started/part_frame.html" target="_top" name=getting_started> + Getting Started + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Getting started with Erlang + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="programming_examples/part_frame.html" target="_top" name=programming_examples> + Programming Examples + </a> + </td> + <td align=right valign=top width=50> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Examples of using records, funs, list comprehensions and the bit syntax + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="efficiency_guide/part_frame.html" target="_top" name=efficiency_guide>Efficiency Guide</a> + </td> + <td align=right valign=top width=20> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Learn how to write efficient programs in Erlang + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="tutorial/part_frame.html" target="_top" name=tutorial>Interoperability Tutorial</a> + </td> + <td align=right valign=top width=20> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +About interoperating with programs written in other programming languages + </td> + </tr> + + <tr> + <td colspan=2><font size=1> </font></td> + </tr> + +<!-- ====================================================================== --> + + <tr> + <td colspan=2 class=header> + <font size="+1"><b>Working with OTP</b></font> + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="design_principles/part_frame.html" target="_top" + name=design_principles> + Design Principles + </a> + </td> + <td align=right valign=top width=20> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +Structure your programs with applications, supervisors and generic behaviors (gen_server, gen_event and gen_fsm). +Also use the built in error logger. + </td> + </tr> + + <tr class=app> + <td align=left valign=top> + <table border=0 width="100%" cellspacing=0 cellpadding=0> + <tr class=app> + <td align=left valign=top> + <a href="oam/part_frame.html" target="_top" name=oam>OAM Principles</a> + </td> + <td align=right valign=top width=20> + </td> + </tr> + </table> + </td> + <td align=left valign=top> +OTP Operation and Management Principles + </td> + </tr> + + <tr> + <td colspan=2><font size=1> </font></td> + </tr> + +</table> + +</center> +</body> +</html> + + diff --git a/system/doc/top/templates/toc_.html.src b/system/doc/top/templates/toc_.html.src new file mode 100644 index 0000000000..5e79bc0ac8 --- /dev/null +++ b/system/doc/top/templates/toc_.html.src @@ -0,0 +1,105 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>Erlang/OTP #release#</title> + <style type="text/css"> +<!-- + BODY { background: white } + + BODY { font-family: Verdana, Arial, Helvetica, sans-serif } + TH { font-family: Verdana, Arial, Helvetica, sans-serif } + TD { font-family: Verdana, Arial, Helvetica, sans-serif } + P { font-family: Verdana, Arial, Helvetica, sans-serif } + + .header { background: #222; color: #fff } + .top { background: #efe } + .otp { background: #efe } + .erlang { background: #ffe } + .otp2 { background: #efe } + .app { background: #ffe } + + a:link { color: blue; text-decoration: none } + a:active { color: blue; text-decoration: none } + a:visited { color: blue; text-decoration: none } +--> + </style> +</head> + +<body bgcolor=white text="#000000" link="#0000ff" vlink="#ff00ff" + alink="#ff0000"> +<center> +<font size="+1"><b>Erlang/OTP #release#</b></font><br> +</center> + +<div class=top> +<small><a href="glossary.html" target=body>Glossary</a> | +<a href="man_index.html" target=body>Modules</a> | +<a href="permuted_index/pidxa.html" target=body>Index</a></small> +<p> +<small><a href="highlights.html" target=body>Release highlights</a><br> +<a href="incompatible.html" target=body>Potential incompatibilities</a> +</small> +</div> + +<p> +<div class=otp> +Erlang/OTP +<br> +·<small><a href="installation_guide/part_frame.html" target="_top" + name=installation_guide>Installation Guide</a></small> + +<br> +·<small><a href="system_principles/part_frame.html" target="_top" + name=system_principles>System Principles</a></small> + +<br> +·<small><a href="embedded/part_frame.html" target="_top" name=embedded>Embedded System</a></small> + +</div> + +<p> +<div class=erlang> +Erlang Programming +<br> +·<small><a href="getting_started/part_frame.html" target="_top" name=getting_started>Getting +Started</a></small> + +<br> +·<small><a href="reference_manual/part_frame.html" target="_top" name=reference_manual>Erlang +Reference Manual</a></small> + +<br> +·<small><a href="programming_examples/part_frame.html" target="_top" name=programming_examples>Programming +Examples</a></small> + +<br> +·<small><a href="efficiency_guide/part_frame.html" target="_top" name=efficiency_guide>Efficiency Guide</a></small> + +<br> +·<small><a href="tutorial/part_frame.html" target="_top" name=tutorial>Interoperability Tutorial</a></small> +</div> + +<p> +<div class=otp2> +Working with OTP +<br> +·<small><a href="design_principles/part_frame.html" target="_top" + name=design_principles>Design Principles</a> +</small> + +<br> +·<small><a href="oam/part_frame.html" target="_top" name=oam>OAM Principles</a></small> + +</div> + +<p> +<div class=app> +Applications +<small>#applinks#</small> +</div> + +<p> +<a href="http://www.erlang.se/" target=body>http://www.erlang.se</a> + +</body> +</html> |