open source AJAX commenting system

Martin Monperrus 47ea032a88 Update README.md 3 months ago
client 1af1679541 adds support for comment threads 3 years ago
server b98650508b removes remaining dependency to Google recaptcha 3 years ago
README.md 47ea032a88 Update README.md 3 months ago
test.html 77cfc49869 updates the test file for the new generic captcha system 4 years ago

README.md

jskomment

jskomment is an open source commenting system that is built on javascript and AJAX.

No support is provided. Pull requests are welcome

I also recommend the great tool ISSO, https://github.com/posativ/isso

Demo: http://www.monperrus.net/martin/open+source+ajax+commenting+system

Installation

Create a folder for the data files:

cd server
mkdir jskomment-data
chmod 777 jskomment-data

Open test.html

Alternatively, add the following snippet in your web page (ensure that JQuery is loaded as well, see test.html)

For page-based commenting:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="jskomment-core.js"></script>
<div class="jskomment"></div>
<script> JSKOMMENT.main(); </script>

How to support Markdown in comments?

You can use any JS markdown library. For instance, with pagedown:

<script type="text/javascript" src="pagedown/Markdown.Converter.js"></script>
<script type="text/javascript" src="pagedown/Markdown.Sanitizer.js"></script>
<script> 
var converter = new Markdown.Converter();
JSKOMMENT_CONFIG={};
JSKOMMENT_CONFIG.url="http://www.example.com/jskomment/";
JSKOMMENT_CONFIG.format_function = function (str) { 
  return converter.makeHtml(str);
};
</script>

How to protect comments with captchas?

You can set up a captcha URL as follow:

JSKOMMENT_CONFIG={};
JSKOMMENT_CONFIG.captcha_url = 'http://www.monperrus.net/martin/captcha.php';
JSKOMMENT_CONFIG.authenticate = function(elem) {
  JSKOMMENT.authenticate_with_captcha_default(elem);
};

Troubleshooting

Is .htaccess readable by the web server and loaded? Is mod_rewrite loaded?

Related work

Compared to http://www.disqus.com, you have complete control over the commenting data and you can modify it as much as you need.

jskomment is inspired from http://www.js-kit.com and http://www.intensedebate.com