aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xhyde.rb8
-rw-r--r--optparser.rb33
2 files changed, 38 insertions, 3 deletions
diff --git a/hyde.rb b/hyde.rb
index f80e01c..3e5d6bb 100755
--- a/hyde.rb
+++ b/hyde.rb
@@ -26,9 +26,14 @@ require_relative 'optparser.rb'
class Hyde
def self.main
+ # Parse arguments from the CLI
+ options = HydeOptionParser.parse
end
end
+Hyde.main
+exit
+
=begin
Considerations on file formats.
.config -- Are configurations, written in YAML
@@ -53,9 +58,6 @@ def listarticles(path, max)
return pages
end
-# Parse arguments from the CLI
-options = optparse
-
# Every file needs a config file. It is similar to the YAML block in head to files processed by gohugo or jekyll.
configfile = options[:fileName] + '.config'
diff --git a/optparser.rb b/optparser.rb
index 27a0708..7740f7f 100644
--- a/optparser.rb
+++ b/optparser.rb
@@ -14,6 +14,39 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
+class HydeOptionParser
+ def self.parse
+ options = {}
+ optionParser = OptionParser.new do |option|
+ option.on("-f", "--file-name FILENAME", "File name of the page you want to render") {
+ |o| options[:fileName] = o
+ }
+ option.on("-t", "--title TITLE", "Title of the rendered page") {
+ |o| options[:title] = o
+ }
+ option.on("-m", "--master MASTER", "Master file page") {
+ |o| options[:master] = o
+ }
+ option.on("-n", "--page-name NAME", "Page name") {
+ |o| options[:pageNames] = o
+ }
+ option.on_tail("-h", "--help", "Show this message") do
+ puts option
+ exit
+ end
+ end
+
+ if ARGV.length < 1 then
+ puts optionParser.help
+ exit 1
+ end
+
+ optionParser.parse!
+
+ return options
+ end
+end
+
def optparse
options = {}
optparse = OptionParser.new do |opt|