Liposuctioned Java-based blog server.
Java JavaScript CSS Other
Pull request Compare This branch is 818 commits ahead, 25 commits behind apache:master.
Latest commit 807f788 Jan 15, 2017 @gmazza committed on GitHub Merge pull request #636 from gmazza/issue635
Database install code simplified

Welcome to TightBlog! This project started off in May 2015 as a fork of the Apache Roller project. As of 17 July 2016, Release 1.0.0 is available.

TightBlog strives to be the mathematically cleanest and simplest implementation of a Java based blog server, suitable either for direct use or incorporation, as an Apache-licensed open source project, into larger projects. Specifically, its goal is to satisfy all the needs of 80% of bloggers while avoiding seldom-requested functionality that bloats the application and creates maintenance burdens, doing more harm than good.

This more realistic goal--along with adopting the Spring framework, REST, and other code modernizations--has allowed TightBlog to slim down considerably from its parent: The 1.0.0 release of TightBlog uses 17 database tables compared to Roller V5.1.2's 33, 187 Java source files to 493 in Roller, and 51 JSPs vs. Roller's 92. Only increase, a nice one, is about 15 more JavaScript files have been added, due to TightBlog's increased emphasis on browser-side processing.

TightBlog 2.0 is underway. Simplifications continuing, as of 15 January 2017 the application is at 158 Java source files, 40 JSPs, and 14 database tables.

Check my blog for recent status updates.

The top-level TightBlog directory consists of the following folders:

  • app: TightBlog application - WAR application meant for deployment on a servlet container
  • it-selenium: Integrated browser tests for TightBlog using Selenium
  • etc: Utility scripts and screenshots for documentation

To obtain the source code:

To build the application (app/target/tightblog.war) with Maven and Java 8: mvn clean install from the TightBlog root.

It's very quick and simple to try out TightBlog locally, to determine if this is a product you would like to blog with before proceeding with an actual install. After building the distribution via mvn clean install, navigate to the app folder and run mvn jetty:run, and view http://localhost:8080/tightblog from a browser. From there you can register an account, create a sample blog and some entries, create and view comments, modify templates, etc., etc., everything you can do with production TightBlog. Each time it is run, "mvn jetty:run" creates a new in-memory temporary database that exists until you Ctrl-Z out of the terminal window running this command.

For actual installations on Tomcat or other servlet container, please read the Install pages on the TightBlog Wiki.