A real-time, markdown-enabled comment engine powered by leveldb with oauth support
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ansible server-side impl Jun 16, 2017
comments-all 0.7.0-SNAPSHOT Aug 5, 2017
comments-cli 0.7.0-SNAPSHOT Aug 5, 2017
comments-ts 0.6.0 Aug 5, 2017
docs expect 4 params, update build Jun 25, 2017
modules 0.7.0-SNAPSHOT Aug 5, 2017
ngx-upstream/comments ansible and nginx May 5, 2017
scripts rt_flags for standalone version Jun 21, 2017
.gitignore prepare release Jun 20, 2017
ARGS.txt scaffold May 1, 2017
CHANGELOG.md 0.6.0 changelog Aug 5, 2017
LICENSE.txt license May 8, 2017
PORT.txt scaffold May 1, 2017
README.md version bump Sep 2, 2017
pom.xml version bump Sep 2, 2017
run.properties scaffold May 1, 2017
run.sh server-side impl Jun 16, 2017
screenshot.png update screenie May 8, 2017

README.md

comments app

A real-time comment engine with support for anonymous or authenticated posts

Quickstart

mkdir -p target/standalone && cd target/standalone
wget https://unpkg.com/dyu-comments@0.6.0/bin/comments-linux-standalone-x64.tar.gz
tar -xzf comments-linux-standalone-x64.tar.gz
./start.sh

screenshot

The demo is running on a $2.5 vultr plan located in SG, with the app configured to use a max memory of 128mb (to leave most of the available memory to the filesystem cache).

Instant comments on your site/blog

Put this anywhere in the html body (although it is advisable to put it last)

<div id="comments"></div>
<script>
window.comments_config = {
  collapse_depth: 7, // the depth where comments get collapsed by default
  limit_depth: 10, // max: 127
  //auth_host: 'https://api.dyuproject.com', // if you prefer authenticated comments
  ws_enabled: true, // real-time updates
  ws_host: 'wss://rpc.dyuproject.com/sub',
  rpc_host: 'https://rpc.dyuproject.com'
}
</script>
<script src="https://netlify-comments.dyuproject.com/dist/build.js"></script>
<link rel="stylesheet" href="https://netlify-comments.dyuproject.com/dist/build.css" />

Note: Uses the same instance powering the demo. No tracking whatsoever.

  1. The css is 7.1kb minified, built with pavilion core.
  2. The js is 91.8kb minified, built with:

Server runtime dependencies

  • jdk7

Dev requirements

  • node 6.9.0 or higher
  • yarn (npm install -g yarn)
  • jdk7 (at /usr/lib/jvm/java-7-oracle)
  • maven
  • protostuffdb (downloaded below)

Setup

mkdir -p target/data/main
echo "Your data lives in user/ dir.  Feel free to back it up." > target/data/main/README.txt

# download protostuffdb
yarn add protostuffdb@0.14.0 && mv node_modules/protostuffdb/dist/* target/ && rm -f package.json yarn.lock && rm -r node_modules

wget -O target/fbsgen-ds.jar https://repo1.maven.org/maven2/com/dyuproject/fbsgen/ds/fbsgen-ds-fatjar/1.0.10/fbsgen-ds-fatjar-1.0.10.jar
./modules/codegen.sh
mvn install

npm install -g http-server clean-css-cli
cd comments-ts
yarn install

Dev mode

# produces a single jar the first time (comments-all/target/comments-all-jarjar.jar)
./run.sh

# on another terminal
cd comments-ts
# serves the ui via http://localhost:8080/
yarn run dev

If your dev machine is a MacOS, protostuffdb currently does not have binary distributions for it (no MacOS machine to test/build against).

On the other hand, you can still do development on the client-side part with this temporary workaround:

  1. Edit comments-ts/index.html
  2. Replace window.rpc_host = 'http://127.0.0.1:5020' with window.rpc_host = 'https://rpc.dyuproject.com'

Production mode

cd comments-ts
# produces a single js and other assets in comments-ts/dist/
yarn run build