From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- system/doc/top/templates/applications.html.src | 34 +++ system/doc/top/templates/erlang.gif | Bin 0 -> 2162 bytes system/doc/top/templates/first.html.src | 104 ++++++++ system/doc/top/templates/flip_closed.gif | Bin 0 -> 82 bytes system/doc/top/templates/flip_google.gif | Bin 0 -> 257 bytes system/doc/top/templates/flip_open.gif | Bin 0 -> 86 bytes system/doc/top/templates/flip_static.gif | Bin 0 -> 109 bytes system/doc/top/templates/flipmenu.js | 342 +++++++++++++++++++++++++ system/doc/top/templates/index.html.src | 180 +++++++++++++ system/doc/top/templates/otp_top.css | 53 ++++ system/doc/top/templates/system.html.src | 281 ++++++++++++++++++++ system/doc/top/templates/toc_.html.src | 105 ++++++++ 12 files changed, 1099 insertions(+) create mode 100644 system/doc/top/templates/applications.html.src create mode 100644 system/doc/top/templates/erlang.gif create mode 100644 system/doc/top/templates/first.html.src create mode 100755 system/doc/top/templates/flip_closed.gif create mode 100755 system/doc/top/templates/flip_google.gif create mode 100755 system/doc/top/templates/flip_open.gif create mode 100755 system/doc/top/templates/flip_static.gif create mode 100755 system/doc/top/templates/flipmenu.js create mode 100644 system/doc/top/templates/index.html.src create mode 100644 system/doc/top/templates/otp_top.css create mode 100644 system/doc/top/templates/system.html.src create mode 100644 system/doc/top/templates/toc_.html.src (limited to 'system/doc/top/templates') 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 @@ + + + + Erlang/OTP #version# + + + + +
+#groups# +
+ + diff --git a/system/doc/top/templates/erlang.gif b/system/doc/top/templates/erlang.gif new file mode 100644 index 0000000000..91fd4b9647 Binary files /dev/null and b/system/doc/top/templates/erlang.gif differ 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 @@ + + + + Erlang/OTP #release# Documentation + + + +
+

+Welcome to Erlang/OTP, a complete
+development environment
+for concurrent programming.
+

+
+
+
+
+

+ +Some hints that may get you started faster + +

+ + + + + diff --git a/system/doc/top/templates/flip_closed.gif b/system/doc/top/templates/flip_closed.gif new file mode 100755 index 0000000000..9a27c7c25d Binary files /dev/null and b/system/doc/top/templates/flip_closed.gif differ diff --git a/system/doc/top/templates/flip_google.gif b/system/doc/top/templates/flip_google.gif new file mode 100755 index 0000000000..3f0543c2bb Binary files /dev/null and b/system/doc/top/templates/flip_google.gif differ diff --git a/system/doc/top/templates/flip_open.gif b/system/doc/top/templates/flip_open.gif new file mode 100755 index 0000000000..9dda60e73a Binary files /dev/null and b/system/doc/top/templates/flip_open.gif differ diff --git a/system/doc/top/templates/flip_static.gif b/system/doc/top/templates/flip_static.gif new file mode 100755 index 0000000000..2b3ddb5382 Binary files /dev/null and b/system/doc/top/templates/flip_static.gif differ 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( + "" +); + +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 @@ + + + + + + + Erlang/OTP #release# + + + + + + +
+ + + +
+
+
+Erlang/OTP #release#
+
+
+

+Welcome to Erlang/OTP, a complete
+development environment
+for concurrent programming.
+

+
+
+
+
+

+ +Some hints that may get you started faster + +

+ +
    + +
  • +The complete Erlang language is described in the +Erlang Reference Manual. +An Erlang tutorial can be found in + +Getting Started With Erlang. +

    +In addition to the documentation here Erlang is described in several recent books like: +

    + +

    +These books are highly recommended as a start for learning Erlang. +

    +
  • +
  • Erlang/OTP is divided into a number of OTP applications. An application normally contains +Erlang modules. Some OTP applications, +such as the C interface erl_interface, are written in other languages and have no Erlang +modules. + +

    +

  • On a Unix system you can view the manual pages from the command +line using +
    +    % erl -man <module>
    +
    +

    + +

  • 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 +Tools application for details. +

    +There is also an + +Erlang plugin (ErlIDE) for Eclipse if you prefer a more graphical +environment. ErlIDE is under active development with new features in almost every release. +

  • When developing with Erlang/OTP you usually test your programs +from the interactive shell (see +Getting Started With Erlang) where you can call individual +functions. There is also a number of tools available, such as the graphical Debugger, the process +manager Pman and table +viewer TV. +

    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. +

    + +

  • OpenSource users can ask questions +and share experiences on the +Erlang questions mailing list.

    + +

  • Before asking a question you can browse the +mailing list archive and read the Frequently +Asked Questions.

    + +

  • Additional information and links of interest for Erlang programmers can be found on the Erlang Open Source site +http://www.erlang.org. +

    + +

+ +
+ +Copyright © 1999-2009 +Ericsson AB + +
+
+
+
+ + 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 @@ + + + + Erlang/OTP #release# + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ General +
+ + + + + +
+ + Introduction + + +
+
+About Erlang, OTP, Erlang/OTP and this documentation +
+ + + + + +
+ + Installation Guide + + +
+
+The Erlang/OTP Installation Guide +
+ + + + + +
+ + System Principles + + +
+
+Starting, stopping and configuring the Erlang runtime system +
+ + + + + +
+ + Embedded System + + +
+
+Erlang in an Embedded System +
 
+ Programming in Erlang +
+ + + + + +
+ + Erlang Reference Manual + + +
+
+Description of data types, language constructs and more +
+ + + + + +
+ + Getting Started + + +
+
+Getting started with Erlang +
+ + + + + +
+ + Programming Examples + + +
+
+Examples of using records, funs, list comprehensions and the bit syntax +
+ + + + + +
+ Efficiency Guide + +
+
+Learn how to write efficient programs in Erlang +
+ + + + + +
+ Interoperability Tutorial + +
+
+About interoperating with programs written in other programming languages +
 
+ Working with OTP +
+ + + + + +
+ + Design Principles + + +
+
+Structure your programs with applications, supervisors and generic behaviors (gen_server, gen_event and gen_fsm). +Also use the built in error logger. +
+ + + + + +
+ OAM Principles + +
+
+OTP Operation and Management Principles +
 
+ +
+ + + + 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 @@ + + + + Erlang/OTP #release# + + + + +
+Erlang/OTP #release#
+
+ +
+Glossary | +Modules | +Index +

+Release highlights
+Potential incompatibilities +
+

+ +

+

+Erlang/OTP +
Installation Guide + +
System Principles + +
Embedded System + +
+ +

+

+Erlang Programming +
Getting +Started + +
Erlang +Reference Manual + +
Programming +Examples + +
Efficiency Guide + +
Interoperability Tutorial +
+ +

+

+Working with OTP +
Design Principles + + +
OAM Principles + +
+ +

+

+Applications +#applinks# +
+ +

+http://www.erlang.se + + + -- cgit v1.2.3