org2daily 0.0.1

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 (4) hide show
  1. data/Gemfile +3 -0
  2. data/README.md +18 -0
  3. data/bin/org2daily +50 -0
  4. metadata +95 -0
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+
3
+ gemspec
@@ -0,0 +1,18 @@
1
+ # Org2daily
2
+
3
+ Custom script to generate daily mail from an org file.
4
+
5
+ ## Usage
6
+
7
+ ./bin/org2daily <file> [--day <day>]
8
+
9
+ ## Examples
10
+
11
+
12
+ ./bin/org2daily daily.org
13
+
14
+ ./bin/org2daily daily.org --day 2
15
+
16
+ ## License
17
+
18
+ WTPL 2
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+ require 'org-ruby'
3
+ require 'optparse'
4
+
5
+ options = {}
6
+ parser = OptionParser.new do |opts|
7
+ opts.banner = "Usage: org2daily <file> [--day <day>]"
8
+
9
+ opts.on("--day [DAY]", Integer, "Select only one day") do |d|
10
+ options[:day] = d.to_i
11
+ end
12
+ end
13
+ parser.parse!
14
+
15
+ if ARGV[0]
16
+ content = File.read(ARGV[0], :encoding => 'utf-8')
17
+
18
+ parser = Orgmode::Parser.new(content)
19
+
20
+ def find_title(parser)
21
+ title = ""
22
+ parser.header_lines.each do |line|
23
+ if line.to_s =~ /^\#\+TITLE/
24
+ title = line.to_s.gsub(/^\#\+TITLE:/, '').strip!
25
+ break
26
+ end
27
+ end
28
+ title
29
+ end
30
+
31
+ def print_daily(title, headline, day)
32
+ puts "#{title} ##{day}"
33
+ puts headline.body_lines[1..headline.body_lines.length].join("\n")
34
+ end
35
+
36
+ title = find_title(parser)
37
+
38
+ if options[:day]
39
+ print_daily(title, parser.headlines[options[:day] - 1], options[:day])
40
+ else
41
+ parser.headlines.each_with_index do |headline, index|
42
+ print_daily(title, headline, index+1)
43
+ puts "-" * 40
44
+ end
45
+ end
46
+ exit(0)
47
+ else
48
+ puts parser.banner
49
+ exit(1)
50
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: org2daily
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - François de Metz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-21 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: org-ruby
16
+ requirement: &12105920 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.5.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *12105920
25
+ - !ruby/object:Gem::Dependency
26
+ name: minitest
27
+ requirement: &12105440 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *12105440
36
+ - !ruby/object:Gem::Dependency
37
+ name: bundler
38
+ requirement: &12105060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *12105060
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: &12104600 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *12104600
58
+ description: ! '
59
+
60
+ '
61
+ email: francois@2metz.fr
62
+ executables:
63
+ - org2daily
64
+ extensions: []
65
+ extra_rdoc_files:
66
+ - README.md
67
+ files:
68
+ - README.md
69
+ - Gemfile
70
+ - bin/org2daily
71
+ homepage: http://github.com/francois2metz/org2daily
72
+ licenses: []
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubyforge_project:
91
+ rubygems_version: 1.8.6
92
+ signing_key:
93
+ specification_version: 3
94
+ summary: ''
95
+ test_files: []