-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
159 lines (151 loc) · 7.53 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="user-scalable=no, width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Balde — A microframework for C based on GLib and bad intentions.</title>
<link rel="stylesheet" href="css/main.css" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Convergence" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Fjord+One" />
<link rel="icon" href="img/balde-logo.ico" />
</head>
<body>
<!-- Github fork me ribbon -->
<a id="github-ribbon" href="https://github.com/balde/balde">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png">
</a>
<img width="128" src="img/balde-logo.png" alt="" class="site" />
<div class="fix-o">
<header class="site clear">
<hgroup class="fix-o">
<h1 class="site">Balde</h1>
<h2 class="site">A microframework for C based on GLib and bad intentions.</h2>
</hgroup>
<nav class="site">
<ul>
<li><a href="https://github.com/balde/balde/releases">Download</a></li>
<li><a href="http://docs.balde.io/">Documentation</a></li>
<li><a href="https://github.com/balde/balde">Development</a></li>
</ul>
</nav>
</header>
<section class="site">
<header>
<h1>Balde is easy...</h1>
</header>
<pre><span class="cp">#include <balde.h></span>
<span class="kt">balde_response_t</span><span class="o">*</span>
<span class="nf">hello</span><span class="p">(</span><span class="kt">balde_app_t</span> <span class="o">*</span><span class="n">app</span><span class="p">,</span> <span class="kt">balde_request_t</span> <span class="o">*</span><span class="n">request</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">return</span> <span class="n">balde_make_response</span><span class="p">(</span><span class="s">"Hello World! I'm the balde! :D"</span><span class="p">);</span>
<span class="p">}</span>
<span class="kt">int</span>
<span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">balde_app_t</span> <span class="o">*</span><span class="n">app</span> <span class="o">=</span> <span class="n">balde_app_init</span><span class="p">();</span>
<span class="n">balde_app_add_url_rule</span><span class="p">(</span><span class="n">app</span><span class="p">,</span> <span class="s">"hello"</span><span class="p">,</span> <span class="s">"/"</span><span class="p">,</span> <span class="n">BALDE_HTTP_GET</span><span class="p">,</span>
<span class="n">hello</span><span class="p">);</span>
<span class="n">balde_app_run</span><span class="p">(</span><span class="n">app</span><span class="p">);</span>
<span class="n">balde_app_free</span><span class="p">(</span><span class="n">app</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre>
</section>
<section class="site">
<header>
<h1>Balde is fast</h1>
</header>
<div class="half">
<p>
It is designed to be fast, simple, and memory efficient. Most of its architecture
is based on other microframeworks, like Flask, and it can run on any web server
that supports FastCGI.
</p>
<p>
With balde you can serve hundreds of requests per second with a minimal
memory footprint and all the performance features provided by FastCGI.
</p>
</div>
</section>
<section class="site">
<header>
<h1>Features</h1>
</header>
<ul class="feature-list">
<li>Simple templating engine, that converts markup to C code that is linked directly to the application binary.</li>
<li>Static resources are embedded and served from the application binary.</li>
<li>RESTful request dispatching. Supports most HTTP methods.</li>
<li>Reverse resolution of URLs (similar to Flask's "url_for" function).</li>
<li>Compatible with FastCGI and CGI servers.</li>
<li>Runs on any GLib-capable system.</li>
</ul>
</section>
<section class="site">
<header>
<h1>Upcoming features</h1>
</header>
<ul class="feature-list">
<li>Secure cookies (client side sessions).</li>
<li>File uploads.</li>
</ul>
</section>
<section class="site">
<header>
<h1>Online tests</h1>
</header>
<p>
All the code pushed to our <a href="https://github.com/balde/balde" target="_blank">Github repository</a>
is tested by <a href="https://semaphoreci.com/balde/balde" target="_blank">Semaphore</a>, and the results
can be seen here:
</p>
<p>
<a href="https://semaphoreci.com/balde/balde">
<img src="https://semaphoreci.com/api/v1/projects/b131b3c1-2343-4719-95ef-ebb743eb01ce/388645/badge.svg" alt="Build Status" />
</a>
</p>
</section>
<section class="site">
<header>
<h1>Contribute</h1>
</header>
<p>
Balde project is a work in progress. If you are interested in help on its development
you can fork our GitHub repository <a href="https://github.com/balde/balde/fork" target="_blank">here</a>
and submit a pull-request with your modifications.
</p>
</section>
<section class="site">
<header>
<h1>License</h1>
</header>
<p>
Balde is free software, released under the
<a href="https://raw.githubusercontent.com/balde/balde/master/COPYING" target="_blank">LGPL 2.1</a> license.
</p>
</section>
</div>
<footer class="site">
<p>
© 2013-2015 Rafael G. Martins. Licensed by
<a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons</a>.
<span class="switch">
Site development by <a href="https://github.com/canassa" target="_blank">Cesar Canassa</a> and
<a href="https://github.com/rafaelmartins" target="_blank">Rafael G. Martins</a>.
</span>
<span class="switch">
Based on <a href="http://www.cherrypy.org/" target="_blank">cherrypy.org</a>,
developed by <a href="http://rolando.pe/" target="_blank">Rolando Murillo</a>.
</span>
</p>
</footer>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-51518108-1', 'balde.io');
ga('send', 'pageview');
</script>
</body>
</html>