SHOUTBOX — README
==================

By Sarutobi · Animehistory.org
https://animehistory.org/


WHAT IS THIS?
-------------

A classic forum-style "shoutbox": one scrolling list of short public
messages, like phpBB or vBulletin shouts from the late 1990s / early 2000s.

  * No user registration or login
  * Optional display name, or an automatic guest name (Guest####) per browser
  * BBCode formatting in messages
  * @mentions — click to jump to someone's latest shout
  * AnimeHistory default skin (matches animehistory.org) plus four optional
    retro skins — switchable and saved in your browser
  * Messages stored in SQLite on the server


HOW TO INSTALL
--------------

See install.txt in this folder for step-by-step hosting and local setup.


HOW TO USE (VISITORS)
---------------------

1. Open index.php in your browser (see install.txt for the URL).

2. Name field (optional):
     - Leave blank to use your guest name (shown under the field).
     - Or type any display name (max 24 characters).

3. Type your message. Use the BBCode buttons above the text box, or type
   tags by hand.

4. Click "Shout!" Messages appear in the stream without reloading the page.

5. Pick a skin from the buttons at the top. AnimeHistory is the default;
   optional extras: phpBB Classic, Dark Terminal, GeoCities Neon,
   Modern Minimal. Your choice is remembered.

6. Click a name in "Recent voices" to insert @TheirName in your message.

7. Click a highlighted @mention to scroll to that person's latest shout.


BBCODE SUPPORTED
----------------

  [b]bold[/b]              [i]italic[/i]           [u]underline[/u]
  [s]strike[/s]            [url]https://...[/url]  [url=...]label[/url]
  [img]https://...[/img]   [quote]...[/quote]      [quote=Name]...[/quote]
  [color=red]...[/color]   [size=14]...[/size]     [code]...[/code]
  [spoiler]...[/spoiler]   [list][*]one[*]two[/list]
  [center]...[/center]     [pre]...[/pre]

Unsafe javascript: links in [url] and [img] are blocked. HTML in messages
is escaped before BBCode is applied.


MENTIONS
--------

  Type @DisplayName (letters, numbers, underscore, hyphen). Matching is
  case-insensitive. Examples: @john  @Guest5432

  Mentions only link to names that have appeared in the shoutbox (including
  guest names assigned before the first post).


LIMITS & SAFETY
---------------

  * Max message length: 500 characters (config.php)
  * Flood control: about 5 seconds between posts from the same connection
  * Simple optional word filter in config.php
  * Output is XSS-hardened (escape first, then BBCode)


FILES (OVERVIEW)
----------------

  index.php          Main page
  api.php            AJAX fetch / post / guest identity
  config.php         Settings and database helpers
  lib/bbcode.php     BBCode parser
  lib/mentions.php   @mention linking
  assets/css/        Styles and themes
  assets/js/         Browser logic (poll, post, themes)
  data/              SQLite database (created automatically)
  install.txt        Non-developer install steps
  readme.txt         This file


CUSTOMIZATION
-------------

  Edit config.php to change max length, flood delay, or filtered words.
  Edit assets/css/shoutbox.css for colors and layout per theme.


CREDITS & LICENSE
-----------------

  Created by Sarutobi for Animehistory.org
  https://animehistory.org/

  Use and modify for your site as needed; please keep credit visible in
  the footer or about section when you redistribute.
