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":""
}hostis the URL where your etherpad-lite can be found, for example:127.0.0.1orbeta.etherpad.orgportthe port on which your etherpad-lite listens, see your etherpad-litesettings.jsonapikeycan 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)
