(ded4a3e0a) v0.9.0.7

This commit is contained in:
Joonas Rikkonen
2019-06-25 16:00:44 +03:00
parent e5ae622c77
commit 4a51db77b5
1777 changed files with 421528 additions and 917 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,13 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
<iframe id="mainFrame" name="mainFrame" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
<script type="text/javascript" language="JavaScript">
loadContent("@Model.RootTopic.PageId", "@Param.FileExt");
</script>
@@ -0,0 +1,26 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model;
@Import("PageHead")
@Import("PageBody")
@helper Dump(string title, string bodyTemplateName)
{
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
@Helpers.PageHead.Dump(title)
</head>
<body onload="onPageLoad('@title | MonoGame', '@Model.Topic.PageId');">
@Helpers.PageBody.Dump(bodyTemplateName)
<br />
<br />
</body>
</html>
}
@@ -0,0 +1,23 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
@helper Dump(string bodyTemplateName)
{
<script type="text/javascript" language="javascript">
if(window == window.top)
location.href = "/documentation/?page=@Model.Topic.PageId";
document.addEvent('domready', function () {
InstallCodeTabs();
});
</script>
<div class="sharpdoc">
<div class="content">
@Include(bodyTemplateName)
</div>
</div>
}
@@ -0,0 +1,46 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
@Import("PageHead")
@Import("TocBody")
@helper Dump(){
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
@Helpers.PageHead.Dump(Model.RootTopic.PageTitle)
</head>
<body>
@* Initialize splitpane *@
<script type="text/javascript" language="javascript">
document.addEvent('domready', function () {
SplitPane('toc_content', 'pane_toggle', 'pane_resizer');
});
</script>
<div class="sharpdoc">
<div id="body">
<div id="toc_content" class="toc_content">
<div class="inner">
@Helpers.TocBody.Dump()
<br />
<br />
</div>
</div>
<div id="pane_resizer" class="pane_resizer">
<div id="pane_toggle" class="collapse" ></div>
</div>
<div id="main_content" class="main_content">
@Include("ContentHeader")
@Include("MainFrame")
@Include("ContentFooter")
</div>
</div>
</div>
</body>
</html>
}
@@ -0,0 +1,52 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
@Import("PageIndexBody")
<html>
<head>
<title>@Param.Title</title>
</head>
<body>
@if (Model.RootTopic != null)
{
NTopic indexTopic = new NTopic {PageId = "index"};
Model.Topic = indexTopic;
Model.WriteTo(indexTopic, @Helpers.PageIndexBody.Dump());
<script>
function resizeDocs()
{
var docFrame = document.getElementById('the_docs');
var tocDoc = docFrame.contentDocument || docFrame.contentWindow.document;
var contentFrame = tocDoc.getElementById('mainFrame');
var contentDoc = contentFrame.contentDocument || contentFrame.contentWindow.document;
var tocElem = tocDoc.getElementById('toc_content');
var tocSize = tocElem.scrollHeight ||
tocElem.offsetHeight ||
tocElem.clientHeight ||
0;
// The order here is very specifc to ensure it
// works on IE and Chrome with fallbacks.
var contentSize = contentDoc.documentElement.offsetHeight ||
contentDoc.body.scrollHeight ||
contentDoc.documentElement.scrollHeight ||
contentDoc.offsetHeight ||
contentDoc.documentElement.clientHeight ||
0;
var pageHeight = Math.max(contentSize, tocSize, 720);
docFrame.style.height = pageHeight + 'px';
}
</script>
<iframe id="the_docs" src="html/@indexTopic.PageId@Param.FileExt" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
}
</body>
</html>
@@ -0,0 +1,70 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
@Import("Members")
@Import("Syntax")
@*
* ------------------------------------------------------------------
* Dump a section
* ------------------------------------------------------------------
* sectionId: id for the section
* name: display name
* content: html content of the section
* ------------------------------------------------------------------
*@
@helper Dump(string sectionId, string name, string content)
{
<script language="javascript">
window.addEvent('domready', function() {
$('@(sectionId)_toggle').addEvent('click', function (event) {
var ct = $('@(sectionId)_content');
if (ct.isDisplayed())
{
$('@(sectionId)_icon').setProperty('class', 'toggle_icon in');
$('@(sectionId)_content').hide();
}
else
{
$('@(sectionId)_icon').setProperty('class', 'toggle_icon out');
$('@(sectionId)_content').show();
}
});
});
</script>
<div id="@sectionId" class="section">
<div class="title"><a id="@(sectionId)_toggle" href="#" class="title"><div id="@(sectionId)_icon" class="toggle_icon out"></div><span class="title">@Escape(name)</span></a><div class="hr"><hr/></div></div>
<div id="@(sectionId)_content" class="block">
@Raw(content)
</div>
</div>
}
@helper Dump(string name, string content)
{
@Dump("section_" + name.Replace(" ",""), name, content)
}
@helper Dump(string sectionId, string name, IEnumerable<NModelBase> members, bool showIcons)
{
@Dump(sectionId, name, Helpers.Members.Dump(members, showIcons).ToString())
}
@helper Dump(string name, IEnumerable<NModelBase> members, bool showIcons)
{
@Dump(name, Helpers.Members.Dump(members, showIcons).ToString())
}
@helper Dump(string name, IEnumerable<NModelBase> members, bool showIcons, IModelReference context)
{
@Dump(name, Helpers.Members.Dump(members, showIcons, context).ToString())
}
@helper DumpSyntax(NMember member)
{
@Dump("Syntax", Helpers.Syntax.Dump(member).ToString())
}
@@ -0,0 +1,39 @@
@*
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
*@
@model SharpDoc.TemplateContext
@using SharpDoc.Model
@Import("SyntaxMethod")
@Import("SyntaxProperty")
@Import("TabCode")
@Import("SyntaxCodeCSharp")
@Import("SyntaxCodeVB")
@Import("SyntaxCodeFSharp")
@*// Dumps syntax section*@
@helper Dump(NMember member)
{
@Helpers.TabCode.Dump(new string[] {
"C#", "<pre class='brush: csharp;'>" + Escape(Helpers.SyntaxCodeCSharp.Dump(member)) + "</pre>",
"VB", Helpers.SyntaxCodeVB.Dump(member),
"F#", Helpers.SyntaxCodeFSharp.Dump(member),
});
if (member is NMethod)
{
@Helpers.SyntaxMethod.Dump((NMethod) member)
}
else if (member is NProperty)
{
@Helpers.SyntaxProperty.Dump((NProperty) member)
}
else if (member is NDelegate)
{
@Helpers.SyntaxMethod.Dump(((NDelegate) member).Invoke)
}
else if (member is NType)
{
<p>The @member.Name type exposes the following members.</p>
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

@@ -0,0 +1,322 @@
// Copyright (c) 2010-2013 SharpDoc - Alexandre Mutel
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
// -------------------------------------------------------------------------------
// SplitPane handling Toc and Conent
// -------------------------------------------------------------------------------
// splitPaneId: id to the splitPane container
// splitPaneToggleId: id to the splitPane toggle collapse-expand button
// splitPaneResizerId: id to the resizer grip
function supports_local_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null && window.localStorage['getItem'] !== null;
} catch (e) {
return false;
}
}
function autoResize(id) {
if (document.getElementById) {
var newheight = "100%";
if (Browser.firefox || Browser.ie) {
newheight = (document.getElementById(id).contentWindow.document.body.scrollHeight) + "px";
}
document.getElementById(id).height = newheight;
}
}
function loadContent(rootTopic, extension) {
var data = window.top.location.search;
var url = rootTopic + extension;
var topicToHighlight = rootTopic;
if(data != null && data !="")
{
var pattern = /page=(\w+)/;
var page = pattern.exec(data);
if(page != null)
{
url = page[1] + extension;
topicToHighlight = page[1];
}
}
$("mainFrame").setAttribute("src", url);
hightLightTopic(topicToHighlight);
}
function onPageLoad(pageTitle, pageId)
{
var topWindow = window.top;
topWindow.resizeDocs();
topWindow.scrollTo(0,0);
topWindow.document.title = pageTitle;
topWindow.history.replaceState(null, pageTitle, '?page=' + pageId);
}
/*
http://webfreak.no/wp/2007/09/05/get-for-mootools-a-way-to-read-get-variables-with-javascript-in-mootools/
Function: $get
This function provides access to the "get" variable scope + the element anchor
Version: 1.3
Arguments:
key - string; optional; the parameter key to search for in the url's query string (can also be "#" for the element anchor)
url - url; optional; the url to check for "key" in, location.href is default
Example:
>$get("foo","http://example.com/?foo=bar"); //returns "bar"
>$get("foo"); //returns the value of the "foo" variable if it's present in the current url(location.href)
>$get("#","http://example.com/#moo"); //returns "moo"
>$get("#"); //returns the element anchor if any, but from the current url (location.href)
>$get(,"http://example.com/?foo=bar&bar=foo"); //returns {foo:'bar',bar:'foo'}
>$get(,"http://example.com/?foo=bar&bar=foo#moo"); //returns {foo:'bar',bar:'foo',hash:'moo'}
>$get(); //returns same as above, but from the current url (location.href)
>$get("?"); //returns the query string (without ? and element anchor) from the current url (location.href)
Returns:
Returns the value of the variable form the provided key, or an object with the current GET variables plus the element anchor (if any)
Returns "" if the variable is not present in the given query string
Credits:
Regex from [url=http://www.netlobo.com/url_query_string_javascript.html]http://www.netlobo.com/url_query_string_javascript.html[/url]
Function by Jens Anders Bakke, webfreak.no
*/
function $get(key, url) {
if (arguments.length < 2) url = location.href;
if (arguments.length > 0 && key != "") {
if (key == "#") {
var regex = new RegExp("[#]([^$]*)");
} else if (key == "?") {
var regex = new RegExp("[?]([^#$]*)");
} else {
var regex = new RegExp("[?&]" + key + "=([^&#]*)");
}
var results = regex.exec(url);
return (results == null) ? "" : results[1];
} else {
url = url.split("?");
var results = {};
if (url.length > 1) {
url = url[1].split("#");
if (url.length > 1) results["hash"] = url[1];
url[0].split("&").each(function (item, index) {
item = item.split("=");
results[item[0]] = item[1];
});
}
return results;
}
}
function InstallCodeTabs() {
var groupTabs = $$('.grouptab');
groupTabs.each(function (groupTab, groupIndex) {
var tabs = groupTab.getChildren('.tabs li.tab');
var content = groupTab.getChildren('.tabcontent');
tabs.each(function (tab, index) {
tab.addEvent('click', function () {
tabs.removeClass('selected');
content.removeClass('selected');
tabs[index].addClass('selected');
content[index].addClass('selected');
});
});
});
}
function SplitPane(splitPaneId, splitPaneToggleId, splitPaneResizerId) {
// Define column elemnts
var paneLeft = $(splitPaneId);
var paneRight = $("main_content");
var splitPaneResizer = $(splitPaneResizerId);
var splitPaneToggle = $(splitPaneToggleId);
var iframe = $('mainFrame');
var paneLeftMinWidth = 100;
var paneLeftOriginalWidth = paneLeft.getWidth();
splitPaneResizer.setStyle('left', paneLeftOriginalWidth + 3);
paneRight.setStyle('left', paneLeftOriginalWidth);
var splitPaneOriginalLeft = splitPaneResizer.getLeft();
var paneRightOriginalLeft = paneRight.getLeft();
// Use localstorage to store toggle state
if (supports_local_storage()) {
if (localStorage.getItem('sharpdoc-resize')) {
var value = localStorage.getItem('sharpdoc-resize');
if (value == 0) {
splitPaneToggle.set('class', 'expand');
paneLeft.setStyle('display', 'none');
}
paneLeft.setStyle('width', value);
}
}
// Snap size for resizer
var resizerSnap = 5;
// Make the left cell resizable
paneLeft.makeResizable({
handle: $(splitPaneResizerId),
grid: resizerSnap,
modifiers: { x: 'width', y: false },
limit: { x: [paneLeftMinWidth, null] },
onStart: function (el) {
// Disable pointer events on iframe while dragging
// otherwise we can't drag over the iframe
iframe.setStyle('pointer-events', 'none');
},
onComplete: function(el) {
// Enable back pointer events on iframe after dragging
// is complete
iframe.setStyle('pointer-events', 'auto');
},
onDrag: function (el) {
splitPaneResizer.setStyle('left', el.getWidth() + 3);
paneRight.setStyle('left', el.getWidth());
if (supports_local_storage()) {
localStorage.setItem('sharpdoc-resize', el.getWidth());
}
},
});
var topTitle = $$('h1.content-title');
var expandCollapseFunction = function (event) {
if (paneLeft.getWidth() < paneLeftMinWidth) {
splitPaneToggle.set('class', 'collapse');
paneLeft.setStyle('display', 'block');
// Morph the following values
paneLeft.morph({'width': paneLeftOriginalWidth,'opacity': '1'});
splitPaneResizer.morph({ 'left': splitPaneOriginalLeft + 12 }); // not sure why we need to add 12 to have a correct display
paneRight.morph({ 'left': paneRightOriginalLeft + 12});
if (supports_local_storage()) {
localStorage.removeItem('sharpdoc-resize');
}
} else {
splitPaneToggle.set('class', 'expand');
paneLeft.set('morph', { link: 'chain' }).morph({ 'width': '1', 'opacity': '0' }).morph({ 'display': 'none' });
splitPaneResizer.morph({ 'left': '1' });
paneRight.morph({ 'left': '1' });
if (supports_local_storage()) {
localStorage.setItem('sharpdoc-resize', 0);
}
}
};
// Handle toggle button collapse-expand events
splitPaneToggle.addEvent('click', expandCollapseFunction);
if (topTitle.length > 0) {
topTitle[0].addEvent('click', expandCollapseFunction);
}
}
function openToc(nodeId) {
//alert("open");
var node = $_(nodeId + "_toc");
var nodeClass = node.get('class');
if (nodeClass.indexOf('opened') == -1) {
var subNodes = $_(nodeId + "_SubTopics");
if (subNodes != undefined && subNodes.set != undefined)
subNodes.set('class', 'visible');
node.set('class', nodeClass.replace('closed', 'opened'));
}
var parent = node.getParent().id;
var pattern = /(\w+)_SubTopics/;
var parentId = pattern.exec(parent);
if (parentId != null)
openToc(parentId[1]);
else
window.top.resizeDocs();
}
function closeToc(nodeId) {
//alert("close");
var node = $_(nodeId + "_toc");
var nodeClass = node.get('class');
// The highlighten topic could not be closed
if (nodeClass.indexOf('highlighting') == -1) {
var subNodes = $_(nodeId + "_SubTopics");
if (subNodes != undefined && subNodes.set != undefined)
subNodes.set('class', 'hidden');
node.set('class', nodeClass.replace('opened', 'closed'));
}
else {
node.set('class', nodeClass.replace(' highlighting', ''));
}
window.top.resizeDocs();
}
function toggleToc(nodeId) {
//alert("toggle");
var node = $_(nodeId + "_toc");
var nodeClass = node.get('class');
if (nodeClass.indexOf('closed') != -1)
openToc(nodeId);
else
closeToc(nodeId);
}
function hightLightTopic(topicId) {
//alert("highlight");
var oldHighlight = $$_('.highlight');
oldHighlight.each(function (old, oldId) {
var oldClass = old.get('class');
old.set('class', oldClass.replace(' highlight', ''));
});
var newHightlight = $_(topicId + '_toc');
var newClass = newHightlight.get('class');
newHightlight.set('class', newClass + ' highlight highlighting');
openToc(topicId);
}
function $_(id) {
var element = $(id);
if (element == undefined)
element = window.parent.$(id);
return element;
}
function $$_(id) {
var elements = $$(id);
if (elements == undefined || elements.length == 0)
{
if (window.parent.$$ != undefined)
elements = window.parent.$$(id);
}
return elements;
}
@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<!--
MonoGame - Copyright (C) The MonoGame Team
This file is subject to the terms and conditions defined in
file 'LICENSE.txt', which is part of this source code package.
-->
<style xmlns="SharpDoc">
<name>MonoGame</name>
<description>MonoGame style for web publishing</description>
<inherit>Standard</inherit>
<param name="FileExt">.html</param>
<param name="ExternalLinkTarget">_top</param>
</style>