hub.js - amark/gun GitHub Wiki
lib/hub.js (server-side only)
Host your website on Gun !
The hub feature is an optional feature that allows you to watch a directory and upload all of its content on the database (only text files are supported for now).
How to use it ?
First, you must install Chokidar
. When it’s done, import hub.js
:
const hub = require('gun/lib/hub'); // Classic
// or
import hub from ‘gun/lib/hub’; // ES6’s way
// then
hub.watch(/* The path you want to watch. */)
Options
what
(String) - Which directory hub
should watch.
options
(Object) - Change the behavior of hub.
// Available options
{
msg: true // or false | disable or enable update messages,
hubignore: false // or true | Activate the .hubignore feature
}
.hubignore
file
The It'd be really dangerous if you upload all your files on the DB !
The purpose of the .hubignore
is to give you the possibility to choose what files are watched by hub & sent to Gun ! It works exactly as the .gitignore
file. It must be in the root of the folder you're watching.
# Very important API KEY !
/whatever/api-key.txt
.
├── index.html
├── .hubignore
└── whatever/
└── api-key.txt
Example
Given this directory :
.
└── directory/
├── index.html
├── .hubignore
└── whatever/
├── style.css
└── api-key.txt
// Basic usage.
const hub = require(‘gun/lib/hub’); // OR import hub from ‘gun/lib/hub’;
hub.watch(‘./directory’);
gun.get(‘hub’).on(data => {
console.log(data[‘/directory/index.html’]) // Get the content of index.html
console.log(data[‘/directory/folder/whatever.css’]) // Get the content of whatever.css
})
# .hubignore
/whatever/api-key.txt # Won't be uploaded !