Show
Ignore:
Timestamp:
12/11/07 17:34:19 (7 years ago)
Author:
cho45
Message:

lang/javascript/blosxom.rhino/blosxom.rhino.cgi,
lang/javascript/blosxom.rhino/ejs.js,
lang/javascript/blosxom.rhino/template.html:

CGI としてとりあえず表示するところまで
なぜか CGI 経由だと文字化けがおこる。環境変数?

Location:
lang/javascript/blosxom.rhino
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/blosxom.rhino/blosxom.rhino.cgi

    r3047 r3048  
    1313importPackage(java.io); 
    1414 
     15load("ejs.js"); 
    1516 
    1617BlosxomRhino = function (config) { this.initialize(config) }; 
     
    2526                        return b.datetime.valueOf() - a.datetime.valueOf(); 
    2627                }); 
    27                 p(entries); 
     28                var template = new EJS(this._readLines("template.html").join("\n")); 
     29                // p(entries); 
     30 
     31                print(template.run({ 
     32                        title       : this.config.title, 
     33                        author      : this.config.author, 
     34                        home        : this.getenv("SCRIPT_NAME") || '/', 
     35                        path        : (this.getenv("SCRIPT_NAME") || '/').split("/").slice(-1)[0], 
     36                        server_root : "http://" + this.getenv("SERVER_NAME"), 
     37                        entries     : entries, 
     38                })); 
    2839        }, 
    2940 
     
    4253                } 
    4354 
    44                 function _readLines(file) { 
    45                         var br = new BufferedReader( 
    46                                 new InputStreamReader( 
    47                                         new FileInputStream(file), 
    48                                         "UTF-8" 
    49                                 ) 
    50                         ); 
    51                         var ret = []; 
    52                         while (br.ready()) ret.push(br.readLine()); 
    53                         return ret; 
    54                 } 
    55  
    5655                var self = this; 
    5756                var files = _getFiles(File(self.config.data_dir)); 
    5857                var entries = files.map(function (i) { 
    59                         var content = _readLines(i); 
     58                        var content = self._readLines(i); 
    6059                        return { 
    6160                                file     : i, 
     
    6766                }); 
    6867                return entries; 
    69         } 
     68        }, 
     69 
     70        _readLines : function (file) { 
     71                var br = new BufferedReader( 
     72                        new InputStreamReader( 
     73                                new FileInputStream(file), 
     74                                "UTF-8" 
     75                        ) 
     76                ); 
     77                var ret = []; 
     78                while (br.ready()) ret.push(br.readLine()); 
     79                return ret; 
     80        }, 
     81 
     82        getenv : function (name) { 
     83                return String(System.getenv(name)); 
     84        }, 
    7085}; 
    7186 
    72 print("Content-Type: text/plain"); 
    73 print(""); 
    74 p(String(System.getenv("USER"))); 
     87//print("Content-Type: text/plain"); 
     88//print(""); 
     89//p(String(System.getenv("USER"))); 
    7590 
    7691 
     
    97112 
    98113new BlosxomRhino({ 
    99         data_dir : "data" 
     114        title    : "Blosxo.Rhino!", 
     115        data_dir : "data", 
    100116}).run(); 
  • lang/javascript/blosxom.rhino/ejs.js

    r3047 r3048  
    66                this.template  = template; 
    77                this.processor = this.compile(template); 
    8                 print(this.processor); 
     8                // print(this.processor); 
    99        }, 
    1010 
     
    3333                                        ret.push('ret.push(EJS.escape(', c,'));'); 
    3434                                        break; 
    35                                 case "R": 
     35                                case "=R": 
    3636                                        ret.push('ret.push(', c,');'); 
    3737                                        break; 
     
    5454}; 
    5555 
     56/* 
    5657importPackage(java.io); 
    5758function _readLines(file) { 
     
    7475 
    7576print(r); 
     77*/ 
  • lang/javascript/blosxom.rhino/template.html

    r3047 r3048  
    150150                                        <dl class="information"> 
    151151                                                <dt>DateTime</dt> 
    152                                                 <dd><%= entry.time.strftime("%Y-%m-%dT%H:%M:%S") %></dd> 
     152                                                <dd><%= entry.datetime.toString() %></dd> 
    153153                                                <dt>Path</dt> 
    154154                                                <dd><a href="<%= home %><%= entry.name %>"><%= entry.name %></a></dd>