If you're interested in contributing to this project, this is the best place to start. Before contributing to this project, please take a bit of time to read our Code of Conduct. Also, note that this project is open-source and licensed under Apache License 2.0.
Due to the tight coupling required by some features, basic knowledge of both Go and Vue.js is recommended.
We are using Node.js on the frontend to manage the build process. The steps to build it are:
# From the root of the repo, go to frontend/
# Install the dependencies
# Build the frontend
npm run build
This will install the dependencies and build the frontend so you can then embed it into the Go app. Although, if you want to play with it, you'll get bored of building it after every change you do. So, you can run the command below to watch for changes:
npm run watch
First of all, you need to download the required dependencies. We are using the built-in go mod tool for dependency management. To get the modules, run:
go mod download
The magic of File Browser is that the static assets are bundled into the final binary. For that, we use Go embed.FS. The files from frontend/dist will be embedded during the build process.
To build File Browser is just like any other Go program:
To create a development build use the "dev" tag, this way the content inside the frontend folder will not be embedded in the binary but will be reloaded at every change: