aboutsummaryrefslogtreecommitdiff
path: root/hyde.rb
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2021-12-22 12:36:44 +0100
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2021-12-22 12:36:44 +0100
commit640ace97fdd69766ca0a90078d7df0c6a3ac4e35 (patch)
tree6b4c3cb00042ead2340a316d94dfe2f65bc39b8a /hyde.rb
parentf7b6dc58eb41c6afecfb7c3915a4317124de2068 (diff)
downloadhyde-640ace97fdd69766ca0a90078d7df0c6a3ac4e35.tar.gz
hyde-640ace97fdd69766ca0a90078d7df0c6a3ac4e35.zip
Migration to Ruby
Diffstat (limited to 'hyde.rb')
-rwxr-xr-xhyde.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/hyde.rb b/hyde.rb
new file mode 100755
index 0000000..ae97276
--- /dev/null
+++ b/hyde.rb
@@ -0,0 +1,45 @@
+#!/usr/local/bin/ruby
+
+require "erb"
+require 'optparse'
+
+options = {}
+OptionParser.new do |opt|
+ opt.on("-f", "--file-name FILENAME", "File name of the page you want to render") {
+ |o| options[:fileName] = o
+ }
+ opt.on("-t", "--title TITLE", "Title of the rendered page") {
+ |o| options[:title] = o
+ }
+ opt.on("-m", "--master MASTER", "Master file page") {
+ |o| options[:master] = o
+ }
+ opt.on("-n", "--page-name NAME", "page name") {
+ |o| options[:pageName] = o
+ }
+end.parse!
+
+#puts options
+
+class Page
+ def initialize title, pageFileName, pageName
+ @title = title
+ @pageFileName = pageFileName
+ @pageName = pageName
+ end
+
+ def render path
+ content = File.read(File.expand_path(path))
+ t = ERB.new(content)
+ t.result(binding)
+ end
+end
+
+#page = Page.new("Home", "home.html.erb")
+page = Page.new(options[:title], options[:fileName], options[:pageName])
+
+if options[:master] == nil
+ puts page.render("master.rhtml")
+else
+ puts page.render(options[:master])
+end