Pebble
A lightweight, open source, Java EE blogging tool

# Overview

## What is Pebble?

Pebble is a lightweight, open source, Java EE blogging tool. It's small, fast and feature-rich with unrivalled ease of installation and use. Blog content is stored as XML files on disk and served up dynamically, so there's no need to install a database. All maintenance and administration can be performed through your web browser, making Pebble ideal for anybody who is constantly on the move or doesn't have direct access to their host. You can see an example blog here.

Download now and you can be blogging in less than 5 minutes.

### Quickstart with Tomcat

1. Take the `pebble.war` file from the distribution and deploy it, by copying it to `$TOMCAT_HOME/webapps`.
2. Restart Tomcat and point your browser to `http://localhost:8080/pebble/`.
3. Start blogging by logging in with a username of `username` and a password of `password`.

### Minimum requirements

1. Java 5.0
2. A JSP 2.0/Servlet 2.4 compatible web/application server such as Apache Tomcat 5.5.x

# Features

## What does it do?

Here is a summary of the key features that are supported by Pebble.

### Content

- Posting and management of content through your web browser, including rich text editor support.
- Blogger and MetaWeblog API interface included for posting content via compatible tools.
- Categorisation of content into multiple hierarchical categories.
- Tagging of content and a generation of a tagcloud.
- RSS enclosures for distrbuting files or podcasting.
- Simple content publication workflow.
- Pinging websites via XML-RPC when new blog entries are added.
- Publication of static content alongside your blog entries.

### Reader responses

- Reader responses, in the form of threaded comments and MovableType TrackBacks.
- E-mail notifications when new responses are received.
- Pluggable moderation, spam detection and CAPTCHA support.
- Bulk response management features to approve/reject/remove comments and TrackBacks.

### Web-based Adminstration

- Management of your blog via a web browser.
- File management and the ability to upload arbitary files and images.
- Capture of blog referers, requests and logs for viewing or export.
- Customizable regex based referer filters to combat referer spam.
- Integrated help and documentation.

### Newsfeeds

- RSS 2.0, RDF and Atom 1.0 feeds for blog entries and responses.
- Category and tag specific newsfeeds.

### Navigation

- View blog entries by permalink, day or month.
- Navigate through your blog entries in several ways, including a locale-aware calendar control.
- Text based and advanced searching.

### Team, project, multi-user blogs and security

- Multiple people can contribute to a single blog.
- Host more than a single blog for a project, group or community.
- Integrate Pebble with your existing security infrastructure (e.g. LDAP, Active Directory, RDBMS, etc).

### i18n

- Content in international character sets such as UTF-8.
- Publication of content aligned with your timezone, regardless of where your host is based.
- Locale sensitive delivery of dates, times and numbers.
- Translated public-facing text provides a consistent user experience in a single language, including :

  - Chinese (Simplified)
  - Chinese (Traditional)
  - Danish
  - Dutch
  - English

  - Finnish
  - French
  - German
  - Hindi
  - Italian

  - Japanese
  - Norwegian
  - Portuguese
  - Spanish
  - Swedish

### Plugin APIs

- Permalink Providers let you customize the format of your permalinks.
- Content Decorators let you customize how blog entries are displayed.
- Blog Listeners let you write Java code that is called when your blog starts up and shuts down.
- Blog Entry Listeners let you write Java code that is called when blog entries are added, removed, published and unpublished.
- Comment Listeners let you write Java code that is called when comments are added, removed, approved and rejected.
- TrackBack Listeners let you write Java code that is called when TrackBacks are added, removed, approved and rejected.
- Confirmation Strategies let you plugin different strategies for readers to confirm their comments/TrackBacks, such as CAPTCHAs.