···11-.PHONY: build system
11+.PHONY: build system vendor
223344# Variables
5566+NPM_DIR=./node_modules
67SRC_DIR=./src
78BUILD_DIR=./build
89···6061server:
6162 @echo "> Booting up web server on port 5000"
6263 @devd --port 5000 --all --crossdomain --quiet --notfound=index.html $(BUILD_DIR)
6464+6565+6666+test:
6767+ @make -j doc-tests
636864696570watch: build
+10-46
README.md
···11-<strong><img src="https://diffuse.sh/images/diffuse-dark.svg" alt="Diffuse" width="158" /></strong>
11+<img src="https://diffuse.sh/images/diffuse-dark.svg" alt="Diffuse" width="158" />
2233-A music player which connects to your cloud/distributed storage.
33+__A music player which connects to your cloud/distributed storage__, in the form of a static, serverless, web application.
4455<br />
66<img src="https://icidasset-public.s3.amazonaws.com/diffuse.jpg" />
···99101011111212-## Versions
1313-1414-🌍 [Web](https://diffuse.sh/)
1515-Chrome, Firefox, Safari & Edge.
1616-1717-🖥 [Native](https://github.com/icidasset/diffuse/releases)
1818-MacOS, Linux & Windows.
1919-<small>Unique features: Add music from local filesystem, WebDAV & media-keys support.</small>
2020-2121-2222-2312## Integrations
24132514[More info](https://diffuse.sh/about/)
26152716#### User layer
28172929-- [Blockstack](https://blockstack.org/)
3030-- [RemoteStorage](remotestorage.io)
3118- [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) <small>(ie. anonymous mode)</small>
32193320#### Music layer
34213522- [Amazon S3](https://aws.amazon.com/s3/)
3636-- [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/)
3737-- [Dropbox](https://dropbox.com/)
3838-- [Google Drive](https://drive.google.com/)
3939-- [IPFS](https://ipfs.io/)
4040-- Local Filesystem <small>(native only)</small>
4141-- [WebDAV](https://en.wikipedia.org/wiki/WebDAV) <small>(native only)</small>
4223432444254545-## Q&A
4646-4747-4848-__Why don't you support WebDAV on the web version?__
4949-Most WebDAV servers aren't built according to the [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) specification.
5050-Which is a must-have for the web version, otherwise it doesn't work.
5151-The WebDAV version was built with [NextCloud](https://nextcloud.com/) in mind.
5252-5353-5454-5555-## Dependencies
5656-5757-- Loads of `Elm`
5858-- A moderate amount of `Haskell`
2626+---
5927602861296230## Development
63316464-```shell
6565-# This assumes that you are using macOS
6666-6767-brew install haskell-stack
6868-brew install elm
6969-7070-stack setup
7171-```
3232+- [Elm](https://elm-lang.org/) programming language
3333+- [Haskell](https://docs.haskellstack.org/en/stable/README/) programming language
3434+- [Elm Proofread](https://github.com/icidasset/elm-proofread) documentation tests
3535+- [Devd](https://github.com/cortesi/devd) web server for development
3636+- [Watchexec](https://github.com/watchexec/watchexec) watching for file changes
72377373-### How to run
74387539```shell
7676-# build + server + watch
4040+# build, start server & watch for changes
7741make
78427979-# make a static `./build`
4343+# make a static ./build
8044make build
81458246# run tests