initial commit

This commit is contained in:
JJ Kasper
2018-05-17 14:31:05 -05:00
commit 2c90d2e7dd
79 changed files with 10684 additions and 0 deletions

98
README.md Normal file
View File

@@ -0,0 +1,98 @@
# MYKB
> A file system/markdown based knowledge base editor/viewer
## Demo
You can try the demo at: https://mykb.jjsweb.site
\- Login
email: notadmin
password: secretpass
P.S. the demo is reset every 10 minutes
## About
MYKB is a simple file system/markdown based knowledge base editor/viewer built with [Feathers](http://feathersjs.com) and [Next.js](https://github.com/zeit/next.js)
Current features:
- live preview when editing a doc
- live file system watching
- caching of docs to speed up searching/viewing of docs
- automatic git versioning
- automatic trusting of cloudflare reverse proxies
## Installing
Getting up and running is as easy as 1, 2, 3
1. Clone repo
```
git clone https://github.com/ijjk/mykb
```
2. Install dependencies (omit `--prod` if developing)
```
cd path/to/mykb; npm i --prod
```
3. Start it
```
npm start
```
## Options
host.json
| Name | Description |
| ---- | ----------- |
| host | The host to listen on |
| port | The port to listen on |
| basePath | Used to prefix all urls for reverse proxies |
production.json (overrides default.json with production NODE_ENV var)
| Name | Description |
| ---- | ----------- |
| useGit | Whether or not to use a git repo to automatically version changes to docs (requires git to be installed) |
| docsDir | The directory where the markdown docs are located |
| cacheSize | Max size of docs to store in memory for faster searching (default 7.5MB) |
| trustCloudflare | Whether to trust X-Forwarded-For header from cloudflare IPs (used for rate limiting) |
If using git the `user.email` and `user.name` configs need to be set either globally or on the docs repo
trustIPs.json - An array of [proxy-addr](https://www.npmjs.com/package/proxy-addr) compatible addresses to trust the X-Forwarded-For header from (Only needed if behind reverse proxy)
## Testing
Simply run `npm test` and all your tests in the `test/` directory will be run
## Linting
Lint just react stuff
```
npm lint:react
```
Lint just server stuff
```
npm lint:node
```
Lint both
```
npm lint
```
## Changelog
__0.1.0__
- Initial release
## License
Copyright (c) 2017
Licensed under the [MIT license](LICENSE).