runeblog 0.3.28 → 0.3.30

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0f9a3b31f1adc96704b1781f04e2eb4227ca341ebc3f118a0ead49c3be65859
4
- data.tar.gz: 573d4f8ba2778d476b9b327e1c994863745f1d643f6b633cc771d3d4b2872af6
3
+ metadata.gz: 2f1dd9b0013eda386f3152a196dcd6ee279274bdcfebca3fce17fd1a495fe93d
4
+ data.tar.gz: 9b1a091067233521f3a9216d84471ae31a0132b68ca22dca174555e824267c21
5
5
  SHA512:
6
- metadata.gz: acaaf9714332878e5f60b26576c86286672f221717b8c66901749cf9e9e4a257baee45ec5a2fe42d1eea3c64746cd959d10bbba1b08828cb15075ca9af85ae40
7
- data.tar.gz: 43b9c4d21d1c5d82f6c7e1b1ce291f304e1dd52f12b46b36200f4aebe2db127603b15ab1dcaca43cc8ea607a515263019abf20c4b88d8e0da620a41187639a9a
6
+ metadata.gz: ac2b3d8dd3d7f378658d138db56695e5749b0022ef19197bb6d863c077b469972e3d6a6b6adb27f20dc91e1a6a656320d8c15b657da9015935a5bd371d5a4b4e
7
+ data.tar.gz: ffd02d0666582b4d2a31dcc552872fc5e257e30b26054e06ebf337aca2ceac9540ff0b1506cdf272b0cdee7fa7f6b70b4c7bddc578460472684039bac5dbb05c
data/bin/blog CHANGED
@@ -11,6 +11,8 @@ require 'repl'
11
11
 
12
12
  include RuneBlog::REPL
13
13
 
14
+ include ErrorChecks
15
+
14
16
  def yesno(question, noskip=false)
15
17
  puts fx("\n #{question}", :bold)
16
18
  puts unless noskip
@@ -46,18 +48,25 @@ end
46
48
 
47
49
  def get_global
48
50
  view_name = ask!(" Filename: ")
51
+ # FIXME test below doesn't work?
52
+ FilenameHasBlank(view_name) if view_name.include?(" ")
53
+
49
54
  @blog.create_view(view_name) # call change_view??
50
55
  if yesno("Faster view setup? (no: edit global.lt3)")
51
56
  title = ask!(" View title: ")
52
57
  subtitle = ask!(" Subtitle : ")
53
58
  domain = ask!(" Domain : ")
54
59
  modify_view_global(view_name)
55
- modify_view_settings(name: view_name, title: title, subtitle: subtitle,
60
+ modify_view_settings(name: view_name, title: title, subtitle: subtitle,
56
61
  domain: domain)
57
62
  else
58
63
  vim_params = '-c ":set hlsearch" -c ":hi Search ctermfg=2 ctermbg=6" +/"\(VIEW_.*\|SITE.*\)"'
59
64
  edit_file(@blog.view.dir/"themes/standard/global.lt3", vim: vim_params)
60
65
  end
66
+ rescue => err
67
+ puts err
68
+ puts "Retrying..."
69
+ retry
61
70
  end
62
71
 
63
72
  def get_started
@@ -204,6 +213,7 @@ def create_new_repo?
204
213
  rescue => err
205
214
  STDERR.puts "Error - #{err.to_s}"
206
215
  STDERR.puts err.backtrace if err.respond_to?(:backtrace)
216
+ puts "Sleeping..."; sleep 10
207
217
  end
208
218
 
209
219
  def print_intro
@@ -234,12 +244,13 @@ reopen_stderr
234
244
 
235
245
  check_ruby_version
236
246
  handle_cmdline unless ARGV.empty?
247
+
237
248
  set_fgbg
238
249
  print_intro
239
- # STDERR.puts "cp 6 - pause"; gets
240
250
  create_new_repo?
241
- # STDERR.puts "cp 7 - pause"; gets
251
+
242
252
  cmd_history_etc
243
- # STDERR.puts "cp 8 - pause"; gets
253
+
244
254
  loop { mainloop }
255
+
245
256
  exit_repl
data/lib/exceptions.rb CHANGED
@@ -34,4 +34,5 @@ make_exception(:CantFindWidgetDir, "Can't find widget dir '%1'")
34
34
  make_exception(:PublishError, "Error during publishing")
35
35
  make_exception(:NoNumericPrefix, "No numeric prefix on slug '%1'")
36
36
  make_exception(:NoExtensionExpected, "No file extension expected on '%1'")
37
+ make_exception(:FilenameHasBlank, "File '%1' contains a blank space.")
37
38
 
data/lib/lowlevel.rb CHANGED
@@ -4,15 +4,6 @@
4
4
  STDERR.puts err.backtrace.join("\n") if err.respond_to?(:backtrace)
5
5
  log!(str: "#{err} - see also stderr.out")
6
6
  log!(str: err.backtrace.join("\n")) if err.respond_to?(:backtrace)
7
- return
8
-
9
- out = "/tmp/blog#{rand(100)}.txt"
10
- File.open(out, "w") do |f|
11
- f.puts err.to_s + "\n--------"
12
- f.puts err.backtrace.join("\n")
13
- end
14
- puts "Error: See #{out}"
15
- # sleep 3
16
7
  end
17
8
 
18
9
  def dump(obj, name)
@@ -25,7 +16,6 @@
25
16
 
26
17
  def system!(os_cmd, show: false)
27
18
  log!(enter: __method__, args: [os_cmd], level: 2)
28
- caller.each {|x| print "::: "; p x }
29
19
  STDERR.puts os_cmd if show
30
20
  rc = system(os_cmd)
31
21
  STDERR.puts " rc = #{rc.inspect}" if show
data/lib/menus.rb CHANGED
@@ -105,7 +105,7 @@ Menu.top_config = {
105
105
  "Generator for a post" => proc { edit_post_generate },
106
106
  " HEAD info for post" => proc { edit_post_head },
107
107
  " Content for post" => proc { edit_post_index },
108
- "Variables (general)" => proc { edit_view_global },
108
+ "Variables (general!)" => proc { edit_view_global },
109
109
  " View-specific" => proc { edit_settings_view },
110
110
  " Recent posts" => proc { edit_settings_recent },
111
111
  " Publishing" => proc { edit_settings_publish },
data/lib/repl.rb CHANGED
@@ -11,8 +11,10 @@ Signal.trap("INT") { puts "Don't :)" }
11
11
  module RuneBlog::REPL
12
12
  def edit_file(file, vim: "")
13
13
  ed = @blog.editor
14
+ STDERR.puts ">>> edit_file: ed = #{ed.inspect}"
14
15
  params = vim if ed =~ /vim$/
15
16
  result = system!("#{@blog.editor} #{file} #{params}")
17
+ STDERR.puts ">>> edit_file: after system call"
16
18
  raise EditorProblem(file) unless result
17
19
  cmd_clear
18
20
  end
@@ -38,7 +40,7 @@ module RuneBlog::REPL
38
40
  end
39
41
 
40
42
  def cmd_config
41
- hash = {"Variables (general)" => "global.lt3",
43
+ hash = {"Variables (General)" => "global.lt3",
42
44
  " View-specific" => "../settings/view.txt",
43
45
  " Recent posts" => "../../settings/recent.txt",
44
46
  " Publishing" => "../../settings/publish.txt",
@@ -60,6 +62,7 @@ module RuneBlog::REPL
60
62
  }
61
63
 
62
64
  dir = @blog.view.dir/"themes/standard/"
65
+ STDERR.puts ">>> cmd_config: dir = #{dir.inspect}"
63
66
  num, target = STDSCR.menu(title: "Edit file:", items: hash)
64
67
  edit_file(dir/target)
65
68
  end
data/lib/runeblog.rb CHANGED
@@ -96,14 +96,13 @@ class RuneBlog
96
96
 
97
97
  def self.create_new_blog_repo(root_rel = ".blogs")
98
98
  log!(enter: __method__, args: [root_rel])
99
- check_error(BlogRepoAlreadyExists) { Dir.exist?(repo_root) }
99
+ check_error(BlogRepoAlreadyExists) { Dir.exist?(root_rel) }
100
100
  check_nonempty_string(root_rel)
101
101
  repo_root = Dir.pwd/root_rel
102
102
 
103
103
  create_dirs(repo_root)
104
104
  Dir.chdir(repo_root) do
105
105
  create_dirs(:data, :config, :widgets, :drafts, :views, :posts) # ?? widgets?
106
- # FIXME
107
106
  get_all_widgets("widgets")
108
107
  new_sequence
109
108
  end
@@ -131,21 +130,7 @@ class RuneBlog
131
130
 
132
131
  def self.read(root_rel = ".blogs") # always assumes existing blog
133
132
  log!(enter: "RuneBlog.read", args: [root_rel])
134
- instance = RuneBlog.allocate
135
- instance.instance_eval do
136
- @blog = instance # Duhhh
137
- @root = Dir.pwd/root_rel
138
- # _init_get_view ##########??????
139
- # self.class.blog = self # Weird, like singleton. Dumbass circular dependency?
140
- RuneBlog.blog = instance
141
- dirs = subdirs("#@root/views/").sort
142
- @views = dirs.map {|name| RuneBlog::View.new(name) }
143
- @curr = str2view(File.read(@root/"data/VIEW").chomp)
144
- @view = @curr
145
- # ...was init_get_view
146
- @sequence, @post_views, @post_tags = get_sequence, [], []
147
- end
148
- return instance
133
+ RuneBlog.new(root_rel)
149
134
  rescue => err
150
135
  puts "ERROR - #{err.inspect}"
151
136
  # puts "Error - see stderr.out"
@@ -153,7 +138,20 @@ class RuneBlog
153
138
  sleep 3
154
139
  end
155
140
 
156
- def initialize ##### FIXME ??
141
+ def initialize(root_rel = ".blogs") ##### FIXME ??
142
+ # @blog = instance # Duhhh
143
+ @root = Dir.pwd/root_rel
144
+ # _init_get_view ##########??????
145
+ # self.class.blog = self # Weird, like singleton. Dumbass circular dependency?
146
+ RuneBlog.blog = self
147
+ dirs = subdirs("#@root/views/").sort
148
+ @views = dirs.map {|name| RuneBlog::View.new(name) }
149
+ @curr = str2view(File.read(@root/"data/VIEW").chomp)
150
+ @view = @curr
151
+ # ...was init_get_view
152
+ @sequence, @post_views, @post_tags = get_sequence, [], []
153
+ get_repo_config
154
+ read_features
157
155
  end
158
156
 
159
157
  def complete_file(name, vars, hash)
@@ -1,7 +1,7 @@
1
1
  if !defined?(RuneBlog::Path)
2
2
 
3
3
  class RuneBlog
4
- VERSION = "0.3.28"
4
+ VERSION = "0.3.30"
5
5
 
6
6
  path = Gem.find_files("runeblog").grep(/runeblog-/).first
7
7
  Path = File.dirname(path)
data/lib/view.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require 'logging'
2
2
 
3
3
  class RuneBlog::View
4
- attr_reader :name, :state, :globals
5
- attr_accessor :publisher
4
+ attr_reader :name, :state
5
+ attr_accessor :publisher, :globals
6
6
 
7
7
  include RuneBlog::Helpers
8
8
 
@@ -33,14 +33,25 @@ class RuneBlog::View
33
33
 
34
34
  def get_globals(force = false)
35
35
  return if @globals && !force
36
+
36
37
  # gfile = @blog.root/"views/#@name/themes/standard/global.lt3"
37
38
  gfile = @blog.root/"views/#@name/data/global.lt3"
38
39
  return unless File.exist?(gfile) # Hackish!! how is View.new called from create_view??
39
40
 
40
41
  live = Livetext.customize(call: ".nopara")
42
+ puts "get_globals - 1 - transforming #{gfile}"
43
+ # FIXME - error here somehow:
44
+ # get_globals - 1 - transforming /private/tmp/.blogs/views/foobar/data/global.lt3
45
+ # >> variables: pre="view" file="../settings/view.txt" pwd=/private/tmp
46
+ # No such dir "../settings" (file ../settings/view.txt)
47
+ # No such dir "../settings" (file ../settings/view.txt)
48
+ # get_globals - 2
41
49
  live.xform_file(gfile)
50
+ puts "get_globals - 2"
42
51
  live.setvar("ViewDir", @blog.root/:views/@name)
52
+ puts "get_globals - 3"
43
53
  live.setvar("View", @name)
54
+ puts "get_globals - 4"
44
55
  @globals = live.vars
45
56
  # dump_globals_stderr
46
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runeblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.28
4
+ version: 0.3.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-10 00:00:00.000000000 Z
11
+ date: 2024-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext