Skip to content

Commit afd4924

Browse files
committed
Migrate blog to gh pages
1 parent ef3d4ce commit afd4924

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1308
-3
lines changed

Diff for: _config.yml

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
name: Node-RED
22
markdown: kramdown
33
highlighter: pygments
4+
permalink: /blog/:year/:month/:day/:title/
5+
paginate: 8
6+
paginate_path: "/blog/page/:num/"

Diff for: _includes/footer.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<li><a href="https://www.npmjs.com/package/node-red">npm</a></li>
1111
<li><a href="http://twitter.com/nodered">Twitter</a></li>
1212
<li><a href="https://groups.google.com/forum/#!forum/node-red">Mailing List</a></li>
13-
<li><a href="https://node-red.slack.com">Slack</a> - <a href="http://nodered.org/slack">sign up</a></li>
13+
<li><a href="http://nodered.org/slack">Slack</a></li>
1414
</ul>
1515
</div>
1616
<div class="col-1-6">

Diff for: _includes/header.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
66
<title>Node-RED{% if page.title %} : {{ page.title }}{% endif %}</title>
7-
7+
88
<link href='http://fonts.googleapis.com/css?family=Roboto+Slab:400,700,300,100' rel='stylesheet' type='text/css'>
99
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
1010
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
@@ -25,7 +25,7 @@
2525
<div class="brand"><a href="/"><img class="logo" src="/node-red.png" /> Node-RED</a></div>
2626
<ul class="navigation">
2727
<li {% if page.url == "/index.html" %}class="current"{% endif %}><a href="/">home</a></li>
28-
<li><a href="http://blog.nodered.org/">blog</a></li>
28+
<li {% if page.url contains '/blog/' %}class="current"{% endif %}><a href="http://blog.nodered.org/">blog</a></li>
2929
<li {% if page.url contains '/docs/' %}class="current"{% endif %}><a href="/docs/">documentation</a></li>
3030
<li><a href="http://flows.nodered.org/">flows</a></li>
3131
<li><a href="http://github.com/node-red/node-red">github</a></li>

Diff for: _layouts/blog.html

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{% include header.html %}
2+
<div class="docs">
3+
<div class="grid docs-content">
4+
<div class="col-2-12 sidebar">
5+
<a href="/blog">&larr; back</a>
6+
</div>
7+
<div class="col-8-12">
8+
<div class="post-header">
9+
<h2 class="post-title">{{ page.title }}</h2>
10+
<div class="post-meta">{{ page.date | date_to_long_string }} </div>
11+
</div>
12+
<div class="post-content">
13+
{{ content }}
14+
</div>
15+
<div class="post-footer">
16+
To comment or leave feedback on this post, get on contact on
17+
<a href="https://twitter.com/NodeRED">Twitter</a>,
18+
the <a href="https://groups.google.com/forum/#!forum/node-red">mailing list</a>
19+
or join the conversation on <a href="/slack">Slack</a>.
20+
</div>
21+
</div>
22+
<div class="col-2-12 docs-content sidebar">
23+
<h4>Share this post</h4>
24+
<a class="icon icon-twitter" href="http://twitter.com/share?text={{ page.title }}&url={{ page.url }}"
25+
onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
26+
</a>
27+
<a class="icon icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ page.url }}"
28+
onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
29+
</a>
30+
<a class="icon icon-google-plus" href="https://plus.google.com/share?url={{ page.url }}"
31+
onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
32+
</a>
33+
</div>
34+
</div>
35+
</div>
36+
{% include footer.html %}

Diff for: _posts/2013-10-16-version-0-2-0-released.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
layout: blog
3+
title: Version 0.2.0 released
4+
---
5+
6+
We're still finding our way with how we want to do regular releases, but as I said in the [original commit](https://github.com/node-red/node-red/commit/32796dd74ca2525e3fea302e79ff3fc596bb1bf3) to github, we've got to start somewhere.
7+
8+
With that said, Node-RED 0.2.0 is available to [download](https://github.com/node-red/node-red/archive/v0.2.0.zip) or [npm install](https://npmjs.org/package/node-red).
9+
10+
We need to make it as easy as possible for users to get started. Where we would normally git pull our way between updates, now we need to think through how a user can safely upgrade. It's quite a manual process at the moment - and writing this makes me realise the [docs](http://nodered.org/docs) need an upgrade guide adding.
11+
12+
Moving forward, there are various strands of activity. Some of the ones that are at the forefront as I sit here writing this are:
13+
14+
- npm install vs zip download - when should one be used over the other
15+
- moving all but the core nodes from the main repository to the [node-red-nodes repository](http://github.com/node-red/node-red-nodes).
16+
- thinking about multi-tabbed workspaces and sub-flows
17+
- continuing to tidy up our existing nodes in light of feedback and experience
18+
19+
Stay tuned for more thoughts on these.
20+
21+
In the meantime, if you have any thoughts or suggestions, leave a comment here or on the [mailing list](https://groups.google.com/forum/#!forum/node-red).
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
layout: blog
3+
title: Internet of Things Messaging Hangout
4+
---
5+
6+
I was asked to join some of my Messaging colleagues in a Google Handout earlier today to talk about the Internet of Things, Node-RED and the upcoming [ThingMonk conference](http://redmonk.com/thingmonk/).
7+
8+
It's a brief introduction to what Node-RED is about, why we used node.js and what we've planned for the future.
9+
10+
If you want to hear more about the developer experience of IoT, coming along to [ThingMonk](http://redmonk.com/thingmonk/tickets/).
11+
12+
<div class="video-container"><iframe width="640" height="360" src="//www.youtube.com/embed/OrgxLl9AaHI" frameborder="0" allowfullscreen></iframe></div>

Diff for: _posts/2013-10-31-version-0-3-0-released.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
layout: blog
3+
title: Version 0.3.0 released
4+
---
5+
6+
Node-RED 0.3.0 is now available to [download](https://github.com/node-red/node-red/archive/0.3.0.zip) or [npm install](https://npmjs.org/package/node-red).
7+
8+
### Organising Flows
9+
Part of the keeping-it-simple approach to Node-RED meant we provided a single workspace to create the flows on. We made the workspace really big so you could fit a lot on, but there was only one.
10+
11+
This worked up to a point, but it finally became clear we needed a better way to help users organise their flows.
12+
13+
In thinking about how to approach the problem, two use cases became apparent:
14+
15+
1. being able to place discrete flows on their own workspace,
16+
2. being able to group a set of nodes into a 'sub-flow' that can be wired in to other flows as a single entity
17+
18+
With this new release, we begin to address these requirements by supporting multiple tabs/sheets/workspaces (the naming is still a little confused under the covers).
19+
20+
It may seem like a small step, but it has driven quite a bit of thought over the above use cases and how we should tackle them.
21+
22+
So whilst we don't have sub-flows yet, we do have a better understanding of what they are and how they'll be represented in both the underlying flows-file and the UI.
23+
24+
![tabbed workspace](/blog/content/images/2013/Oct/Node_RED___Google_Chrome_039-1.png)
25+
26+
### Reorganising nodes
27+
This release also brings a reorganisation of the nodes that are included in the main repository. Some of the nodes, typically the more esoteric or hardware-specific, have moved over to the [node-red-nodes repository](http://github.com/node-red/node-red-nodes). We've updated the [install instructions](http://nodered.org/docs/getting-started/installation.html) with information on installing these additional nodes.
28+
29+
### Testing
30+
A major omission of the project has been a set of reusable tests. As we use Node-RED all the time, our testing approach has largely been just using it - not very rigorous.
31+
32+
We've started adding some unit tests for the core server code, and will begin to add tests for the core nodes as well.

Diff for: _posts/2013-11-14-version-0-4-0-released.md

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
layout: blog
3+
title: Version 0.4.0 released
4+
---
5+
6+
Node-RED 0.4.0 is now available to [download](https://github.com/node-red/node-red/archive/0.4.0.zip) or [npm install](https://npmjs.org/package/node-red). Please read the [upgrade instructions](http://nodered.org/docs/getting-started/upgrading.html).
7+
8+
### New configuration options
9+
10+
This release brings a few new configuration options. They're all documented [here](http://nodered.org/docs/configuration.html), but there are a couple worth calling out.
11+
12+
By default, all the user data is normally stored in the Node-RED install directory. This isn't ideal when you are using `npm` to install as it will all get lost when you come to `npm update` to the next release. Similarly, any custom nodes you've added to the `nodes` directory will be removed.
13+
14+
To solve this, we've added two new configuration options:
15+
16+
- `userDir` points at the directory to store all of your data in. If not set, it uses the install directory as before.
17+
- `nodesDir` points at a directory that contains nodes you want to add to the palette. This directory is searched in addition to the existing `nodes` directory, so you can use either.
18+
19+
A common scenario for embedding Node-RED is to put it behind a dashboard that presents the data being generated. Previously, you would have had to [embed](http://nodered.org/docs/embedding.html) the Node-RED into another node.js app to achieve this.
20+
21+
To make this even easier, the new `httpStatic` property can be used to point at a directory of files that should be served up when someone points their browser at http://localhost:1880 (or wherever you've configured Node-RED to listen). For this to work, you *must* also set `httpRoot` to move the editor UI away from `/`.
22+
23+
The existing `httpAuth` property, which can be used to enabled authentication, *only* applies to the editor UI, not to the static files. This means it isn't currently possible to secure the static content using these options - if you need that, you should use the embedding approach. This is something we'll address in a future release.
24+
25+
26+
### Node updates
27+
Various bug fixes have gone into the existing nodes. One new feature to mention is the Delay node can now be configured to delay a random amount of time, between two values.
28+
29+
We've added the `json2xml` to the core repository to provide the reverse mapping of the existing `xml2js` node.
30+
31+
In the [node-red-nodes](https://github.com/node-red/node-red-nodes) repository, some new nodes have been added:
32+
33+
- `wemo` - to control Wemo sockets and switches,
34+
- `twilio` - send SMS using the Twilio service (contributed by [Andrew Lindsay](http://blog.thiseldo.co.uk/))
35+
- `rawserial` - Only needed for Windows boxes without `serialport` installed. Uses a simple read of the serial port as a file to input data. You must set the baud rate etc externally before starting Node-RED. This node does not implement pooling of connections so only one instance of each port may be used - so in or out but not both.
36+
- `mdp` - MPD music control nodes. Output node expects payload to be a valid mpc command. Currently only simple commands that expect no reply are supported. Input node creates a payload object with Artist, Album, Title, Genre and Date.
37+
- `mysql` - allows basic access to a MySQL database.
38+
- `swearfilter` - analyses the payload and tries to filter out any messages containing bad swear words. Handy for doing live Twitter demos to your parents.
39+
40+
### What's next?
41+
42+
There's a healthy [list of issues](https://github.com/node-red/node-red/issues?state=open) and we've still got a whiteboard of scribblings to work through.
43+
44+
Some of the items near the top of the list include:
45+
46+
- making it more obvious if you have nodes with undeployed changes
47+
- add client id, usernamd and password support to the MQTT nodes. May even get Last Will and Testament support in.
48+
- enable session-oriented connections in the TCP nodes.
49+
50+
51+
52+
### Upcoming events
53+
54+
There a couple events coming up where we'll be speaking about Node-RED.
55+
56+
[IOT London Meetup](http://www.meetup.com/iotlondon/events/145842362/) is next Tuesday. As usual, its highly oversubscribed, so hopefully you're already on the list.
57+
58+
On December 2nd & 3rd is [ThingMonk](http://redmonk.com/thingmonk/), a two-day event all about the Internet of Things. I'll be talking on the theme of Integration:
59+
> The Internet of Things is not a single choice of technology, approach or philosophy. Its very existence is the bringing together of multiple platforms, products and protocols, where the whole is greater than the sum of its parts.
60+
61+
>We need to make it as easy as possible to allow developers, to make things, for play or profit, serious or whimsical, professional or hobbyist.
62+
63+
Be sure to [buy your ticket](http://redmonk.com/thingmonk/tickets/) and we'll see you there.

Diff for: _posts/2013-12-21-version-0-5-0-released.md

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
layout: blog
3+
title: Version 0.5.0 released
4+
---
5+
6+
A bit later than planned, Node-RED 0.5.0 is now available to [download](https://github.com/node-red/node-red/archive/0.5.0.zip) or [npm install](https://npmjs.org/package/node-red). Please read the [upgrade instructions](http://nodered.org/docs/getting-started/upgrading.html).
7+
8+
### What's new
9+
10+
#### Undeployed changes
11+
One piece of feedback we've had is that simply changing the colour of the deploy button isn't good enough to indicate there are undeployed changes; for colour-blind users, it doesn't work at all.
12+
13+
To improve this, we've added a new badge to nodes that have been added or edited but not yet deployed.
14+
15+
![Changed node badge](/blog/content/images/2013/Dec/Selection_001.png)
16+
17+
#### Unknown nodes
18+
When importing a flow from somewhere else, if it contains a node you don't have installed, we now substitute the missing node with a special unknown-node type rather then refuse to perform the import. This means you can import the flow, see what you're missing and either install the missing node types and re-attempt the import, or delete the missing nodes.
19+
20+
To make it very obvious you have unknown nodes, they take a very distinctive style:
21+
22+
![Unknown node type](/blog/content/images/2013/Dec/Selection_002.png)
23+
24+
#### Command-line arguments
25+
With the previous release, we added the ability to move all of the user data to a location outside of the Node-RED install directory. This was configured in the `settings.js` file, which presented a problem - this file had to exist in the install directory so we could find it.
26+
27+
With this release, you can now point to the file as a command-line argument:
28+
29+
$ node red.js --settings /home/nol/.node-red/settings.js
30+
31+
You can use either `--settings` or `-s`.
32+
33+
### Node updates
34+
#### Twitter node
35+
The twitter node can now track the tweets of specific users as well as the direct messages of the authenticated user. Both of these features use the polling api, rather than the more efficient streaming API of the other search types. This means they are subject to the fairly strict rate-limiting that twitter imposes. They will check for new tweets roughly every minute and new DM's every two minutes.
36+
37+
If you have multiple nodes using these features, all authenticated as the same user, you are likely to hit the rate limiting and not get all the tweets you expect.
38+
39+
#### TCP node
40+
Before this release, the TCP nodes had no sense of individual connections; the TCP Out node would broadcast messages to all connections. With this release, the nodes are now session aware. Given a flow that starts with a TCP In node and ends with a TCP Out node, the Out node can now be configured to reply just to the connection that triggers the flow.
41+
42+
Here's a flow that acts as an Echo server:
43+
44+
![A TCP Echo server](/blog/content/images/2013/Dec/Selection_004.png)
45+
46+
[{"id":"6534336a.9acbcc","type":"tcp in","server":"server","host":"","port":"9001","datamode":"stream","datatype":"buffer","newline":"","topic":"","name":"","base64":false,"x":80,"y":140,"z":"e1c9f85b.1e3608","wires":[["2f63c46b.d09c3c"]]},{"id":"c5d83ebc.3a27c","type":"tcp out","host":"","port":"","beserver":"reply","base64":false,"name":"","x":320,"y":140,"z":"e1c9f85b.1e3608","wires":[]},{"id":"2f63c46b.d09c3c","type":"function","name":"","func":"msg.payload = \"You said: \"+msg.payload.toString();
47+
48+
return msg;","outputs":1,"x":200,"y":140,"z":"e1c9f85b.1e3608","wires":[["c5d83ebc.3a27c"]]}]
49+
50+
With this flow deployed, you can telnet to `localhost:9001` and anything you type will be echoed back:
51+
52+
$ telnet localhost 9001
53+
Trying 127.0.0.1...
54+
Connected to localhost.
55+
Escape character is '^]'.
56+
Hi There
57+
You said: Hi There
58+
59+
#### WebSocket node
60+
It is now much easier to create live dashboards of events generated by Node-RED. The WebSocket nodes allow you to send and receive messages from within a web-page. As with the TCP nodes, they are connection-aware. This means you can easily create a flow that starts with a message over a WebSocket connection, performs some query and then returns the result over the same connection.
61+
62+
#### Other core node updates
63+
- MQTT node now supports specifying the client id, username and password to use for a connection.
64+
- Switch node now has an 'otherwise' option as well as an option to stop checking for matches once one has been found. This allows tradition `if-else` style logic flows to be constructed.
65+
- Serial node allowed you to specify a delimiter to split incoming data with. It now has an option to automatically append the delimiter to messages being sent back out
66+
- HTTP Request node will now automatically follow 301 redirects
67+
68+
69+
#### New Nodes
70+
The [node-red-nodes](https://github.com/node-red/node-red-nodes) repository has accepted some more pull-requests for new nodes:
71+
72+
- Snapchat node
73+
- Phillips Hue node
74+
75+
### What's next?
76+
npm-installable nodes have been on the to-do list for a while now; it's probably time I started working on that.
77+
78+
Another issue to tackle is a better separation of the admin UI from the runtime. Currently, you can use `httpRoot` to move where the admin UI is served from as well as apply basic authentication. An unfortunate side effect is that if you secure the admin UI, you end up also securing the HTTP In nodes - probably not the desired result. We need to separate these out, but the challenge is doing this in a backwardly compatible way.
79+
80+
There are also a few [pull-requests](https://github.com/node-red/node-red-nodes/pulls) for new nodes working their way through the system.
81+
82+

Diff for: _posts/2014-01-22-community-news.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
layout: blog
3+
title: Community News
4+
---
5+
6+
A couple community things we wanted to highlight.
7+
8+
### Postscape IoT Awards
9+
10+
Voting for Postscapes 3rd annual [Internet of Things awards](http://postscapes.com/internet-of-things-award/) is currently open and we're very grateful to find Node-RED nominated in both the [Open Source](http://postscapes.com/internet-of-things-award/open-source/) and [Technical Enabler](http://postscapes.com/internet-of-things-award/iot-technical-enabler/) categories.
11+
12+
You can vote for Node-RED [here](http://postscapes.com/internet-of-things-award/project/node-red/).
13+
14+
### Makerland Conference
15+
16+
Tickets are now available for the first [Makerland conference](http://www.makerland.org/) in March. A 3 day event in Warsaw, Poland, that promises to offer a mix of talks and workshops on all things IoT.
17+
18+
One of the workshops is being run by friend of Node-RED, [Charalampos Doukas](http://www.makerland.org/speakers/#charalampos) and is described as:
19+
20+
> **[Magic Lights](http://www.makerland.org/workshops/#magic)**
21+
22+
>The workshop project involves using a RaspberryPi and Bluetooth 4.0 for automatically turning on a Philips Hue wireless lamp based on user proximity (using a smartphone or a device like the Fitbit). The workshop will teach participants how to use Node-RED for interacting with Objects/Smart Things. We will learn the basic elements of Node-RED, how to interface with hardware like the Arduino, how to write custom code and how to consume external services using APIs.
23+
24+
[Early bird tickets](http://www.makerland.org/tickets/) are available for a couple more weeks.
25+
26+
If you have anything you want to share about Node-RED, please do get in touch - either on [twitter](http://twitter.com/nodered) or the [mailing list](https://groups.google.com/forum/#!forum/node-red).

0 commit comments

Comments
 (0)