File: markdown.watchr

package info (click to toggle)
ruby-nanotest 0.9.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 108 kB
  • ctags: 15
  • sloc: ruby: 123; makefile: 3
file content (38 lines) | stat: -rwxr-xr-x 891 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env watchr

require 'pathname'
require 'rdiscount'
# --------------------------------------------------
# Helpers
# --------------------------------------------------
class ::String
  def md2html
    RDiscount.new(self).to_html
  end
  def save_as(path)
    Pathname(path).open('w') {|f| f << self }
  end
end

default_action do
  md   = Pathname('README.md').expand_path
  html = Pathname('doc/README.html').expand_path

  puts "Translating #{md.basename} (file://#{html})"
  md.read.md2html.save_as(html)
end

# --------------------------------------------------
# Watchr Rules
# --------------------------------------------------
watch( '^README\.md' )

# --------------------------------------------------
# Signal Handling
# --------------------------------------------------
# Ctrl-\
Signal.trap('QUIT') { default_action.call }

# Ctrl-C
Signal.trap('INT') { abort("\n") }