Move docs to luacs-docs/{lua,cs,landing-page}
luacs-docs/cs also has a proper http server for testing locally
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
|
||||
<div class="landing">
|
||||
<h1>Lua For Barotrauma Documentation</h1>
|
||||
</div>
|
||||
|
||||
<div class="wrapper">
|
||||
<p style="text-align: center;"></p>
|
||||
<h2>Welcome to the Lua For Barotrauma documentation!</h2>
|
||||
<p>This is a work in progress documentation, not everything is documented here, but because Barotrauma classes are exposed to Lua, you can check the Barotrauma source code for functions and fields that you can access.</p>
|
||||
|
||||
<h2>Installing Lua For Barotrauma</h2>
|
||||
<p>Downloading and using the Core Content Package from <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2559634234" target="_blank">Workshop</a> should be enough to have it installed, but if you want to install it manually, you can check out <a href="{* ldoc.url('manual/installing-lua-for-barotrauma-manually') *}">this guide.</a>
|
||||
</p>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>If you want to get started with Lua For Barotrauma modding, check out <a href="{* ldoc.url('manual/getting-started') *}">this guide.</a>
|
||||
</p>
|
||||
|
||||
<h2>Links</h2>
|
||||
<p>
|
||||
<a href="https://github.com/evilfactory/Barotrauma-lua-attempt" target="_blank">Github</a><br>
|
||||
<a href="https://discord.gg/f9zvNNuxu9" target="_blank">Discord Server</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,138 @@
|
||||
|
||||
{%
|
||||
local baseUrl = ldoc.css:gsub("ldoc.css", "")
|
||||
local repo = "https://github.com/evilfactory/Barotrauma-lua-attempt/"
|
||||
local pageTitle = mod and (ldoc.display_name(mod) .. " - " .. ldoc.title) or ldoc.title
|
||||
|
||||
local oldmarkup = ldoc.markup
|
||||
function ldoc.markup(text, item)
|
||||
return oldmarkup(text, item, ldoc.plain)
|
||||
end
|
||||
|
||||
function ldoc.url(path)
|
||||
return baseUrl .. path
|
||||
end
|
||||
|
||||
function ldoc.realm_icon(realm)
|
||||
return "<span class=\"realm " .. (realm or "") .. "\"></span>"
|
||||
end
|
||||
|
||||
function ldoc.sidebar_item(item, module)
|
||||
local text = ""
|
||||
|
||||
local deprecated = item.tags.deprecated
|
||||
if deprecated then
|
||||
text = text .. "<span class=\"strikethrough\">"
|
||||
else
|
||||
text = text .. "<span>"
|
||||
end
|
||||
|
||||
text = text .. ldoc.realm_icon(item.tags.realm[1])
|
||||
text = text .. "<a href=\""
|
||||
.. ldoc.ref_to_module(module) .. "#" .. item.name
|
||||
.. "\">"
|
||||
|
||||
if ldoc.is_kind_classmethod(module.kind) then
|
||||
text = text .. item.name:gsub(".+:", "")
|
||||
else
|
||||
text = text .. item.name:gsub(module.name .. ".", "")
|
||||
end
|
||||
|
||||
text = text
|
||||
.. "</a>"
|
||||
.. "</span>"
|
||||
return text
|
||||
end
|
||||
|
||||
function ldoc.item_header(item)
|
||||
local text = ""
|
||||
|
||||
text = text .. "<a class=\"anchor\">"
|
||||
|
||||
local deprecated = item.tags.deprecated
|
||||
if deprecated then
|
||||
text = text .. "<h1 class=\"strikethrough\">"
|
||||
else
|
||||
text = text .. "<h1>"
|
||||
end
|
||||
|
||||
text = text
|
||||
.. ldoc.realm_icon(item.tags.realm[1])
|
||||
.. ldoc.display_name(item)
|
||||
.. "</h1>"
|
||||
.. "</a>"
|
||||
|
||||
return text
|
||||
end
|
||||
|
||||
function ldoc.is_kind_classmethod(kind)
|
||||
return kind ~= "libraries"
|
||||
end
|
||||
|
||||
function ldoc.repo_reference(item)
|
||||
return repo .. "tree/master" .. item.file.filename:gsub(item.file.base, "/gamemode") .. "#L" .. item.lineno
|
||||
end
|
||||
|
||||
local function moduleDescription(mod)
|
||||
if (mod.type == "topic") then
|
||||
return mod.body:gsub(mod.display_name, ""):gsub("#", ""):sub(1, 256) .. "..."
|
||||
end
|
||||
|
||||
return mod.summary
|
||||
end
|
||||
%}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>{{pageTitle}}</title>
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="{{pageTitle}}" />
|
||||
<meta property="og:site_name" content="Lua For Barotrauma Documentation" />
|
||||
|
||||
{% if (mod) then %}
|
||||
<meta property="og:description" content="{{moduleDescription(mod)}}" />
|
||||
{% else %}
|
||||
<meta property="og:description" content="A Barotrauma modification that adds Lua modding support." />
|
||||
{% end %}
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code+Pro" />
|
||||
<link rel="stylesheet" href="{* ldoc.css *}" />
|
||||
<link rel="stylesheet" href="{* ldoc.url('highlight.css') *}" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
{(templates/sidebar.ltp)}
|
||||
|
||||
<article>
|
||||
{% if (ldoc.root) then -- we're rendering the landing page (index.html) %}
|
||||
{(templates/landing.ltp)}
|
||||
{% elseif (ldoc.body) then -- we're rendering non-code elements %}
|
||||
<div class="wrapper">
|
||||
{* ldoc.body *}
|
||||
</div>
|
||||
{% elseif (module) then -- we're rendering libary contents %}
|
||||
<div class="wrapper">
|
||||
{(templates/module.ltp)}
|
||||
</div>
|
||||
{% end %}
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<script type="text/javascript" src="{* ldoc.url('app.js') *}"></script>
|
||||
<script type="text/javascript" src="{* ldoc.url('highlight.min.js') *}"></script>
|
||||
<script type="text/javascript">
|
||||
var elements = document.querySelectorAll("pre code")
|
||||
|
||||
hljs.configure({
|
||||
languages: ["lua", ""]
|
||||
});
|
||||
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
{
|
||||
hljs.highlightBlock(elements[i]);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
<header class="module">
|
||||
<h1>{{mod.name}}</h1>
|
||||
<h2>{* ldoc.markup(mod.summary) *}</h2>
|
||||
</header>
|
||||
|
||||
<p>{* ldoc.markup(mod.description) *}</p>
|
||||
|
||||
{%
|
||||
local kinds = {}
|
||||
local kindsIpairs = {}
|
||||
for kind, items in mod.kinds() do
|
||||
local name = kind
|
||||
if kind == "Tables" then
|
||||
name = "Fields"
|
||||
end
|
||||
|
||||
for item in items() do
|
||||
if kinds[name] == nil then
|
||||
kinds[name] = {}
|
||||
|
||||
local value = {}
|
||||
value.kind = name
|
||||
value.items = kinds[name]
|
||||
table.insert(kindsIpairs, value)
|
||||
end
|
||||
kinds[name][item] = true
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
%}
|
||||
|
||||
{% for i, value in ipairs(kindsIpairs) do
|
||||
local kind = value.kind
|
||||
local items = value.items
|
||||
%}
|
||||
<h1 class="title">{{kind}}</h1>
|
||||
|
||||
{% for item, _ in pairs(items) do %}
|
||||
<section class="method" id="{{item.name}}">
|
||||
<header>
|
||||
{* ldoc.item_header(item) *}
|
||||
|
||||
{% if item.tags.deprecated then %}
|
||||
<div class="notice warning">
|
||||
<div class="title">Deprecated</div>
|
||||
<p>This API is deprecated and shouldn't be used anymore.</p>
|
||||
</div>
|
||||
{% end %}
|
||||
|
||||
{% if (item.tags.internal) then %}
|
||||
<div class="notice error">
|
||||
<div class="title">Internal</div>
|
||||
<p>This is an internal function! You are able to use it, but you risk unintended side effects if used incorrectly.</p>
|
||||
</div>
|
||||
{% end %}
|
||||
|
||||
{% if (ldoc.descript(item):len() == 0) then %}
|
||||
<div class="notice warning">
|
||||
<div class="title">Incomplete</div>
|
||||
<p>Documentation for this section is incomplete and needs expanding.</p>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>{* ldoc.markup(ldoc.descript(item)) *}</p>
|
||||
{% end %}
|
||||
</header>
|
||||
|
||||
{# function arguments #}
|
||||
{% if (item.params and #item.params > 0) then %}
|
||||
{% local subnames = mod.kinds:type_of(item).subnames %}
|
||||
|
||||
{% if (subnames) then %}
|
||||
<h3>{{subnames}}</h3>
|
||||
{% end %}
|
||||
|
||||
{% for argument in ldoc.modules.iter(item.params) do %}
|
||||
{% local argument, sublist = item:subparam(argument) %}
|
||||
|
||||
<ul>
|
||||
{% for argumentName in ldoc.modules.iter(argument) do %}
|
||||
{% local displayName = item:display_name_of(argumentName) %}
|
||||
{% local type = ldoc.typename(item:type_of_param(argumentName)) %}
|
||||
{% local default = item:default_of_param(argumentName) %}
|
||||
|
||||
<li>
|
||||
<span class="tag parameter">{{displayName}}</span>
|
||||
|
||||
{% if (type ~= "") then %}
|
||||
<span class="tag">{* type *}</span>
|
||||
{% end %}
|
||||
|
||||
{% if (default and default ~= true) then %}
|
||||
<span class="tag default">default: {{default}}</span>
|
||||
{% elseif (default) then %}
|
||||
<span class="tag default">optional</span>
|
||||
{% end %}
|
||||
|
||||
<p>{* ldoc.markup(item.params.map[argumentName]) *}</p>
|
||||
</li>
|
||||
{% end %}
|
||||
</ul>
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
||||
{# function returns #}
|
||||
{% if ((not ldoc.no_return_or_parms) and item.retgroups) then %}
|
||||
{% local groups = item.retgroups %}
|
||||
|
||||
<h3>Returns</h3>
|
||||
<ul>
|
||||
{% for i, group in ldoc.ipairs(groups) do %}
|
||||
{% for returnValue in group:iter() do %}
|
||||
{% local type, ctypes = item:return_type(returnValue) %}
|
||||
{% type = ldoc.typename(type) %}
|
||||
|
||||
<li>
|
||||
{% if (type ~= "") then %}
|
||||
{* type *}
|
||||
{% else -- we'll assume that it will return a variable type if none is set %}
|
||||
<span class="tag type">any</span>
|
||||
{% end %}
|
||||
|
||||
<p>{* ldoc.markup(returnValue.text) *}</p>
|
||||
</li>
|
||||
{% end %}
|
||||
|
||||
{% if (i ~= #groups) then %}
|
||||
<div class="or"><span>OR</span></div>
|
||||
{% end %}
|
||||
{% end %}
|
||||
</ul>
|
||||
{% end %}
|
||||
|
||||
{% if (item.usage) then -- function usage %}
|
||||
<h3>Example Usage</h3>
|
||||
{% for usage in ldoc.modules.iter(item.usage) do %}
|
||||
<pre><code>{* usage *}</code></pre>
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
||||
{% if (item.see) then %}
|
||||
<h3>See Also</h3>
|
||||
<ul>
|
||||
{% for see in ldoc.modules.iter(item.see) do %}
|
||||
<li><a href="{* ldoc.href(see) *}">{{see.label}}</a></li>
|
||||
{% end %}
|
||||
</ul>
|
||||
{% end %}
|
||||
</section>
|
||||
{% end %}
|
||||
{% end %}
|
||||
@@ -0,0 +1,102 @@
|
||||
|
||||
{%
|
||||
local function isKindExpandable(kind)
|
||||
return kind ~= "Manual"
|
||||
end
|
||||
%}
|
||||
|
||||
<nav>
|
||||
<header>
|
||||
{% if (not ldoc.root) then %}
|
||||
<h1><a href="{* ldoc.url('') *}">Lua For Barotrauma Documentation</a></h1>
|
||||
{% end %}
|
||||
<input id="search" type="search" autocomplete="off" placeholder="Search..." />
|
||||
</header>
|
||||
|
||||
<section>
|
||||
{% for kind, mods, type in ldoc.kinds() do %}
|
||||
{% if (ldoc.allowed_in_contents(type, mod)) then %}
|
||||
<details class="category" open>
|
||||
<summary>
|
||||
<h2>{{kind}}</h2>
|
||||
</summary>
|
||||
|
||||
<ul>
|
||||
{% for currentMod in mods() do %}
|
||||
{% local name = ldoc.display_name(currentMod) %}
|
||||
<li>
|
||||
{% if (isKindExpandable(kind)) then %}
|
||||
<details {{currentMod.name == (mod or {}).name and "open" or ""}}>
|
||||
<summary><a href="{* ldoc.ref_to_module(currentMod) *}">{{name}}</a></summary>
|
||||
|
||||
<ul>
|
||||
{% else %}
|
||||
<a href="{* ldoc.ref_to_module(currentMod) *}">{{name}}</a>
|
||||
{% end %}
|
||||
|
||||
{% if (isKindExpandable(kind)) then
|
||||
currentMod.items:sort(function(a, b)
|
||||
return a.name < b.name
|
||||
end)
|
||||
end %}
|
||||
|
||||
{%
|
||||
local isThereFunctions = false
|
||||
for k, v in pairs(currentMod.items) do
|
||||
if (v.kind == "functions") then
|
||||
isThereFunctions = true
|
||||
break
|
||||
end
|
||||
end
|
||||
%}
|
||||
|
||||
{% if isThereFunctions then %}
|
||||
<li>
|
||||
<label class="colorful-label">FUNCTIONS</label>
|
||||
</li>
|
||||
{% end %}
|
||||
|
||||
{% for k, v in pairs(currentMod.items) do %}
|
||||
{% if (v.kind == "functions") then %}
|
||||
<li>
|
||||
{* ldoc.sidebar_item(v, currentMod) *}
|
||||
</li>
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
||||
{%
|
||||
local isThereFields = false
|
||||
for k, v in pairs(currentMod.items) do
|
||||
if (v.kind == "fields" or v.kind == "tables") then
|
||||
isThereFields = true
|
||||
break
|
||||
end
|
||||
end
|
||||
%}
|
||||
|
||||
{% if isThereFields then %}
|
||||
<li>
|
||||
<label class="colorful-label">FIELDS</label>
|
||||
</li>
|
||||
{% end %}
|
||||
|
||||
{% for k, v in pairs(currentMod.items) do %}
|
||||
{% if (v.kind == "fields" or v.kind == "tables") then %}
|
||||
<li>
|
||||
{* ldoc.sidebar_item(v, currentMod) *}
|
||||
</li>
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
||||
{% if (isKindExpandable(kind)) then %}
|
||||
</ul>
|
||||
</details>
|
||||
{% end %}
|
||||
</li>
|
||||
{% end %}
|
||||
</ul>
|
||||
</details>
|
||||
{% end %}
|
||||
{% end %}
|
||||
</section>
|
||||
</nav>
|
||||
Reference in New Issue
Block a user