runeblog 0.0.60 → 0.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/data/VERSION +1 -1
  3. data/lib/repl.rb +20 -27
  4. data/lib/runeblog.rb +26 -3
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d6b3da20e1b95cba305221ed0663dc6d9f609ff
4
- data.tar.gz: 9baf807dca0a68940b7222ef4ad856e36b18d9f3
3
+ metadata.gz: ca2648e3bcca270f74671363c314ad6fad4b9807
4
+ data.tar.gz: 36f7b4d7cb14e872848fb3348ee33f477718708c
5
5
  SHA512:
6
- metadata.gz: 9f695ac8508c5419e55326fc403192cb6f677212d988a39ce96c10e79f6913ae5d05504a6c089ed8684578372f93db385af708a8ebcc68cec66ff97f8302cfe1
7
- data.tar.gz: 5d2126e6ae125f9afa1dbce47ba0979302e49568561a3815d751d04e04a33ef256722a9f5a2c7cd75421617bd0cf4c4d0a8db8065dbf311ebd7a362ef7a74a72
6
+ metadata.gz: fdfe7950cd8d63d055216891a7dd4f260f92230af319bacb65b7483707750219cd603300a5ce990869c7d1a7f2ad0c0728970ae86b0276a481d62c2aeb0d5b4d
7
+ data.tar.gz: e6f3d5e7d4b31c059a835c4d52c9e73a5f83222f8cdbaa83d8203164cef576b2dc9a47f1f9c965e8e5f266ca2fe1585f0b2a117fb7837879a311669692bf0e10
data/data/VERSION CHANGED
@@ -1 +1 @@
1
- RuneBlog v 0.0.60 2018-09-16
1
+ RuneBlog v 0.0.61 2018-09-17
data/lib/repl.rb CHANGED
@@ -21,13 +21,11 @@ module RuneBlog::REPL
21
21
  def cmd_browse
22
22
  reset_output
23
23
  check_empty(arg)
24
- @deploy ||= {}
25
- return puts red("\n Deploy first.") unless @deploy[@view]
26
-
27
- # Simlify this
28
- lines = @deploy[@view]
29
- user, server, sroot, spath = *lines
30
- url = "http://#{server}/#{spath}"
24
+ url = @blog.deployment_url
25
+ if url.nil?
26
+ output! "Deploy first."
27
+ return @out
28
+ end
31
29
  result = system("open '#{url}'")
32
30
  raise CantOpen, url unless result
33
31
  nil
@@ -48,20 +46,10 @@ module RuneBlog::REPL
48
46
  # TBD clunky FIXME
49
47
  reset_output
50
48
  check_empty(arg)
51
- @deploy ||= {}
52
- deployment = @blog.viewdir(@view) + "deploy"
53
- check_file_exists(deployment)
54
-
55
- lines = File.readlines(deployment).map {|x| x.chomp }
56
- @deploy[@view] = lines
57
- user, server, sroot, spath = *lines
58
- vdir = @blog.viewdir(@view)
59
- files = ["#{vdir}/index.html"]
60
- files += Dir.entries(vdir).grep(/^\d\d\d\d/).map {|x| "#{vdir}/#{x}" }
61
- files.reject! {|f| File.mtime(f) < File.mtime("#{vdir}/last_deployed") }
49
+ user, server, sroot, spath = *@deploy[@view]
62
50
  if files.empty?
63
- puts red("\n No files to deploy")
64
- return nil
51
+ output! "No files to deploy"
52
+ return @out
65
53
  end
66
54
 
67
55
  output "Files:"
@@ -70,6 +58,7 @@ module RuneBlog::REPL
70
58
  dir = "#{sroot}/#{spath}"
71
59
  # FIXME - may or may not already exist
72
60
  result = system("ssh root@#{server} mkdir #{dir}")
61
+ # ^ needs -c??
73
62
 
74
63
  cmd = "scp -r #{files.join(' ')} root@#{server}:#{dir} >/dev/null 2>&1"
75
64
  output! "Deploying #{files.size} files...\n"
@@ -87,7 +76,7 @@ module RuneBlog::REPL
87
76
  reset_output
88
77
  check_empty(arg)
89
78
  puts
90
- # Simlify this
79
+ # Simplify this
91
80
  files = Dir.entries("#@root/src/").grep /\d\d\d\d.*.lt3$/
92
81
  files.map! {|f| File.basename(f) }
93
82
  files = files.sort.reverse
@@ -142,7 +131,7 @@ module RuneBlog::REPL
142
131
  def cmd_new_view(arg)
143
132
  reset_output
144
133
  arg ||= ask("New view: ") # check validity later
145
- RuneBlog.create_view(arg)
134
+ @blog.create_view(arg)
146
135
  return nil
147
136
  rescue => err
148
137
  error(err)
@@ -171,11 +160,8 @@ module RuneBlog::REPL
171
160
 
172
161
  def cmd_remove_post(arg, safe=true)
173
162
  reset_output
174
- # err = "'#{arg}' is not an integer"
175
163
  id = get_integer(arg)
176
- tag = "#{'%04d' % id}"
177
- files = Find.find(@root).to_a
178
- files = files.grep(/#{tag}-/)
164
+ files = @blog.files_by_id(id)
179
165
  if files.empty?
180
166
  output! "No such post found (#{id})"
181
167
  return @out
@@ -184,7 +170,7 @@ module RuneBlog::REPL
184
170
  if safe
185
171
  output_newline
186
172
  files.each {|f| outstr " #{f}\n" }
187
- puts @out # ??
173
+ # puts @out # ??
188
174
  reset_output
189
175
  ques = "\n Delete?\n "
190
176
  ques.sub!(/\?/, " all these?") if files.size > 1
@@ -321,6 +307,13 @@ module RuneBlog::REPL
321
307
  @view = @blog.view # current view
322
308
  @sequence = @blog.sequence
323
309
  @root = @blog.root
310
+ @deploy ||= {}
311
+ @blog.views.each do |view|
312
+ deployment = @blog.viewdir(@view) + "deploy"
313
+ check_file_exists(deployment)
314
+ lines = File.readlines(deployment).map {|x| x.chomp }
315
+ @deploy[@view] = lines
316
+ end
324
317
  @blog
325
318
  rescue => err
326
319
  error(err)
data/lib/runeblog.rb CHANGED
@@ -3,16 +3,18 @@ require 'yaml'
3
3
  require 'livetext'
4
4
 
5
5
  class RuneBlog
6
- VERSION = "0.0.60"
6
+ VERSION = "0.0.61"
7
7
 
8
8
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
9
9
  DefaultData = Path + "/../data"
10
10
 
11
11
  BlogHeaderPath = DefaultData + "/custom/blog_header.html"
12
12
  BlogTrailerPath = DefaultData + "/custom/blog_trailer.html"
13
+ BlogTemplatePath = DefaultData + "/custom/blog_trailer.html"
13
14
 
14
15
  BlogHeader = File.read(BlogHeaderPath) rescue "not found"
15
16
  BlogTrailer = File.read(BlogTrailerPath) rescue "not found"
17
+ BlogTemplate = File.read(BlogTemplatePath) rescue "not found"
16
18
 
17
19
  attr_reader :root, :views, :view, :sequence
18
20
  attr_writer :view # FIXME
@@ -56,7 +58,7 @@ class RuneBlog
56
58
  File.exist?(".blog")
57
59
  end
58
60
 
59
- def create_view(name)
61
+ def create_view(arg)
60
62
  raise "view #{arg} already exists" if self.views.include?(arg)
61
63
 
62
64
  dir = @root + "/views/" + arg + "/"
@@ -64,13 +66,34 @@ class RuneBlog
64
66
  create_dir(dir + 'assets')
65
67
  File.open(dir + "deploy", "w") { } # FIXME
66
68
 
67
- # Something more like this? RuneBlog.new_view(arg)
68
69
  File.write(dir + "custom/blog_header.html", RuneBlog::BlogHeader)
69
70
  File.write(dir + "custom/blog_trailer.html", RuneBlog::BlogTrailer)
71
+ File.write(dir + "custom/post_template.html", RuneBlog::BlogTemplate)
70
72
  File.write(dir + "last_deployed", "Initial creation")
71
73
  self.views << arg
72
74
  end
73
75
 
76
+ def deployment_url
77
+ return nil unless @deploy[@view]
78
+ lines = @deploy[@view]
79
+ user, server, sroot, spath = *@deploy[@view]
80
+ url = "http://#{server}/#{spath}"
81
+ end
82
+
83
+ def view_files
84
+ vdir = @blog.viewdir(@view)
85
+ # meh
86
+ files = ["#{vdir}/index.html"]
87
+ files += Dir.entries(vdir).grep(/^\d\d\d\d/).map {|x| "#{vdir}/#{x}" }
88
+ files.reject! {|f| File.mtime(f) < File.mtime("#{vdir}/last_deployed") }
89
+ end
90
+
91
+ def files_by_id(id)
92
+ files = Find.find(@root).to_a
93
+ tag = "#{'%04d' % id}"
94
+ files.grep(/#{tag}-/)
95
+ end
96
+
74
97
  def create_new_post(title, view=nil)
75
98
  view ||= @view
76
99
  date = Time.now.strftime("%Y-%m-%d")
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.0.60
4
+ version: 0.0.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-16 00:00:00.000000000 Z
11
+ date: 2018-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext