summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThijs Schreijer <thijs@thijsschreijer.nl>2023-11-15 07:48:12 +0100
committerThijs Schreijer <thijs@thijsschreijer.nl>2023-11-15 19:17:57 +0100
commit048f3cec7a18e7a28146f03c3c9e5d89d9613028 (patch)
tree41e8630938542fe1ec79ba4eff4304d85b45835e
parent5f3951a942fdc4bf489d8d590bfc891ac9548a23 (diff)
downloadluasystem-048f3cec7a18e7a28146f03c3c9e5d89d9613028.zip
chore(docs): render the documentation
-rw-r--r--docs/index.html366
-rw-r--r--docs/ldoc.css291
-rw-r--r--docs/topics/01-introduction.md.html70
-rw-r--r--docs/topics/CHANGELOG.md.html121
-rw-r--r--docs/topics/LICENSE.md.html79
5 files changed, 927 insertions, 0 deletions
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..eb241c6
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,366 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<head>
+ <title>Lua-System docs</title>
+ <link rel="stylesheet" href="ldoc.css" type="text/css" />
+</head>
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"></div>
+ <div id="product_name"><big><b></b></big></div>
+ <div id="product_description"></div>
+</div> <!-- id="product" -->
+
+
+<div id="main">
+
+
+<!-- Menu -->
+
+<div id="navigation">
+<br/>
+<h1>Lua-System</h1>
+
+
+<h2>Contents</h2>
+<ul>
+<li><a href="#environment_Functions">environment Functions</a></li>
+<li><a href="#random_Functions">random Functions</a></li>
+<li><a href="#term_Functions">term Functions</a></li>
+<li><a href="#time_Functions">time Functions</a></li>
+</ul>
+
+
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><strong>system</strong></li>
+</ul>
+<h2>Topics</h2>
+<ul class="">
+ <li><a href="topics/01-introduction.md.html">1. Introduction</a></li>
+ <li><a href="topics/CHANGELOG.md.html">CHANGELOG</a></li>
+ <li><a href="topics/LICENSE.md.html">MIT License</a></li>
+</ul>
+
+</div>
+
+<div id="content">
+
+<h1>Module <code>system</code></h1>
+<p>Platform independent system calls for Lua.</p>
+<p>
+
+</p>
+
+
+<h2><a href="#environment_Functions">environment Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#getenv">getenv (name)</a></td>
+ <td class="summary">Gets the value of an environment variable.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#getenvs">getenvs ()</a></td>
+ <td class="summary">Returns a table with all environment variables.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#setenv">setenv (name[, value])</a></td>
+ <td class="summary">Sets an environment variable.</td>
+ </tr>
+</table>
+<h2><a href="#random_Functions">random Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#random">random ([length=1])</a></td>
+ <td class="summary">Generate random bytes.</td>
+ </tr>
+</table>
+<h2><a href="#term_Functions">term Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#isatty">isatty (file)</a></td>
+ <td class="summary">Checks if a file-handle is a TTY.</td>
+ </tr>
+</table>
+<h2><a href="#time_Functions">time Functions</a></h2>
+<table class="function_list">
+ <tr>
+ <td class="name" nowrap><a href="#gettime">gettime ()</a></td>
+ <td class="summary">Get system time.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#monotime">monotime ()</a></td>
+ <td class="summary">Get monotonic time.</td>
+ </tr>
+ <tr>
+ <td class="name" nowrap><a href="#sleep">sleep (seconds[, precision=16])</a></td>
+ <td class="summary">Sleep without a busy loop.</td>
+ </tr>
+</table>
+
+<br/>
+<br/>
+
+
+ <h2 class="section-header "><a name="environment_Functions"></a>environment Functions</h2>
+
+ <dl class="function">
+ <dt>
+ <a name = "getenv"></a>
+ <strong>getenv (name)</strong>
+ </dt>
+ <dd>
+ Gets the value of an environment variable. </p>
+
+<p><strong>NOTE</strong>: Windows has multiple copies of environment variables. For this reason,
+the <a href="index.html#setenv">setenv</a> function will not work with Lua's <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> on Windows. If you want
+to use <a href="index.html#setenv">setenv</a> then consider patching <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> with this implementation of <a href="index.html#getenv">getenv</a>.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">name</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
+ name of the environment variable
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a> or <span class="type">nil</span></span>
+ value of the environment variable, or nil if the variable is not set
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "getenvs"></a>
+ <strong>getenvs ()</strong>
+ </dt>
+ <dd>
+ Returns a table with all environment variables.
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span>
+ table with all environment variables and their values
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "setenv"></a>
+ <strong>setenv (name[, value])</strong>
+ </dt>
+ <dd>
+ Sets an environment variable. </p>
+
+<p><strong>NOTE</strong>: Windows has multiple copies of environment variables. For this reason, the
+<a href="index.html#setenv">setenv</a> function will not work with Lua's <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> on Windows. If you want to use
+it then consider patching <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> with the implementation of <a href="index.html#getenv">system.getenv</a>.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">name</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
+ name of the environment variable
+ </li>
+ <li><span class="parameter">value</span>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
+ value of the environment variable, if <code>nil</code> the variable will be deleted (on
+Windows, setting an empty string, will also delete the variable)
+ (<em>optional</em>)
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><span class="type">boolean</span></span>
+ success
+ </ol>
+
+
+
+
+</dd>
+</dl>
+ <h2 class="section-header "><a name="random_Functions"></a>random Functions</h2>
+
+ <dl class="function">
+ <dt>
+ <a name = "random"></a>
+ <strong>random ([length=1])</strong>
+ </dt>
+ <dd>
+ Generate random bytes.
+This uses <code>CryptGenRandom()</code> on Windows, and <code>/dev/urandom</code> on other platforms. It will return the
+requested number of bytes, or an error, never a partial result.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">length</span>
+ <span class="types"><span class="type">int</span></span>
+ number of bytes to get
+ (<em>default</em> 1)
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
+ string of random bytes
+ </ol>
+ <h3>Or</h3>
+ <ol>
+ <li>
+ <span class="types"><span class="type">nil</span></span>
+
+
+</li>
+ <li>
+ <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
+ error message</li>
+ </ol>
+
+
+
+
+</dd>
+</dl>
+ <h2 class="section-header "><a name="term_Functions"></a>term Functions</h2>
+
+ <dl class="function">
+ <dt>
+ <a name = "isatty"></a>
+ <strong>isatty (file)</strong>
+ </dt>
+ <dd>
+ Checks if a file-handle is a TTY.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">file</span>
+ <span class="types"><span class="type">file</span></span>
+ the file-handle to check
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><span class="type">boolean</span></span>
+ true if the file is a tty
+ </ol>
+
+
+
+
+</dd>
+</dl>
+ <h2 class="section-header "><a name="time_Functions"></a>time Functions</h2>
+
+ <dl class="function">
+ <dt>
+ <a name = "gettime"></a>
+ <strong>gettime ()</strong>
+ </dt>
+ <dd>
+ Get system time.
+The time is returned as the seconds since the epoch (1 January 1970 00:00:00).
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><span class="type">number</span></span>
+ seconds (fractional)
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "monotime"></a>
+ <strong>monotime ()</strong>
+ </dt>
+ <dd>
+ Get monotonic time.
+The time is returned as the seconds since system start.
+
+
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <span class="types"><span class="type">number</span></span>
+ seconds (fractional)
+ </ol>
+
+
+
+
+</dd>
+ <dt>
+ <a name = "sleep"></a>
+ <strong>sleep (seconds[, precision=16])</strong>
+ </dt>
+ <dd>
+ Sleep without a busy loop.
+This function will sleep, without doing a busy-loop and wasting CPU cycles.
+
+
+ <h3>Parameters:</h3>
+ <ul>
+ <li><span class="parameter">seconds</span>
+ <span class="types"><span class="type">number</span></span>
+ seconds to sleep (fractional).
+ </li>
+ <li><span class="parameter">precision</span>
+ <span class="types"><span class="type">integer</span></span>
+ minimum stepsize in milliseconds (Windows only, ignored elsewhere)
+ (<em>default</em> 16)
+ </li>
+ </ul>
+
+ <h3>Returns:</h3>
+ <ol>
+
+ <code>true</code> on success, or <code>nil+err</code> on failure
+ </ol>
+
+
+
+
+</dd>
+</dl>
+
+
+</div> <!-- id="content" -->
+</div> <!-- id="main" -->
+<div id="about">
+<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
+<i style="float:right;">Last updated 2023-11-15 07:42:18 </i>
+</div> <!-- id="about" -->
+</div> <!-- id="container" -->
+</body>
+</html>
diff --git a/docs/ldoc.css b/docs/ldoc.css
new file mode 100644
index 0000000..5b9fbbf
--- /dev/null
+++ b/docs/ldoc.css
@@ -0,0 +1,291 @@
+body {
+ color: #47555c;
+ font-size: 16px;
+ font-family: "Open Sans", sans-serif;
+ margin: 0;
+ background: #eff4ff;
+}
+
+a:link { color: #008fee; }
+a:visited { color: #008fee; }
+a:hover { color: #22a7ff; }
+
+h1 { font-size:26px; font-weight: normal; }
+h2 { font-size:22px; font-weight: normal; }
+h3 { font-size:18px; font-weight: normal; }
+h4 { font-size:16px; font-weight: bold; }
+
+hr {
+ height: 1px;
+ background: #c1cce4;
+ border: 0px;
+ margin: 15px 0;
+}
+
+code, tt {
+ font-family: monospace;
+}
+span.parameter {
+ font-family: monospace;
+ font-weight: bold;
+ color: rgb(99, 115, 131);
+}
+span.parameter:after {
+ content:":";
+}
+span.types:before {
+ content:"(";
+}
+span.types:after {
+ content:")";
+}
+.type {
+ font-weight: bold; font-style:italic
+}
+
+p.name {
+ font-family: "Andale Mono", monospace;
+}
+
+#navigation {
+ float: left;
+ background-color: white;
+ border-right: 1px solid #d3dbec;
+ border-bottom: 1px solid #d3dbec;
+
+ width: 14em;
+ vertical-align: top;
+ overflow: visible;
+}
+
+#navigation br {
+ display: none;
+}
+
+#navigation h1 {
+ background-color: white;
+ border-bottom: 1px solid #d3dbec;
+ padding: 15px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+#navigation h2 {
+ font-size: 18px;
+ background-color: white;
+ border-bottom: 1px solid #d3dbec;
+ padding-left: 15px;
+ padding-right: 15px;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ margin-top: 30px;
+ margin-bottom: 0px;
+}
+
+#content h1 {
+ background-color: #2c3e67;
+ color: white;
+ padding: 15px;
+ margin: 0px;
+}
+
+#content h2 {
+ background-color: #6c7ea7;
+ color: white;
+ padding: 15px;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ margin-top: 0px;
+}
+
+#content h2 a {
+ background-color: #6c7ea7;
+ color: white;
+ text-decoration: none;
+}
+
+#content h2 a:hover {
+ text-decoration: underline;
+}
+
+#content h3 {
+ font-style: italic;
+ padding-top: 15px;
+ padding-bottom: 4px;
+ margin-right: 15px;
+ margin-left: 15px;
+ margin-bottom: 5px;
+ border-bottom: solid 1px #bcd;
+}
+
+#content h4 {
+ margin-right: 15px;
+ margin-left: 15px;
+ border-bottom: solid 1px #bcd;
+}
+
+#content pre {
+ margin: 15px;
+}
+
+pre {
+ background-color: rgb(50, 55, 68);
+ color: white;
+ border-radius: 3px;
+ /* border: 1px solid #C0C0C0; /* silver */
+ padding: 15px;
+ overflow: auto;
+ font-family: "Andale Mono", monospace;
+}
+
+#content ul pre.example {
+ margin-left: 0px;
+}
+
+table.index {
+/* border: 1px #00007f; */
+}
+table.index td { text-align: left; vertical-align: top; }
+
+#navigation ul
+{
+ font-size:1em;
+ list-style-type: none;
+ margin: 1px 1px 10px 1px;
+ padding-left: 20px;
+}
+
+#navigation li {
+ text-indent: -1em;
+ display: block;
+ margin: 3px 0px 0px 22px;
+}
+
+#navigation li li a {
+ margin: 0px 3px 0px -1em;
+}
+
+#content {
+ margin-left: 14em;
+}
+
+#content p {
+ padding-left: 15px;
+ padding-right: 15px;
+}
+
+#content table {
+ padding-left: 15px;
+ padding-right: 15px;
+ background-color: white;
+}
+
+#content p, #content table, #content ol, #content ul, #content dl {
+ max-width: 900px;
+}
+
+#about {
+ padding: 15px;
+ padding-left: 16em;
+ background-color: white;
+ border-top: 1px solid #d3dbec;
+ border-bottom: 1px solid #d3dbec;
+}
+
+table.module_list, table.function_list {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #cccccc;
+ border-collapse: collapse;
+ margin: 15px;
+}
+table.module_list td, table.function_list td {
+ border-width: 1px;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ border: solid 1px rgb(193, 204, 228);
+}
+table.module_list td.name, table.function_list td.name {
+ background-color: white; min-width: 200px; border-right-width: 0px;
+}
+table.module_list td.summary, table.function_list td.summary {
+ background-color: white; width: 100%; border-left-width: 0px;
+}
+
+dl.function {
+ margin-right: 15px;
+ margin-left: 15px;
+ border-bottom: solid 1px rgb(193, 204, 228);
+ border-left: solid 1px rgb(193, 204, 228);
+ border-right: solid 1px rgb(193, 204, 228);
+ background-color: white;
+}
+
+dl.function dt {
+ color: rgb(99, 123, 188);
+ font-family: monospace;
+ border-top: solid 1px rgb(193, 204, 228);
+ padding: 15px;
+}
+
+dl.function dd {
+ margin-left: 15px;
+ margin-right: 15px;
+ margin-top: 5px;
+ margin-bottom: 15px;
+}
+
+#content dl.function dd h3 {
+ margin-top: 0px;
+ margin-left: 0px;
+ padding-left: 0px;
+ font-size: 16px;
+ color: rgb(128, 128, 128);
+ border-bottom: solid 1px #def;
+}
+
+#content dl.function dd ul, #content dl.function dd ol {
+ padding: 0px;
+ padding-left: 15px;
+ list-style-type: none;
+}
+
+ul.nowrap {
+ overflow:auto;
+ white-space:nowrap;
+}
+
+.section-description {
+ padding-left: 15px;
+ padding-right: 15px;
+}
+
+/* stop sublists from having initial vertical space */
+ul ul { margin-top: 0px; }
+ol ul { margin-top: 0px; }
+ol ol { margin-top: 0px; }
+ul ol { margin-top: 0px; }
+
+/* make the target distinct; helps when we're navigating to a function */
+a:target + * {
+ background-color: #FF9;
+}
+
+
+/* styles for prettification of source */
+pre .comment { color: #bbccaa; }
+pre .constant { color: #a8660d; }
+pre .escape { color: #844631; }
+pre .keyword { color: #ffc090; font-weight: bold; }
+pre .library { color: #0e7c6b; }
+pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
+pre .string { color: #8080ff; }
+pre .number { color: #f8660d; }
+pre .operator { color: #2239a8; font-weight: bold; }
+pre .preprocessor, pre .prepro { color: #a33243; }
+pre .global { color: #c040c0; }
+pre .user-keyword { color: #800080; }
+pre .prompt { color: #558817; }
+pre .url { color: #272fc2; text-decoration: underline; }
diff --git a/docs/topics/01-introduction.md.html b/docs/topics/01-introduction.md.html
new file mode 100644
index 0000000..2901cc9
--- /dev/null
+++ b/docs/topics/01-introduction.md.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<head>
+ <title>Lua-System docs</title>
+ <link rel="stylesheet" href="../ldoc.css" type="text/css" />
+</head>
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"></div>
+ <div id="product_name"><big><b></b></big></div>
+ <div id="product_description"></div>
+</div> <!-- id="product" -->
+
+
+<div id="main">
+
+
+<!-- Menu -->
+
+<div id="navigation">
+<br/>
+<h1>Lua-System</h1>
+
+
+
+
+<h2>Topics</h2>
+<ul class="">
+ <li><strong>1. Introduction</strong></li>
+ <li><a href="../topics/CHANGELOG.md.html">CHANGELOG</a></li>
+ <li><a href="../topics/LICENSE.md.html">MIT License</a></li>
+</ul>
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../index.html">system</a></li>
+</ul>
+
+</div>
+
+<div id="content">
+
+
+<h1>1. Introduction</h1>
+
+<p>luasystem is a platform independent system call library for Lua.
+Supports Unix, Windows, MacOS, <code>Lua &gt;= 5.1</code> and <code>luajit &gt;= 2.0.0</code>.</p>
+
+<p>Lua is typically platform independent, but it requires adhering to very old C
+standards. This in turn means that many common features (according to todays standards)
+are not available. This module attempts to overcome some of those hurdles by providing
+functions that cover those common needs.</p>
+
+<p>This is not a kitchen sink library, but a minimalistic one with a focus on platform
+independence.</p>
+
+
+</div> <!-- id="content" -->
+</div> <!-- id="main" -->
+<div id="about">
+<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
+<i style="float:right;">Last updated 2023-11-15 07:42:18 </i>
+</div> <!-- id="about" -->
+</div> <!-- id="container" -->
+</body>
+</html>
diff --git a/docs/topics/CHANGELOG.md.html b/docs/topics/CHANGELOG.md.html
new file mode 100644
index 0000000..f909b4b
--- /dev/null
+++ b/docs/topics/CHANGELOG.md.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<head>
+ <title>Lua-System docs</title>
+ <link rel="stylesheet" href="../ldoc.css" type="text/css" />
+</head>
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"></div>
+ <div id="product_name"><big><b></b></big></div>
+ <div id="product_description"></div>
+</div> <!-- id="product" -->
+
+
+<div id="main">
+
+
+<!-- Menu -->
+
+<div id="navigation">
+<br/>
+<h1>Lua-System</h1>
+
+
+<h2>Contents</h2>
+<ul>
+<li><a href="#Versioning">Versioning </a></li>
+<li><a href="#Version_history">Version history </a></li>
+</ul>
+
+
+<h2>Topics</h2>
+<ul class="">
+ <li><a href="../topics/01-introduction.md.html">1. Introduction</a></li>
+ <li><strong>CHANGELOG</strong></li>
+ <li><a href="../topics/LICENSE.md.html">MIT License</a></li>
+</ul>
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../index.html">system</a></li>
+</ul>
+
+</div>
+
+<div id="content">
+
+
+<h1>CHANGELOG</h1>
+
+<p><a name="Versioning"></a></p>
+<h2>Versioning</h2>
+
+<p>This library is versioned based on Semantic Versioning (<a href="https://semver.org/">SemVer</a>).</p>
+
+<h4>Version scoping</h4>
+
+<p>The scope of what is covered by the version number excludes:</p>
+
+<ul>
+ <li>error messages; the text of the messages can change, unless specifically documented.</li>
+</ul>
+
+<h4>Releasing new versions</h4>
+
+<ul>
+ <li>create a release branch</li>
+ <li>update the changelog below</li>
+ <li>update version and copyright-years in <code>./LICENSE.md</code> and <code>./src/time.c</code> (in module constants)</li>
+ <li>create a new rockspec and update the version inside the new rockspec:<br/>
+ <code>cp luasystem-scm-0.rockspec ./rockspecs/luasystem-X.Y.Z-1.rockspec</code></li>
+ <li>clean and render the docs: run <code>ldoc .</code></li>
+ <li>commit the changes as <code>Release vX.Y.Z</code></li>
+ <li>push the commit, and create a release PR</li>
+ <li>after merging tag the release commit with <code>vX.Y.Z</code></li>
+ <li>upload to LuaRocks:<br/>
+ <code>luarocks upload ./rockspecs/luasystem-X.Y.Z-1.rockspec --api-key=ABCDEFGH</code></li>
+ <li>test the newly created rock:<br/>
+ <code>luarocks install luasystem</code></li>
+</ul>
+
+<p><a name="Version_history"></a></p>
+<h2>Version history</h2>
+
+<h3>Version X.Y.Z, unreleased</h3>
+
+<ul>
+ <li>Feat: on Windows <a href="../index.html#sleep">sleep</a> now has a precision parameter</li>
+ <li>Feat: <a href="../index.html#setenv">setenv</a> added to set environment variables.</li>
+ <li>Feat: <a href="../index.html#getenvs">getenvs</a> added to list environment variables.</li>
+ <li>Feat: <a href="../index.html#getenv">getenv</a> added to get environment variable previously set (Windows).</li>
+ <li>Feat: <a href="../index.html#random">random</a> added to return high-quality random bytes</li>
+ <li>Feat: <a href="../index.html#isatty">isatty</a> added to check if a file-handle is a tty</li>
+</ul>
+
+<h3>Version 0.2.1, released 02-Oct-2016</h3>
+
+<h3>Version 0.2.0, released 08-May-2016</h3>
+
+<h3>Version 0.1.1, released 10-Apr-2016</h3>
+
+<h3>Version 0.1.0, released 11-Feb-2016</h3>
+
+<ul>
+ <li>initial release</li>
+</ul>
+
+
+</div> <!-- id="content" -->
+</div> <!-- id="main" -->
+<div id="about">
+<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
+<i style="float:right;">Last updated 2023-11-15 07:42:18 </i>
+</div> <!-- id="about" -->
+</div> <!-- id="container" -->
+</body>
+</html>
diff --git a/docs/topics/LICENSE.md.html b/docs/topics/LICENSE.md.html
new file mode 100644
index 0000000..67614d2
--- /dev/null
+++ b/docs/topics/LICENSE.md.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<head>
+ <title>Lua-System docs</title>
+ <link rel="stylesheet" href="../ldoc.css" type="text/css" />
+</head>
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"></div>
+ <div id="product_name"><big><b></b></big></div>
+ <div id="product_description"></div>
+</div> <!-- id="product" -->
+
+
+<div id="main">
+
+
+<!-- Menu -->
+
+<div id="navigation">
+<br/>
+<h1>Lua-System</h1>
+
+
+
+
+<h2>Topics</h2>
+<ul class="">
+ <li><a href="../topics/01-introduction.md.html">1. Introduction</a></li>
+ <li><a href="../topics/CHANGELOG.md.html">CHANGELOG</a></li>
+ <li><strong>MIT License</strong></li>
+</ul>
+<h2>Modules</h2>
+<ul class="nowrap">
+ <li><a href="../index.html">system</a></li>
+</ul>
+
+</div>
+
+<div id="content">
+
+
+<h1>MIT License</h1>
+
+<h3>Copyright (c) 2016-2023 Oscar Lim</h3>
+
+<p>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:</p>
+
+<p>The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.</p>
+
+<p>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.</p>
+
+
+</div> <!-- id="content" -->
+</div> <!-- id="main" -->
+<div id="about">
+<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
+<i style="float:right;">Last updated 2023-11-15 07:42:18 </i>
+</div> <!-- id="about" -->
+</div> <!-- id="container" -->
+</body>
+</html>