jekyll-rp_logs 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.themes/default/source/css/main.scss +3 -1
- data/README.md +7 -2
- data/lib/jekyll/rp_logs/parse_irssi_xchat.rb +1 -1
- data/lib/jekyll/rp_logs/parse_mirc.rb +54 -0
- data/lib/jekyll/rp_logs/parse_skype_12hour.rb +56 -0
- data/lib/jekyll/rp_logs/parse_skype_24hour.rb +52 -0
- data/lib/jekyll/rp_logs/parse_weechat.rb +1 -1
- data/lib/jekyll/rp_logs/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d8c0a7252b47e5aefb5b071f407a808f41e2064
|
4
|
+
data.tar.gz: e7b63efff53e6e868228b1d4643506e0f626e2a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2dbc869400c1019e19664bd71bd696ee4b0518ef3fc72ff1fffaad9e7c230e0c79c877ae4e7b6bd3a5126c9d72154d64d3f6f8df8a9dba9047773a8ed72e09a7
|
7
|
+
data.tar.gz: 98f500d4b8eac3aee521c30745d8b937ef95f673b63cdf2861bcdaef84cd831538c5afec2f7530ad3ae4f1bc26edea26677802b50267d05de4086ffd384eac27
|
data/README.md
CHANGED
@@ -3,13 +3,18 @@
|
|
3
3
|
## Installation
|
4
4
|
|
5
5
|
### Bundler
|
6
|
-
|
6
|
+
Create a file named Gemfile with the following contents:
|
7
7
|
|
8
8
|
```ruby
|
9
|
+
source 'https://rubygems.org'
|
10
|
+
|
9
11
|
group :jekyll_plugins do
|
10
|
-
gem
|
12
|
+
gem "jekyll-rp_logs"
|
11
13
|
end
|
12
14
|
```
|
15
|
+
|
16
|
+
(If you already have a Gemfile, just add the three group lines instead.)
|
17
|
+
|
13
18
|
And then execute:
|
14
19
|
|
15
20
|
$ bundle
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module RpLogs
|
3
|
+
|
4
|
+
class MIRCParser < RpLogs::Parser
|
5
|
+
|
6
|
+
# Add this class to the parsing dictionary
|
7
|
+
FORMAT_STR = 'MIRC'
|
8
|
+
RpLogGenerator.add self
|
9
|
+
|
10
|
+
# Stuff
|
11
|
+
class << self
|
12
|
+
MODE = /([+%@&~!]?)/
|
13
|
+
NICK = /([\w\-\\\[\]\{\}\^\`\|]+)/
|
14
|
+
DATE_REGEXP = /(\d\d \d\d \d\d\[\d\d:\d\d\])/ #Remember to change this for your date format
|
15
|
+
#For example, this regex is for, mm dd yy[HH:nn] or 06 14 15[18:48]
|
16
|
+
#The default mirc date format is HH:nn
|
17
|
+
|
18
|
+
#Also make sure to change this - http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html
|
19
|
+
TIMESTAMP_FORMAT = '%m %d %y[%H:%M]'
|
20
|
+
#If you are using the default mirc format, this should be '[%H:%M]'
|
21
|
+
|
22
|
+
FLAGS = /((?:![A-Z]+ )*)/
|
23
|
+
# Crappy but works
|
24
|
+
# The ()?((?=\d{4})(\d\d))? bit of code is to remove the and two random numbers in front of lines.
|
25
|
+
#This assumes that you have a two digit date code stating your time stamp.
|
26
|
+
USER_AT_HOST = /\(\w+@[^)]+\)/
|
27
|
+
JUNK = /()?((?=\d{4})(\d\d))?#{DATE_REGEXP} \* #{MODE}#{NICK} (sets mode:|is now known as|(#{USER_AT_HOST} (has joined|Quit|has left))).*$/
|
28
|
+
EMOTE = /^#{FLAGS}()?((?=\d{4})(\d\d))?#{DATE_REGEXP}\s\*\s#{MODE}#{NICK}\s+([^\n]*)$/
|
29
|
+
TEXT = /^#{FLAGS}()?((?=\d{4})(\d\d))?#{DATE_REGEXP}\s<#{MODE}#{NICK}>\s([^\n]*)$/
|
30
|
+
|
31
|
+
def parse_line(line, options = {})
|
32
|
+
case line
|
33
|
+
when JUNK
|
34
|
+
nil
|
35
|
+
when EMOTE
|
36
|
+
date = DateTime.strptime($5, TIMESTAMP_FORMAT)
|
37
|
+
Parser::LogLine.new(date, options, sender: $7, contents: $8, \
|
38
|
+
flags: $1, type: :rp)
|
39
|
+
when TEXT
|
40
|
+
date = DateTime.strptime($5, TIMESTAMP_FORMAT)
|
41
|
+
mode = if $6 != '' then $6 else ' ' end
|
42
|
+
Parser::LogLine.new(date, options, sender: $7, contents: $8, \
|
43
|
+
flags: $1, type: :ooc, mode: mode)
|
44
|
+
else
|
45
|
+
# Only put text and emotes in the log
|
46
|
+
nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module RpLogs
|
3
|
+
|
4
|
+
class Skype12Parser < RpLogs::Parser #This is for the date format [6/12/2015 7:01:45 PM]
|
5
|
+
|
6
|
+
# Add this class to the parsing dictionary
|
7
|
+
FORMAT_STR = 'Skype12'
|
8
|
+
RpLogGenerator.add self
|
9
|
+
|
10
|
+
# Stuff
|
11
|
+
class << self
|
12
|
+
NICK = /([\w\-\\\[\]\{\}\^\`\|\s\'\)\(]+)/
|
13
|
+
DATE_REGEXP = /(\[\d?\d\/\d?\d\/\d\d\d\d\s\d?\d\:\d\d\:\d\d\s(AM|PM)\])/
|
14
|
+
FLAGS = /((?:![A-Z]+ )*)/
|
15
|
+
BAD_STUFF = /[^a-zA-Z\-\_]/
|
16
|
+
|
17
|
+
# Crappy but works
|
18
|
+
USER_AT_HOST = /\(\w+@[^)]+\)/
|
19
|
+
#Not needed? JUNK = /#{DATE_REGEXP} \* #{MODE}#{NICK} (sets mode:|is now known as|(#{USER_AT_HOST} (has joined|Quit|has left))).*$/
|
20
|
+
EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s(\4)([^\n]*)$/
|
21
|
+
TEXT = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s([^\n]*)$/
|
22
|
+
|
23
|
+
TIMESTAMP_FORMAT = '[%m/%d/%Y %I:%M:%S %p]'
|
24
|
+
|
25
|
+
def parse_line(line, options = {})
|
26
|
+
case line
|
27
|
+
#when JUNK
|
28
|
+
#nil
|
29
|
+
when EMOTE
|
30
|
+
print "1"
|
31
|
+
date = DateTime.strptime($2, TIMESTAMP_FORMAT)
|
32
|
+
contents = $6
|
33
|
+
flags = $1
|
34
|
+
sendername = $4.tr(' ', '-').gsub(BAD_STUFF, "")
|
35
|
+
Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
|
36
|
+
flags: flags, type: :rp)
|
37
|
+
when TEXT
|
38
|
+
print "2"
|
39
|
+
date = DateTime.strptime($2, TIMESTAMP_FORMAT)
|
40
|
+
contents = $5
|
41
|
+
flags = $1
|
42
|
+
sendername = $4.tr(' ', '-').gsub(BAD_STUFF, "")
|
43
|
+
Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
|
44
|
+
flags: flags, type: :ooc)
|
45
|
+
else
|
46
|
+
print "3"
|
47
|
+
# Only put text and emotes in the log
|
48
|
+
nil
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Jekyll
|
2
|
+
module RpLogs
|
3
|
+
|
4
|
+
class Skype24Parser < RpLogs::Parser #This is for the date format [05.06.15 10:58:47]
|
5
|
+
|
6
|
+
# Add this class to the parsing dictionary
|
7
|
+
FORMAT_STR = 'Skype24'
|
8
|
+
RpLogGenerator.add self
|
9
|
+
|
10
|
+
# Stuff
|
11
|
+
class << self
|
12
|
+
NICK = /([\w\-\\\[\]\{\}\^\`\|\s\']+)/
|
13
|
+
DATE_REGEXP = /(\[\d\d.\d\d.\d\d\s\d\d\:\d\d\:\d\d\])/
|
14
|
+
FLAGS = /((?:![A-Z]+ )*)/
|
15
|
+
BAD_STUFF = /[^a-zA-Z\-\_]/
|
16
|
+
# Crappy but works
|
17
|
+
USER_AT_HOST = /\(\w+@[^)]+\)/
|
18
|
+
#Not needed? JUNK = /#{DATE_REGEXP} \* #{MODE}#{NICK} (sets mode:|is now known as|(#{USER_AT_HOST} (has joined|Quit|has left))).*$/
|
19
|
+
EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s(\3)([^\n]*)$/
|
20
|
+
TEXT = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s([^\n]*)$/
|
21
|
+
|
22
|
+
TIMESTAMP_FORMAT = '[%d.%m.%y %H:%M:%S]'
|
23
|
+
|
24
|
+
def parse_line(line, options = {})
|
25
|
+
case line
|
26
|
+
# when JUNK
|
27
|
+
# nil
|
28
|
+
when EMOTE
|
29
|
+
date = DateTime.strptime($2, TIMESTAMP_FORMAT)
|
30
|
+
contents = $5
|
31
|
+
flags = $1
|
32
|
+
sendername = $3.tr(' ', '-').gsub(BAD_STUFF, "")
|
33
|
+
Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
|
34
|
+
flags: flags, type: :rp)
|
35
|
+
when TEXT
|
36
|
+
date = DateTime.strptime($2, TIMESTAMP_FORMAT)
|
37
|
+
contents = $4
|
38
|
+
flags = $1
|
39
|
+
sendername = $3.tr(' ', '-').gsub(BAD_STUFF, "")
|
40
|
+
Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
|
41
|
+
flags: flags, type: :ooc)
|
42
|
+
else
|
43
|
+
# Only put text and emotes in the log
|
44
|
+
nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-rp_logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anrodger
|
@@ -88,6 +88,9 @@ files:
|
|
88
88
|
- jekyll-rp_logs.gemspec
|
89
89
|
- lib/jekyll/rp_logs.rb
|
90
90
|
- lib/jekyll/rp_logs/parse_irssi_xchat.rb
|
91
|
+
- lib/jekyll/rp_logs/parse_mirc.rb
|
92
|
+
- lib/jekyll/rp_logs/parse_skype_12hour.rb
|
93
|
+
- lib/jekyll/rp_logs/parse_skype_24hour.rb
|
91
94
|
- lib/jekyll/rp_logs/parse_weechat.rb
|
92
95
|
- lib/jekyll/rp_logs/rp_arcs.rb
|
93
96
|
- lib/jekyll/rp_logs/rp_log_converter.rb
|