Sha256: 0ce5e8959c21496cc2f071f9162ec165a874f48ca23ae8d59b1fd9e0aa9332f5

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

#!/usr/bin/env ruby

$: << "./lib"

require 'runeblog'

def execute_command
  case @cmd
    when "h", "help";         help
    when "q", "quit";         exit
    when "p", "post";         new_post
    when "new post";          new_post  # same as above
    when "new view";          new_view(@arg)
    when "lsv", "list views"; list_views
    when "import post";       import(@arg)
    when "relink";            relink
    when "rebuild";           rebuild
    else
      puts "Huh? I don't know #{@cmd}"
  end
  puts
end

def help
  puts <<-EOS
  Commands:
     h, help      This message
     q, quit      Exit the program
     p, post      Create a new post
     new post     Same as post (create a post)
     list views   List all views available
     lsv          Same as: list views
     new view     Create a new view
     relink       Regenerate index for all views
     rebuild      Regenerate all posts and relink
  EOS
end

###########

STDOUT.sync = true

@cmd = ARGV[0..1].join(" ")
@arg = ARGV[2]

if @cmd.empty?   # REPL
  read_config
  loop do
    print "blog> "
    @cmd = gets.chomp.gsub(/ +/, " ") rescue abort("\n")
    execute_command
  end
else  # one command
  read_config
  file = File.open("/dev/tty")
  STDIN.reopen(file)    # avoid ARGF dumbness
  execute_command
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
runeblog-0.0.3 bin/blog
runeblog-0.0.2 bin/blog
runeblog-0.0.1 bin/blog