nodeletter v0.1.5
nodeletter
vr. 0.0.1
nodeletter is a Node.js module that is used for creating email newsletters.
It has been tested on Node.js vr. 0.8.18.
nodeletter requires the following modules:
- http
- fs
- path
- url
- moment
- jquery
- inliner
- premailer
- markdown
- kiwi
Synopsis
This Node module is intended for developers/designers tasked with creating a unique newsletter design. Normally services like MailChimp, etc., are good routes to go as one stop shops. But if you're stuck creating a solution from scratch to handle through some mailer service, that usually means you're in for a lot of trivial work, including:
- using antiquated HTML/CSS strategies to lay out content
- testing with numerous email browsers
- embedding CSS inline as
style
attributes for MUA's that don't process header or inline CSS - making sure all links are referencing valid external locations
- having multiple copies of the same design for email/online display
- entering content into source directly
- updating context sensitive variables (dates, names, etc.)
nodeletter attemps to solve at least some of these problems from the get go, particularly the ones that involve the design, development, and generation of email newsletters. It should make newsletter development mare akin to common web development.
Process
nodeletter separates newsletter creation into concerns you're used to when web developing.
Render Modes
Render modes are instanced of behavior by which *nodeletter will render an existing email template. By default, the following are supplied (and are overrideable):
- email: CSS is inlined, compiled into the DOM as
style
attributes, and compressed, link references are made external - online: CSS is inlined, references are made external
- default: the template is served with no intermediate processing
Template
nodeletter newsletters are created using the Kiwi templating engine.
Content
Content refers to what is featured in your newsletter, which is usually text like an article or whatever.
Content is derived using markdown.
Simply create a markdown file and include
it in your template within ghte ./contents
folder.
Feeds
Feeds are lists of items that a newsletter might use, like news items or links.
Feeds are derived using JSON
files that are imported from ./contents/feeds.json.
Statics
Static files are your CSS, JS, and images. These are smartly handled depending on your rendering options.
Usage
Build the directory structure using the
nodeletter
executable.nodeletter new template_name
Build your newsletter.
Start the nodeletter server.
node template.js
Use render modes for developing and testing your newsletter. Render modes are displayed according to the specified path:
localhost:8888/render_mode/action
where:
- render_mode: type of render mode, default is
default
- action: render action, default is
display
- render_mode: type of render mode, default is