wikisys 0.3.0 → 0.3.1

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: c1d9909e650b607db0429fcf09233a3775f1493fca6ae612354c205e4dccf69d
4
- data.tar.gz: 646db1e4c483057d9b7d220edbd0164d9f9dce8e90408faf55da71aea2e661b4
3
+ metadata.gz: e012e479a9c126dbdb7077f87aede11c5393c1ee777f345941ac44388f8ee0db
4
+ data.tar.gz: d8784d168321d261aed29fc2e0f48d534f39945fcd2b9b9b97a974c49d091db9
5
5
  SHA512:
6
- metadata.gz: 856dfe0a483521ef2db25f220df0891f23ad2bb99d5b77b136a18df40965c9a51cc2ac1ac7789cc8345ac372fd4768b4ff93b656fc22f418479bf7351f96579f
7
- data.tar.gz: 3cab93f28ea693edd42c273f8a5a387ed8811825943e7859a3e0ff38e3c2be877f226fd5bde967aac8d766d40dfecfbf3e71803dbabbaf4dee81d0cdd128eeee
6
+ metadata.gz: 2ead29b9039b19e62300e33941021265837f8ddcc1be96da4050a9f32991f7826727b4ee5e60b1361faa0cc537f004d4fc193d06cea8d1fd911b413dec6d6627
7
+ data.tar.gz: 3ce9e75cee22a1e6d2e8023a7fb2e694f7d27f65c176cd95d9591bdd625baf5b735c15e5967d1b68992f4f183252f331df81efbbecc07396e8b1eda34b5cc022
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -10,6 +10,7 @@ require 'martile'
10
10
  module Wikisys
11
11
 
12
12
  class Wiki
13
+ using ColouredText
13
14
 
14
15
  attr_accessor :title, :content, :tags
15
16
  attr_reader :to_xml
@@ -19,6 +20,8 @@ module Wikisys
19
20
  @filepath = filepath
20
21
  @page = ''
21
22
  @debug = debug
23
+
24
+ @hc = HashCache.new(size:30)
22
25
 
23
26
  @entries = if entries.is_a? DxLite then
24
27
 
@@ -36,6 +39,18 @@ module Wikisys
36
39
 
37
40
  end
38
41
 
42
+ def create_breadcrumb(filepath, links)
43
+
44
+ doc = Rexle.new(read_file(filepath))
45
+ heading = doc.root.element('heading')
46
+
47
+ menu = Rexle.new(HtmlCom::Menu.new(:breadcrumb, links).to_html)
48
+
49
+ heading.insert_before menu.root
50
+ write_file filepath, doc.root.xml
51
+
52
+ end
53
+
39
54
 
40
55
  def page(title)
41
56
 
@@ -93,6 +108,10 @@ module Wikisys
93
108
 
94
109
  end
95
110
 
111
+ def read_file(file='index.html')
112
+ @hc.read(file) { File.read(file) }
113
+ end
114
+
96
115
  private
97
116
 
98
117
  def read_md(filename)
@@ -100,7 +119,7 @@ module Wikisys
100
119
  filepath = File.join(@filepath, 'md', filename)
101
120
  return unless File.exists? filepath
102
121
 
103
- s = File.read(filepath).strip
122
+ s = read_file(filepath).strip
104
123
 
105
124
  # read the title
106
125
  title = s.lines.first.chomp.sub(/^# +/,'')
@@ -118,8 +137,7 @@ module Wikisys
118
137
 
119
138
  end
120
139
 
121
- end
122
-
140
+ end
123
141
 
124
142
  def build_xml(title, content, tags)
125
143
 
@@ -172,12 +190,20 @@ module Wikisys
172
190
  def write_xml(title, content)
173
191
 
174
192
  filepath = File.join(File.absolute_path(@filepath), 'xml',
175
- title.gsub(/ +/,'_') + '.xml')
193
+ title.downcase.gsub(/ +/,'_') + '.xml')
176
194
  FileUtils.mkdir_p File.dirname(filepath)
177
- File.write filepath, content
195
+ #File.write filepath, content
196
+ write_file filepath, content
178
197
 
179
198
  end
180
199
 
200
+ def write_file(filepath, content)
201
+
202
+ puts 'writing file: ' + filepath.inspect if @debug
203
+ File.write filepath, content
204
+ @hc.write(filepath) { content }
205
+ end
206
+
181
207
  def make_page(title, raw_tags=title.downcase.gsub(/['\.\(\)]/,''))
182
208
 
183
209
  tags = raw_tags.split.join(' ')
@@ -269,9 +295,29 @@ module Wikisys
269
295
  update_mw(pg.title, pg.tags)
270
296
 
271
297
  end
298
+
299
+ @mw.save if @mw.lines.any?
300
+ outline_filepath = File.join(@filepath, 'myoutline.txt')
301
+
302
+ File.write outline_filepath, @mw.to_outline
303
+
304
+ (h[:new] + h[:modified]).each do |filename|
305
+
306
+ filepath = File.join(@filepath, 'xml',filename.sub(/\.md$/,'.xml'))
307
+ s = pg.read_file filepath
308
+ title = Rexle.new(s).root.text('heading')
309
+ puts 'about to search title: ' + title.inspect if @debug
310
+ found = @mw.search(title)
311
+
312
+ next unless found
313
+
314
+ links = found.breadcrumb.map {|x| [x, x.downcase.gsub(/ +/,'-') + '.html']}
315
+ pg.create_breadcrumb(filepath, links)
316
+
317
+ end
272
318
 
273
319
  @entries.save
274
- @mw.save if @mw.lines.any?
320
+
275
321
 
276
322
  end # /scan_md_files
277
323
 
@@ -324,5 +370,10 @@ module Wikisys
324
370
  end
325
371
 
326
372
  end
373
+
374
+ def view_file(file='index.html')
375
+ @hc.read(file) { File.read(file) }
376
+ end
377
+
327
378
  end
328
379
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wikisys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  O3SRDzvvWXrwDFGyRDmGqdEw51FKHPw/6pk4ci0QPIvQEgOyPKfdSesPWmNmtxpf
36
36
  KX/89ohIpftt89vtcCI21R5u
37
37
  -----END CERTIFICATE-----
38
- date: 2021-01-29 00:00:00.000000000 Z
38
+ date: 2021-01-30 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: dir-to-xml
metadata.gz.sig CHANGED
Binary file