dropcaster 0.0.6 → 1.2.0
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.
- checksums.yaml +5 -5
- data/.gemnasium.yml +1 -0
- data/.gitignore +12 -14
- data/.rubocop.yml +34 -0
- data/.ruby-version +1 -0
- data/.travis.yml +20 -5
- data/CONTRIBUTING.md +18 -0
- data/Dockerfile +4 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +309 -65
- data/Guardfile +8 -6
- data/LICENSE.txt +1 -1
- data/README.markdown +43 -37
- data/Rakefile +46 -2
- data/{TODO → TODO.markdown} +0 -0
- data/VISION.markdown +52 -18
- data/Vagrantfile +10 -0
- data/bin/dropcaster +57 -53
- data/bin/lstags +29 -28
- data/dropcaster.gemspec +31 -20
- data/lib/dropcaster.rb +2 -15
- data/lib/dropcaster/channel.rb +54 -43
- data/lib/dropcaster/channel_file_locator.rb +8 -5
- data/lib/dropcaster/contributors.rb +39 -0
- data/lib/dropcaster/errors.rb +6 -4
- data/lib/dropcaster/item.rb +20 -14
- data/lib/dropcaster/log_formatter.rb +10 -0
- data/lib/dropcaster/logging.rb +13 -0
- data/lib/dropcaster/version.rb +3 -1
- data/templates/channel.html.erb +3 -6
- data/templates/channel.rss.erb +6 -5
- data/test/Vagrantfile +3 -1
- data/test/bin/vagrant-status +37 -31
- data/test/extensions/windows.rb +3 -1
- data/test/fixtures/extension.MP3 +0 -0
- data/test/fixtures/special &.mp3 +0 -0
- data/test/fixtures/test_template.json.erb +3 -4
- data/test/helper.rb +4 -1
- data/test/unit/test_app.rb +29 -24
- data/test/unit/test_channel.rb +9 -5
- data/test/unit/test_channel_locator.rb +8 -5
- data/test/unit/test_channel_xml.rb +29 -9
- data/test/unit/{test_item.rb → test_itunes_item.rb} +5 -6
- data/website/.gitignore +2 -0
- data/website/README.markdown +8 -0
- data/website/_config.yml +14 -0
- data/website/_front_matter/contributing.yaml +5 -0
- data/website/_front_matter/index.yaml +3 -0
- data/website/_front_matter/vision.yaml +5 -0
- data/website/_includes/footer.html +55 -0
- data/website/_includes/head.html +11 -0
- data/website/_includes/header.html +27 -0
- data/website/_layouts/default.html +20 -0
- data/website/_layouts/page.html +14 -0
- data/website/_layouts/post.html +15 -0
- data/website/_sass/_base.scss +204 -0
- data/website/_sass/_layout.scss +236 -0
- data/website/_sass/_syntax-highlighting.scss +67 -0
- data/website/css/main.scss +49 -0
- data/website/deploy.sh +23 -0
- data/website/feed.xml +30 -0
- metadata +150 -23
@@ -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
|
+
}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/**
|
2
|
+
* Syntax highlighting styles
|
3
|
+
*/
|
4
|
+
.highlight {
|
5
|
+
background: #fff;
|
6
|
+
@extend %vertical-rhythm;
|
7
|
+
|
8
|
+
.c { color: #998; font-style: italic } // Comment
|
9
|
+
.err { color: #a61717; background-color: #e3d2d2 } // Error
|
10
|
+
.k { font-weight: bold } // Keyword
|
11
|
+
.o { font-weight: bold } // Operator
|
12
|
+
.cm { color: #998; font-style: italic } // Comment.Multiline
|
13
|
+
.cp { color: #999; font-weight: bold } // Comment.Preproc
|
14
|
+
.c1 { color: #998; font-style: italic } // Comment.Single
|
15
|
+
.cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
|
16
|
+
.gd { color: #000; background-color: #fdd } // Generic.Deleted
|
17
|
+
.gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
|
18
|
+
.ge { font-style: italic } // Generic.Emph
|
19
|
+
.gr { color: #a00 } // Generic.Error
|
20
|
+
.gh { color: #999 } // Generic.Heading
|
21
|
+
.gi { color: #000; background-color: #dfd } // Generic.Inserted
|
22
|
+
.gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
|
23
|
+
.go { color: #888 } // Generic.Output
|
24
|
+
.gp { color: #555 } // Generic.Prompt
|
25
|
+
.gs { font-weight: bold } // Generic.Strong
|
26
|
+
.gu { color: #aaa } // Generic.Subheading
|
27
|
+
.gt { color: #a00 } // Generic.Traceback
|
28
|
+
.kc { font-weight: bold } // Keyword.Constant
|
29
|
+
.kd { font-weight: bold } // Keyword.Declaration
|
30
|
+
.kp { font-weight: bold } // Keyword.Pseudo
|
31
|
+
.kr { font-weight: bold } // Keyword.Reserved
|
32
|
+
.kt { color: #458; font-weight: bold } // Keyword.Type
|
33
|
+
.m { color: #099 } // Literal.Number
|
34
|
+
.s { color: #d14 } // Literal.String
|
35
|
+
.na { color: #008080 } // Name.Attribute
|
36
|
+
.nb { color: #0086B3 } // Name.Builtin
|
37
|
+
.nc { color: #458; font-weight: bold } // Name.Class
|
38
|
+
.no { color: #008080 } // Name.Constant
|
39
|
+
.ni { color: #800080 } // Name.Entity
|
40
|
+
.ne { color: #900; font-weight: bold } // Name.Exception
|
41
|
+
.nf { color: #900; font-weight: bold } // Name.Function
|
42
|
+
.nn { color: #555 } // Name.Namespace
|
43
|
+
.nt { color: #000080 } // Name.Tag
|
44
|
+
.nv { color: #008080 } // Name.Variable
|
45
|
+
.ow { font-weight: bold } // Operator.Word
|
46
|
+
.w { color: #bbb } // Text.Whitespace
|
47
|
+
.mf { color: #099 } // Literal.Number.Float
|
48
|
+
.mh { color: #099 } // Literal.Number.Hex
|
49
|
+
.mi { color: #099 } // Literal.Number.Integer
|
50
|
+
.mo { color: #099 } // Literal.Number.Oct
|
51
|
+
.sb { color: #d14 } // Literal.String.Backtick
|
52
|
+
.sc { color: #d14 } // Literal.String.Char
|
53
|
+
.sd { color: #d14 } // Literal.String.Doc
|
54
|
+
.s2 { color: #d14 } // Literal.String.Double
|
55
|
+
.se { color: #d14 } // Literal.String.Escape
|
56
|
+
.sh { color: #d14 } // Literal.String.Heredoc
|
57
|
+
.si { color: #d14 } // Literal.String.Interpol
|
58
|
+
.sx { color: #d14 } // Literal.String.Other
|
59
|
+
.sr { color: #009926 } // Literal.String.Regex
|
60
|
+
.s1 { color: #d14 } // Literal.String.Single
|
61
|
+
.ss { color: #990073 } // Literal.String.Symbol
|
62
|
+
.bp { color: #999 } // Name.Builtin.Pseudo
|
63
|
+
.vc { color: #008080 } // Name.Variable.Class
|
64
|
+
.vg { color: #008080 } // Name.Variable.Global
|
65
|
+
.vi { color: #008080 } // Name.Variable.Instance
|
66
|
+
.il { color: #099 } // Literal.Number.Integer.Long
|
67
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
# Only the main Sass file needs front matter (the dashes are enough)
|
3
|
+
---
|
4
|
+
@charset "utf-8";
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
// Our variables
|
9
|
+
$base-font-family: Helvetica, Arial, sans-serif;
|
10
|
+
$base-font-size: 16px;
|
11
|
+
$small-font-size: $base-font-size * 0.875;
|
12
|
+
$base-line-height: 1.5;
|
13
|
+
|
14
|
+
$spacing-unit: 30px;
|
15
|
+
|
16
|
+
$text-color: #111;
|
17
|
+
$background-color: #fdfdfd;
|
18
|
+
$brand-color: #2a7ae2;
|
19
|
+
|
20
|
+
$grey-color: #828282;
|
21
|
+
$grey-color-light: lighten($grey-color, 40%);
|
22
|
+
$grey-color-dark: darken($grey-color, 25%);
|
23
|
+
|
24
|
+
$on-palm: 600px;
|
25
|
+
$on-laptop: 800px;
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
// Using media queries with like this:
|
30
|
+
// @include media-query($palm) {
|
31
|
+
// .wrapper {
|
32
|
+
// padding-right: $spacing-unit / 2;
|
33
|
+
// padding-left: $spacing-unit / 2;
|
34
|
+
// }
|
35
|
+
// }
|
36
|
+
@mixin media-query($device) {
|
37
|
+
@media screen and (max-width: $device) {
|
38
|
+
@content;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
// Import partials from `sass_dir` (defaults to `_sass`)
|
45
|
+
@import
|
46
|
+
"base",
|
47
|
+
"layout",
|
48
|
+
"syntax-highlighting"
|
49
|
+
;
|
data/website/deploy.sh
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -o errexit -o nounset
|
4
|
+
|
5
|
+
rev=$(git rev-parse --short HEAD)
|
6
|
+
|
7
|
+
cd website/_site
|
8
|
+
|
9
|
+
git init
|
10
|
+
git config user.name "Nicholas E. Rabenau"
|
11
|
+
git config user.email "nerab@gmx.at"
|
12
|
+
|
13
|
+
git remote add upstream "https://$GH_TOKEN@github.com/nerab/dropcaster.git"
|
14
|
+
git fetch upstream
|
15
|
+
git reset upstream/gh-pages
|
16
|
+
|
17
|
+
# echo "dropcaster.net" > CNAME
|
18
|
+
|
19
|
+
touch .
|
20
|
+
|
21
|
+
git add -A .
|
22
|
+
git commit -m "rebuild pages at ${rev}"
|
23
|
+
git push -q upstream HEAD:gh-pages
|
data/website/feed.xml
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
layout: null
|
3
|
+
---
|
4
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
5
|
+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
6
|
+
<channel>
|
7
|
+
<title>{{ site.title | xml_escape }}</title>
|
8
|
+
<description>{{ site.description | xml_escape }}</description>
|
9
|
+
<link>{{ site.url }}{{ site.baseurl }}/</link>
|
10
|
+
<atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml" />
|
11
|
+
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
|
12
|
+
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
|
13
|
+
<generator>Jekyll v{{ jekyll.version }}</generator>
|
14
|
+
{% for post in site.posts limit:10 %}
|
15
|
+
<item>
|
16
|
+
<title>{{ post.title | xml_escape }}</title>
|
17
|
+
<description>{{ post.content | xml_escape }}</description>
|
18
|
+
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
|
19
|
+
<link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
|
20
|
+
<guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
|
21
|
+
{% for tag in post.tags %}
|
22
|
+
<category>{{ tag | xml_escape }}</category>
|
23
|
+
{% endfor %}
|
24
|
+
{% for cat in post.categories %}
|
25
|
+
<category>{{ cat | xml_escape }}</category>
|
26
|
+
{% endfor %}
|
27
|
+
</item>
|
28
|
+
{% endfor %}
|
29
|
+
</channel>
|
30
|
+
</rss>
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dropcaster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas E. Rabenau
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: nokogiri
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,49 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: null-logger
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: ruby-mp3info
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.1'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.1'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: faraday
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
58
100
|
requirements:
|
59
101
|
- - ">="
|
@@ -67,7 +109,7 @@ dependencies:
|
|
67
109
|
- !ruby/object:Gem::Version
|
68
110
|
version: '0'
|
69
111
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
112
|
+
name: github-pages
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
72
114
|
requirements:
|
73
115
|
- - ">="
|
@@ -81,7 +123,7 @@ dependencies:
|
|
81
123
|
- !ruby/object:Gem::Version
|
82
124
|
version: '0'
|
83
125
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
126
|
+
name: guard-bundler
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
86
128
|
requirements:
|
87
129
|
- - ">="
|
@@ -109,7 +151,7 @@ dependencies:
|
|
109
151
|
- !ruby/object:Gem::Version
|
110
152
|
version: '0'
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
154
|
+
name: libnotify
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
157
|
- - ">="
|
@@ -123,7 +165,7 @@ dependencies:
|
|
123
165
|
- !ruby/object:Gem::Version
|
124
166
|
version: '0'
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
168
|
+
name: libxml-ruby
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
171
|
- - ">="
|
@@ -137,7 +179,7 @@ dependencies:
|
|
137
179
|
- !ruby/object:Gem::Version
|
138
180
|
version: '0'
|
139
181
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
182
|
+
name: minitest
|
141
183
|
requirement: !ruby/object:Gem::Requirement
|
142
184
|
requirements:
|
143
185
|
- - ">="
|
@@ -151,7 +193,7 @@ dependencies:
|
|
151
193
|
- !ruby/object:Gem::Version
|
152
194
|
version: '0'
|
153
195
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
196
|
+
name: octokit
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
156
198
|
requirements:
|
157
199
|
- - ">="
|
@@ -179,7 +221,63 @@ dependencies:
|
|
179
221
|
- !ruby/object:Gem::Version
|
180
222
|
version: '0'
|
181
223
|
- !ruby/object:Gem::Dependency
|
182
|
-
name: pry-
|
224
|
+
name: pry-byebug
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rake
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rb-fsevent
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: rb-inotify
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: rubocop-minitest
|
183
281
|
requirement: !ruby/object:Gem::Requirement
|
184
282
|
requirements:
|
185
283
|
- - ">="
|
@@ -193,7 +291,7 @@ dependencies:
|
|
193
291
|
- !ruby/object:Gem::Version
|
194
292
|
version: '0'
|
195
293
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
294
|
+
name: rubocop-rake
|
197
295
|
requirement: !ruby/object:Gem::Requirement
|
198
296
|
requirements:
|
199
297
|
- - ">="
|
@@ -207,7 +305,7 @@ dependencies:
|
|
207
305
|
- !ruby/object:Gem::Version
|
208
306
|
version: '0'
|
209
307
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
308
|
+
name: rubocop
|
211
309
|
requirement: !ruby/object:Gem::Requirement
|
212
310
|
requirements:
|
213
311
|
- - ">="
|
@@ -231,16 +329,22 @@ extensions: []
|
|
231
329
|
extra_rdoc_files: []
|
232
330
|
files:
|
233
331
|
- ".document"
|
332
|
+
- ".gemnasium.yml"
|
234
333
|
- ".gitignore"
|
334
|
+
- ".rubocop.yml"
|
335
|
+
- ".ruby-version"
|
235
336
|
- ".travis.yml"
|
337
|
+
- CONTRIBUTING.md
|
338
|
+
- Dockerfile
|
236
339
|
- Gemfile
|
237
340
|
- Gemfile.lock
|
238
341
|
- Guardfile
|
239
342
|
- LICENSE.txt
|
240
343
|
- README.markdown
|
241
344
|
- Rakefile
|
242
|
-
- TODO
|
345
|
+
- TODO.markdown
|
243
346
|
- VISION.markdown
|
347
|
+
- Vagrantfile
|
244
348
|
- bin/dropcaster
|
245
349
|
- bin/lstags
|
246
350
|
- doc/infoPane.png
|
@@ -252,9 +356,11 @@ files:
|
|
252
356
|
- lib/dropcaster.rb
|
253
357
|
- lib/dropcaster/channel.rb
|
254
358
|
- lib/dropcaster/channel_file_locator.rb
|
359
|
+
- lib/dropcaster/contributors.rb
|
255
360
|
- lib/dropcaster/errors.rb
|
256
361
|
- lib/dropcaster/item.rb
|
257
362
|
- lib/dropcaster/log_formatter.rb
|
363
|
+
- lib/dropcaster/logging.rb
|
258
364
|
- lib/dropcaster/version.rb
|
259
365
|
- templates/channel.html.erb
|
260
366
|
- templates/channel.rss.erb
|
@@ -263,7 +369,9 @@ files:
|
|
263
369
|
- test/bin/vagrant-status
|
264
370
|
- test/extensions/windows.rb
|
265
371
|
- test/fixtures/channel.yml
|
372
|
+
- test/fixtures/extension.MP3
|
266
373
|
- test/fixtures/iTunes.mp3
|
374
|
+
- test/fixtures/special &.mp3
|
267
375
|
- test/fixtures/status.csv
|
268
376
|
- test/fixtures/test_template.json.erb
|
269
377
|
- test/helper.rb
|
@@ -271,12 +379,30 @@ files:
|
|
271
379
|
- test/unit/test_channel.rb
|
272
380
|
- test/unit/test_channel_locator.rb
|
273
381
|
- test/unit/test_channel_xml.rb
|
274
|
-
- test/unit/
|
382
|
+
- test/unit/test_itunes_item.rb
|
383
|
+
- website/.gitignore
|
384
|
+
- website/README.markdown
|
385
|
+
- website/_config.yml
|
386
|
+
- website/_front_matter/contributing.yaml
|
387
|
+
- website/_front_matter/index.yaml
|
388
|
+
- website/_front_matter/vision.yaml
|
389
|
+
- website/_includes/footer.html
|
390
|
+
- website/_includes/head.html
|
391
|
+
- website/_includes/header.html
|
392
|
+
- website/_layouts/default.html
|
393
|
+
- website/_layouts/page.html
|
394
|
+
- website/_layouts/post.html
|
395
|
+
- website/_sass/_base.scss
|
396
|
+
- website/_sass/_layout.scss
|
397
|
+
- website/_sass/_syntax-highlighting.scss
|
398
|
+
- website/css/main.scss
|
399
|
+
- website/deploy.sh
|
400
|
+
- website/feed.xml
|
275
401
|
homepage: https://github.com/nerab/dropcaster
|
276
402
|
licenses:
|
277
403
|
- MIT
|
278
404
|
metadata: {}
|
279
|
-
post_install_message:
|
405
|
+
post_install_message:
|
280
406
|
rdoc_options: []
|
281
407
|
require_paths:
|
282
408
|
- lib
|
@@ -291,9 +417,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
417
|
- !ruby/object:Gem::Version
|
292
418
|
version: '0'
|
293
419
|
requirements: []
|
294
|
-
|
295
|
-
|
296
|
-
signing_key:
|
420
|
+
rubygems_version: 3.2.15
|
421
|
+
signing_key:
|
297
422
|
specification_version: 4
|
298
423
|
summary: Simple Podcast Publishing with Dropbox
|
299
424
|
test_files:
|
@@ -302,7 +427,9 @@ test_files:
|
|
302
427
|
- test/bin/vagrant-status
|
303
428
|
- test/extensions/windows.rb
|
304
429
|
- test/fixtures/channel.yml
|
430
|
+
- test/fixtures/extension.MP3
|
305
431
|
- test/fixtures/iTunes.mp3
|
432
|
+
- test/fixtures/special &.mp3
|
306
433
|
- test/fixtures/status.csv
|
307
434
|
- test/fixtures/test_template.json.erb
|
308
435
|
- test/helper.rb
|
@@ -310,4 +437,4 @@ test_files:
|
|
310
437
|
- test/unit/test_channel.rb
|
311
438
|
- test/unit/test_channel_locator.rb
|
312
439
|
- test/unit/test_channel_xml.rb
|
313
|
-
- test/unit/
|
440
|
+
- test/unit/test_itunes_item.rb
|