Skip to content

Commit 6707140

Browse files
committed
Add docsify site
1 parent d923479 commit 6707140

20 files changed

+1498
-0
lines changed

.nojekyll

Whitespace-only changes.

README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# JungleTV Application Framework Docs
2+
3+
Welcome to the official documentation for the **JungleTV Application Framework**!
4+
Known as JungleTV AF for short, or even simply as JAF, it allows for the development and delivery of custom experiences within [JungleTV](https://jungletv.live), a media sharing and group media consumption website.
5+
If you have never heard about JungleTV, we recommend first going through the [about page](https://jungletv.live/about); if it is otherwise your first time here, we recommend going through the [Introduction](/introduction/).
6+
7+
## Get involved
8+
9+
JungleTV, the JungleTV Application Framework, and this documentation are all part of the same open source project. We can always use your feedback on how to improve the documentation and the framework itself. **[[TODO] Mention feedback channels]**

_sidebar.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
- [Introduction](/introduction/)
3+
- [Getting started](/getting-started/)
4+
- [Manual](/manual/)
5+
- [Reference](/reference/)
6+
- [Server modules](/reference/server/)
7+
- [`jungletv:chat`](/reference/server/jungletv_chat.md)
8+
- [`jungletv:configuration`](/reference/server/jungletv_configuration.md)
9+
- [`jungletv:db`](/reference/server/jungletv_db.md)
10+
- [`jungletv:keyvalue`](/reference/server/jungletv_keyvalue.md)
11+
- [`jungletv:pages`](/reference/server/jungletv_pages.md)
12+
- [`jungletv:points`](/reference/server/jungletv_points.md)
13+
- [`jungletv:rpc`](/reference/server/jungletv_rpc.md)
14+
- [`node:console`](/reference/server/node_console.md)
15+
- [`node:process`](/reference/server/node_process.md)
16+
- [`node:util`](/reference/server/node_util.md)
17+
- [App bridge (client-side helper)](/reference/appbridge/)

getting-started/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**[[TODO] Placeholder]**

index.html

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<title>JungleTV AF Docs</title>
7+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
8+
<meta name="description" content="Documentation for the JungleTV Application Framework">
9+
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
10+
<link rel="stylesheet" media="(prefers-color-scheme: dark)"
11+
href="//cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple-dark.css">
12+
<link rel="stylesheet" media="(prefers-color-scheme: light)"
13+
href="//cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple.css">
14+
<style>
15+
:root {
16+
--sidebar-nav-indent: 0.45em;
17+
--theme-color: #4CBF4B;
18+
--code-inline-color: rgb(139, 92, 246);
19+
--base-background-color: rgb(243,244,246);
20+
--sidebar-background: white;
21+
--code-theme-background: white;
22+
--code-inline-background: white;
23+
}
24+
25+
@media (prefers-color-scheme: dark) {
26+
:root {
27+
--base-background-color: rgb(17, 24, 39);
28+
--sidebar-background: rgb(10, 14, 22);
29+
--code-theme-background: rgb(31, 41, 55);
30+
--code-inline-background: rgb(31, 41, 55);
31+
--sidebar-toggle-background: rgb(31, 41, 55);
32+
--table-row-odd-background: rgb(10, 14, 22);
33+
}
34+
}
35+
</style>
36+
</head>
37+
38+
<body>
39+
<div id="app"></div>
40+
<script>
41+
window.$docsify = {
42+
name: 'JungleTV AF Docs',
43+
relativePath: true,
44+
loadSidebar: true,
45+
subMaxLevel: 3,
46+
markdown: {
47+
gfm: true,
48+
}
49+
}
50+
</script>
51+
<!-- Docsify v4 -->
52+
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
53+
<script src="//cdn.jsdelivr.net/npm/docsify-themeable@0/dist/js/docsify-themeable.min.js"></script>
54+
</body>
55+
56+
</html>

introduction/README.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Introduction
2+
3+
Welcome to the official documentation for the **JungleTV Application Framework**!
4+
Known as JungleTV AF for short, or even simply as JAF, it allows for the development and delivery of custom experiences within [JungleTV](https://jungletv.live), a media sharing and group media consumption website.
5+
6+
This page provides a broad introduction to the JungleTV AF and to how its documentation is organized.
7+
8+
## What is the JungleTV Application Framework?
9+
10+
The JungleTV AF is a set a components contained in the JungleTV server and client software, that allows the JungleTV service to be **extended** without the need to modify, deeply understand or otherwise "buy into" the code and technology stack that powers the core of JungleTV.
11+
Each set of extensions is grouped as a logical unit called an "application."
12+
Experiences powered by the JAF are meant to be made **available to the JungleTV community**, meaning they instantly get the attention of thousands of eyeballs in a short amount of time.
13+
There is, therefore, the **expectation that these applications are to be reliable, secure and generally polished**.
14+
15+
To help developers realize their visions while meeting expectations, the JAF **abstracts the more complex aspects of building a web application** with which hundreds of users will interact, possibly simultaneously.
16+
The result is a framework which uses a combination of some **familiar technologies**, like JavaScript and HTML, **specialized tecnology**, like [Goja](https://github.com/dop251/goja), and **purpose-built technology**, like the collection of libraries at the disposal of JAF applications.
17+
18+
One of the goals of the JungleTV AF is to allow developers, including those who didn't work on the JungleTV core, to **quickly iterate on new functionality** for the service, from features meant to be **used through time** and possibly even integrated in a more permanent fashion in the JungleTV core, to more **experimental and temporary** installations, perhaps designed around a one-off community event.
19+
JAF applications can implement certain types of JungleTV features with less than 10% of the code necessary to achieve the same effects by modifying the core of the service.
20+
21+
The JungleTV AF encompasses a simple development environment accessed and contained within the backoffice UI of the JungleTV service.
22+
Developers external to the team are meant to request access to a **staging instance** of the JungleTV service where they will have the necessary permissions to access this environment and develop new applications, which may be eventually promoted to the production environment, once reviewed by the JungleTV team.
23+
Those feeling adventurous can also set up a private JungleTV instance on their own computers, so they will be able to develop JAF applications in a permissionless and private fashion, even offline if necessary.
24+
25+
The JungleTV AF is continuously in development and is currently in a **preview** stage, meaning it currently changes at a fast pace, and **long-term application compatibility is not guaranteed**.
26+
27+
## About the documentation
28+
29+
Like the JAF itself, this documentation is in flux, and is likely slightly out of date compared to the current state of the framework.
30+
It is maintained alongside the [JungleTV source code](https://github.com/tnyim/jungletv/); all and any corrections and suggestions are appreciated and can be provided via GitHub issues and pull requests.
31+
32+
### Who is this documentation for?
33+
34+
This documentation is aimed at developers looking for **guidance on how to build a JungleTV AF application**, also containing a complete reference for the external interfaces (APIs) of JAF-specific libraries and components.
35+
This documentation is **not specifically directed at developers looking to work on the JungleTV core**, for example to modify the Application Framework itself.
36+
Those in the latter group should begin by taking a look at the [JungleTV source code](https://github.com/tnyim/jungletv/) and should get in contact with JungleTV core developers for further guidance.
37+
38+
### How is the documentation organized?
39+
40+
This documentation is both a practical guide and a reference guide, starting as the former and progressively evolving into the latter in the later sections.
41+
While it may seem a bit counter-intuitive, because the JAF is still in development, the reference sections are likely more complete and up-to-date than the higher-level overviews and guides.
42+
43+
- The [Getting started](/getting-started/) section contains an overview of JungleTV AF concepts and will guide you through the development of a simple application.
44+
- The [Manual](/manual/) section contains more detailed information about different aspects of the framework.
45+
- The [Reference](/reference/) section contains an exhaustive (ideally) enumeration and explanation of every aspect of the interfaces exposed by the JungleTV AF, both to server-side components and to client-side components.

manual/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
**[[TODO] Placeholder]**
2+
3+
Ideas for future sections:
4+
5+
- Architecture overview
6+
- Limitations
7+
- Files and versioning
8+
- Application import/export
9+
- Tips on code structure and file organization
10+
- Pages
11+
- Client-side framework (appbridge)
12+
- UI widgets
13+
- Using the configuration module to put pages in the main UI
14+
- Client-server communication (explaining RPC)
15+
- Security considerations
16+
- Chat interaction
17+
- JP interaction
18+
- JP economy guidelines
19+
- (future milestone) Queue interaction
20+
- (future milestone) Wallet/balance interaction
21+
- Persistent storage
22+
- Application testing
23+
- Application review process

reference/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**[[TODO] Placeholder]**

reference/appbridge/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**[[TODO] Placeholder]**

reference/server/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**[[TODO] Placeholder]**

0 commit comments

Comments
 (0)