From 640ace97fdd69766ca0a90078d7df0c6a3ac4e35 Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Wed, 22 Dec 2021 12:36:44 +0100 Subject: Migration to Ruby --- hyde.rb | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 hyde.rb (limited to 'hyde.rb') 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 -- cgit v1.2.3