All Projects → it4e → Chl

it4e / Chl

Licence: lgpl-3.0
C Hypertext Library - A library for writing web applications in C

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Chl

Pug Starter
Simple pug (jade) starter [framework] enabling faster delivery of HTML & CSS projects to a private server and/or automatic deployment of GitHub pages.
Stars: ✭ 328 (+30.68%)
Mutual labels:  development-tools, website
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (+72.91%)
Mutual labels:  library, website
Confetti.js
A simple confetti animation for your website :)
Stars: ✭ 170 (-32.27%)
Mutual labels:  library, website
Fannypack
[UNMAINTAINED] An accessible-focused, themeable, friendly React UI Kit.
Stars: ✭ 245 (-2.39%)
Mutual labels:  library
Hubcaps
a rust interface for github
Stars: ✭ 245 (-2.39%)
Mutual labels:  library
Php Library Template
+ 📒 Provides a GitHub repository template for a PHP library, using GitHub actions.
Stars: ✭ 249 (-0.8%)
Mutual labels:  library
Mutpy
MutPy is a mutation testing tool for Python 3.x source code
Stars: ✭ 248 (-1.2%)
Mutual labels:  development-tools
Just
A library of dependency-free JavaScript functions that do just do one thing.
Stars: ✭ 3,837 (+1428.69%)
Mutual labels:  library
Sightreading.training
🎹 Sight reading training tool
Stars: ✭ 250 (-0.4%)
Mutual labels:  website
Jreactive 8583
Java Client & Server for ISO8583 & Netty
Stars: ✭ 248 (-1.2%)
Mutual labels:  library
Simpleeval
Simple Safe Sandboxed Extensible Expression Evaluator for Python
Stars: ✭ 246 (-1.99%)
Mutual labels:  library
Bitcoinlib
Bitcoin and other Cryptocurrencies Library for Python. Includes a fully functional wallet, Mnemonic key generation and management and connection with various service providers to receive and send blockchain and transaction information.
Stars: ✭ 247 (-1.59%)
Mutual labels:  library
Statik
Multi-purpose static web site generator aimed at developers.
Stars: ✭ 249 (-0.8%)
Mutual labels:  library
Mtproto Core
Telegram API JS (MTProto) client library for browser and nodejs
Stars: ✭ 242 (-3.59%)
Mutual labels:  library
Resourcedoc
Share the swift resource for iOS dev
Stars: ✭ 251 (+0%)
Mutual labels:  library
Pillar Valley
👾A cross-platform video game built with Expo, three.js, and Firebase! 🎮🕹
Stars: ✭ 242 (-3.59%)
Mutual labels:  website
Separateshapesview
Simple custom ViewGroup with two shapes inside and simple scale animation
Stars: ✭ 250 (-0.4%)
Mutual labels:  library
Pyrocore
🔧 A collection of tools for the BitTorrent protocol and especially the rTorrent client
Stars: ✭ 247 (-1.59%)
Mutual labels:  library
Finalcut
A text-based widget toolkit
Stars: ✭ 244 (-2.79%)
Mutual labels:  library
Andserver
🍒 Web server and web framework of Android platform.
Stars: ✭ 2,932 (+1068.13%)
Mutual labels:  website

CHL

C Hypertext Library - A library for writing web applications in C

#include <chl/chl.h>

int main() {
 chl_set_default_headers();
 chl_print_headers();
 
 printf("Hello world");
 
 return 0;
}

(Simple Hello World in CHL)

See examples
Tutorial, Setup, API, Contribute
FastCGI

Website

What is CHL?

CHL, short for C Hypertext Library, is a library used to write web applications of all sorts in the C programming language. CHL provides you with a lot of useful features:

  • FastCGI implementation
  • MySQL library
  • Parsing and fetching HTTP data, such as POST and GET.
  • Creating and deleting HTTP headers.
  • A dedicated API for creating and deleting cookies.
  • The ability to execute CHL functions within HTML files

and a lot more...

Why CHL?

What makes CHL uniqe is the support for executing functions inside HTML files, much like PHP using the syntax, though CHL uses the <{ }> syntax.

Example

<body>
 <{ import("header.vw"); }>
</body>

How does it work?

Web applications written in C must somehow be executed by the Web server since C is a compiled language. To make this possible CHL is based on CGI (Common Gateway Interface), which in short means that the server executes your program and passes it data through environment variables. CHL does all the parsing and handling of CGI in the background, and provides you with some easy to use functions instead. CHL also provides an interface for FastCGI.

API

The Application Programming Interface is written with Github Wikis: API.

Setup

For a proper guide on how to install and configure CHL on your system, read the following document: https://github.com/it4e/CHL/wiki/Setup.

As of now, CHL is only officially available on Linux, but I am planning to port it to other operating systems as well if the interest is big enough. Otherwise you could of course make a port of it yourself, see contribute.

Tutorial

To read an in depth tutorial on the structure of CHL web applications, and a walk through on how to get started and how to use the CHL API properly see https://github.com/it4e/CHL/wiki/Tutorial.

The tutorial is divided into various sections. The first section is a quick introduction to let you know what CHL is all about and what it can do for you. We will then dig deeper and deeper into the CHL API.

Before you start reading this tutorial, make sure you have CHL installed and that everything is properly set up. Setting up CHL.

Contribute

There are several ways you can contribute to CHL. Take a look at the issues page for an overview of what you can contribute to. If you have any ideas of your own for new features to implement, feel free to contribute with a pull request.

For a detailed guide on contribution to CHL, see contribute.

Examples

See examples, for a page with detailed examples of CHL in use.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].