From 50c4f8e6d9f67daacd97205783520b16466ea4f2 Mon Sep 17 00:00:00 2001 From: klmp200 Date: Sat, 14 Jul 2018 12:58:25 +0200 Subject: [PATCH] Add static files server --- README.md | 21 ++++++++++++++++++++- gowebframework.go | 4 +++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 15e26c2..032419a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,22 @@ # gowebframework -Petit framework web en go pour des petites applications avec chargement des templates et serveur intégré \ No newline at end of file +Petit framework web en go pour des petites applications avec chargement des templates et serveur intégré + +Le framework se charche de servir les fichiers statiques (url: /static/) et, en mode debug, recharge automatiquement les templates. + +Le fichier de configuration est passé dans Configure et doit être au format json avec les paramètres suivants : + +```json +{ + "StaticFolderPath": "statics/", + "TemplateIncludePath": "templates/", + "TemplateLayoutPath": "templates/layouts/", + "TemplateExtensionPattern": "*.gohtml", + "ServerPort": ":8000", + "Domain": "http://git.an", + "MainTemplate": "{{define \"main\" }} {{ template \"base\" . }} {{ end }}", + "Debug": false +} +``` + +Le MainTemplate est utilisé pour charger tous les templates, il peut être utilisé tel quel ou modifié si vous savez ce que fous faites. Dans le doute, laissez celui par défaut. diff --git a/gowebframework.go b/gowebframework.go index 4d0fd9b..a2769af 100644 --- a/gowebframework.go +++ b/gowebframework.go @@ -2,7 +2,7 @@ * @Author: Bartuccio Antoine * @Date: 2018-07-14 11:32:11 * @Last Modified by: klmp200 -* @Last Modified time: 2018-07-14 12:36:26 +* @Last Modified time: 2018-07-14 12:58:10 */ package gowebframework @@ -37,6 +37,8 @@ var ServerConfig Config func Configure(config_file_name string, custom_config_file_name string) { loadConfiguration(config_file_name, custom_config_file_name) loadTemplates() + // Launch statics server + http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir(ServerConfig.StaticFolderPath)))) } func loadConfiguration(config_file_name string, custom_config_file_name string) {