jekyll-rp_logs 0.1.3

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 (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
+ }