A realtime web application written in node.js whose aim it is to replace the current etherpad-solution and provide a perfect enviroment to write shownotes for various podcasts. See also: http://shownot.es/
The favicon is the shownotes-icon.
To start ShowPad just run the supplied run.sh
, which will call setup.sh
if needed.
setup.sh
will install all dependencies and download static third party css or js files.
A redis-server which is configured to use unix-sockets is needed, set unixsocket redis.sock
in your redis-config. The minimum redis-version is 2.4 because of a change in the sadd
-command.
ShowPad is able to support multiple document types, but at the moment there is only the etherpad-lite one.
Thus ShowPad needs a running and working etherpad-lite installation and the following values in your config.json
:
"etherpad":
{
"host":"",
"port":"",
"apikey":""
}
host
is the URL where your etherpad-lite can be found, for example:127.0.0.1
orbeta.etherpad.org
port
the port on which your etherpad-lite listens, see your etherpad-litesettings.json
apikey
can be found in theAPIKEY.txt
-file of your etherpad-lite installation
You should als set requireSession
to true
and editOnly
to true
in your etherpad-lite settings.json
as
this is required for the authentication to work properly. You need to restart EPL after this has been set.
ShowPad and etherpad-lite have to be accessible using the same domain since ShowPad needs to set a cookie which is used by etherpad-lite!
ShowPad needs to send emails for the account-activation, you can choose between sendmail
, which just tries to use
the sendmail
-command to send emails or smtp
which connects to a "real" mailserver to send emails.
See nodemailer for more details and options.
The mail-config inside config.json
looks like this:
"mail":
{
"type": "smtp", // or 'sendmail'
"from": "[email protected]", // the email-address to use as sender
"settings": // not needed for 'sendmail'
{
host: "smtp.gmail.com",
secureConnection: true,
port: 465,
auth:
{
user: "[email protected]",
pass: "userpass"
}
}
}
The entry point of showpad is server.js
.
Search for console.info("Let's go")
to find the first few lines of meaningful code that are executed.
ShowPad then goes on and loads the doctypes,
databases (missing doc, #36), API and what not.
In case you're having trouble with the templating take a look at templating.md
.
- Serverside: node.js
- http/routing: express.js
- persistant sessions: connect-redis
- async.js, because it's awesome!
- emails: nodemailer
- rate limiting: limiter
- caching: memory-cache
- templaing: ejs + ejs-locals (blocks)
- database: redis + node_redis
- logging: log4js-node
- localization: i18n-node
- amqp
- configuration: nconf
- cookies: cookie + cookie-signature
- validating forms: express-validator
- captchas: node-recaptcha
- and many others! see
package.json
- Clientside (License)
- jQuery (MIT)
- jQuery-queryParser (MIT)
- twitter bootstrap (Apache v2.0)
- Subtle Patterns (CC-BY-SA)
- datatables (BSD 3-clause)
- recaptcha (http://www.google.com/recaptcha/terms)
- jquery-datatables-editable (BSD 3-clause)
- jEditable (MIT)
- tinyOSF.js (MIT)
- etherpad-jquery (MIT)