X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9319f99a3d084db2b6ad4df27327bf9e19c6269c..refs/pull/262/head:/readme.md diff --git a/readme.md b/readme.md index 4073d171c..fa5c48fe0 100644 --- a/readme.md +++ b/readme.md @@ -1,80 +1,49 @@ # BookStack -A platform to create documentation/wiki content. General information about BookStack can be found at https://www.bookstackapp.com/ +[![GitHub release](https://img.shields.io/github/release/ssddanbrown/BookStack.svg?maxAge=2592000)](https://github.com/ssddanbrown/BookStack/releases/latest) +[![license](https://img.shields.io/github/license/ssddanbrown/BookStack.svg?maxAge=2592000)](https://github.com/ssddanbrown/BookStack/blob/master/LICENSE) +[![Build Status](https://travis-ci.org/BookStackApp/BookStack.svg)](https://travis-ci.org/BookStackApp/BookStack) +A platform for storing and organising information and documentation. General information and documentation for BookStack can be found at https://www.bookstackapp.com/. -## Requirements +* [Installation Instructions](https://www.bookstackapp.com/docs/admin/installation) +* [Documentation](https://www.bookstackapp.com/docs) +* [Demo Instance](https://demo.bookstackapp.com) + * *Username: `admin@example.com`* + * *Password: `password`* +* [BookStack Blog](https://www.bookstackapp.com/blog) -BookStack has similar requirements to Laravel. On top of those are some front-end build tools which are only required when developing. +## Development & Testing -* PHP >= 5.5.9 -* OpenSSL PHP Extension -* PDO PHP Extension -* MBstring PHP Extension -* Tokenizer PHP Extension -* MySQL >= 5.6 -* Git (Not strictly required but helps manage updates) -* [Composer](https://getcomposer.org/) -* [Node.js](https://nodejs.org/en/) **Development Only** -* [Gulp](http://gulpjs.com/) **Development Only** +All development on BookStack is currently done on the master branch. When it's time for a release the master branch is merged into release with built & minified CSS & JS then tagged at it's version. Here are the current development requirements: +* [Node.js](https://nodejs.org/en/) v6.9+ -## Installation +SASS is used to help the CSS development and the JavaScript is run through browserify/babel to allow for writing ES6 code. Both of these are done using gulp. To run the build task you can use the following commands: -Ensure the requirements are met before installing. +``` bash +# Build and minify for production +npm run-script build -Currently BookStack requires its own domain/subdomain and will not work in a site subdirectory. - -This project currently uses the `release` branch of this repository as a stable channel for providing updates. - -The installation is currently somewhat complicated and will be made simpler in future releases. Some PHP/Laravel experience will currently benefit. - -1. Clone the release branch of this repository into a folder. - -``` -git clone https://github.com/ssddanbrown/BookStack.git --branch release --single-branch -``` - -2. `cd` into the application folder and run `composer install`. -3. Copy the `.env.example` file to `.env` and fill with your own database and mail details. -4. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server. -5. In the application root, Run `php artisan key:generate` to generate a unique application key. -6. If not using apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below. -7. Run `php artisan migrate` to update the database. -8. Done! You can now login using the default admin details `admin@admin.com` with a password of `password`. It is recommended to change these details directly after first logging in. - -#### URL Rewrite rules - -**Apache** +# Build for dev (With sourcemaps) and watch for changes +npm run-script dev ``` -Options +FollowSymLinks -RewriteEngine On - -RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^ index.php [L] -``` - -**Nginx** -``` -location / { - try_files $uri $uri/ /index.php?$query_string; -} -``` - -## Testing BookStack has many integration tests that use Laravel's built-in testing capabilities which makes use of PHPUnit. To use you will need PHPUnit installed and accessible via command line. There is a `mysql_testing` database defined within the app config which is what is used by PHPUnit. This database is set with the following database name, user name and password defined as `bookstack-test`. You will have to create that database and credentials before testing. The testing database will also need migrating and seeding beforehand. This can be done with the following commands: -``` +``` bash php artisan migrate --database=mysql_testing php artisan db:seed --class=DummyContentSeeder --database=mysql_testing ``` Once done you can run `phpunit` in the application root directory to run all tests. +## Website and Docs + +The website and project docs are currently stored in the [BookStackApp/website](https://github.com/BookStackApp/website) repo. The docs are stored as markdown files in the `resources/docs` folder + ## License BookStack is provided under the MIT License. @@ -92,3 +61,14 @@ These are the great projects used to help build BookStack: * [Material Design Iconic Font](http://zavoloklom.github.io/material-design-iconic-font/icons.html) * [Dropzone.js](http://www.dropzonejs.com/) * [ZeroClipboard](http://zeroclipboard.org/) +* [TinyColorPicker](http://www.dematte.at/tinyColorPicker/index.html) +* [Marked](https://github.com/chjj/marked) +* [Moment.js](http://momentjs.com/) +* [BarryVD](https://github.com/barryvdh) + * [Debugbar](https://github.com/barryvdh/laravel-debugbar) + * [Dompdf](https://github.com/barryvdh/laravel-dompdf) + * [Snappy (WKHTML2PDF)](https://github.com/barryvdh/laravel-snappy) + * [Laravel IDE helper](https://github.com/barryvdh/laravel-ide-helper) +* [WKHTMLtoPDF](http://wkhtmltopdf.org/index.html) + +Additionally, Thank you [BrowserStack](https://www.browserstack.com/) for supporting us and making cross-browser testing easy.