[ 
https://issues.apache.org/jira/browse/COUCHDB-693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Anderson resolved COUCHDB-693.
------------------------------------

    Resolution: Fixed

Thanks for the report.

Sorry I didn't see it earlier. The proper way to do this in _show _list etc 
function (where require is available, is to use 'this' which refers to the 
design document. So you can load templates like:

function(doc, req) {
  var template = this.templates.entry;
  var Mustache = require("lib/mustache");
  return Mustache.to_html(template, doc);
}

For more examples see Sofa:

http://github.com/jchris/sofa/blob/master/shows/edit.js

Chris

> require function - add support for requiring plain html/xml files in addition 
> to only javascript
> ------------------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-693
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-693
>             Project: CouchDB
>          Issue Type: Improvement
>    Affects Versions: 0.11
>         Environment: MacOS X 10.6.2 
>            Reporter: Marcos Zanona
>            Priority: Trivial
>
> It seems that for now every require function on the main.js it is created an 
> empty exports object which is returned after the call.
> I would suggest that instead of creating one empty exports object:
> --
> var require = function(name, parent) {
>             var exports = {};
>             var resolved = resolveModule(name.split('/'), parent, ddoc);
>             var source = resolved[0]; 
>             parent = resolved[1];
>             ...
> ---
> that one pre-populated object could be created:
> ---
> var require = function(name, parent) {
>             var resolved = resolveModule(name.split('/'), parent, ddoc);
>             var source = resolved[0]; 
>             var exports = {"source" : source};  /* <-- this would populate 
> the exports with an embedded source */
>             parent = resolved[1];
> --
> this done, users would be able to require plain plain html/xml files directly 
> without need to declare any javascript variable or exports...
> this is very nice for templating specifically because javascript support xml 
> syntax without any problem and also it's possible declare javascript 
> variables inside the xml like <p>Hello there, {name}</p>
> so it would be possible to require something like this
> templates/master.html -->
> <html>
>   <head>
>      <title>title</title>
>   </head>
>   <body>
>     <p>That's my content</p>
>   </body>
> </html>
>  ----
> and then simply require it using:
> var template = require("templates/master.html");
> send(template.source);
> ---
> I'm still trying to adjust it to be possible for user to just user plain text 
> files without quotes which would increase the possibilities for users to 
> create their own view engines such as HAML and SASS.
> In case the user is using just regular javascript he can easily overwrite the 
> source variable with exports.source ...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to