# hubble.io

> A github based, open source documentation solution

Latest version **0.1.20** (published 2012-09-13) · 0 weekly downloads

## Install

```sh
npm install hubble.io
pnpm add hubble.io
yarn add hubble.io
bun add hubble.io
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.20 |
| Published | 2012-09-13 |
| First published | 2012-08-14 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.6.0 |
| Dependencies | 17 |
| Known vulnerabilities | 0 (+23 in 4 direct dependencies) |
| Install scripts | no |
| GitHub stars | 10 |
| Author | hij1nx |
| Maintainers | pgte |
| Keywords | documentation, docs, github, awesome |

## Links

- npm: https://www.npmjs.com/package/hubble.io
- Repository: http://github.com/hubbleio/hubble.io
- npm.io page: https://npm.io/package/hubble.io

## Dependencies (17)

- [tar](https://npm.io/package/tar.md) 0.1.x
- [nano](https://npm.io/package/nano.md) 3.3.x
- [async](https://npm.io/package/async.md) 0.1.x
- [redis](https://npm.io/package/redis.md) 0.8.x
- [union](https://npm.io/package/union.md) 0.3.x
- [bubble](https://npm.io/package/bubble.md) 0.1.x
- [plates](https://npm.io/package/plates.md) 0.4.8
- [request](https://npm.io/package/request.md) 2.11.x
- [director](https://npm.io/package/director.md) 1.1.x
- [optimist](https://npm.io/package/optimist.md) 0.3.4
- [highlight](https://npm.io/package/highlight.md) 0.2.x
- [underscore](https://npm.io/package/underscore.md) 1.3.x
- [node-static](https://npm.io/package/node-static.md) 0.6.x
- [sendgrid-web](https://npm.io/package/sendgrid-web.md) 0.0.x
- [flatware-session](https://npm.io/package/flatware-session.md) 0.1.x
- [flatware-cookie-parser](https://npm.io/package/flatware-cookie-parser.md) 0.1.x
- [github-flavored-markdown](https://npm.io/package/github-flavored-markdown.md) 1.0.x

## Alternatives

- [@cantoo/pdf-lib](https://npm.io/package/@cantoo/pdf-lib.md) — 297.9K weekly downloads
- [datatables.net-buttons](https://npm.io/package/datatables.net-buttons.md) — 200.1K weekly downloads
- [@ckeditor/ckeditor5-export-pdf](https://npm.io/package/@ckeditor/ckeditor5-export-pdf.md) — 167.0K weekly downloads
- [scanbot-web-sdk](https://npm.io/package/scanbot-web-sdk.md) — 15.0K weekly downloads
- [@syncfusion/ej2-angular-pdfviewer](https://npm.io/package/@syncfusion/ej2-angular-pdfviewer.md) — 8.8K weekly downloads

## Recent versions

- 0.1.20 (latest) — 2012-09-13
- 0.1.19 — 2012-09-13
- 0.1.18 — 2012-09-13
- 0.1.17 — 2012-09-13
- 0.1.16 — 2012-09-13
- 0.1.15 — 2012-09-13
- 0.1.14 — 2012-09-13
- 0.1.13 — 2012-09-12
- 0.1.12 — 2012-09-12
- 0.1.11 — 2012-09-12
- 0.1.10 — 2012-09-12
- 0.1.9 — 2012-09-12
- 0.1.7 — 2012-08-16
- 0.1.6 — 2012-08-15
- 0.1.5 — 2012-08-15
- … 5 more at https://npm.io/package/hubble.io/versions

## README

<br/>
<img src="https://github.com/hubbleio/hubble.io/raw/master/logo.png">

## Synopsis
Hubble is a simplified presentation layer on top of github.

## Motivation
Socially-centric open source documentation.

## Features

 - Uses post recieve hooks to refresh its repos
 - Uses github as the central system of record, so each artcile has
  - Watchers
  - Forks
  - Commit history
  - Contributers
  - Pull requests
 - SEO friendly
 - Easy to customize


## Installation

On the root dir of your project:

```bash
$ npm install hubble.io
```

And create a start script:

```javascript
var HubbleIO = require('hubble.io');
var options = {
  "orgname": "nodedocs",
  "title": "NodeGuides",
  "tagline": "Node.js guides for developers",
  "description": "Node Guides and FAQ are designed to make you immediately productive with Node.js, to help you understand how all pieces fit together",
  "content": {
    "home": {
      "beginner": "Are you starting your journey with Node? This section of guides is for you!",
      "intermediate": "Already familiar with Node?",
      "expert": "Kickass Node developer? There’s also something interesting for you!"
    }
  },
  "auth": {
    "github": {
      "callback_uri": "http://localhost:8080/auth/github/callback", 
      "client_id": "157331436a37e82e3ef8",
      "secret": "09a42e0a664ab06cfa0c41aeb2c7aa436422eb00"
    }
  },
  "db": {
    "url": "http://localhost:5984"
  },
  "email": {
    "sendgrid": {
      "user": "------sendgrid-user-here-----",
      "key": "------sendgrid-key-here-----"
    },
    "to": "------email-here-----",
    "from": "------email-here-----"
  },
  "twitter": "------twiiter-url-here-----",
  "github": "------github-url-here-----",
  "team": [
    {
      "name": "Pedro Teixeira",
      "role": "Programmer",
      "bio": "Author of some Node.js modules, the Node Tuts screencast and some Node books. Co-founder and partner of @thenodefirm, Engineer @ Nodejitsu, Organizer of LXJS",
      "avatar": "//en.gravatar.com/userimage/6494167/902b6be09fcaab52050809f6e6f87066.jpg",
      "twitter": "https://twitter.com/pgte",
      "github": "https://github.com/pgte"
    }
  ]
};

console.log('options:', options); 

var server = HubbleIO(options);

server.start(function() {
  console.log('Hubble.IO started');
});
```

Customize the options and run your startup script.

Access via browser to [http://localhost:8080](http://localhost:8080).

## Options

### Overriding templates

Inside directory `server/templates` you can find a bunch of templates that are used for rendering all the pages.

You can choose to override these if you want, by supplying your own template base dir when providing the `override.templates` option like this:

```javascript
var options = {
  // ...
  override: {
    templates: __dirname + '/templates'
  }
}
```

### Overriding static file serving

Hubble.IO serves static files in the `server/public directory`.

You can override some of these and serve additional static files by supplying the `override.static` option like this:

```javascript
var options = {
  // ...
  override: {
    templates: __dirname + '/public'
  }
}
```

### CouchDB

Hubble.IO uses CouchDB for storing article requests and comments. By default it tries to connect to localhost port 5984, but you can override it by setting the `db.url` option:

```javascript
var options = {
  // ...
  db: {
    url: "http://my.couch.server.com:8081"
  }
}
```

### Session Stores

You can use a memory session store or a redis session store.

For changing that you can setup in conf:

```javascript
var options = {
  // ...
  "session": {
    "store": "redis"
  }
}
```

You can also specify timeout, hostname, port and password in session.options:

```javascript
var options = {
  // ...
  "session": {
    "store": "redis",
    "options": {
      "pass": "mypasswordforaccessingredis",
      "host": "hostname.redis.com",
      "port": 9162
    }
  }
}
```

---
_Source: https://npm.io/package/hubble.io · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
