nodeledge-base
v0.2.0
Published
Markdown powered Knowledgebase running on Nodejs
Downloads
2
Maintainers
Readme
nodeledge-base
Nodeledge-base was highly inspired by Raneto. This version has support for more authentication types such as:
- LDAP
- Google Auth
nodeledge-base has plans to support many more forms of authentication.
Creating an Instance
Create a server with
// Require modules
var debug = require('debug')('nodeledge-base');
var nb = require('nodeledge-base');
// Import configurations
var config = require('./config.js');
var app = nb(config);
// Load the Server
var server = app.listen(app.get('port'), function () {
debug('Express HTTP server listening on port ' + server.address().port);
});
Configuration Options
var config = {
// Your site title (format: page_title - site_title)
site_title: 'Raneto Docs',
// The base URL of your site (can use %base_url% in Markdown files)
base_url: '',
// Used for the "Get in touch" page footer link
support_email: '',
// Footer Text / Copyright
copyright: 'Copyright © ' + new Date().getFullYear() + ' - <a href="http://raneto.com">Powered by Raneto</a>',
// Excerpt length (used in search)
excerpt_length: 400,
// The meta value by which to sort pages (value should be an integer)
// If this option is blank pages will be sorted alphabetically
page_sort_meta: 'sort',
// Should categories be sorted numerically (true) or alphabetically (false)
// If true category folders need to contain a "sort" file with an integer value
category_sort: true,
// Controls behavior of home page if meta ShowOnHome is not present. If set to true
// all categories or files that do not specify ShowOnHome meta property will be shown
show_on_home_default: true,
// Which Theme to Use?
theme_dir : path.join(__dirname, 'node_modules', 'nodeledge-base', 'themes'),
theme_name : 'default',
// Specify the path of your content folder where all your '.md' files are located
// Fix: Needs trailing slash for now!
// Fix: Cannot be an absolute path
content_dir : path.join(__dirname, 'content'),
// Where is the public directory or document root?
public_dir : path.join(__dirname, 'node_modules', 'nodeledge-base', 'themes', 'default', 'public'),
// The base URL of your images folder,
// Relative to config.public_dir
// (can use %image_url% in Markdown files)
image_url: '/images',
// Add your analytics tracking code (including script tags)
analytics: '',
// Set to true to enable the web editor
allow_editing : true,
// Set to true to enable HTTP Basic Authentication
authentication : true,
// If editing is enabled, set this to true to only authenticate for editing, not for viewing
authentication_for_edit: true,
// If authentication is enabled, set this to true to enable authentication for reading too
authentication_for_read: false,
// Google OAuth
googleoauth: false,
oauth2 : {
client_id: 'GOOGLE_CLIENT_ID',
client_secret: 'GOOGLE_CLIENT_SECRET',
callback: 'http://localhost:3000/auth/google/callback',
hostedDomain: 'google.com'
},
ldapauth: true,
ldap : {
server: {
url: 'ldap://ldap.rippling.com:389',
},
usernameField: '',
passwordField: ''
},
secret: 'someCoolSecretRightHere',
credentials : [
{
username : 'admin',
password : 'password'
},
{
username : 'admin2',
password : 'password'
}
],
locale: 'en',
// Support search with extra languages
searchExtraLanguages: ['ru'],
// Sets the format for datetime's
datetime_format: 'Do MMM YYYY',
// Set to true to render suitable layout for RTL languages
rtl_layout: false,
// Edit Home Page title, description, etc.
home_meta : {
// title : 'Custom Home Title',
// description : 'Custom Home Description'
},
// variables: [
// {
// name: 'test_variable',
// content: 'test variable'
// },
// {
// name: 'test_variable_2',
// content: 'test variable 2'
// }
// ]
table_of_contents: false
};
Build
Supported Node Versions:
- v10.x.x
- v8.x.x
Credits
The original version was created by Gilbert Pellegrom from Dev7studios.
It is also maintained by Ryan Lelek from AnsibleTutorials.com. Released under the MIT license.