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.
- data/Gemfile +3 -0
- data/README.md +18 -0
- data/bin/org2daily +50 -0
- metadata +95 -0
data/Gemfile
ADDED
data/README.md
ADDED
@@ -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
|
data/bin/org2daily
ADDED
@@ -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: []
|