vibed: how to use pure HTML instead of template engine?

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri May 8 03:20:28 PDT 2015


On 8/05/2015 10:17 p.m., Chris wrote:
> On Thursday, 7 May 2015 at 19:51:20 UTC, yawniek wrote:
>>
>> On Thursday, 7 May 2015 at 18:59:13 UTC, Suliman wrote:
>>> 1. Do I need write "./public/" ? In examples often simply "public/"
>> will work too. even "public"
>> it goes trough Path struct, see:
>> https://github.com/rejectedsoftware/vibe.d/blob/11578aa956a9b3b0e305d655f9668a867fdd89bd/source/vibe/inet/path.d
>>
>>
>>
>>> 2. What incoming parameters ("HTTPServerRequest req,
>>> HTTPServerResponse res") mean? Why I should to specify them?
>>
>> HTTPServerRequest contains all data that the client sends, e.g.
>> headers, cookies, source ip etc.
>> see:
>> https://github.com/rejectedsoftware/vibe.d/blob/11578aa956a9b3b0e305d655f9668a867fdd89bd/source/vibe/http/server.d#L584
>>
>>
>> HTTPServerResponse is the response you send back.
>> https://github.com/rejectedsoftware/vibe.d/blob/11578aa956a9b3b0e305d655f9668a867fdd89bd/source/vibe/http/server.d#L788
>>
>>
>> you woud want to set at least its body, as you do below
>>
>>> 3. Why code with: "res.writeBody("Hello, World!", "text/plain");"
>>> and "router.get("*", serveStaticFiles("./public/"));" also work, but
>>> my variant (see code above) do not load say that page not found?
>>
>> what exactely does not work? please link code (ideally
>> https://gist.github.com/ )
>>
>>> 4. How to specify page that I need to load, why in examples there is
>>> only link to folder like public? But what if I want to load
>>> public/foo.html?
>>
>> public servers public files, its more or less a static webserver which
>> checks if a file exists and then serves that.
>>
>> if you want to dynamically modify content you send you need to use the
>> templating or do your own string magic.
>>
>>
>> generally it seems you do not fully understand the concept of how
>> these web frameworks work. i think you should either read vibe.d's
>> source code or more read how other such frameworks work e.g.
>> http://www.sinatrarb.com/documentation.html has pretty good
>> documentations and books that explain the inner workings (but mind,
>> ruby is a dynamically typed language).
>>
>> then i also can recommend that you check out vibe.d's github
>> repositories and read trough all the example projects that come with
>> it. e.g.
>> https://github.com/rejectedsoftware/vibe.d/tree/11578aa956a9b3b0e305d655f9668a867fdd89bd/examples/app_skeleton
>>
>
> I'd say it is a bit hard to get into vibe.d just like that. I had to
> work out a lot of things myself simply because it's web server
> technology cast in D. Most of the difficulties are not D but
> understanding the whole web server thing. But I have to say vibe.d is
> very very good once you know your way around. Maybe we should set up
> some tutorials with common tasks so developers can concentrate on D
> instead of the web.

I was thinking maybe a vibe.d manual using leanpub's systems. Assuming 
it was hosted on Github and set to be free. It would work out rather 
well and because you can embed other files into the book, examples can 
be made kinda like they are now in vibe.d's repo runnable. But also 
contained in the manual inline. All syntax highlighted and all.


More information about the Digitalmars-d-learn mailing list