48 lines
857 B
Go
Executable File
48 lines
857 B
Go
Executable File
package main
|
|
|
|
import (
|
|
"local/notes-server/config"
|
|
"local/notes-server/notes/editor"
|
|
"local/notes-server/server"
|
|
"local/notes-server/versions"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
"os/signal"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
log.Println(len(editor.CodeMirrorCSS))
|
|
server := server.New()
|
|
if err := server.Routes(); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
go func() {
|
|
if config.VersionInterval == 0 {
|
|
log.Println("versions disabled")
|
|
return
|
|
}
|
|
versions, err := versions.New()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
for _ = range time.NewTicker(config.VersionInterval).C {
|
|
log.Println(versions.Gitmmit())
|
|
}
|
|
}()
|
|
|
|
go func() {
|
|
log.Printf("Serving %q on %q", config.Root, config.Port)
|
|
if err := http.ListenAndServe(config.Port, server); err != nil {
|
|
panic(err)
|
|
}
|
|
}()
|
|
|
|
// catch stop
|
|
stop := make(chan os.Signal)
|
|
signal.Notify(stop, os.Interrupt)
|
|
<-stop
|
|
}
|