Reorganize README.md structure, cc #574
This commit is contained in:
parent
53c2d0b5ca
commit
4ebda60165
1 changed files with 58 additions and 59 deletions
117
README.md
117
README.md
|
@ -14,34 +14,7 @@ Still in the early stage, feel free to fork or contribute to HackMD.
|
||||||
|
|
||||||
Thanks for using! :smile:
|
Thanks for using! :smile:
|
||||||
|
|
||||||
[docker-hackmd](https://github.com/hackmdio/docker-hackmd)
|
# Browsers Requirement
|
||||||
---
|
|
||||||
|
|
||||||
Before you go too far, here is the great docker repo for HackMD.
|
|
||||||
With docker, you can deploy a server in minutes without any downtime.
|
|
||||||
|
|
||||||
Heroku Deployment
|
|
||||||
---
|
|
||||||
|
|
||||||
You can quickly setup a sample heroku hackmd application by clicking the button below.
|
|
||||||
|
|
||||||
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
|
|
||||||
|
|
||||||
[migration-to-0.5.0](https://github.com/hackmdio/migration-to-0.5.0)
|
|
||||||
---
|
|
||||||
|
|
||||||
We don't use LZString to compress socket.io data and DB data after version 0.5.0.
|
|
||||||
Please run the migration tool if you're upgrading from the old version.
|
|
||||||
|
|
||||||
[migration-to-0.4.0](https://github.com/hackmdio/migration-to-0.4.0)
|
|
||||||
---
|
|
||||||
|
|
||||||
We've dropped MongoDB after version 0.4.0.
|
|
||||||
So here is the migration tool for you to transfer the old DB data to the new DB.
|
|
||||||
This tool is also used for official service.
|
|
||||||
|
|
||||||
Browsers Requirement
|
|
||||||
---
|
|
||||||
|
|
||||||
- Chrome >= 47, Chrome for Android >= 47
|
- Chrome >= 47, Chrome for Android >= 47
|
||||||
- Safari >= 9, iOS Safari >= 8.4
|
- Safari >= 9, iOS Safari >= 8.4
|
||||||
|
@ -50,15 +23,17 @@ Browsers Requirement
|
||||||
- Opera >= 34, Opera Mini not supported
|
- Opera >= 34, Opera Mini not supported
|
||||||
- Android Browser >= 4.4
|
- Android Browser >= 4.4
|
||||||
|
|
||||||
Prerequisite
|
# Installation
|
||||||
---
|
|
||||||
|
## Getting started (Native install)
|
||||||
|
|
||||||
|
### Prerequisite
|
||||||
|
|
||||||
- Node.js 6.x or up (test up to 7.5.0)
|
- Node.js 6.x or up (test up to 7.5.0)
|
||||||
- Database (PostgreSQL, MySQL, MariaDB, SQLite, MSSQL) use charset `utf8`
|
- Database (PostgreSQL, MySQL, MariaDB, SQLite, MSSQL) use charset `utf8`
|
||||||
- npm (and its dependencies, especially [uWebSockets](https://github.com/uWebSockets/uWebSockets#nodejs-developers), [node-gyp](https://github.com/nodejs/node-gyp#installation))
|
- npm (and its dependencies, especially [uWebSockets](https://github.com/uWebSockets/uWebSockets#nodejs-developers), [node-gyp](https://github.com/nodejs/node-gyp#installation))
|
||||||
|
|
||||||
Get started
|
### Instructions
|
||||||
---
|
|
||||||
|
|
||||||
1. Download a release and unzip or clone into a directory
|
1. Download a release and unzip or clone into a directory
|
||||||
2. Enter the directory and type `bin/setup`, which will install npm dependencies and create configs. The setup script is written in Bash, you would need bash as a prerequisite.
|
2. Enter the directory and type `bin/setup`, which will install npm dependencies and create configs. The setup script is written in Bash, you would need bash as a prerequisite.
|
||||||
|
@ -67,8 +42,22 @@ Get started
|
||||||
5. Build front-end bundle by `npm run build` (use `npm run dev` if you are in development)
|
5. Build front-end bundle by `npm run build` (use `npm run dev` if you are in development)
|
||||||
6. Run the server as you like (node, forever, pm2)
|
6. Run the server as you like (node, forever, pm2)
|
||||||
|
|
||||||
Upgrade guide
|
## Heroku Deployment
|
||||||
---
|
|
||||||
|
You can quickly setup a sample heroku hackmd application by clicking the button below.
|
||||||
|
|
||||||
|
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
|
||||||
|
|
||||||
|
## HackMD by docker container
|
||||||
|
|
||||||
|
[docker-hackmd](https://github.com/hackmdio/docker-hackmd)
|
||||||
|
|
||||||
|
Before you go too far, here is the great docker repo for HackMD.
|
||||||
|
With docker, you can deploy a server in minutes without any downtime.
|
||||||
|
|
||||||
|
# Upgrade
|
||||||
|
|
||||||
|
## Native setup
|
||||||
|
|
||||||
If you are upgrading HackMD from an older version, follow these steps:
|
If you are upgrading HackMD from an older version, follow these steps:
|
||||||
|
|
||||||
|
@ -81,23 +70,18 @@ If you are upgrading HackMD from an older version, follow these steps:
|
||||||
6. Run `node_modules/.bin/sequelize db:migrate`, this step will migrate your db to the latest schema
|
6. Run `node_modules/.bin/sequelize db:migrate`, this step will migrate your db to the latest schema
|
||||||
7. Start your whole new server!
|
7. Start your whole new server!
|
||||||
|
|
||||||
Structure
|
* [migration-to-0.5.0](https://github.com/hackmdio/migration-to-0.5.0)
|
||||||
---
|
|
||||||
|
|
||||||
```text
|
We don't use LZString to compress socket.io data and DB data after version 0.5.0.
|
||||||
hackmd/
|
Please run the migration tool if you're upgrading from the old version.
|
||||||
├── tmp/ --- temporary files
|
|
||||||
├── docs/ --- document files
|
|
||||||
├── lib/ --- server libraries
|
|
||||||
└── public/ --- client files
|
|
||||||
├── css/ --- css styles
|
|
||||||
├── js/ --- js scripts
|
|
||||||
├── vendor/ --- vendor includes
|
|
||||||
└── views/ --- view templates
|
|
||||||
```
|
|
||||||
|
|
||||||
Configuration files
|
* [migration-to-0.4.0](https://github.com/hackmdio/migration-to-0.4.0)
|
||||||
---
|
|
||||||
|
We've dropped MongoDB after version 0.4.0.
|
||||||
|
So here is the migration tool for you to transfer the old DB data to the new DB.
|
||||||
|
This tool is also used for official service.
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
|
||||||
There are some configs you need to change in the files below
|
There are some configs you need to change in the files below
|
||||||
|
|
||||||
|
@ -105,8 +89,7 @@ There are some configs you need to change in the files below
|
||||||
./config.json ----application settings
|
./config.json ----application settings
|
||||||
```
|
```
|
||||||
|
|
||||||
Environment variables (will overwrite other server configs)
|
## Environment variables (will overwrite other server configs)
|
||||||
---
|
|
||||||
|
|
||||||
| variables | example values | description |
|
| variables | example values | description |
|
||||||
| --------- | ------ | ----------- |
|
| --------- | ------ | ----------- |
|
||||||
|
@ -155,8 +138,7 @@ Environment variables (will overwrite other server configs)
|
||||||
| HMD_S3_REGION | `ap-northeast-1` | AWS S3 region |
|
| HMD_S3_REGION | `ap-northeast-1` | AWS S3 region |
|
||||||
| HMD_S3_BUCKET | no example | AWS S3 bucket name |
|
| HMD_S3_BUCKET | no example | AWS S3 bucket name |
|
||||||
|
|
||||||
Application settings `config.json`
|
## Application settings `config.json`
|
||||||
---
|
|
||||||
|
|
||||||
| variables | example values | description |
|
| variables | example values | description |
|
||||||
| --------- | ------ | ----------- |
|
| --------- | ------ | ----------- |
|
||||||
|
@ -199,8 +181,7 @@ Application settings `config.json`
|
||||||
| s3 | `{ "accessKeyId": "YOUR_S3_ACCESS_KEY_ID", "secretAccessKey": "YOUR_S3_ACCESS_KEY", "region": "YOUR_S3_REGION" }` | When `imageUploadType` be setted to `s3`, you would also need to setup this key, check our [S3 Image Upload Guide](docs/guides/s3-image-upload.md) |
|
| s3 | `{ "accessKeyId": "YOUR_S3_ACCESS_KEY_ID", "secretAccessKey": "YOUR_S3_ACCESS_KEY", "region": "YOUR_S3_REGION" }` | When `imageUploadType` be setted to `s3`, you would also need to setup this key, check our [S3 Image Upload Guide](docs/guides/s3-image-upload.md) |
|
||||||
| s3bucket | `YOUR_S3_BUCKET_NAME` | bucket name when `imageUploadType` is set to `s3` |
|
| s3bucket | `YOUR_S3_BUCKET_NAME` | bucket name when `imageUploadType` is set to `s3` |
|
||||||
|
|
||||||
Third-party integration api key settings
|
## Third-party integration api key settings
|
||||||
---
|
|
||||||
|
|
||||||
| service | settings location | description |
|
| service | settings location | description |
|
||||||
| ------- | --------- | ----------- |
|
| ------- | --------- | ----------- |
|
||||||
|
@ -208,8 +189,7 @@ Third-party integration api key settings
|
||||||
| imgur | environment variables or `config.json` | for image upload |
|
| imgur | environment variables or `config.json` | for image upload |
|
||||||
| google drive(`google/apiKey`, `google/clientID`), dropbox(`dropbox/appKey`) | `config.json` | for export and import |
|
| google drive(`google/apiKey`, `google/clientID`), dropbox(`dropbox/appKey`) | `config.json` | for export and import |
|
||||||
|
|
||||||
Third-party integration oauth callback urls
|
## Third-party integration oauth callback urls
|
||||||
---
|
|
||||||
|
|
||||||
| service | callback url (after the server url) |
|
| service | callback url (after the server url) |
|
||||||
| ------- | --------- |
|
| ------- | --------- |
|
||||||
|
@ -220,14 +200,33 @@ Third-party integration oauth callback urls
|
||||||
| dropbox | `/auth/dropbox/callback` |
|
| dropbox | `/auth/dropbox/callback` |
|
||||||
| google | `/auth/google/callback` |
|
| google | `/auth/google/callback` |
|
||||||
|
|
||||||
Operational Transformation
|
# Developer Notes
|
||||||
---
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```text
|
||||||
|
hackmd/
|
||||||
|
├── tmp/ --- temporary files
|
||||||
|
├── docs/ --- document files
|
||||||
|
├── lib/ --- server libraries
|
||||||
|
└── public/ --- client files
|
||||||
|
├── css/ --- css styles
|
||||||
|
├── js/ --- js scripts
|
||||||
|
├── vendor/ --- vendor includes
|
||||||
|
└── views/ --- view templates
|
||||||
|
```
|
||||||
|
|
||||||
|
## Operational Transformation
|
||||||
|
|
||||||
From 0.3.2, we started supporting operational transformation.
|
From 0.3.2, we started supporting operational transformation.
|
||||||
It makes concurrent editing safe and will not break up other users' operations.
|
It makes concurrent editing safe and will not break up other users' operations.
|
||||||
Additionally, now can show other clients' selections.
|
Additionally, now can show other clients' selections.
|
||||||
See more at [http://operational-transformation.github.io/](http://operational-transformation.github.io/)
|
See more at [http://operational-transformation.github.io/](http://operational-transformation.github.io/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# License
|
||||||
|
|
||||||
**License under MIT.**
|
**License under MIT.**
|
||||||
|
|
||||||
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
|
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
|
||||||
|
|
Loading…
Reference in a new issue