gitbook-plugin-hidden
v1.2.0
Published
Hide blocks unless authorized with .htpasswd
Downloads
6
Maintainers
Readme
Hide content based on basic authorization
This plugin is meant to be used on a PHP enabled server.
First you need a .htaccess
in your root directory.
# Enable Basic Auth
AuthType Basic
AuthName "SomeDescription"
# Point to our password file
AuthUserFile /path/to/.htpasswd
Require valid-user
# Redirect all `*.html` to `*.php`
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]
Then in a .htpasswd
file, you can enter username/password pairs. Passwords are hashed using the MD5 algorithm. You can generate a password with
$ htpasswd /path/to/.htpasswd user1
or use this website
Here is an example .htpasswd
user1:$apr1$OS3sZCvx$KRmhPMpZ9bYs4INph8s6w.
user2:$apr1$3Vfr8Z9d$UeKjYDdJK2XFQRUPw7h9T.
You can set the usernames using the plugins configuration in the book.json
:
{
"plugins": ["hidden"],
"pluginsConfig": {
"hidden": {
"usernames": ["user1", "user2"],
"path": "_book",
"env": "production"
}
}
}
usernames
: is an array of authorized users (default: [])
path
: is the path to your generated html GitBook (default: _book
)
env
: NODE_ENV
value you want this plugin to be fully executed in. Useful for local development as this plugin breaks functionality of gitbook serve
(default: production
)
Now in your markdown, you can have hidden blocks:
{% hidden %}
### This will be hidden except for authorized users
{% endhidden %}