aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2022-03-16 23:18:06 +0100
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2022-03-16 23:18:06 +0100
commited26421307e5a3a052a87a7de8fc178d29f3ac89 (patch)
tree64dba24c135cdccab3a1f6dde248283ea7042a31
parent27647650fe2671b104bda66fe3afc183ecaaceb9 (diff)
downloadhyde-ed26421307e5a3a052a87a7de8fc178d29f3ac89.tar.gz
hyde-ed26421307e5a3a052a87a7de8fc178d29f3ac89.zip
Add module to parse program arguments
-rw-r--r--optparser.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/optparser.rb b/optparser.rb
new file mode 100644
index 0000000..1886476
--- /dev/null
+++ b/optparser.rb
@@ -0,0 +1,47 @@
+# A simple website generator
+# Copyright (C) 2022 Alessandro Iezzi <aiezzi AT alessandroiezzi DOT it>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+def optparse
+ options = {}
+ optparse = 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[:pageNames] = o
+ }
+ opt.on_tail("-h", "--help", "Show this message") do
+ puts opt
+ exit
+ end
+ end
+
+ if ARGV.length < 1 then
+ puts optparse.help
+ exit 1
+ end
+
+ optparse.parse!
+
+ return options
+
+end