• Stars
    star
    111
  • Rank 312,921 (Top 7 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A blogging engine in C
Finally, an update to the very outdated mod_blog that's been available since
September 3, 2009.  There still isn't much documentation because, as of yet.
I doubt what's here is enough but for the most dedicated to go through the
code to see how this works.

REQUIREMENTS

        If you don't meet these requirements, then you probably won't get
        very far.  The software was written in C (don't bother asking for
        Perl code---there isn't any, and there won't be any) and as such,
        makes certain assumptions, such as:
        
                * Linux (or any POSIX compilant UNIX system)
                * GCC   (or any C99 compiler that may come with your system)
                * Apache
                * Lua 5.1 or higher
                
        The code right now assumes you'll be running this under Apache.
        
COMPILATION

        You'll need to install my CGILIB library (6.6 or higher) to compile
        this blog software.  You can install it from
        
                https://github.com/spc476/CGILib
                
        To install it once it's downloaded, all it should take is "make" and
        then "make install" as root.  The library assumes a POSIX
        environment and should compile as is on most modern Unix systems.
        
        Once that is installed, you should be able to do a "make" and
        generate the blog engine.  It's built as a setuid program to avoid
        having a world-writable directory, but if that is a concern, you can
        certain remove the setuid'ness of it, but make sure the data
        directories are writable by Apache.
        
        
INSTALLATION

        The assumption on the blog engine is that the executable resides in
        a directory visible to Apache and runnable from within Apache's
        docroot for the the site in question.  I have my copy named as
        "boston.cgi" and Apache configured to execute such programs via CGI.
        The htdocs/ subdirectory contains a sample website to run the blog.
        There's also a sample htaccess file that shows the method I use to
        run the blog engine.
        
        In the journal/ subdirectory is out-of-band files (which should not
        be served up by Apache).  There you will find a sample configuration
        file and a sample entry to see how the data is stored (each entry is
        a separate file, stored under a Year/Month/Day directory structure).
        
        And yes, there is code to do email notifications, but it's not
        enabled by default.  I only left the code in to support the half
        dozen people that did sign up to receive email notifications.
        
        The HTML entry form works, but it's not my primary method for new
        entries---for that, I use email.  I have the following line in
        '/etc/aliases':
        
                myjournal: "/path/to/boston.cgi --config /path/to/config --email --cmd new"
                
        To make an entry, I format an email to the journal address as:
        
                +-----[top of file]----------------------------
                |author: [who you set at author---exact match]
                |title: [title of entry]
                |class: [keywords]
                |status: [status repeated on Facebook]
		|adtag: [keyword used for advertising network]
                |
                |body of entry, usually including HTML
                | ...
                +----------------------------------------------
                
        And that's pretty much it.
        
        Good luck.
        

More Repositories

1

SPCDNS

An easy to use DNS library with C and Lua bindings
C
74
star
2

C-Coroutines

Coroutines for C.
C
73
star
3

LPeg-Parsers

Parsing common data formats via LPeg
Lua
65
star
4

GLV-1.12556

The First Gemini Protocol Server
Lua
45
star
5

lua-conmanorg

Usefu Lua modules
C
40
star
6

mc6809

A Motorola 6809 emulator library---include a MC6809 in your application!
C
23
star
7

CBOR

The most comprehensive CBOR module in the Lua universe.
Lua
22
star
8

port70

A Gopher server in Lua
Lua
16
star
9

SPCUUID

C library to create UUIDs. Also included are Lua bindings.
C
15
star
10

syslogintr

A syslog daemon written in C/Lua
Lua
11
star
11

CGILib

C Code to talk CGI, plus some other useful routines.
C
8
star
12

LEM

A method to distribute self-contained Lua applications.
Lua
4
star
13

a09

A Morotola 6809 assembler. There are many like it, but this is mine.
C
4
star
14

libtls-examples

Examples of using libtls in C. Includes a proof-of-concept for an evented read/write loop.
Lua
3
star
15

NaNoGenMo-2015

My National Novel Generation Month entry for 2015
Lua
3
star
16

ipacld

Provides a way for usercode to bind to priviledged ports via a daemon
C
2
star
17

x-grey

X-Grey is a standalone daemon that implements a greylisting policy that any MTA can use.
C
2
star
18

LPeg-talk

Code for a talk on LPeg
Lua
2
star
19

NaNoGenMo-2018

My entry for the Nation Novel Generation Month 2018
Lua
1
star
20

LuaFunctionSerialize

Experiments in serializing Lua functions
Lua
1
star
21

mod_litbook

A experiment in URL addressing of the King James Bible.
C
1
star
22

MOPML

My Own Private Markup Language
Lua
1
star
23

6809-DISASM

A Motorola 6809 disassembler written in 6809 assembly.
Assembly
1
star