jekyll-rp_logs 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.gitmodules +3 -0
  4. data/.themes/default/source/_config.yml.default +51 -0
  5. data/.themes/default/source/_includes/footer.html +23 -0
  6. data/.themes/default/source/_includes/head.html +13 -0
  7. data/.themes/default/source/_includes/header.html +27 -0
  8. data/.themes/default/source/_includes/rp.html +19 -0
  9. data/.themes/default/source/_layouts/default.html +20 -0
  10. data/.themes/default/source/_layouts/page.html +14 -0
  11. data/.themes/default/source/_layouts/post.html +15 -0
  12. data/.themes/default/source/_layouts/rp.html +32 -0
  13. data/.themes/default/source/_layouts/tag_index.html +9 -0
  14. data/.themes/default/source/_sass/_base.scss +204 -0
  15. data/.themes/default/source/_sass/_layout.scss +236 -0
  16. data/.themes/default/source/_sass/_rp.scss +142 -0
  17. data/.themes/default/source/_sass/_syntax-highlighting.scss +67 -0
  18. data/.themes/default/source/arcs.html +22 -0
  19. data/.themes/default/source/css/main.scss +64 -0
  20. data/.themes/default/source/index.html +23 -0
  21. data/.themes/default/source/js/toggle_ooc.js +93 -0
  22. data/Gemfile +4 -0
  23. data/LICENSE +22 -0
  24. data/README.md +92 -0
  25. data/Rakefile +8 -0
  26. data/bin/console +14 -0
  27. data/bin/setup +7 -0
  28. data/jekyll-rp_logs.gemspec +30 -0
  29. data/lib/jekyll/rp_logs/parse_irssi_xchat.rb +47 -0
  30. data/lib/jekyll/rp_logs/parse_weechat.rb +46 -0
  31. data/lib/jekyll/rp_logs/rp_arcs.rb +69 -0
  32. data/lib/jekyll/rp_logs/rp_log_converter.rb +202 -0
  33. data/lib/jekyll/rp_logs/rp_parser.rb +114 -0
  34. data/lib/jekyll/rp_logs/rp_tag_index.rb +56 -0
  35. data/lib/jekyll/rp_logs/rp_tags.rb +107 -0
  36. data/lib/jekyll/rp_logs/rp_tasks.rb +57 -0
  37. data/lib/jekyll/rp_logs/version.rb +5 -0
  38. data/lib/jekyll/rp_logs.rb +18 -0
  39. metadata +123 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 974c0aa62a5a2ceab9fbf0790293b4b16e7c66a7
4
+ data.tar.gz: 60b6f529206fcdcbc29d841a246955029448380b
5
+ SHA512:
6
+ metadata.gz: 01e79a663db414f7e15eb978e911904966d490653a8b7de7e1f4a260b46d05e3dfc84019f0213312bdd53ae4d96bc2da4b4c4465bb45364900841d863776462c
7
+ data.tar.gz: 402bfbd31196ffc7b6ed4b7922e8610f112626f0cb16409eba6746462cd8cefea2bd3dd51921dd0a27274cc770454119c0e145a28630efebac18f13a7d692583
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "_plugins/.jekyll-page-collections"]
2
+ path = _plugins/.jekyll-page-collections
3
+ url = git@github.com:jeffkole/jekyll-page-collections.git
@@ -0,0 +1,51 @@
1
+ # Site settings
2
+ title: Your awesome title
3
+ description: > # this means to ignore newlines until "baseurl:"
4
+ Write an awesome description for your new site here. You can edit this
5
+ line in _config.yml. It will appear in your document head meta (for
6
+ Google search results) and in your feed.xml site description.
7
+ baseurl: "" # the subpath of your site, e.g. /rps
8
+ url: "http://yourdomain.com" # the base hostname & protocol for your site
9
+
10
+ # Change this to where Jekyll should output the built site.
11
+ # ***WARNING***: Anything in this directory will be DELETED whenever Jekyll
12
+ # rebuilds the site!
13
+ destination: _site
14
+
15
+ # Build settings
16
+ markdown: kramdown
17
+ exclude:
18
+ - LICENSE
19
+ - README.md
20
+
21
+ permalink: pretty
22
+
23
+ rp_convert: true
24
+
25
+ rp_tag_index: true
26
+ rp_tag_dir: /tags
27
+ rp_tag_index_layout: tag_index
28
+ rp_tag_title_prefix: "RPs tagged "
29
+
30
+ collections:
31
+ # The RPs must be in a directory named exactly this, prefixed by an underscore.
32
+ # So by default: _rps/
33
+ # If you change this, you also need to change the collection key name in rp_log_converter.rb
34
+ rps:
35
+ output: true
36
+
37
+ defaults:
38
+ -
39
+ scope:
40
+ path: ""
41
+ type: rps # Needs to have the same name as the collection above
42
+ values:
43
+ canon: false
44
+ complete: false
45
+ format: [weechat]
46
+ infer_char_tags: true
47
+ layout: rp
48
+ merge_text_into_rp: []
49
+ permalink: /:path/
50
+ rp_tags: ""
51
+ strict_ooc: false
@@ -0,0 +1,23 @@
1
+ <footer class="site-footer">
2
+
3
+ <div class="wrapper">
4
+
5
+ <h2 class="footer-heading">{{ site.title }}</h2>
6
+
7
+ <div class="footer-col-wrapper">
8
+ <div class="footer-col footer-col-1">
9
+
10
+ </div>
11
+
12
+ <div class="footer-col footer-col-2">
13
+
14
+ </div>
15
+
16
+ <div class="footer-col footer-col-3">
17
+ <p class="text">{{ site.description }}</p>
18
+ </div>
19
+ </div>
20
+
21
+ </div>
22
+
23
+ </footer>
@@ -0,0 +1,13 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+
6
+ <title>{% if page.title %} {{ page.title }} | {% endif %} {{ site.title }}</title>
7
+ <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
8
+
9
+ <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
10
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
11
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
12
+ <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
13
+ </head>
@@ -0,0 +1,27 @@
1
+ <header class="site-header">
2
+
3
+ <div class="wrapper">
4
+
5
+ <a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
6
+
7
+ <nav class="site-nav">
8
+ <a href="#" class="menu-icon">
9
+ <svg viewBox="0 0 18 15">
10
+ <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
11
+ <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
12
+ <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
13
+ </svg>
14
+ </a>
15
+
16
+ <div class="trigger">
17
+ {% for page in site.data['menu_pages'] %}
18
+ {% if page.title %}
19
+ <a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a>
20
+ {% endif %}
21
+ {% endfor %}
22
+ </div>
23
+ </nav>
24
+
25
+ </div>
26
+
27
+ </header>
@@ -0,0 +1,19 @@
1
+ <li>
2
+ <div class="rp-entry-container">
3
+ <a class="rp-entry" href="{{ site.baseurl }}{{ include.rp.url }}">
4
+ <h4 class="rp-title">{{ include.rp.title }}</h4>
5
+ </a>
6
+ <div class="rp-metadata-container">
7
+ {% if include.rp.complete %}
8
+ <span class="rp-completion rp-complete fa fa-check" title="Complete"></span>
9
+ {% else %}
10
+ <span class="rp-completion rp-incomplete fa fa-times" title="Incomplete"></span>
11
+ {% endif %}
12
+ <span class="rp-start-date">{{ include.rp.start_date | date: "%F" }} &mdash;</span>
13
+ <span class="rp-end-date">{{ include.rp.end_date | date: "%F" }}</span>
14
+ </div>
15
+ </div>
16
+ {% for t in include.rp.rp_tags %}
17
+ <a href="{{ site.baseurl }}{{ site.rp_tag_dir }}/{{ t.dir }}" class="rp-tag {{t.classes}}">{{ t.name }}</a>
18
+ {% endfor %}
19
+ </li>
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ {% include head.html %}
5
+
6
+ <body>
7
+
8
+ {% include header.html %}
9
+
10
+ <div class="page-content">
11
+ <div class="wrapper">
12
+ {{ content }}
13
+ </div>
14
+ </div>
15
+
16
+ {% include footer.html %}
17
+
18
+ </body>
19
+
20
+ </html>
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post">
5
+
6
+ <header class="post-header">
7
+ <h1 class="post-title">{{ page.title }}</h1>
8
+ </header>
9
+
10
+ <article class="post-content">
11
+ {{ content }}
12
+ </article>
13
+
14
+ </div>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post">
5
+
6
+ <header class="post-header">
7
+ <h1 class="post-title">{{ page.title }}</h1>
8
+ <p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
9
+ </header>
10
+
11
+ <article class="post-content">
12
+ {{ content }}
13
+ </article>
14
+
15
+ </div>
@@ -0,0 +1,32 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
6
+
7
+ <div class="post">
8
+
9
+ <header class="post-header">
10
+ <h1 class="post-title">{{ page.title }}</h1>
11
+ </header>
12
+
13
+ <article class="post-content">
14
+ {% if page.start_date %}<p>Started {{ page.start_date | date: "%-d %B %Y" }}</p>{% endif %}
15
+
16
+
17
+ <nav id="fixed_menu" class="scroll-nav">
18
+ <label id="ooc_label"><input type="checkbox" id="ooc_toggle" checked>Show OOC</input></label>
19
+ <a href="#bottom">Bottom</a>
20
+ <a href="#">Top</a>
21
+ </nav>
22
+
23
+ <div id="log">
24
+ {{ content }}
25
+ </div>
26
+ </article>
27
+
28
+ </div>
29
+
30
+ <a name="bottom"></a>
31
+
32
+ <script type="text/javascript" src="{{site.baseurl}}/js/toggle_ooc.js"></script>
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+
5
+ <ul class="rp-list">
6
+ {% for rp in page.pages %}
7
+ {% include rp.html rp=rp %}
8
+ {% endfor %}
9
+ </ul>
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Reset some basic elements
3
+ */
4
+ body, h1, h2, h3, h4, h5, h6,
5
+ p, blockquote, pre, hr,
6
+ dl, dd, ol, ul, figure {
7
+ margin: 0;
8
+ padding: 0;
9
+ }
10
+
11
+
12
+
13
+ /**
14
+ * Basic styling
15
+ */
16
+ body {
17
+ font-family: $base-font-family;
18
+ font-size: $base-font-size;
19
+ line-height: $base-line-height;
20
+ font-weight: 300;
21
+ color: $text-color;
22
+ background-color: $background-color;
23
+ -webkit-text-size-adjust: 100%;
24
+ }
25
+
26
+
27
+
28
+ /**
29
+ * Set `margin-bottom` to maintain vertical rhythm
30
+ */
31
+ h1, h2, h3, h4, h5, h6,
32
+ p, blockquote, pre,
33
+ ul, ol, dl, figure,
34
+ %vertical-rhythm {
35
+ margin-bottom: $spacing-unit / 2;
36
+ }
37
+
38
+
39
+
40
+ /**
41
+ * Images
42
+ */
43
+ img {
44
+ max-width: 100%;
45
+ vertical-align: middle;
46
+ }
47
+
48
+
49
+
50
+ /**
51
+ * Figures
52
+ */
53
+ figure > img {
54
+ display: block;
55
+ }
56
+
57
+ figcaption {
58
+ font-size: $small-font-size;
59
+ }
60
+
61
+
62
+
63
+ /**
64
+ * Lists
65
+ */
66
+ ul, ol {
67
+ margin-left: $spacing-unit;
68
+ }
69
+
70
+ li {
71
+ > ul,
72
+ > ol {
73
+ margin-bottom: 0;
74
+ }
75
+ }
76
+
77
+
78
+
79
+ /**
80
+ * Headings
81
+ */
82
+ h1, h2, h3, h4, h5, h6 {
83
+ font-weight: 300;
84
+ }
85
+
86
+
87
+
88
+ /**
89
+ * Links
90
+ */
91
+ a {
92
+ color: $brand-color;
93
+ text-decoration: none;
94
+
95
+ &:visited {
96
+ // color: darken($brand-color, 15%);
97
+ color: $link-visited;
98
+ }
99
+
100
+ &:hover {
101
+ color: $link-hover;
102
+ }
103
+ }
104
+
105
+
106
+
107
+ /**
108
+ * Blockquotes
109
+ */
110
+ blockquote {
111
+ color: $grey-color;
112
+ border-left: 4px solid $grey-color-light;
113
+ padding-left: $spacing-unit / 2;
114
+ font-size: 18px;
115
+ letter-spacing: -1px;
116
+ font-style: italic;
117
+
118
+ > :last-child {
119
+ margin-bottom: 0;
120
+ }
121
+ }
122
+
123
+
124
+
125
+ /**
126
+ * Code formatting
127
+ */
128
+ pre,
129
+ code {
130
+ font-size: 15px;
131
+ border: 1px solid $grey-color-light;
132
+ border-radius: 3px;
133
+ background-color: #eef;
134
+ }
135
+
136
+ code {
137
+ padding: 1px 5px;
138
+ }
139
+
140
+ pre {
141
+ padding: 8px 12px;
142
+ overflow-x: scroll;
143
+
144
+ > code {
145
+ border: 0;
146
+ padding-right: 0;
147
+ padding-left: 0;
148
+ }
149
+ }
150
+
151
+
152
+
153
+ /**
154
+ * Wrapper
155
+ */
156
+ .wrapper {
157
+ max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
158
+ max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
159
+ margin-right: auto;
160
+ margin-left: auto;
161
+ padding-right: $spacing-unit;
162
+ padding-left: $spacing-unit;
163
+ @extend %clearfix;
164
+
165
+ @include media-query($on-laptop) {
166
+ max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
167
+ max-width: calc(#{$content-width} - (#{$spacing-unit}));
168
+ padding-right: $spacing-unit / 2;
169
+ padding-left: $spacing-unit / 2;
170
+ }
171
+ }
172
+
173
+
174
+
175
+ /**
176
+ * Clearfix
177
+ */
178
+ %clearfix {
179
+
180
+ &:after {
181
+ content: "";
182
+ display: table;
183
+ clear: both;
184
+ }
185
+ }
186
+
187
+
188
+
189
+ /**
190
+ * Icons
191
+ */
192
+ .icon {
193
+
194
+ > svg {
195
+ display: inline-block;
196
+ width: 16px;
197
+ height: 16px;
198
+ vertical-align: middle;
199
+
200
+ path {
201
+ fill: $grey-color;
202
+ }
203
+ }
204
+ }
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Site header
3
+ */
4
+ .site-header {
5
+ border-top: 5px solid $grey-color-dark;
6
+ border-bottom: 1px solid $grey-color-light;
7
+ min-height: 56px;
8
+
9
+ // Positioning context for the mobile navigation icon
10
+ position: relative;
11
+ }
12
+
13
+ .site-title {
14
+ font-size: 26px;
15
+ line-height: 56px;
16
+ letter-spacing: -1px;
17
+ margin-bottom: 0;
18
+ float: left;
19
+
20
+ &,
21
+ &:visited {
22
+ color: $grey-color-dark;
23
+ }
24
+ }
25
+
26
+ .site-nav {
27
+ float: right;
28
+ line-height: 56px;
29
+
30
+ .menu-icon {
31
+ display: none;
32
+ }
33
+
34
+ .page-link {
35
+ color: $text-color;
36
+ line-height: $base-line-height;
37
+
38
+ // Gaps between nav items, but not on the first one
39
+ &:not(:first-child) {
40
+ margin-left: 20px;
41
+ }
42
+ }
43
+
44
+ @include media-query($on-palm) {
45
+ position: absolute;
46
+ top: 9px;
47
+ right: 30px;
48
+ background-color: $background-color;
49
+ border: 1px solid $grey-color-light;
50
+ border-radius: 5px;
51
+ text-align: right;
52
+
53
+ .menu-icon {
54
+ display: block;
55
+ float: right;
56
+ width: 36px;
57
+ height: 26px;
58
+ line-height: 0;
59
+ padding-top: 10px;
60
+ text-align: center;
61
+
62
+ > svg {
63
+ width: 18px;
64
+ height: 15px;
65
+
66
+ path {
67
+ fill: $grey-color-dark;
68
+ }
69
+ }
70
+ }
71
+
72
+ .trigger {
73
+ clear: both;
74
+ display: none;
75
+ }
76
+
77
+ &:hover .trigger {
78
+ display: block;
79
+ padding-bottom: 5px;
80
+ }
81
+
82
+ .page-link {
83
+ display: block;
84
+ padding: 5px 10px;
85
+ }
86
+ }
87
+ }
88
+
89
+
90
+
91
+ /**
92
+ * Site footer
93
+ */
94
+ .site-footer {
95
+ border-top: 1px solid $grey-color-light;
96
+ padding: $spacing-unit 0;
97
+ }
98
+
99
+ .footer-heading {
100
+ font-size: 18px;
101
+ margin-bottom: $spacing-unit / 2;
102
+ }
103
+
104
+ .contact-list,
105
+ .social-media-list {
106
+ list-style: none;
107
+ margin-left: 0;
108
+ }
109
+
110
+ .footer-col-wrapper {
111
+ font-size: 15px;
112
+ color: $grey-color;
113
+ margin-left: -$spacing-unit / 2;
114
+ @extend %clearfix;
115
+ }
116
+
117
+ .footer-col {
118
+ float: left;
119
+ margin-bottom: $spacing-unit / 2;
120
+ padding-left: $spacing-unit / 2;
121
+ }
122
+
123
+ .footer-col-1 {
124
+ width: -webkit-calc(35% - (#{$spacing-unit} / 2));
125
+ width: calc(35% - (#{$spacing-unit} / 2));
126
+ }
127
+
128
+ .footer-col-2 {
129
+ width: -webkit-calc(20% - (#{$spacing-unit} / 2));
130
+ width: calc(20% - (#{$spacing-unit} / 2));
131
+ }
132
+
133
+ .footer-col-3 {
134
+ width: -webkit-calc(45% - (#{$spacing-unit} / 2));
135
+ width: calc(45% - (#{$spacing-unit} / 2));
136
+ }
137
+
138
+ @include media-query($on-laptop) {
139
+ .footer-col-1,
140
+ .footer-col-2 {
141
+ width: -webkit-calc(50% - (#{$spacing-unit} / 2));
142
+ width: calc(50% - (#{$spacing-unit} / 2));
143
+ }
144
+
145
+ .footer-col-3 {
146
+ width: -webkit-calc(100% - (#{$spacing-unit} / 2));
147
+ width: calc(100% - (#{$spacing-unit} / 2));
148
+ }
149
+ }
150
+
151
+ @include media-query($on-palm) {
152
+ .footer-col {
153
+ float: none;
154
+ width: -webkit-calc(100% - (#{$spacing-unit} / 2));
155
+ width: calc(100% - (#{$spacing-unit} / 2));
156
+ }
157
+ }
158
+
159
+
160
+
161
+ /**
162
+ * Page content
163
+ */
164
+ .page-content {
165
+ padding: $spacing-unit 0;
166
+ }
167
+
168
+ .page-heading {
169
+ font-size: 20px;
170
+ }
171
+
172
+ .post-list {
173
+ margin-left: 0;
174
+ list-style: none;
175
+
176
+ > li {
177
+ margin-bottom: $spacing-unit;
178
+ }
179
+ }
180
+
181
+ .post-meta {
182
+ font-size: $small-font-size;
183
+ color: $grey-color;
184
+ }
185
+
186
+ .post-link {
187
+ display: block;
188
+ font-size: 24px;
189
+ }
190
+
191
+
192
+
193
+ /**
194
+ * Posts
195
+ */
196
+ .post-header {
197
+ margin-bottom: $spacing-unit;
198
+ }
199
+
200
+ .post-title {
201
+ font-size: 42px;
202
+ letter-spacing: -1px;
203
+ line-height: 1;
204
+
205
+ @include media-query($on-laptop) {
206
+ font-size: 36px;
207
+ }
208
+ }
209
+
210
+ .post-content {
211
+ margin-bottom: $spacing-unit;
212
+
213
+ h2 {
214
+ font-size: 32px;
215
+
216
+ @include media-query($on-laptop) {
217
+ font-size: 28px;
218
+ }
219
+ }
220
+
221
+ h3 {
222
+ font-size: 26px;
223
+
224
+ @include media-query($on-laptop) {
225
+ font-size: 22px;
226
+ }
227
+ }
228
+
229
+ h4 {
230
+ font-size: 20px;
231
+
232
+ @include media-query($on-laptop) {
233
+ font-size: 18px;
234
+ }
235
+ }
236
+ }