add some compiled html files

This commit is contained in:
2023-06-17 14:12:31 +02:00
parent 00a7aaa08f
commit 1b794e0742
27 changed files with 691 additions and 17 deletions

View File

@@ -17,6 +17,23 @@ buildNav( buildDocs() );
function buildNav ( pathObject ) {
console.log( 'building nav ' + pathObject );
let fileStruct = `<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/css/docs/navstyle.css">
</head>
<body>
<div class="nav-container">
<a class="logo-container" href="/"><img class="logo" src="/assets/apple-touch-icon.png" alt="impress-logo"></a>
<div class="nav-wrapper">
<div class="nav-list">
<a class="navitem" id="home" href="/docs">Home</a>
<div class="dropdown" id="reference">
<a class="nav-subitem" id="root" href="/docs/reference">Home</a>`;
for ( let item in pathObject ) {
console.log( pathObject[ item ] );
}
}
function buildDocs () {
@@ -85,29 +102,33 @@ function handleMD ( filepath ) {
return storeHTML( fileContent, filepath );
}
function guessTitle( html ) {
return html.substring( parseInt( html.indexOf( '<h1>' ) ) + 4, html.indexOf( '</h1>' ) );
}
function storeHTML( html, filepath ) {
/*
TODO: Guess doc page title from first H1 Element.
*/
let title = guessTitle( html );
let data = `<!DOCTYPE html>
<html>
<head>
<title>${ filepath } :: DOCS - libreevent</title>
<title>${ title } :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="/js/docs/loader.js"></script>
<link rel="stylesheet" href="/css/docs/style.css">
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div class="content">
<div id="nav"></div>
<div id="top"></div>
<div id="docPage">
<div id="doc-container">
${ html }</div>
</div>
<div id="footer"></div>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
${ html }</div>
</div>
<div id="footer"></div>
</body>
</html>`;
@@ -116,7 +137,14 @@ function storeHTML( html, filepath ) {
*/
let fileOutputPath = path.join( __dirname + '/dist/docs' );
let pos = filepath.indexOf( 'src' );
fileOutputPath += filepath.substring( parseInt( pos ) + 3, filepath.length - 3 );
let category = filepath.substring( parseInt( pos ) + 4, filepath.length - 3 );
fileOutputPath += '/' + category;
let group = '';
if ( category.lastIndexOf( '/' ) >= 0 ) {
group = category.slice( 0, category.lastIndexOf( '/' ) );
} else {
group = category;
}
try {
fs.mkdirSync( fileOutputPath, { recursive: true } );
} catch ( error ) {
@@ -124,5 +152,5 @@ function storeHTML( html, filepath ) {
}
fileOutputPath += '/index.html';
fs.writeFileSync( fileOutputPath, data );
return fileOutputPath;
return { 'filePath': fileOutputPath, 'title': title, 'group': group };
}

View File

@@ -0,0 +1,60 @@
<!DOCTYPE html>
<html>
<head>
<title>Admin Accounts :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Admin Accounts</h1>
<p>On this page you may add, modify or remove admin accounts. Note that in order for you to see this page, you'll need to be logged in as the user root.</p>
<h2>Adding an account</h2>
<h3>Privileges</h3>
<p>libreevent features a privilege system where you can choose to what group of users you want to add a user you are currently creating. Possible values are:</p>
<table>
<thead>
<tr>
<th>Group</th>
<th>Allowed settings</th>
</tr>
</thead>
<tbody>
<tr>
<td>Root</td>
<td>All pages. Can only be one account (the root account)</td>
</tr>
<tr>
<td>Admin</td>
<td>Can access all pages and settings except for Admin Accounts</td>
</tr>
<tr>
<td>Event-Manager</td>
<td>Access the events &amp; pages page</td>
</tr>
<tr>
<td>Event-Handler</td>
<td>Can log into the apps to do entry control</td>
</tr>
</tbody>
</table>
<h3>Email</h3>
<p>An Email address is required for account activation and to recover a password in case it gets lost. The system will automatically send an activation email so the user can confirm that the email address is valid.</p>
<h3>2FA</h3>
<p>With this checkbox you can choose if this user needs to do two factor authentication, meaning, if the user needs to authorise the login using a link. In the <a href="/docs/admin-panel/settings#2fa">Settings</a> you may choose between the two different 2FA modes that libreevent offers.</p>
<h2>Modifying an account</h2>
<h2>Removing an account</h2>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>Events :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Events</h1>
<p>This is the most feature rich admin page of libreevent. Here you can change everything regarding an event.</p>
<h2>Creating new events</h2>
<p>Creating new events is as simple as clicking the plus icon in the top right corner and following the prompts.</p>
<h3>Event name</h3>
<p>This is the name that is being displayed when users are browsing your events. Cannot be longer than 50 characters.</p>
<h3>Event description</h3>
<p>Describe what your event is about. It will be displayed underneath the event name when users are browsing your events. In the browsing view, the length of the description is limited to 150 characters, after which three dots will be added to the text and a 'continue reading' button will be added. Technically, there's no limit to the length of the event description, but don't overdo it with the length, as the user is unlikely to read more than a couple words anyway.</p>
<h3>Event location</h3>
<p>Choose a location where your event is going to take place. You can do so by selecting an existing location from the dropdown or by adding a new one. In the same step, you'll also need to choose between a seat plan and no seat plan, and if you choose a seat plan, you'll need to create one using out handy seatplan editor. See our seatplan editor guide <a href="/docs/admin-panel/seatplan-editor">here</a></p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<title>Admin panel :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Admin panel</h1>
<p>The admin panel is where you can change basically everything about libreevent. Depending on your account's privileges, you may find more or less settings. Only the root account has access to the admin accounts page.</p>
<p>Here's a list of the pages available when logged in as the root user. All other users have fewer pages enabled.</p>
<ul>
<li><a href="/docs/admin-panel/admin-accounts">Admin Accounts</a></li>
<li><a href="/docs/admin-panel/pages">Pages</a></li>
<li><a href="/docs/admin-panel/events">Events</a></li>
<li><a href="/docs/admin-panel/plugins">Plugins</a></li>
<li><a href="/docs/admin-panel/settings">Settings</a></li>
</ul>
<p>Additionally, some settings might not be available to all admin accounts on all pages.</p>
<p><em>As a general recommendation, we do not encourage logging in as the root user if not strictly necessary, as this can help protect the libreevent installation</em>.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Pages :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Pages</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Plugins :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Plugins</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>Seatplan editor :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Seatplan editor</h1>
<p>The seatplan editor is a graphical editor where you can create and modify the seating plan of virtually any room. We recommend that you start in the top left corner of the seatplan and then move down diagonally, as it is the easiest to do. Each so-called component can be either a stand area, a stage area or a seating area, with each of them featuring different layouts. You can change everything in the properties pane.</p>
<h2>Adding more components</h2>
<p>You may add more components by simply clicking the plus icon in the toolbar of the editor. The component will spawn in the top left corner of the seatplan and the view will automatically be moved towards it.</p>
<h2>Removing components</h2>
<p>You may remove components by clicking the trash icon or by hitting 'delete' on your keyboard.</p>
<h2>Editing history</h2>
<p>The editor features undo and redo functions such that you can undo your mistakes and accidental undos can be reverted. Just hit the corresponding button in the toolbar.</p>
<h2>Saving</h2>
<p>The editor does auto-save a draft every minute. Pressing Ctrl + S or hitting the Save button in the toolbar will immediately save the seatplan as a draft. Click the deploy button to save the seatplan permanently, irreversibly overwriting any potentially existing old seatplan of that location, except you change the location name after the fact.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,42 @@
<!DOCTYPE html>
<html>
<head>
<title>Settings :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Settings</h1>
<h2>2FA</h2>
<p>libreevent offers two different 2fa modes:</p>
<ul>
<li>Standard mode: The user has to click on a link that was sent to him via email. He'll automatically be logged in as soon as the page loads.</li>
<li>Enhanced mode: The user has to click on a link that was sent to him via email and then has to confirm it by entering the code that is shown to him on the 2FA page. After that he'll automatically be logged in.</li>
</ul>
<p>In both modes, the system informs the user about the IP address that tried to log into the account.</p>
<p>This setting can be changed individually for admin and user accounts and 2FA can be disabled entirely. It is highly encouraged to enable this at least for the admin accounts and for user accounts set the requirement to 'User-defined' or 'Always required' instead of 'Disabled'.</p>
<h2>User account passwords</h2>
<p>Here you may set password requirements for the user accounts. The system will always be offering the users to generate a password that is strong for them to facilitate the process of setting a password.</p>
<h2>Guest purchase</h2>
<p>Choose if a user may purchase a ticket without creating an account. An email address is always required as the system sends the tickets via email to the customers for easier access.</p>
<h2>Allow overbooking</h2>
<p>Activate this and set a percentage of overbooking, if you want to enable overbooking of the event to ensure that every single spot is occupied even if somebody does not show up. Use is strongly discouraged and currently only works with events that have no seating plan.</p>
<h2>Special requirements</h2>
<p>Here you may set a special requirement that a person booking a ticket has to fulfill, like the email address has to be ending in @yourdomain.com or they need to live in a certain street / town / city / country in order for them to be allowed to buy a ticket. You may also require that they provide a certain number, code or similar. Finally, you may choose to limit the amount of tickets a single person may reserve.</p>
<h2>Change organisation name</h2>
<p>This should be self explanatory, but keep in mind that this change will only take effect after the next restart of the node app.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>Contributing :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Contributing</h1>
<p>You are interested in helping develop this project to make it even better? Then let's show you, how you may help and what you should keep in mind!</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Contributing Plugins :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Contributing Plugins</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

4
website/dist/docs/css/style.css vendored Normal file
View File

@@ -0,0 +1,4 @@
#docPage {
width: 90%;
margin-left: 5%;
}

28
website/dist/docs/errors/index.html vendored Normal file
View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<title>Errors :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Errors</h1>
<h2>404</h2>
<p>A 404 error is returned if the page was not found on the server. This can be either due to a wrong link or a badly configured server, but is mostly user error, so a misspelled link.</p>
<h2>500</h2>
<p>An internal server error occurs when the server is unable to properly process a request, which in some cases might also return a <a href="#400">400</a> error, if the server first decides that the request is unacceptable.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>How it works :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>How it works</h1>
<p>This page gives you a somewhat detailed overview on how the system operates. Note that this page is not made with user-legibility in mind, as this page is oriented to give possible contributors an introduction to the project to help them getting started. Therefore we expect you to have quite decent understanding of the underlying programming languages and concepts.</p>
<h1>Programming languages</h1>
<p>This project is written in a variety of different programming languages. First of all, the backend is written in Node.js with express.js routing. It also uses nodemysql to interact with the MySQL database, if the user chose to use one. For authentication, it uses express-session, for which a new session secret is generated whenever the server restarts to increase security.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
$( document ).ready( function () {
$( '#nav' ).load( '/nav.html' );
$( '#side-bar' ).load( '/docs/side-bar.html' );
$( '#footer' ).load( '/footer.html' );
} );

33
website/dist/docs/payments/index.html vendored Normal file
View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>Payments :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Payments</h1>
<p>Including many payment methods can help the user choose the one that fits them best, but can also be overwhelming and a pain to set up. So please try to use as few different payment gateways as possible. Our recommendation is either <em>Stripe</em> or <em>adyen</em> as they are the most flexible.</p>
<h2>Advantages / Disadvantages of each payment gateway</h2>
<h3>Stripe</h3>
<p>Stripe is one of the most well known payment gateways out there, but is also fairly expensive, but easy to set up.
See <a href="https://stripe.com/en-gb/pricing">here</a> for pricing information and sign up <a href="https://dashboard.stripe.com/register">here</a></p>
<h3>adyen</h3>
<p>Adyen is used by small and huge businesses alike, but you have to email their support team for account creation, which is easy to do, but takes longer to complete. adyen is fairly cheap, &quot;<em>only</em>&quot; charging 0.10$ per transaction plus payment method costs. Detailed pricing information can be found <a href="https://www.adyen.com/pricing">here</a> and you may sign up <a href="https://www.adyen.com/contact/sales">here</a></p>
<h3>payrexx</h3>
<p>https://www.payrexx.com/en/pricing/</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

24
website/dist/docs/plugins/index.html vendored Normal file
View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Plugins :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Plugins</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

25
website/dist/docs/setup/index.html vendored Normal file
View File

@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>Setup :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Setup</h1>
<p>In this tutorial, you are going to learn how to set up and configure libreevent.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html>
<head>
<title>Installation :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Installation</h1>
<p>Let's begin with setting up libreevent! If you are not technically savvy or want somebody else to set it up for you, please contact me <a href="https://api.janishutz.com/contact/setup?origin=libreevent&amp;campaign=installation-docs">here</a>. If you want to set it up yourself, read on below!</p>
<h1>Selecting a webhosting company</h1>
<p>Choosing the right hosting provider is not easy, especially since libreevent requires node.js. Therefore, we've listed a few really good options. This website here is hosted by asurahosting. <em>Note: I may receive a small commission when you buy webhosting using one of the links provided below. This won't affect the price you pay.</em>
https://clients.asurahosting.com/aff.php?aff=1997
https://www.novatrend.ch/en/
https://www.hostinger.com/
https://www.a2hosting.com/
https://www.hetzner.com/
https://www.digitalocean.com/</p>
<p><em>Affiliate program</em>
https://affiliates.hostinger.com/users/signup/
https://www.a2hosting.com/about/affiliate-program/
https://www.digitalocean.com/go/affiliates</p>
<h2>Database</h2>
<p>In the database, all the userdata is stored. libreevent currently supports two different databases, MySQL and a custom database based on JSON. Which one to choose?</p>
<p>Generally MySQL, except:</p>
<ul>
<li>If your organisation is small and does only sell a few tickets at a time, the JSON based database works perfectly fine.</li>
<li>Your web hosting plan does not includes MySQL and you've got no access to MySQL in any other way. <em>NOTE: Free MySQL services should NEVER be used in such an application, as most hosting plans include MySQL which is much more reliable and if you lose access to the database, you can only access the root account and all other data (and therefore all user accounts) is lost.</em></li>
</ul>
<p>MySQL generally is more difficult to set up, but we'll run you through the process here to make the process easier for you. If you chose the JSON based database, skip ahead to the next chapter.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>
<head>
<title>Setup of libreevent :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Setup of libreevent</h1>
<p>At this point we assume you've completed the initial install of libreevent. If not, you may find a guide on how to do it <a href="/docs/setup/getting-started">here</a>. Let's get started setting up your event management system!</p>
<h2>Connecting to the server</h2>
<p>As discussed in the previous part where we installed the system, you can connect to your server simply by opening a web browser and typing your domain name into the address field. After that you should be greeted by the libreevent post-install landing page. Once there, you'll need the setup key you defined during the installation. Type it into the field and hit &quot;Start setup&quot;.</p>
<p><em>Note: This is only available during the setup process of libreevent and will afterwards be deactivated to ensure safety of the system.</em></p>
<h2>Root account</h2>
<p>This is the most powerful account in this system. From it you can control EVERY aspect of your system.</p>
<p><strong>Remark: You may (and definitely should) add other accounts with less privileges after completing setup and only use the root account when it is actually necessary</strong></p>
<p>Please choose an email address to which you want to link the root account. Two-Factor-Authentication is ALWAYS required when logging into an account that has root privileges to ensure a higher degree of security, so please ensure you have access to that email address at all times.</p>
<p>When choosing a password, please ensure it meets the minimum requirements of the system or let the system generate one for you by clicking the 'generate password' button, which will generate a password that fulfills all requirements and exceeds the minimum requirements for password length. In the table below, you may see all the password requirements:</p>
<table>
<thead>
<tr>
<th>Factor</th>
<th>Requirement</th>
</tr>
</thead>
<tbody>
<tr>
<td>Length</td>
<td>At least 15 characters</td>
</tr>
<tr>
<td>Special characters</td>
<td>At least 2 required</td>
</tr>
<tr>
<td>Numbers</td>
<td>At least 2 required</td>
</tr>
<tr>
<td>Upper / Lower case</td>
<td>At least 2 upper &amp; 2 lower case letters required</td>
</tr>
</tbody>
</table>
<p>Please avoid using easy to guess combinations like names &amp; birth dates of you or your relatives, zip codes &amp; cities and obvious words like 'password', 'libreevent', 'admin', 'root' and your organisation / event's name.</p>
<p>After this, the system will email you an email confirmation link using the email you've previously configured in the config.json file during installation.</p>
<h2>Page setup</h2>
<p>After having set up the root account and confirmed the email address, it is now time to set the name of the webpage. For this, you'll need to enter your organisation's name and choose the offered languages. Note that for every language you select, you need to add a promotional text. Please select a homepage template from <a href="/docs/homepage/templates">here</a>. You also have to upload an/some image(s) at this stage, if the selected template requires (an) image(s).</p>
<h2>Payment methods</h2>
<p>Now it is time to set up some payment methods. You may find advantages / disadvantages of each payment gateway <a href="/docs/payments">here</a>. It is advised to only choose one payment gateway which provides lots of different payment options, but cost of usage can also be a factor to consider. You may add more payment options by downloading a plugin through the plugin installer in the admin panel. <em>Note: You'll have to restart the node app whenever you install a new plugin!</em></p>
<h2>Event setup</h2>
<p>With payment methods sorted, you now have to add an event. For this, you'll need to create tickets by hitting the plus icon.</p>
<h2>TOS</h2>
<p>This is an optional step. Here you may add your own terms of services (TOS), next to the ones that are given by libreevent itself. Your TOS will be inserted at the top.</p>
<h2>Setup complete</h2>
<p>With this, you've completed the setup of the event. We now ask you to restart the node application. You may do this by stopping the process (if logged in via SSH, press Ctrl + C, if you've got a graphical user interface for setting up the node app, it should be self explanatory) and restarting it as described <a href="/docs/setup/installation#starting">here</a>.</p>
<p><strong>Congratulations! You've now successfully set up your event management solution. You may now log into the admin panel. You can find your admin panel at /admin (example: libreevent.janishutz.com/admin, replace libreevent.janishutz.com with your own domain).</strong></p>
<p><em>You may find documentation on the admin panel <a href="/docs/admin-panel/">here</a></em></p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

24
website/dist/docs/sponsor/index.html vendored Normal file
View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Sponsor :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Sponsor</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<title>Systemrequirements :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Systemrequirements</h1>
<p>libreevent's system requirements are low, you only need a PC or Server that can run node.js and is able to install npm packages. If the system you are trying to use is unable to download npm packages, you may download the packages on your own system and upload them together with the rest of the server files. How to do that is described in greater detail in the <a href="/docs/gettingStarted">Getting Started guide</a>.</p>
<h2>node.js</h2>
<p>Your system needs to be able to run node.js V &gt; 12.0 and must have access to either npm or the downloaded npm packages.</p>
<h2>Hardware requirements</h2>
<p>Hardware requirements solely depend on the amount of usage it is going to get. An average hosting plan should be able to handle about 1000 people. In case the system is not able to uphold the traffic, it will activate a protection to try and stop overloading and crashing the system. Although using multiple checks, we cannot guarantee that the system will never crash due to being overloaded, so, if the website is important, please overspec the server.</p>
</div>
</div>
<div id="footer"></div>
</body>
</html>

24
website/dist/docs/tutorial/index.html vendored Normal file
View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Tutorial :: docs - libreevent</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/home.css">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="/docs/js/index.js"></script>
<link rel="stylesheet" href="/docs/css/style.css">
</head>
<body>
<div id="side-bar"></div>
<div id="nav"></div>
<div id="docPage">
<div id="doc-container">
<h1>Tutorial</h1>
</div>
</div>
<div id="footer"></div>
</body>
</html>

View File

@@ -0,0 +1 @@
# Pages

View File

@@ -0,0 +1 @@
# Contributing Plugins

View File

@@ -0,0 +1 @@
# Plugins

View File

@@ -0,0 +1 @@
# Sponsor

View File

@@ -0,0 +1 @@
# Tutorial