`

HTML?New Template System ?

阅读更多
現行 Scripting Language 不管PHP,ASP,或是ERB大多是採用
              <td width="100%"> <b><%= link_to '請按此' , :action => 'index' %></b></td>
類似這樣的形式。也就是 HTML 為主,並且在裡面嵌入 scripting language code。Rails ERB也是這樣的作法,不過Ruby 愛好者有一種不知道是好還是壞的想法
VIVA ,Ruby 統一全世界
Javascript 用 RJS 併吞掉、SQL 用 ActiveRecord and Migrate 併吞掉、Web Service 用 Action Web Service、Mail 用 Action Mailer、甚至Web Server 都有 Ruby 版本( Webricks 還有 Mongrel )。這些我都相當的贊成,因為 Javascript 跟 SQL 的混亂已經嚴重影響到程式設計師
今天卻發現 HAML and MarkBy,可以讓 HTML 也危在旦夕(笑)。

HAML 就是原本的RHTML
<small><%= item.body %></small>
變成
%small= item.body
而MarkBy更是厲害
require 'markaby'

mab = Markaby::Builder.new
mab.html do
head { title "Boats.com" }
body do
h1 "Boats.com has great deals"
ul do
li "$49 for a canoe"
li "$39 for a raft"
li "$29 for a huge boot that floats and can fit 5 people"
end
end
end
puts mab.to_s
如此用 Ruby 寫出 HTML @@!。對岸這對於這方面的態度是將這些東西,歸類在近乎奇淫技巧 上面。

我的感覺是這樣

還記得 OSDC 2006 in TW上面,Ingy 在講到Wiki語法混亂的問題時(只憑記憶,有錯請見諒)
有人說 Wiki 語法太多太亂,需要 Standard 統一 ,但是依我所見,其實現在早就有 WIKI Standard 了,那就是 HTML
Ruby 統一全世界當然是一個美好的夢想,畢竟我是100%原汁的 Ruby 派。但是當你在商業應用上,版面設計通常交給美工,他們只需要會 Dreamweaver 之類的東西
這時候,難道你要教美工 Ruby 程式設計?
所以,除非 Dreamweaver 或是 Frontpage 支援 Ruby @@!,不然大家還是先把 HTML 當成網頁程式設計的最大公約數好了。
分享到:
评论

相关推荐

    Template System PHP:很小的模板系统-开源

    $tpl = new TemplateSystem('template.html'); $tpl-&gt;assign($data); echo $tpl-&gt;display(); ?&gt; ``` 这里,`template.html`是模板文件,`$data`是用于替换模板中变量的数据,`TemplateSystem`类的`assign`方法用于...

    .NET生成静态文件(HTML)的三种方法

    `.NET` 提供了 `System.IO.StringWriter` 和 `System.Web.UI.HtmlTextWriter` 类来帮助我们生成HTML文本。这种方法适用于简单的HTML结构生成,它允许我们使用类似ASP.NET控件的方式来写HTML代码。 ```csharp using ...

    java--生成html

    BufferedWriter writer = new BufferedWriter(new FileWriter(htmlFile)); writer.write(htmlContent); writer.close(); System.out.println("HTML文件已成功生成!"); } catch (IOException e) { e....

    Velocity Template的另类用法:生成XML

    总结,Velocity Template作为一种强大的文本生成工具,不仅限于HTML页面的生成,还可以巧妙地应用于XML文档的生成。通过将业务数据与模板结合,可以快速、灵活地生成定制化的XML内容,极大地提高了开发效率。对于...

    springboot整合freemarker生成静态html的demo.zip

    System.out.println(generatedHtml); } catch (IOException | TemplateException e) { e.printStackTrace(); } ``` 这里,我们创建了一个`HashMap`来存储数据,然后使用`FreeMarkerTemplateUtils`的`...

    net发邮件代码和html模板页

    例如,假设你有一个名为`emailTemplate.html`的HTML模板文件,你可以读取其内容,然后将动态数据替换到占位符中: ```csharp string templateContent = File.ReadAllText("emailTemplate.html"); string ...

    render html

    vltEngine.SetProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, System.Web.Hosting.HostingEnvironment.MapPath("~/templates")); vltEngine.Init(); VelocityContext vltContext = new VelocityContext...

    Asp.net生成html文件源码(模板和Url)

    可以使用`System.IO`命名空间中的类,如`File.WriteAllText`: ```csharp string html = RenderRazorViewToString("template", model); // 渲染模板为HTML字符串 File.WriteAllText(@"C:\output.html", html); `...

    Json+NVelocity模板引擎C#入门示例,比较全面

    例如,在C#中,我们可以使用`System.Web.Script.Serialization`或`Newtonsoft.Json`库来处理Json数据。`Json.NET`(Newtonsoft.Json)是一个非常流行的C# Json库,它提供了丰富的功能,包括序列化、反序列化、LINQ...

    rails-template:我们的 Rails 模板

    rails-template Our Ra​​ils template Make sure that you installed Node.js on your system. `rails new project -m template.rb`一些说明以下两个已新增在application_controller,这样可以依据开发环境不同,...

    java 发送带模板的邮件工具类

    Properties props = System.getProperties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", SMTP_HOST); props.put("mail.smtp.port",...

    C#生成静态页面

    string html = new RazorViewEngine().ExecuteString(template, new { Data = data }); // 文件写入部分 File.WriteAllText("Output.html", html); } static object GetDataFromDatabase() // 这里是模拟...

    生成静态页面的三种方法

    StreamWriter sw = new StreamWriter(Server.MapPath("~/static_page1.html"), false, System.Text.Encoding.GetEncoding("gb2312")); ``` 3. **执行ASPX页面并获取其输出:** ```csharp HttpContext.Current....

    ASP.NET通过xsl把xml转化为xhtml

    XmlTextWriter writer = new XmlTextWriter("output.html", null); xslt.Transform(xmlDoc, null, writer); writer.Close(); ``` 对于.NET Framework 4.0及更高版本,推荐使用XslCompiledTransform类,因为它具有...

    Velocity初始化过程解析

    1. 创建一个Template,通常是HTML文件,然后使用Velocity Template Language (VTL) 在需要动态内容的地方设置占位符。 2. 初始化一个VelocityContext对象,并向其中添加键值对,这些值将在模板中用于替换占位符。 3....

    Java实现通过模板发送邮件示例

    Template template = cfg.getTemplate("emailTemplate.ftl"); StringWriter writer = new StringWriter(); template.process(model, writer); String htmlContent = writer.toString(); // 创建HTML内容 ...

    freemarker入门demo

    System.out.println(output); } } ``` 这个Java程序创建了一个`Configuration`对象,用于设置Freemarker的配置。然后,我们定义了一个数据模型,包含`title`、`user`和一个`items`列表。接着,我们加载了`...

    ASP.NET生成静态页的三种方法

    System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312")); string str = reader.ReadToEnd(); System.IO.StreamWriter sw = new System.IO....

    freemarker学习

    TemplateTest tt = new TemplateTest(); tt.init(); tt.process(); } } ``` 在这个例子中,`test.ftl`模板文件可以包含如下内容: ```html &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;title&gt;Freemarker示例 欢迎,${name}...

    访问FreeMarker的工具类

    cfg.setDirectoryForTemplateLoading(new File(Template_DIR)); // 其他配置,如缓存策略 cfg.setCacheStorage(new MemoryCacheStorage()); ``` #### 3.2 加载模板 ```java // 获取模板对象 Template template = ...

Global site tag (gtag.js) - Google Analytics