picklecore 0.2.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: 5d0e0a388a2e737aac0d47dab7c3d8dabae1f517e735e018711c71b084a4abed
4
+ data.tar.gz: df3dc01bf00f2c74cf85eae4243582ba13f6cde066ed4e8a090e36b74fb65827
5
+ SHA512:
6
+ metadata.gz: dc5a49df42e74813f10ab49d4b94dc0508e8fd4671205069021bfa8c585d30e481c1db60f8b509e09718dc0e2c7b958cea863330d07fcec79705f5bc59accf8c
7
+ data.tar.gz: cfff93f93675354f03451620e375023daaf6f6404f74d0c5e9709528cdc0c928b044123df09d0732c0c4c51bad23b4e3004bf5fdde7b52a367fde209222ca943
data/LICENSE ADDED
@@ -0,0 +1,373 @@
1
+ Mozilla Public License Version 2.0
2
+ ==================================
3
+
4
+ 1. Definitions
5
+ --------------
6
+
7
+ 1.1. "Contributor"
8
+ means each individual or legal entity that creates, contributes to
9
+ the creation of, or owns Covered Software.
10
+
11
+ 1.2. "Contributor Version"
12
+ means the combination of the Contributions of others (if any) used
13
+ by a Contributor and that particular Contributor's Contribution.
14
+
15
+ 1.3. "Contribution"
16
+ means Covered Software of a particular Contributor.
17
+
18
+ 1.4. "Covered Software"
19
+ means Source Code Form to which the initial Contributor has attached
20
+ the notice in Exhibit A, the Executable Form of such Source Code
21
+ Form, and Modifications of such Source Code Form, in each case
22
+ including portions thereof.
23
+
24
+ 1.5. "Incompatible With Secondary Licenses"
25
+ means
26
+
27
+ (a) that the initial Contributor has attached the notice described
28
+ in Exhibit B to the Covered Software; or
29
+
30
+ (b) that the Covered Software was made available under the terms of
31
+ version 1.1 or earlier of the License, but not also under the
32
+ terms of a Secondary License.
33
+
34
+ 1.6. "Executable Form"
35
+ means any form of the work other than Source Code Form.
36
+
37
+ 1.7. "Larger Work"
38
+ means a work that combines Covered Software with other material, in
39
+ a separate file or files, that is not Covered Software.
40
+
41
+ 1.8. "License"
42
+ means this document.
43
+
44
+ 1.9. "Licensable"
45
+ means having the right to grant, to the maximum extent possible,
46
+ whether at the time of the initial grant or subsequently, any and
47
+ all of the rights conveyed by this License.
48
+
49
+ 1.10. "Modifications"
50
+ means any of the following:
51
+
52
+ (a) any file in Source Code Form that results from an addition to,
53
+ deletion from, or modification of the contents of Covered
54
+ Software; or
55
+
56
+ (b) any new file in Source Code Form that contains any Covered
57
+ Software.
58
+
59
+ 1.11. "Patent Claims" of a Contributor
60
+ means any patent claim(s), including without limitation, method,
61
+ process, and apparatus claims, in any patent Licensable by such
62
+ Contributor that would be infringed, but for the grant of the
63
+ License, by the making, using, selling, offering for sale, having
64
+ made, import, or transfer of either its Contributions or its
65
+ Contributor Version.
66
+
67
+ 1.12. "Secondary License"
68
+ means either the GNU General Public License, Version 2.0, the GNU
69
+ Lesser General Public License, Version 2.1, the GNU Affero General
70
+ Public License, Version 3.0, or any later versions of those
71
+ licenses.
72
+
73
+ 1.13. "Source Code Form"
74
+ means the form of the work preferred for making modifications.
75
+
76
+ 1.14. "You" (or "Your")
77
+ means an individual or a legal entity exercising rights under this
78
+ License. For legal entities, "You" includes any entity that
79
+ controls, is controlled by, or is under common control with You. For
80
+ purposes of this definition, "control" means (a) the power, direct
81
+ or indirect, to cause the direction or management of such entity,
82
+ whether by contract or otherwise, or (b) ownership of more than
83
+ fifty percent (50%) of the outstanding shares or beneficial
84
+ ownership of such entity.
85
+
86
+ 2. License Grants and Conditions
87
+ --------------------------------
88
+
89
+ 2.1. Grants
90
+
91
+ Each Contributor hereby grants You a world-wide, royalty-free,
92
+ non-exclusive license:
93
+
94
+ (a) under intellectual property rights (other than patent or trademark)
95
+ Licensable by such Contributor to use, reproduce, make available,
96
+ modify, display, perform, distribute, and otherwise exploit its
97
+ Contributions, either on an unmodified basis, with Modifications, or
98
+ as part of a Larger Work; and
99
+
100
+ (b) under Patent Claims of such Contributor to make, use, sell, offer
101
+ for sale, have made, import, and otherwise transfer either its
102
+ Contributions or its Contributor Version.
103
+
104
+ 2.2. Effective Date
105
+
106
+ The licenses granted in Section 2.1 with respect to any Contribution
107
+ become effective for each Contribution on the date the Contributor first
108
+ distributes such Contribution.
109
+
110
+ 2.3. Limitations on Grant Scope
111
+
112
+ The licenses granted in this Section 2 are the only rights granted under
113
+ this License. No additional rights or licenses will be implied from the
114
+ distribution or licensing of Covered Software under this License.
115
+ Notwithstanding Section 2.1(b) above, no patent license is granted by a
116
+ Contributor:
117
+
118
+ (a) for any code that a Contributor has removed from Covered Software;
119
+ or
120
+
121
+ (b) for infringements caused by: (i) Your and any other third party's
122
+ modifications of Covered Software, or (ii) the combination of its
123
+ Contributions with other software (except as part of its Contributor
124
+ Version); or
125
+
126
+ (c) under Patent Claims infringed by Covered Software in the absence of
127
+ its Contributions.
128
+
129
+ This License does not grant any rights in the trademarks, service marks,
130
+ or logos of any Contributor (except as may be necessary to comply with
131
+ the notice requirements in Section 3.4).
132
+
133
+ 2.4. Subsequent Licenses
134
+
135
+ No Contributor makes additional grants as a result of Your choice to
136
+ distribute the Covered Software under a subsequent version of this
137
+ License (see Section 10.2) or under the terms of a Secondary License (if
138
+ permitted under the terms of Section 3.3).
139
+
140
+ 2.5. Representation
141
+
142
+ Each Contributor represents that the Contributor believes its
143
+ Contributions are its original creation(s) or it has sufficient rights
144
+ to grant the rights to its Contributions conveyed by this License.
145
+
146
+ 2.6. Fair Use
147
+
148
+ This License is not intended to limit any rights You have under
149
+ applicable copyright doctrines of fair use, fair dealing, or other
150
+ equivalents.
151
+
152
+ 2.7. Conditions
153
+
154
+ Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155
+ in Section 2.1.
156
+
157
+ 3. Responsibilities
158
+ -------------------
159
+
160
+ 3.1. Distribution of Source Form
161
+
162
+ All distribution of Covered Software in Source Code Form, including any
163
+ Modifications that You create or to which You contribute, must be under
164
+ the terms of this License. You must inform recipients that the Source
165
+ Code Form of the Covered Software is governed by the terms of this
166
+ License, and how they can obtain a copy of this License. You may not
167
+ attempt to alter or restrict the recipients' rights in the Source Code
168
+ Form.
169
+
170
+ 3.2. Distribution of Executable Form
171
+
172
+ If You distribute Covered Software in Executable Form then:
173
+
174
+ (a) such Covered Software must also be made available in Source Code
175
+ Form, as described in Section 3.1, and You must inform recipients of
176
+ the Executable Form how they can obtain a copy of such Source Code
177
+ Form by reasonable means in a timely manner, at a charge no more
178
+ than the cost of distribution to the recipient; and
179
+
180
+ (b) You may distribute such Executable Form under the terms of this
181
+ License, or sublicense it under different terms, provided that the
182
+ license for the Executable Form does not attempt to limit or alter
183
+ the recipients' rights in the Source Code Form under this License.
184
+
185
+ 3.3. Distribution of a Larger Work
186
+
187
+ You may create and distribute a Larger Work under terms of Your choice,
188
+ provided that You also comply with the requirements of this License for
189
+ the Covered Software. If the Larger Work is a combination of Covered
190
+ Software with a work governed by one or more Secondary Licenses, and the
191
+ Covered Software is not Incompatible With Secondary Licenses, this
192
+ License permits You to additionally distribute such Covered Software
193
+ under the terms of such Secondary License(s), so that the recipient of
194
+ the Larger Work may, at their option, further distribute the Covered
195
+ Software under the terms of either this License or such Secondary
196
+ License(s).
197
+
198
+ 3.4. Notices
199
+
200
+ You may not remove or alter the substance of any license notices
201
+ (including copyright notices, patent notices, disclaimers of warranty,
202
+ or limitations of liability) contained within the Source Code Form of
203
+ the Covered Software, except that You may alter any license notices to
204
+ the extent required to remedy known factual inaccuracies.
205
+
206
+ 3.5. Application of Additional Terms
207
+
208
+ You may choose to offer, and to charge a fee for, warranty, support,
209
+ indemnity or liability obligations to one or more recipients of Covered
210
+ Software. However, You may do so only on Your own behalf, and not on
211
+ behalf of any Contributor. You must make it absolutely clear that any
212
+ such warranty, support, indemnity, or liability obligation is offered by
213
+ You alone, and You hereby agree to indemnify every Contributor for any
214
+ liability incurred by such Contributor as a result of warranty, support,
215
+ indemnity or liability terms You offer. You may include additional
216
+ disclaimers of warranty and limitations of liability specific to any
217
+ jurisdiction.
218
+
219
+ 4. Inability to Comply Due to Statute or Regulation
220
+ ---------------------------------------------------
221
+
222
+ If it is impossible for You to comply with any of the terms of this
223
+ License with respect to some or all of the Covered Software due to
224
+ statute, judicial order, or regulation then You must: (a) comply with
225
+ the terms of this License to the maximum extent possible; and (b)
226
+ describe the limitations and the code they affect. Such description must
227
+ be placed in a text file included with all distributions of the Covered
228
+ Software under this License. Except to the extent prohibited by statute
229
+ or regulation, such description must be sufficiently detailed for a
230
+ recipient of ordinary skill to be able to understand it.
231
+
232
+ 5. Termination
233
+ --------------
234
+
235
+ 5.1. The rights granted under this License will terminate automatically
236
+ if You fail to comply with any of its terms. However, if You become
237
+ compliant, then the rights granted under this License from a particular
238
+ Contributor are reinstated (a) provisionally, unless and until such
239
+ Contributor explicitly and finally terminates Your grants, and (b) on an
240
+ ongoing basis, if such Contributor fails to notify You of the
241
+ non-compliance by some reasonable means prior to 60 days after You have
242
+ come back into compliance. Moreover, Your grants from a particular
243
+ Contributor are reinstated on an ongoing basis if such Contributor
244
+ notifies You of the non-compliance by some reasonable means, this is the
245
+ first time You have received notice of non-compliance with this License
246
+ from such Contributor, and You become compliant prior to 30 days after
247
+ Your receipt of the notice.
248
+
249
+ 5.2. If You initiate litigation against any entity by asserting a patent
250
+ infringement claim (excluding declaratory judgment actions,
251
+ counter-claims, and cross-claims) alleging that a Contributor Version
252
+ directly or indirectly infringes any patent, then the rights granted to
253
+ You by any and all Contributors for the Covered Software under Section
254
+ 2.1 of this License shall terminate.
255
+
256
+ 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257
+ end user license agreements (excluding distributors and resellers) which
258
+ have been validly granted by You or Your distributors under this License
259
+ prior to termination shall survive termination.
260
+
261
+ ************************************************************************
262
+ * *
263
+ * 6. Disclaimer of Warranty *
264
+ * ------------------------- *
265
+ * *
266
+ * Covered Software is provided under this License on an "as is" *
267
+ * basis, without warranty of any kind, either expressed, implied, or *
268
+ * statutory, including, without limitation, warranties that the *
269
+ * Covered Software is free of defects, merchantable, fit for a *
270
+ * particular purpose or non-infringing. The entire risk as to the *
271
+ * quality and performance of the Covered Software is with You. *
272
+ * Should any Covered Software prove defective in any respect, You *
273
+ * (not any Contributor) assume the cost of any necessary servicing, *
274
+ * repair, or correction. This disclaimer of warranty constitutes an *
275
+ * essential part of this License. No use of any Covered Software is *
276
+ * authorized under this License except under this disclaimer. *
277
+ * *
278
+ ************************************************************************
279
+
280
+ ************************************************************************
281
+ * *
282
+ * 7. Limitation of Liability *
283
+ * -------------------------- *
284
+ * *
285
+ * Under no circumstances and under no legal theory, whether tort *
286
+ * (including negligence), contract, or otherwise, shall any *
287
+ * Contributor, or anyone who distributes Covered Software as *
288
+ * permitted above, be liable to You for any direct, indirect, *
289
+ * special, incidental, or consequential damages of any character *
290
+ * including, without limitation, damages for lost profits, loss of *
291
+ * goodwill, work stoppage, computer failure or malfunction, or any *
292
+ * and all other commercial damages or losses, even if such party *
293
+ * shall have been informed of the possibility of such damages. This *
294
+ * limitation of liability shall not apply to liability for death or *
295
+ * personal injury resulting from such party's negligence to the *
296
+ * extent applicable law prohibits such limitation. Some *
297
+ * jurisdictions do not allow the exclusion or limitation of *
298
+ * incidental or consequential damages, so this exclusion and *
299
+ * limitation may not apply to You. *
300
+ * *
301
+ ************************************************************************
302
+
303
+ 8. Litigation
304
+ -------------
305
+
306
+ Any litigation relating to this License may be brought only in the
307
+ courts of a jurisdiction where the defendant maintains its principal
308
+ place of business and such litigation shall be governed by laws of that
309
+ jurisdiction, without reference to its conflict-of-law provisions.
310
+ Nothing in this Section shall prevent a party's ability to bring
311
+ cross-claims or counter-claims.
312
+
313
+ 9. Miscellaneous
314
+ ----------------
315
+
316
+ This License represents the complete agreement concerning the subject
317
+ matter hereof. If any provision of this License is held to be
318
+ unenforceable, such provision shall be reformed only to the extent
319
+ necessary to make it enforceable. Any law or regulation which provides
320
+ that the language of a contract shall be construed against the drafter
321
+ shall not be used to construe this License against a Contributor.
322
+
323
+ 10. Versions of the License
324
+ ---------------------------
325
+
326
+ 10.1. New Versions
327
+
328
+ Mozilla Foundation is the license steward. Except as provided in Section
329
+ 10.3, no one other than the license steward has the right to modify or
330
+ publish new versions of this License. Each version will be given a
331
+ distinguishing version number.
332
+
333
+ 10.2. Effect of New Versions
334
+
335
+ You may distribute the Covered Software under the terms of the version
336
+ of the License under which You originally received the Covered Software,
337
+ or under the terms of any subsequent version published by the license
338
+ steward.
339
+
340
+ 10.3. Modified Versions
341
+
342
+ If you create software not governed by this License, and you want to
343
+ create a new license for such software, you may create and use a
344
+ modified version of this License if you rename the license and remove
345
+ any references to the name of the license steward (except to note that
346
+ such modified license differs from this License).
347
+
348
+ 10.4. Distributing Source Code Form that is Incompatible With Secondary
349
+ Licenses
350
+
351
+ If You choose to distribute Source Code Form that is Incompatible With
352
+ Secondary Licenses under the terms of this version of the License, the
353
+ notice described in Exhibit B of this License must be attached.
354
+
355
+ Exhibit A - Source Code Form License Notice
356
+ -------------------------------------------
357
+
358
+ This Source Code Form is subject to the terms of the Mozilla Public
359
+ License, v. 2.0. If a copy of the MPL was not distributed with this
360
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
361
+
362
+ If it is not possible or desirable to put the notice in a particular
363
+ file, then You may include the notice in a location (such as a LICENSE
364
+ file in a relevant directory) where a recipient would be likely to look
365
+ for such a notice.
366
+
367
+ You may add additional accurate notices of copyright ownership.
368
+
369
+ Exhibit B - "Incompatible With Secondary Licenses" Notice
370
+ ---------------------------------------------------------
371
+
372
+ This Source Code Form is "Incompatible With Secondary Licenses", as
373
+ defined by the Mozilla Public License, v. 2.0.
data/README.md ADDED
@@ -0,0 +1,114 @@
1
+ # PickleCore
2
+
3
+ *PickleCore* is a Jekyll theme developed by [Reece Dunham](https://github.com/RDIL) ([for his site](https://rdil.rocks)) and [Param Thakkar](https://github.com/paramt).
4
+
5
+ ## Installation
6
+
7
+ First, download it by adding it to your `Gemfile`:
8
+
9
+ ```ruby
10
+ gem "picklecore"
11
+ ```
12
+
13
+ run bundler:
14
+
15
+ ```shell
16
+ $ bundler
17
+ ```
18
+
19
+ and then apply it in your `_config.yml`:
20
+
21
+ ```yaml
22
+ theme: picklecore
23
+ ```
24
+
25
+ and it should apply.
26
+
27
+ ## Deploying
28
+
29
+ ### GitHub Pages
30
+
31
+ Unfortunately, PickleCore is not whitelisted as a GitHub pages theme, so you can't use it by simply applying the theme. You will need to set up some kind of pipeline that bulids the site into raw HTML/CSS/JS and deploy that off the `gh-pages` branch.
32
+
33
+ ### Netlify
34
+
35
+ Netlify is perfect for deploying PickleCore. The setup is quite easy - just set the command as `bundler exec jekyll build` and set the deploy folder to `_site`!
36
+
37
+ ## Customization
38
+
39
+ PickleCore is (probably) the most customizable theme out in the Jekyllverse. Here is a list of keys you can put in your `_config.yml` and what they do:
40
+
41
+ * `name` - the name of the site (main title)
42
+ * `webmanifest` - link to a `manifest.json` or a file with the `.webmanifest` extension (used by Google for web apps, link must be relative to the root page of the site)
43
+ * `description` - description of the site (for metadata)
44
+ * `url` - the URL of your site when hosted in production
45
+ * `apple-touch-icon` - the URL of the Apple touch icon for the site if you have one (see [this article](https://www.computerhope.com/jargon/a/appletou.htm) for more info)
46
+ * `index_on_google` - `true` or `false` depending if you want your site in Google search results
47
+ * `keywords` - an inline list of comma (no spaces) seperated keywords (for SEO) (e.g. `keywords: "hello,world,this,is,my,site"`)
48
+ * Favicons - this requires multiple steps so read all sub-bullets
49
+ * `favicon_base` - route of where the favicons are served, e.g. `https://my.site/favicons/favicon-` (extension must be `PNG`)
50
+ * `favicons` - array of resolutions, e.g.:
51
+ ```yaml
52
+ favicons:
53
+ - "32" # 32x32
54
+ - "64" # 64x64
55
+ # and so on
56
+ ```
57
+ * `browserconfigxml` - link to a `browserconfig.xml` for Microsoft-based browsers
58
+ * `microsoft` - this is a dictionary that currently only has one option:
59
+ * `tileimage` - the link to the tile image
60
+ * The same thing can be applied to `twitter` with the subkey `image`, and `opengraph` with the subkey `image`
61
+ * `twitter_username` - your Twitter username as a string (no `@`!)
62
+
63
+ Most of the favicons and images listed here can be made over at https://realfavicongenerator.net
64
+
65
+ ## Applying Theme Components
66
+
67
+ The PickleCore theme allows you to apply some nice looking components that match with the theme via `includes`.
68
+
69
+ ### Cards
70
+
71
+ [![A card](https://raw.githubusercontent.com/RDIL/debugging-playground/master/card-example.png)](https://github.com/RDIL/PickleCore)
72
+
73
+ A card (shown above) can be applied by adding the following to any page **with [Front Matter](https://jekyllrb.com/docs/front-matter/) on it**:
74
+
75
+ ```html
76
+ <!-- Note: you can put as many cards as you want in each card container, but all cards NEED to be in a container -->
77
+ <div class="cards">
78
+ <!-- In this container, render a card -->
79
+ {% include components/card.html cardtitle="My Card" cardbody="The text of the card!" %}
80
+ </div>
81
+ ```
82
+
83
+ ### Sidebar
84
+
85
+ The easiest way to apply the sidebar to your website is to use the `default-with-sidebar` layout via Jekyll:
86
+
87
+ ```html
88
+ ---
89
+ layout: default-with-sidebar
90
+ ---
91
+ ```
92
+
93
+ The second easiest way is to add it via the include:
94
+
95
+ ```html
96
+ ---
97
+ layout: default
98
+ ---
99
+
100
+ <!--
101
+ Anchor the sidebar opener to this location on the page
102
+ Note: trying to move it via CSS may prove difficult!
103
+ -->
104
+
105
+ {%- include components/binds/sidebar-anchor.html -%}
106
+
107
+ <!-- Other content -->
108
+ ```
109
+
110
+ But you should ***most certainly not*** simply use the `sidebar.html` component without the anchor - this will most likely break everything. Use one of the methods above.
111
+
112
+ > *Help! My sidebar is blank when I open it - what do I do?*
113
+ > Certain site config fields will populate the sidebar, so see the customization section above.
114
+
@@ -0,0 +1,6 @@
1
+ <div id="nav-btn" class="openbtn" onclick="toggleNav()">
2
+ <span></span>
3
+ <span></span>
4
+ <span></span>
5
+ </div>
6
+ {% include components/sidebar.html %}
@@ -0,0 +1,6 @@
1
+ <div class="card">
2
+ <h1>{{ include.cardtitle }}</h1>
3
+ <p>
4
+ {{ include.cardbody }}
5
+ </p>
6
+ </div>
@@ -0,0 +1,74 @@
1
+ <div id="nav" class="nav">
2
+ <table>
3
+ {% if site.github %}
4
+ <tr>
5
+ <td>
6
+ <i class="fab fa-github-square"></i>
7
+ </td>
8
+ <td>
9
+ <a href="https://github.com/{{ site.github }}" alt="GitHub Profile" class="nobreak">GitHub</a>
10
+ </td>
11
+ </tr>
12
+ {% endif %}
13
+ {% if site.email %}
14
+ <tr>
15
+ <td>
16
+ <i class="fas fa-envelope"></i>
17
+ </td>
18
+ <td>
19
+ <a href="mailto:{{ site.email }}" alt="Email Address" class="nobreak">Email</a>
20
+ </td>
21
+ </tr>
22
+ {% endif %}
23
+ {% if site.discord %}
24
+ <tr>
25
+ <td>
26
+ <i class="fab fa-discord"></i>
27
+ </td>
28
+ <td>
29
+ <a href="https://discord.gg/{{ site.discord }}" alt="Discord Server" class="nobreak">Discord</a>
30
+ </td>
31
+ </tr>
32
+ {% endif %}
33
+ {% if site.twitter_username %}
34
+ <tr>
35
+ <td>
36
+ <i class="fab fa-twitter"></i>
37
+ </td>
38
+ <td>
39
+ <a href="https://twitter.com/{{ site.twitter_username }}" class="nobreak" alt="Twitter">Twitter</a>
40
+ </td>
41
+ </tr>
42
+ {% endif %}
43
+ {% if site.statuspage %}
44
+ <tr>
45
+ <td>
46
+ <i class="fas fa-exclamation-triangle"></i>
47
+ </td>
48
+ <td>
49
+ <a href="{{ site.statuspage }}" class="nobreak" alt="System Status">System Status</a>
50
+ </td>
51
+ </tr>
52
+ {% endif %}
53
+ {% if site.pgp %}
54
+ <tr>
55
+ <td>
56
+ <i class="fas fa-lock"></i>
57
+ </td>
58
+ <td>
59
+ <a href="{{ site.pgp }}" class="nobreak" alt="Public PGP Key">Public PGP Key</a>
60
+ </td>
61
+ </tr>
62
+ {% endif %}
63
+ {% if site.devto %}
64
+ <tr>
65
+ <td>
66
+ <i class="fab fa-dev"></i>
67
+ </td>
68
+ <td>
69
+ <a href="https://dev.to/{{ site.devto }}" class="nobreak" alt="Dev.to Profile">Dev.to Profile</a>
70
+ </td>
71
+ </tr>
72
+ {% endif %}
73
+ </table>
74
+ </div>
@@ -0,0 +1,56 @@
1
+ <meta charset="utf-8">
2
+ <title>{{ include.title | default: "{{ site.name }}" }} - {{ site.name }}</title>
3
+ <!--Begin static tags-->
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <meta name="msapplication-TileColor" content="#303f9f">
7
+ <meta name="theme-color" content="#303f9f">
8
+ <meta property="og:type" content="website">
9
+ <meta property="og:locale" content="en_US">
10
+ <!--End static tags-->
11
+ {% if site.name %}
12
+ <meta property="og:title" content="{{ site.name }}">
13
+ <meta property="og:site_name" content="{{ site.name }}">
14
+ <meta name="twitter:title" content="{{ site.name }}">
15
+ {% endif %}
16
+ {% if site.index_on_google %}
17
+ <meta name="robots" content="index,follow">
18
+ <meta name="googlebot" content="index,follow">
19
+ {% endif %}
20
+ {% if site.description %}
21
+ <meta name="description" content="{{ site.description }}">
22
+ <meta property="og:description" content="{{ site.description }}">
23
+ <meta name="twitter:description" content="{{ site.description }}">
24
+ {% endif %}
25
+ {% if site.url %}
26
+ <link rel="canonical" href="{{ site.url }}">
27
+ <meta property="og:url" content="{{ site.url }}">
28
+ {% if site.keywords %}
29
+ <meta name="keywords" content="{{ site.keywords }}">
30
+ {% endif %}
31
+ {% if site.apple-touch-icon %}
32
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ site.apple-touch-icon }}">
33
+ {% endif %}
34
+ {% if site.favicons and site.faviconbase %}
35
+ <!--apply favicons-->
36
+ {% assign liststripped = site.favicons | compact %}
37
+ {% for resolution in liststripped %}
38
+ <link rel="icon" type="image/png" sizes="{{ resolution }}x{{ resolution }}" href="{{ site.faviconbase }}{{ resoultion }}x{{ resolution }}.png">
39
+ {% endfor %}
40
+ {% endif %}
41
+ {% if site.webmanifest %}
42
+ <link rel="manifest" href="{{ site.webmanifest }}">
43
+ {% endif %}
44
+ {% if site.safari-pinned-tab %}
45
+ <link rel="mask-icon" href="{{ site.safari-pinned-tab }}" color="#5bbad5">
46
+ {% endif %}
47
+ {% if site.browserconfigxml %}
48
+ <meta name="msapplication-config" content="{{ site.browserconfigxml }}">
49
+ {% endif %}
50
+ {% if site.microsoft.tileimage %}
51
+ <meta name="msapplication-TileImage" content="{{ site.microsoft.tileimage }}">
52
+ {% endif %}
53
+ <meta property="og:image" content="{{ site.opengraph.image }}">
54
+ <meta property="og:image:secure_url" content="{{ site.opengraph.image-secure }}">
55
+ <meta name="twitter:site" content="@{{ site.twitter_username }}">
56
+ <meta name="twitter:image" content="{{ site.twitter.image }}">
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% include components/binds/sidebar-anchor.html %}
5
+ {{ content }}
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ {% include static/metadata.html pagename="{{ page.title }}" %}
5
+ <link rel="stylesheet" href="/assets/css/main.css" />
6
+ <link href="https://fonts.googleapis.com/css?family=Open+Sans:400" rel="stylesheet">
7
+ </head>
8
+ <body>
9
+ <div class="content">
10
+ {{ content }}
11
+ </div>
12
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
13
+ <script src="/js/main.js" defer></script>
14
+ </body>
15
+ </html>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ {% include page-template/metadata.html pagename="You fell off my site!" %}
5
+ <link rel="stylesheet" href="/assets/css/error.css"/>
6
+ <link href="https://fonts.googleapis.com/css?family=Open+Sans:400" rel="stylesheet">
7
+ </head>
8
+ <body onload="document.body.style.backgroundColor = '#303f9f'">
9
+ <div class="error">
10
+ <h1 class="animated fadeInRightBig">{{ site.errormessage | default: "Uh oh... You fell off my site!" }}</h1>
11
+ <p class="animated delay fadeInLeftBig">
12
+ Error {{ page.code }} ({{ page.desc }})
13
+ {% if site.email %}
14
+ - If you think this is a mistake on my part, please <a href="mailto:{{ site.email }}">send me an email.</a>
15
+ {% endif %}
16
+ </p>
17
+ </div>
18
+ </body>
19
+ </html>
@@ -0,0 +1,100 @@
1
+ body {
2
+ overflow: hidden;
3
+ transition: background-color 1s;
4
+ background-color: white;
5
+ }
6
+
7
+ .error {
8
+ height: 100vh;
9
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: center;
12
+ justify-content: center;
13
+ font-family: "Open Sans", sans-serif;
14
+ color: white;
15
+ }
16
+
17
+ .error p {
18
+ font-size: 1.4em;
19
+ }
20
+
21
+ .error a {
22
+ color: white;
23
+ }
24
+
25
+ .error a:hover {
26
+ color: rgb(206, 206, 206);
27
+ }
28
+
29
+ .animated {
30
+ animation-duration: 1s;
31
+ animation-fill-mode: both;
32
+ animation-delay: 0.5s;
33
+ }
34
+
35
+ .animated.delay {
36
+ animation-delay: 1s;
37
+ }
38
+
39
+ @-webkit-keyframes fadeInRightBig {
40
+ from {
41
+ opacity: 0;
42
+ -webkit-transform: translate3d(2000px, 0, 0);
43
+ transform: translate3d(2000px, 0, 0);
44
+ }
45
+
46
+ to {
47
+ opacity: 1;
48
+ -webkit-transform: translate3d(0, 0, 0);
49
+ transform: translate3d(0, 0, 0);
50
+ }
51
+ }
52
+
53
+ @keyframes fadeInRightBig {
54
+ from {
55
+ opacity: 0;
56
+ transform: translate3d(2000px, 0, 0);
57
+ }
58
+
59
+ to {
60
+ opacity: 1;
61
+ transform: translate3d(0, 0, 0);
62
+ }
63
+ }
64
+
65
+ .fadeInRightBig {
66
+ animation-name: fadeInRightBig;
67
+ }
68
+
69
+ @-webkit-keyframes fadeInLeftBig {
70
+ from {
71
+ opacity: 0;
72
+ -webkit-transform: translate3d(-2000px, 0, 0);
73
+ transform: translate3d(-2000px, 0, 0);
74
+ }
75
+
76
+ to {
77
+ opacity: 1;
78
+ -webkit-transform: translate3d(0, 0, 0);
79
+ transform: translate3d(0, 0, 0);
80
+ }
81
+ }
82
+
83
+ @keyframes fadeInLeftBig {
84
+ from {
85
+ opacity: 0;
86
+ -webkit-transform: translate3d(-2000px, 0, 0);
87
+ transform: translate3d(-2000px, 0, 0);
88
+ }
89
+
90
+ to {
91
+ opacity: 1;
92
+ -webkit-transform: translate3d(0, 0, 0);
93
+ transform: translate3d(0, 0, 0);
94
+ }
95
+ }
96
+
97
+ .fadeInLeftBig {
98
+ -webkit-animation-name: fadeInLeftBig;
99
+ animation-name: fadeInLeftBig;
100
+ }
@@ -0,0 +1,264 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ background-color: #303f9f
5
+ }
6
+
7
+ .content {
8
+ margin: 75px 100px;
9
+ font-family: "Open Sans", sans-serif;
10
+ color: white
11
+ }
12
+
13
+ .title {
14
+ height: 45vh
15
+ }
16
+
17
+ h1 {
18
+ font-size: 3em
19
+ }
20
+
21
+ h2 {
22
+ margin-top: 36px
23
+ }
24
+
25
+ tr {
26
+ white-space: nowrap
27
+ }
28
+
29
+ .cards {
30
+ display: flex;
31
+ align-items: center;
32
+ flex-wrap: wrap
33
+ }
34
+
35
+ .card {
36
+ background: #fff;
37
+ color: #303f9f;
38
+ border-radius: 2px;
39
+ height: 400px;
40
+ margin: 1rem;
41
+ position: relative;
42
+ width: 300px;
43
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
44
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)
45
+ }
46
+
47
+ .card h1 {
48
+ font-size: 2em;
49
+ margin-top: 20px;
50
+ margin-left: 20px;
51
+ margin-bottom: 10.5px
52
+ }
53
+
54
+ .card p {
55
+ margin: 20px;
56
+ line-height: 1.2
57
+ }
58
+
59
+ .card:hover {
60
+ box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22)
61
+ }
62
+
63
+ .nav {
64
+ height: 100%;
65
+ width: 0;
66
+ position: fixed;
67
+ z-index: 1;
68
+ top: 0;
69
+ right: 0;
70
+ background-color: white;
71
+ overflow-x: hidden;
72
+ transition: 0.5s;
73
+ padding-top: 60px
74
+ }
75
+
76
+ .nav a {
77
+ padding: 8px;
78
+ text-decoration: none;
79
+ color: #303f9f;
80
+ font-size: 25px;
81
+ display: block;
82
+ transition: 0.3s
83
+ }
84
+
85
+ table {
86
+ padding: 0 26px
87
+ }
88
+
89
+ tr {
90
+ padding: 8px 8px 8px 32px;
91
+ text-decoration: none;
92
+ color: #303f9f;
93
+ font-size: 25px;
94
+ transition: 0.3s
95
+ }
96
+
97
+ tr:hover {
98
+ cursor: pointer
99
+ }
100
+
101
+ td {
102
+ padding: 7px 0;
103
+ }
104
+
105
+ @media screen and (max-height: 450px) {
106
+ .nav {
107
+ padding-top: 15px
108
+ }
109
+ .nav a {
110
+ font-size: 18px
111
+ }
112
+ }
113
+
114
+ @media only screen and (max-width: 500px) {
115
+ .cards {
116
+ display: inline
117
+ }
118
+
119
+ .card {
120
+ height: 350px
121
+ }
122
+
123
+ .card h1 {
124
+ padding-top: 14px
125
+ }
126
+
127
+ .content {
128
+ margin: 75px 12.5px
129
+ }
130
+ }
131
+
132
+ #nav-btn {
133
+ width: 60px;
134
+ height: 35px;
135
+ position: fixed;
136
+ right: 25px;
137
+ top: 25px;
138
+ margin: 0;
139
+ z-index: 2;
140
+ -webkit-transform: rotate(0deg);
141
+ -moz-transform: rotate(0deg);
142
+ -o-transform: rotate(0deg);
143
+ transform: rotate(0deg);
144
+ -webkit-transition: 0.5s ease-in-out;
145
+ -moz-transition: 0.5s ease-in-out;
146
+ -o-transition: 0.5s ease-in-out;
147
+ transition: 0.5s ease-in-out;
148
+ cursor: pointer;
149
+ }
150
+
151
+ #nav-btn span {
152
+ display: block;
153
+ position: absolute;
154
+ height: 5px;
155
+ width: 100%;
156
+ background: white;
157
+ border-radius: 5px;
158
+ opacity: 1;
159
+ left: 0;
160
+ -webkit-transform: rotate(0deg);
161
+ -moz-transform: rotate(0deg);
162
+ -o-transform: rotate(0deg);
163
+ transform: rotate(0deg);
164
+ -webkit-transition: 0.25s ease-in-out;
165
+ -moz-transition: 0.25s ease-in-out;
166
+ -o-transition: 0.25s ease-in-out;
167
+ transition: 0.25s ease-in-out
168
+ }
169
+
170
+ #nav-btn span:nth-child(1) {
171
+ top: 0px;
172
+ -webkit-transform-origin: left center;
173
+ -moz-transform-origin: left center;
174
+ -o-transform-origin: left center;
175
+ transform-origin: left center
176
+ }
177
+
178
+ #nav-btn span:nth-child(2) {
179
+ top: 15px;
180
+ -webkit-transform-origin: left center;
181
+ -moz-transform-origin: left center;
182
+ -o-transform-origin: left center;
183
+ transform-origin: left center
184
+ }
185
+
186
+ #nav-btn span:nth-child(3) {
187
+ top: 30px;
188
+ -webkit-transform-origin: left center;
189
+ -moz-transform-origin: left center;
190
+ -o-transform-origin: left center;
191
+ transform-origin: left center
192
+ }
193
+
194
+ #nav-btn.open span {
195
+ background-color: #303f9f
196
+ }
197
+
198
+ #nav-btn.open span:nth-child(1) {
199
+ -webkit-transform: rotate(45deg);
200
+ -moz-transform: rotate(45deg);
201
+ -o-transform: rotate(45deg);
202
+ transform: rotate(45deg);
203
+ top: -3px;
204
+ left: 8px
205
+ }
206
+
207
+ #nav-btn.open span:nth-child(2) {
208
+ width: 0%;
209
+ opacity: 0
210
+ }
211
+
212
+ #nav-btn.open span:nth-child(3) {
213
+ -webkit-transform: rotate(-45deg);
214
+ -moz-transform: rotate(-45deg);
215
+ -o-transform: rotate(-45deg);
216
+ transform: rotate(-45deg);
217
+ top: 39px;
218
+ left: 8px
219
+ }
220
+
221
+ button {
222
+ display: inline-block;
223
+ vertical-align: middle;
224
+ background: #303f9f;
225
+ color: #fff;
226
+ border: none;
227
+ position: relative;
228
+ height: 60px;
229
+ font-size: 1.6em;
230
+ padding: 0 2em;
231
+ cursor: pointer;
232
+ transition: 800ms ease all;
233
+ outline: none
234
+ }
235
+
236
+ button:hover {
237
+ background: #fff;
238
+ color: #303f9f
239
+ }
240
+
241
+ button:before,
242
+ button:after{
243
+ content: '';
244
+ position: absolute;
245
+ top: 0;
246
+ right: 0;
247
+ height: 2px;
248
+ width: 0;
249
+ background: #303f9f;
250
+ transition: 400ms ease all
251
+ }
252
+
253
+ button:after {
254
+ right: inherit;
255
+ top: inherit;
256
+ left: 0;
257
+ bottom: 0
258
+ }
259
+
260
+ button:hover:before,
261
+ button:hover:after {
262
+ width:100%;
263
+ transition:800ms ease all
264
+ }
data/assets/js/main.js ADDED
@@ -0,0 +1,22 @@
1
+ function openNav() {
2
+ document.getElementById("nav-icon4").classList.toggle("open");
3
+ document.getElementById("nav").style.width = "265px";
4
+ }
5
+
6
+ function closeNav() {
7
+ document.getElementById("nav").style.width = "0";
8
+ }
9
+
10
+ navOpen = false;
11
+
12
+ function toggleNav() {
13
+ if (navOpen) {
14
+ document.getElementById("nav").style.width = "0";
15
+ navOpen = false;
16
+ } else {
17
+ document.getElementById("nav").style.width = "265px";
18
+ navOpen = true;
19
+ }
20
+
21
+ document.getElementById("nav-btn").classList.toggle("open");
22
+ }
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: picklecore
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Reece Dunham
8
+ - Param Thakkar
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2019-10-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jekyll
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '3.5'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '5.0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '3.5'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: jekyll-default-layout
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.1.4
41
+ type: :runtime
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.1.4
48
+ - !ruby/object:Gem::Dependency
49
+ name: jekyll-relative-links
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.6.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: bundler
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.2
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.2
76
+ - !ruby/object:Gem::Dependency
77
+ name: rake
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 13.0.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 13.0.0
90
+ description:
91
+ email:
92
+ - me@rdil.rocks
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files: []
96
+ files:
97
+ - LICENSE
98
+ - README.md
99
+ - _includes/components/binds/sidebar-anchor.html
100
+ - _includes/components/card.html
101
+ - _includes/components/sidebar.html
102
+ - _includes/metadata/metadata.html
103
+ - _layouts/default-with-sidebar.html
104
+ - _layouts/default.html
105
+ - _layouts/error.html
106
+ - assets/css/error-page.css
107
+ - assets/css/main.css
108
+ - assets/js/main.js
109
+ homepage: https://github.com/RDIL/PickleCore
110
+ licenses:
111
+ - MPL-2.0
112
+ metadata:
113
+ bug_tracker_uri: https://github.com/RDIL/PickleCore/issues
114
+ documentation_uri: https://github.com/RDIL/PickleCore/blob/master/README.md
115
+ homepage_uri: https://github.com/RDIL/PickleCore/
116
+ source_code_uri: https://github.com/RDIL/PickleCore/
117
+ wiki_uri: https://github.com/RDIL/PickleCore/blob/master/README.md
118
+ plugin_type: theme
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ requirements: []
134
+ rubygems_version: 3.0.6
135
+ signing_key:
136
+ specification_version: 4
137
+ summary: A Jekyll theme built to make personal sites and small websites, but can easily
138
+ scale!
139
+ test_files: []