I have a html file has the general design (some div’s) and I need to fill this div’s with some html code Using ruby script.
any suggests?
example
I have page.html
<html>
<title>html Page</title>
<body>
<div id="main">
</div>
<div id="side">
</div>
</body>
</html>
and a ruby script inside it i collect some data and doing some kind of processing on it and i want to present it in a nice format**
so I want to set the div which it’s id=main with some html code to be like this
<html>
<title>html Page</title>
<body>
<div id="main">
<h1>you have 30 files in games folder</h1>
</div>
<div id="side">
</div>
</body>
</html>
** why i don’t use ROR? because I don’t want to build a web site I just need to build a desktop tool but it’s presentation layer is html code interpreted by browser to avoid working with graphics libraries
my problem isn’t “how can I write to this html file” I can handle it.
my problem that If I want to create a table in the html file inside main div
I will wrote the whole html code inside the ruby script to print it to the html file, is there any lib or gem that i can tell it that I want a table with 3 rows and 2 columns and it generates the html code?
I historically have used ERB and REXML for things like this, since they both ship with Ruby (removing gem dependencies). You can combine one XML file (content) with one .erb file (for layout) and get simple merging. Here’s a script I wrote for this (most of which is argument handling and extending REXML with some convenience methods):
This can be used for HTML or automated source code generation alike.
However, these days I would advocate using Haml and Nokogiri (if you want structured XML markup) or YAML (if you want simple-to-edit content), as these will make your markup cleaner and your template logic simpler.
Edit: Here’s a simpler file that merges YAML with Haml. The last four lines do all the work:
Here’s a sample YAML file:
…and a sample Haml file:
…and finally the HTML they produce: