i hate my life
|
@ -1,3 +1,2 @@
|
|||
/*.db
|
||||
/config.json
|
||||
/documentation/site/js/base.js
|
||||
|
|
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 224 KiB |
|
@ -0,0 +1,125 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="/img/favicon.ico">
|
||||
<title>BBJ</title>
|
||||
<link href="/css/bootstrap-custom.min.css" rel="stylesheet">
|
||||
<link href="/css/font-awesome-4.5.0.css" rel="stylesheet">
|
||||
<link href="/css/base.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/css/highlight.css">
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="/js/jquery-1.10.2.min.js"></script>
|
||||
<script src="/js/bootstrap-3.0.3.min.js"></script>
|
||||
<script src="/js/highlight.pack.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
|
||||
<!-- Collapsed navigation -->
|
||||
<div class="navbar-header">
|
||||
<!-- Expander button -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/">BBJ</a>
|
||||
</div>
|
||||
|
||||
<!-- Expanded navigation -->
|
||||
<div class="navbar-collapse collapse">
|
||||
<!-- Main navigation -->
|
||||
<ul class="nav navbar-nav">
|
||||
<li >
|
||||
<a href="/">Home</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
|
||||
<li >
|
||||
<a href="/api_overview/">Overview & Endpoints</a>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<a href="/errors/">Errors</a>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<a href="/validation/">Input Validation</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="row-fluid">
|
||||
<div id="main-content" class="span12">
|
||||
<h1 id="404-page-not-found" style="text-align: center">404</h1>
|
||||
<p style="text-align: center"><strong>Page not found</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="col-md-12">
|
||||
<hr>
|
||||
<p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p>
|
||||
</footer>
|
||||
<script>var base_url = '';</script>
|
||||
<script data-main="/mkdocs/js/search.js" src="/mkdocs/js/require.js"></script>
|
||||
<script src="/js/base.js"></script><div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||
<h4 class="modal-title" id="exampleModalLabel">Search</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
From here you can search these documents. Enter
|
||||
your search terms below.
|
||||
</p>
|
||||
<form role="form">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
|
||||
</div>
|
||||
</form>
|
||||
<div id="mkdocs-search-results"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 357 KiB After Width: | Height: | Size: 357 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 224 KiB |
|
@ -0,0 +1,153 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="None">
|
||||
|
||||
|
||||
<link rel="shortcut icon" href="./img/favicon.ico">
|
||||
<title>BBJ</title>
|
||||
<link href="./css/bootstrap-custom.min.css" rel="stylesheet">
|
||||
<link href="./css/font-awesome-4.5.0.css" rel="stylesheet">
|
||||
<link href="./css/base.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./css/highlight.css">
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="./js/jquery-1.10.2.min.js"></script>
|
||||
<script src="./js/bootstrap-3.0.3.min.js"></script>
|
||||
<script src="./js/highlight.pack.js"></script>
|
||||
</head>
|
||||
|
||||
<body class="homepage">
|
||||
|
||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
|
||||
<!-- Collapsed navigation -->
|
||||
<div class="navbar-header">
|
||||
<!-- Expander button -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href=".">BBJ</a>
|
||||
</div>
|
||||
|
||||
<!-- Expanded navigation -->
|
||||
<div class="navbar-collapse collapse">
|
||||
<!-- Main navigation -->
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="active">
|
||||
<a href=".">Home</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
|
||||
<li >
|
||||
<a href="api_overview/">Overview & Endpoints</a>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<a href="errors/">Errors</a>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<a href="validation/">Input Validation</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
<li class="disabled">
|
||||
<a rel="next" >
|
||||
<i class="fa fa-arrow-left"></i> Previous
|
||||
</a>
|
||||
</li>
|
||||
<li >
|
||||
<a rel="prev" href="api_overview/">
|
||||
Next <i class="fa fa-arrow-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
|
||||
<ul class="nav bs-sidenav">
|
||||
<li class="main active"><a href="#bulletin-butter-jelly">Bulletin Butter & Jelly</a></li>
|
||||
<li><a href="#a-simple-community-textboard">A simple community textboard</a></li>
|
||||
</ul>
|
||||
</div></div>
|
||||
<div class="col-md-9" role="main">
|
||||
|
||||
<h1 id="bulletin-butter-jelly">Bulletin Butter & Jelly</h1>
|
||||
<h2 id="a-simple-community-textboard">A simple community textboard</h2>
|
||||
<h3 id="bbj-is-trivial-collection-of-python-scripts-and-database-queries-that-miraculously-shit-out-a-fully-functional-client-server-textboard">BBJ is trivial collection of python scripts and database queries that miraculously shit out a fully functional client-server textboard.</h3>
|
||||
<p>See also: the <a href="https://github.com/desvox/bbj">GitHub repository</a>.</p>
|
||||
<p>BBJ is heavily inspired by image boards like 4chan, but it offers a simple
|
||||
account system to allow users to identify themselves and set profile
|
||||
attributes like a more traditional forum. Registration is optional and there
|
||||
are only minimal restrictions on anonymous participation.</p>
|
||||
<p><img alt="screenshot" src="./img/screenshot.png" /></p>
|
||||
<p>Being a command-line-oriented text board, BBJ has no avatars or file sharing
|
||||
capabilties, so its easier to administrate and can't be used to distribute illegal
|
||||
content like imageboards. It has very few dependancies and is easy to set up.</p>
|
||||
<p>The API is simple and doesn't use require complex authorization schemes or session management.
|
||||
It is fully documented on this site.</p></div>
|
||||
</div>
|
||||
|
||||
<footer class="col-md-12">
|
||||
<hr>
|
||||
<p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p>
|
||||
</footer>
|
||||
<script>var base_url = '.';</script>
|
||||
<script data-main="./mkdocs/js/search.js" src="./mkdocs/js/require.js"></script>
|
||||
<script src="./js/base.js"></script><div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||
<h4 class="modal-title" id="exampleModalLabel">Search</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
From here you can search these documents. Enter
|
||||
your search terms below.
|
||||
</p>
|
||||
<form role="form">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
|
||||
</div>
|
||||
</form>
|
||||
<div id="mkdocs-search-results"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--
|
||||
MkDocs version : 0.16.3
|
||||
Build Date UTC : 2017-05-04 02:42:48
|
||||
-->
|
|
@ -0,0 +1,62 @@
|
|||
function getSearchTerm()
|
||||
{
|
||||
var sPageURL = window.location.search.substring(1);
|
||||
var sURLVariables = sPageURL.split('&');
|
||||
for (var i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
var sParameterName = sURLVariables[i].split('=');
|
||||
if (sParameterName[0] == 'q')
|
||||
{
|
||||
return sParameterName[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var search_term = getSearchTerm(),
|
||||
$search_modal = $('#mkdocs_search_modal');
|
||||
|
||||
if(search_term){
|
||||
$search_modal.modal();
|
||||
}
|
||||
|
||||
// make sure search input gets autofocus everytime modal opens.
|
||||
$search_modal.on('shown.bs.modal', function () {
|
||||
$search_modal.find('#mkdocs-search-query').focus();
|
||||
});
|
||||
|
||||
// Highlight.js
|
||||
hljs.initHighlightingOnLoad();
|
||||
$('table').addClass('table table-striped table-hover');
|
||||
|
||||
// Improve the scrollspy behaviour when users click on a TOC item.
|
||||
$(".bs-sidenav a").on("click", function() {
|
||||
var clicked = this;
|
||||
setTimeout(function() {
|
||||
var active = $('.nav li.active a');
|
||||
active = active[active.length - 1];
|
||||
if (clicked !== active) {
|
||||
$(active).parent().removeClass("active");
|
||||
$(clicked).parent().addClass("active");
|
||||
}
|
||||
}, 50);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
$('body').scrollspy({
|
||||
target: '.bs-sidebar',
|
||||
});
|
||||
|
||||
/* Toggle the `clicky` class on the body when clicking links to let us
|
||||
retrigger CSS animations. See ../css/base.css for more details. */
|
||||
$('a').click(function(e) {
|
||||
$('body').toggleClass('clicky');
|
||||
});
|
||||
|
||||
/* Prevent disabled links from causing a page reload */
|
||||
$("li.disabled a").click(function() {
|
||||
event.preventDefault();
|
||||
});
|
|
@ -4,6 +4,6 @@
|
|||
# Nothing magical here.
|
||||
|
||||
python3 ./mkendpoints.py
|
||||
cd ./documentation
|
||||
cd ./docs
|
||||
mkdocs build
|
||||
cd ..
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
"""
|
||||
This is a small script that creates the endpoint doc page. It should be
|
||||
evoked from the command line each time changes are made. It writes
|
||||
to ./documentation/docs/api_overview.md
|
||||
to ./docs/docs/api_overview.md
|
||||
|
||||
The code used in this script is the absolute minimum required to
|
||||
get the job done; it can be considered a crude hack at best. I am
|
||||
|
@ -129,5 +129,5 @@ for doctype in sorted(types.keys()):
|
|||
body += "\n\n" + pydoc.getdoc(f) + "\n\n"
|
||||
body += "\n<br>\n"
|
||||
|
||||
with open("documentation/docs/api_overview.md", "w") as output:
|
||||
with open("docs/docs/api_overview.md", "w") as output:
|
||||
output.write(body)
|
||||
|
|