jekyll-theme-ascii 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a056f6fde734b986d5765566ac4ed0cd1212fdca949ebf778876de968e86c9e4
4
+ data.tar.gz: 42be832e50fadfcecc4270ef8a7acfef8ae12e832c73692a7cd9bd26bde50871
5
+ SHA512:
6
+ metadata.gz: 86fe6a4d6ec7c33f7c23dfe6a1b2453a876c2bda8cc5cd4a6452c32f65f19ef5d791f5a8e40c4712d40917724ba1729d931d19c972f5810bd21dc984142fe6cd
7
+ data.tar.gz: 6cd0e79e5e40855fa9046b7259ec5bc8705ab5deeea2238444637977a30c6ecab433925cb5b2da3bc42cf61927d34ab6aaa969e720cd540795a49177acf75031
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2022
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # jekyll-theme-ascii
2
+
3
+ Simple theme that relies mostly on ASCII characters. And maybe emojis :).
4
+
5
+
6
+ ## Installation
7
+
8
+ Add this line to your Jekyll site's `Gemfile`:
9
+
10
+ ```ruby
11
+ gem "jekyll-theme-ascii"
12
+ ```
13
+
14
+ And add this line to your Jekyll site's `_config.yml`:
15
+
16
+ ```yaml
17
+ theme: jekyll-theme-ascii
18
+ ```
19
+
20
+ For `github-pages` you must use the following line instead:
21
+
22
+ ```yaml
23
+ remote_theme: jekyll-theme-ascii
24
+ ```
25
+
26
+ Finally execute:
27
+
28
+ ```
29
+ bundle
30
+ ```
31
+
32
+ Or install it yourself as:
33
+
34
+ ```
35
+ gem install jekyll-theme-ascii
36
+ ```
37
+
38
+
39
+ ## License
40
+
41
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
42
+
data/_config.yml ADDED
@@ -0,0 +1,20 @@
1
+ title: Your awesome title
2
+ author:
3
+ name: GitHub User
4
+ email: your-email@domain.com
5
+ description: >
6
+ Write an awesome description for your new site here. You can edit this
7
+ line in _config.yml. It will appear in your document head meta (for
8
+ Google search results) and in your feed.xml site description.
9
+
10
+ show_excerpts: false
11
+
12
+ theme: jekyll-theme-ascii
13
+
14
+ plugins:
15
+ - jekyll-feed
16
+ - jekyll-seo-tag
17
+
18
+ header_pages:
19
+ - index.md
20
+ - about.md
@@ -0,0 +1,6 @@
1
+ {% comment %}
2
+ Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons:
3
+
4
+ 1. Head over to https://realfavicongenerator.net/ to add your own favicons.
5
+ 2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
6
+ {% endcomment %}
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ {{ site.author.name }}
3
+ </footer>
@@ -0,0 +1,9 @@
1
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
2
+ <script>
3
+ window['ga-disable-{{ site.google_analytics }}'] = window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1";
4
+ window.dataLayer = window.dataLayer || [];
5
+ function gtag(){window.dataLayer.push(arguments);}
6
+ gtag('js', new Date());
7
+
8
+ gtag('config', '{{ site.google_analytics }}');
9
+ </script>
@@ -0,0 +1,12 @@
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.0, maximum-scale=1.0, user-scalable=no" />
5
+ {%- seo -%}
6
+ <link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">
7
+ {%- feed_meta -%}
8
+ {%- if jekyll.environment == 'production' and site.google_analytics -%}
9
+ {%- include google-analytics.html -%}
10
+ {%- endif -%}
11
+ {%- include custom-head.html -%}
12
+ </head>
@@ -0,0 +1,15 @@
1
+ <header>
2
+ {%- assign default_paths = site.pages | map: "path" | sort -%}
3
+ {%- assign page_paths = site.header_pages | default: default_paths -%}
4
+ <div class="menu">
5
+ <ul>
6
+ <li class="site-title"><a href="/">{{ site.title | escape }}</a></li>
7
+ {%- for path in page_paths -%}
8
+ {%- assign my_page = site.pages | where: "path", path | first -%}
9
+ {%- if my_page.title -%}
10
+ <li><a href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a></li>
11
+ {%- endif -%}
12
+ {%- endfor -%}
13
+ </ul>
14
+ </div>
15
+ </header>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: " en" }}">
3
+ {%- include head.html -%}
4
+
5
+ <body>
6
+ {%- include header.html -%}
7
+ <main>
8
+ {{ content }}
9
+ </main>
10
+ {%- include footer.html -%}
11
+ </body>
12
+
13
+ </html>
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
6
+
7
+ {%- if site.posts.size > 0 -%}
8
+ <ul>
9
+ {%- for post in site.posts -%}
10
+ <li>
11
+ {%- assign date_format = "%Y-%m-%d" -%}
12
+ [ {{ post.date | date: date_format }} ] <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
13
+ </li>
14
+ {%- endfor -%}
15
+ </ul>
16
+ {%- endif -%}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <h1>{{ page.title }}</h1>
6
+ {%- assign date_format = "%Y-%m-%d" -%}
7
+ [ {{ page.date | date: date_format }} ]
8
+
9
+ {{ content }}
@@ -0,0 +1,193 @@
1
+ @charset "utf-8";
2
+
3
+ /* Fonts */
4
+ @import url('https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700');
5
+
6
+ /* Base */
7
+ body {
8
+ background-color: $bg-color;
9
+ color: $main-color;
10
+ font-family: 'Source Code Pro', monospace;
11
+ margin: 0 auto;
12
+ width: 90%;
13
+ max-width: 700px;
14
+ line-height: 2em;
15
+ font-size: 0.9em;
16
+ }
17
+
18
+ h1, h2, h3, h4, h5, h6 {
19
+ margin: 0px;
20
+ margin-top: 22px;
21
+ font-weight: bold;
22
+ color: $pop-color;
23
+ font-size: 1em;
24
+ }
25
+
26
+ p, ul, ol {
27
+ font-size: 1em;
28
+ color: $text-color;
29
+ }
30
+
31
+ a {
32
+ text-decoration: underline;
33
+ color: $alt-color;
34
+ }
35
+
36
+ a:hover {
37
+ color: $bg-color;
38
+ background-color: $alt-color;
39
+ }
40
+
41
+ .primary-text {
42
+ color: $main-color;
43
+ }
44
+
45
+ @media only screen and (max-device-width: 500px) {
46
+ * {
47
+ font-size: 12px !important;
48
+ }
49
+ }
50
+
51
+ b, strong {
52
+ color: $main-color;
53
+ }
54
+
55
+ .invert {
56
+ color: $bg-color;
57
+ background-color: $main-color;
58
+ padding-left: 3px;
59
+ padding-right: 3px;
60
+ padding-top: 1px;
61
+ padding-bottom: 1px;
62
+ }
63
+
64
+ /* Small font override */
65
+ body.large {
66
+ line-height: 2em;
67
+ font-size: 1em;
68
+ }
69
+
70
+ /* Layout */
71
+ .container {
72
+ margin-right: auto;
73
+ margin-left: auto;
74
+ }
75
+
76
+ p {
77
+ word-wrap: break-word;
78
+ word-break: break-word;
79
+ white-space: pre-wrap;
80
+ }
81
+
82
+ footer {
83
+ color: $text-color;
84
+ border-top: dashed 1px rgba(219, 219, 219, 0.9);
85
+ margin: 20px auto 15px;
86
+ padding-top: 10px;
87
+ text-align: right;
88
+ }
89
+
90
+ header {
91
+ margin-top: 25px;
92
+ margin-bottom: 10px;
93
+ }
94
+
95
+ header p {
96
+ text-align: left;
97
+ margin: 0;
98
+ }
99
+
100
+ footer {
101
+ margin-bottom: 20px;
102
+ }
103
+
104
+ img.home_header {
105
+ width: 100%;
106
+ margin-top: 5%;
107
+ margin-bottom: 5%;
108
+ }
109
+
110
+ img.detail_header {
111
+ width: 100%;
112
+ }
113
+
114
+ /* Lists */
115
+ :not(.menu) > ul {
116
+ list-style: none;
117
+ padding-left: 1em;
118
+ }
119
+
120
+ ul :not(.menu) > ul {
121
+ list-style: none;
122
+ padding-left: 3em;
123
+ margin-top: 0.5em;
124
+ margin-bottom: 0.7em;
125
+ }
126
+
127
+ :not(.menu) > ul {
128
+ list-style-type: none;
129
+ }
130
+
131
+ :not(.menu) > ul > li:before {
132
+ content: "-";
133
+ margin-right: 9px;
134
+ }
135
+
136
+ ul :not(.menu) > ul > li:before {
137
+ content: "*";
138
+ margin-right: 9px;
139
+ }
140
+
141
+ /* Navigation */
142
+ .menu {
143
+ border-top: dashed 1px rgba(219, 219, 219, 0.9);
144
+ border-bottom: dashed 1px rgba(219, 219, 219, 0.9);
145
+ margin-bottom: 25px;
146
+ }
147
+
148
+ .menu ul {
149
+ margin-top: 12px;
150
+ margin-bottom: 12px;
151
+ padding-left: 0px;
152
+ list-style-type: none;
153
+ text-align: right;
154
+ }
155
+
156
+ .menu ul li {
157
+ font-weight: bold;
158
+ display: inline;
159
+ margin-left: 10px;
160
+ }
161
+
162
+ .menu ul li a {
163
+ text-decoration: none;
164
+ color: $text-color;
165
+ }
166
+
167
+ .menu ul li a:hover {
168
+ text-decoration: none;
169
+ color: $bg-color;
170
+ background-color: $main-color;
171
+ }
172
+
173
+ .menu ul li.site-title {
174
+ text-align: left;
175
+ margin-left: 10px;
176
+ float: left;
177
+ color: $main-color
178
+ }
179
+
180
+ /* Error pages */
181
+ div.error_box {
182
+ margin: 100px;
183
+ text-align: center;
184
+ }
185
+
186
+ div.error_box h1 {
187
+ font-size: 2em;
188
+ }
189
+
190
+ *::selection {
191
+ background-color: $light-alt-color;
192
+ color: black;
193
+ }
@@ -0,0 +1,87 @@
1
+ @charset "utf-8";
2
+
3
+ .highlight {
4
+ background: #111111;
5
+ color: #ffffff;
6
+ padding-left: 10px;
7
+ border-radius: 10px;
8
+ padding-top: 1px;
9
+ padding-bottom: 1px;
10
+ .hll { background-color: #333333 }
11
+ .c { color: #008800; font-style: italic; background-color: #0f140f } /* Comment */
12
+ .err { color: #ffffff } /* Error */
13
+ .esc { color: #ffffff } /* Escape */
14
+ .g { color: #ffffff } /* Generic */
15
+ .k { color: #fb660a; font-weight: bold } /* Keyword */
16
+ .l { color: #ffffff } /* Literal */
17
+ .n { color: #ffffff } /* Name */
18
+ .o { color: #ffffff } /* Operator */
19
+ .x { color: #ffffff } /* Other */
20
+ .p { color: #ffffff } /* Punctuation */
21
+ .ch { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Hashbang */
22
+ .cm { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Multiline */
23
+ .cp { color: #34c759; font-weight: bold; font-style: italic; background-color: #0f140f } /* Comment.Preproc */
24
+ .cpf { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.PreprocFile */
25
+ .c1 { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Single */
26
+ .cs { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Special */
27
+ .gd { color: #ffffff } /* Generic.Deleted */
28
+ .ge { color: #ffffff } /* Generic.Emph */
29
+ .gr { color: #ffffff } /* Generic.Error */
30
+ .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
31
+ .gi { color: #ffffff } /* Generic.Inserted */
32
+ .go { color: #444444; background-color: #222222 } /* Generic.Output */
33
+ .gp { color: #ffffff } /* Generic.Prompt */
34
+ .gs { color: #ffffff } /* Generic.Strong */
35
+ .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */
36
+ .gt { color: #ffffff } /* Generic.Traceback */
37
+ .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */
38
+ .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */
39
+ .kn { color: #fb660a; font-weight: bold } /* Keyword.Namespace */
40
+ .kp { color: #fb660a } /* Keyword.Pseudo */
41
+ .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */
42
+ .kt { color: #5e5ce6; font-weight: bold } /* Keyword.Type */
43
+ .ld { color: #ffffff } /* Literal.Date */
44
+ .m { color: #0086f7; font-weight: bold } /* Literal.Number */
45
+ .s { color: #e65c71 } /* Literal.String */
46
+ .na { color: #ff0086; font-weight: bold } /* Name.Attribute */
47
+ .nb { color: #ffffff } /* Name.Builtin */
48
+ .nc { color: #ffffff } /* Name.Class */
49
+ .no { color: #0086d2 } /* Name.Constant */
50
+ .nd { color: #ffffff } /* Name.Decorator */
51
+ .ni { color: #ffffff } /* Name.Entity */
52
+ .ne { color: #ffffff } /* Name.Exception */
53
+ .nf { color: #ff0086; font-weight: bold } /* Name.Function */
54
+ .nl { color: #ffffff } /* Name.Label */
55
+ .nn { color: #ffffff } /* Name.Namespace */
56
+ .nx { color: #ffffff } /* Name.Other */
57
+ .py { color: #ffffff } /* Name.Property */
58
+ .nt { color: #fb660a; font-weight: bold } /* Name.Tag */
59
+ .nv { color: #fb660a } /* Name.Variable */
60
+ .ow { color: #ffffff } /* Operator.Word */
61
+ .w { color: #888888 } /* Text.Whitespace */
62
+ .mb { color: #0086f7; font-weight: bold } /* Literal.Number.Bin */
63
+ .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */
64
+ .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */
65
+ .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */
66
+ .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */
67
+ .sa { color: #0086d2 } /* Literal.String.Affix */
68
+ .sb { color: #0086d2 } /* Literal.String.Backtick */
69
+ .sc { color: #0086d2 } /* Literal.String.Char */
70
+ .dl { color: #0086d2 } /* Literal.String.Delimiter */
71
+ .sd { color: #0086d2 } /* Literal.String.Doc */
72
+ .s2 { color: #0086d2 } /* Literal.String.Double */
73
+ .se { color: #0086d2 } /* Literal.String.Escape */
74
+ .sh { color: #0086d2 } /* Literal.String.Heredoc */
75
+ .si { color: #0086d2 } /* Literal.String.Interpol */
76
+ .sx { color: #0086d2 } /* Literal.String.Other */
77
+ .sr { color: #0086d2 } /* Literal.String.Regex */
78
+ .s1 { color: #0086d2 } /* Literal.String.Single */
79
+ .ss { color: #0086d2 } /* Literal.String.Symbol */
80
+ .bp { color: #ffffff } /* Name.Builtin.Pseudo */
81
+ .fm { color: #ff0086; font-weight: bold } /* Name.Function.Magic */
82
+ .vc { color: #fb660a } /* Name.Variable.Class */
83
+ .vg { color: #fb660a } /* Name.Variable.Global */
84
+ .vi { color: #fb660a } /* Name.Variable.Instance */
85
+ .vm { color: #fb660a } /* Name.Variable.Magic */
86
+ .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */
87
+ }
@@ -0,0 +1,8 @@
1
+ @charset "utf-8";
2
+
3
+ $main-color: white;
4
+ $bg-color: black;
5
+ $text-color: #ddd;
6
+ $pop-color: white;
7
+ $alt-color: #2ed573;
8
+ $light-alt-color: #2ed573;
@@ -0,0 +1,8 @@
1
+ ---
2
+ # This file need the front matter
3
+ # The three dashes are enough...
4
+ ---
5
+ @import
6
+ "jekyll-theme-ascii/skins/{{ site.jekyll-theme-ascii.skin | default: 'classic' }}",
7
+ "jekyll-theme-ascii/skins/{{ site.jekyll-theme-ascii.skin | default: 'classic' }}-highlighting",
8
+ "jekyll-theme-ascii/main";
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-theme-ascii
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Antonio Vázquez Blanco
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.9'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jekyll-feed
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.15.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.15.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: jekyll-seo-tag
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.7.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.7.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: jemoji
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.12.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.12.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description:
84
+ email:
85
+ - antoniovazquezblanco@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - LICENSE.txt
91
+ - README.md
92
+ - _config.yml
93
+ - _includes/custom-head.html
94
+ - _includes/footer.html
95
+ - _includes/google-analytics.html
96
+ - _includes/head.html
97
+ - _includes/header.html
98
+ - _layouts/default.html
99
+ - _layouts/home.html
100
+ - _layouts/page.html
101
+ - _layouts/post.html
102
+ - _sass/jekyll-theme-ascii/main.scss
103
+ - _sass/jekyll-theme-ascii/skins/classic-highlighting.scss
104
+ - _sass/jekyll-theme-ascii/skins/classic.scss
105
+ - assets/css/style.scss
106
+ homepage: https://github.com/antoniovazquezblanco/jekyll-theme-ascii
107
+ licenses:
108
+ - MIT
109
+ metadata:
110
+ plugin_type: theme
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubygems_version: 3.1.6
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: Simple theme that relies mostly on ASCII characters. And maybe emojis :).
130
+ test_files: []