From 47b7cfeb442e16a68f961b6efd82d9062fe4fad1 Mon Sep 17 00:00:00 2001 From: Cyrill Schumacher Date: Thu, 12 Feb 2015 11:40:06 +1100 Subject: [PATCH] Add getSQL idea --- docs/content/extras/dynamiccontent.md | 36 ++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/docs/content/extras/dynamiccontent.md b/docs/content/extras/dynamiccontent.md index 67794a638..60bf336dd 100644 --- a/docs/content/extras/dynamiccontent.md +++ b/docs/content/extras/dynamiccontent.md @@ -13,7 +13,7 @@ weight: 91 Dynamic content with a static site generator? Yes it is possible! -In addition to the [built-in variables](/templates/variables/) available from Hugo, you can specify your own custom data that can be accessed via templates or shortcodes. +Besides the [data files](/extras/datafiles/) available from Hugo, you can specify your own custom data that can be accessed via templates or shortcodes. Hugo supports loading data from [YAML](http://yaml.org/), [JSON](http://www.json.org/), and [TOML](https://github.com/toml-lang/toml) files located in the `data` directory. @@ -26,3 +26,37 @@ As explained in [Source Organization](/overview/source-directory/), the `data` f **The keys in this map will be a dot chained set of _path_, _filename_ and _key_ in file (if applicable).** This is best explained with an example: + +## The Future: getSQL + +The outlook to support more sources is of course implementing SQL support. + +Maybe adding two new CLI switches: + + --sqlDriver=mysql|postres|mssql + --sqlSource=string|filename + +#### `--sqlDriver` + +specifies the driver to use which can be one from [https://github.com/golang/go/wiki/SQLDrivers](https://github.com/golang/go/wiki/SQLDrivers) + +#### `--sqlSource` + +You can either provide the connection string on the command file OR an existing file which contains the connection string. + +How the connection string looks like depends heavily on the used driver. For MySQL: + + hugo --sqlDriver=mysql \ + --sqlSource=username:password@protocol(address)/dbname?param=value + +or with a file name: + + hugo --sqlDriver=mysql --sqlSource=path/to/myCredentials.txt + +The file myCredentials.txt contains the connection string: `username:password@protocol(address)/dbname?param=value` and nothing more! + + + +``` +$data := getSQL "SELECT id,artist,genre,title from musicTable" +```