From 154bfb19d5cd4319d4f61ef123ea74510b23ffc7 Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 20 Aug 2017 10:19:04 +0100 Subject: [PATCH] Update docs --- doc.go | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ filemanager.go | 53 ------------------------------------ 2 files changed, 73 insertions(+), 53 deletions(-) create mode 100644 doc.go diff --git a/doc.go b/doc.go new file mode 100644 index 00000000..d6cc768f --- /dev/null +++ b/doc.go @@ -0,0 +1,73 @@ +/* +Package filemanager provides a web interface to access your files +wherever you are. To use this package as a middleware for your app, +you'll need to import both File Manager and File Manager HTTP packages. + + import ( + fm "github.com/hacdias/filemanager" + h "github.com/hacdias/filemanager/http" + ) + +Then, you should create a new FileManager object with your options. In this +case, I'm using BoltDB (via Storm package) as a Store. So, you'll also need +to import "github.com/hacdias/filemanager/bolt". + + db, _ := storm.Open("bolt.db") + + m := &fm.FileManager{ + NoAuth: false, + DefaultUser: &fm.User{ + AllowCommands: true, + AllowEdit: true, + AllowNew: true, + AllowPublish: true, + Commands: []string{"git"}, + Rules: []*fm.Rule{}, + Locale: "en", + CSS: "", + Scope: ".", + FileSystem: fileutils.Dir("."), + }, + Store: &fm.Store{ + Config: bolt.ConfigStore{DB: db}, + Users: bolt.UsersStore{DB: db}, + Share: bolt.ShareStore{DB: db}, + }, + NewFS: func(scope string) fm.FileSystem { + return fileutils.Dir(scope) + }, + } + +The credentials for the first user are always 'admin' for both the user and +the password, and they can be changed later through the settings. The first +user is always an Admin and has all of the permissions set to 'true'. + +Then, you should set the Prefix URL and the Base URL, using the following +functions: + + m.SetBaseURL("/") + m.SetPrefixURL("/") + +The Prefix URL is a part of the path that is already stripped from the +r.URL.Path variable before the request arrives to File Manager's handler. +This is a function that will rarely be used. You can see one example on Caddy +filemanager plugin. + +The Base URL is the URL path where you want File Manager to be available in. If +you want to be available at the root path, you should call: + + m.SetBaseURL("/") + +But if you want to access it at '/admin', you would call: + + m.SetBaseURL("/admin") + +Now, that you already have a File Manager instance created, you just need to +add it to your handlers using m.ServeHTTP which is compatible to http.Handler. +We also have a m.ServeWithErrorsHTTP that returns the status code and an error. + +One simple implementation for this, at port 80, in the root of the domain, would be: + + http.ListenAndServe(":80", h.Handler(m)) +*/ +package filemanager diff --git a/filemanager.go b/filemanager.go index a2803941..f208fa49 100644 --- a/filemanager.go +++ b/filemanager.go @@ -1,56 +1,3 @@ -// Package filemanager provides a web interface to access your files -// wherever you are. To use this package as a middleware for your app, -// you'll need to create a filemanager instance: -// -// m, err := filemanager.New(database, user) -// -// Where 'user' contains the default options for new users. You can just -// use 'filemanager.DefaultUser' or create yourself a default user: -// -// m, err := filemanager.New(database, filemanager.User{ -// Admin: false, -// AllowCommands: false, -// AllowEdit: true, -// AllowNew: true, -// Commands: []string{ -// "git", -// }, -// Rules: []*filemanager.Rule{}, -// CSS: "", -// FileSystem: webdav.Dir("/path/to/files"), -// }) -// -// The credentials for the first user are always 'admin' for both the user and -// the password, and they can be changed later through the settings. The first -// user is always an Admin and has all of the permissions set to 'true'. -// -// Then, you should set the Prefix URL and the Base URL, using the following -// functions: -// -// m.SetBaseURL("/") -// m.SetPrefixURL("/") -// -// The Prefix URL is a part of the path that is already stripped from the -// r.URL.Path variable before the request arrives to File Manager's handler. -// This is a function that will rarely be used. You can see one example on Caddy -// filemanager plugin. -// -// The Base URL is the URL path where you want File Manager to be available in. If -// you want to be available at the root path, you should call: -// -// m.SetBaseURL("/") -// -// But if you want to access it at '/admin', you would call: -// -// m.SetBaseURL("/admin") -// -// Now, that you already have a File Manager instance created, you just need to -// add it to your handlers using m.ServeHTTP which is compatible to http.Handler. -// We also have a m.ServeWithErrorsHTTP that returns the status code and an error. -// -// One simple implementation for this, at port 80, in the root of the domain, would be: -// -// http.ListenAndServe(":80", m) package filemanager import (