mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Moved futured getSQL topic to another branch
This commit is contained in:
parent
b209f44335
commit
41c0e82f95
1 changed files with 0 additions and 52 deletions
|
@ -140,55 +140,3 @@ your markdown files until the content has been downloaded.
|
||||||
- Photo gallery JSON powered: [https://github.com/pcdummy/hugo-lightslider-example](https://github.com/pcdummy/hugo-lightslider-example)
|
- Photo gallery JSON powered: [https://github.com/pcdummy/hugo-lightslider-example](https://github.com/pcdummy/hugo-lightslider-example)
|
||||||
- Github Starred Repositories [in a posts](https://github.com/SchumacherFM/blog-cs/blob/master/content%2Fposts%2Fgithub-starred.md) with the related [short code](https://github.com/SchumacherFM/blog-cs/blob/master/layouts%2Fshortcodes%2FghStarred.html).
|
- Github Starred Repositories [in a posts](https://github.com/SchumacherFM/blog-cs/blob/master/content%2Fposts%2Fgithub-starred.md) with the related [short code](https://github.com/SchumacherFM/blog-cs/blob/master/layouts%2Fshortcodes%2FghStarred.html).
|
||||||
- more?
|
- more?
|
||||||
|
|
||||||
## The Future
|
|
||||||
|
|
||||||
### YAML and TOML
|
|
||||||
|
|
||||||
If the community demands the implementation of *getYaml*
|
|
||||||
[YAML](http://yaml.org/) or *getToml* [TOML](https://github.com/toml-lang/toml)
|
|
||||||
these functions will certainly follow.
|
|
||||||
|
|
||||||
### getSql
|
|
||||||
|
|
||||||
The outlook to support more sources is of course implementing SQL support. The following description is an initial idea and may change.
|
|
||||||
|
|
||||||
Maybe adding a new CLI option:
|
|
||||||
|
|
||||||
--sqlSource=path/to/filename.ext
|
|
||||||
|
|
||||||
#### `--sqlSource`
|
|
||||||
|
|
||||||
The file must start with `[mysql|postres|mssql|...]_[\w]+.ext`
|
|
||||||
|
|
||||||
The part before the first underscore specifies the driver to use, which can
|
|
||||||
be one from [https://github.com/golang/go/wiki/SQLDrivers](https://github.com/golang/go/wiki/SQLDrivers).
|
|
||||||
|
|
||||||
The file itself contains only the connection string and no other comments
|
|
||||||
or characters.
|
|
||||||
|
|
||||||
How the connection string looks like depends heavily on the used driver.
|
|
||||||
For MySQL:
|
|
||||||
|
|
||||||
hugo --sqlSource=path/to/mysql_credentials.txt
|
|
||||||
|
|
||||||
The file `mysql_credentials.txt` contains the connection string:
|
|
||||||
`username:password@protocol(address)/dbname?param=value` and nothing more!
|
|
||||||
|
|
||||||
In your template you can process `getSql` the same way as with
|
|
||||||
the `getJson` function:
|
|
||||||
|
|
||||||
{{ $rows := getSql "SELECT id,artist,genre,title FROM musicTable" }}
|
|
||||||
<ul>
|
|
||||||
{{range first 5 $rows }}
|
|
||||||
<li>#{{ .id }} {{.artist}}</a></li>
|
|
||||||
{{end}}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
Queries with `SELECT * FROM table` are of course also possible but
|
|
||||||
should not be used.
|
|
||||||
Returned **values** will be converted to **strings**.
|
|
||||||
|
|
||||||
Abusing `getSql` with [DML](http://en.wikipedia.org/wiki/Data_manipulation_language)
|
|
||||||
or [DDL](http://en.wikipedia.org/wiki/Data_definition_language) statements
|
|
||||||
causes Hugo to hang up.
|
|
||||||
|
|
Loading…
Reference in a new issue