bay_jekyll_blog 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 725b1fce683f514f3ec009a9e68b337f7cb626db312354d54cbad8d5f7c2bef9
4
+ data.tar.gz: 3a59175a5f1dfebf3bdc79013fe5824cab9bfc426859851ba77ba5c7a580d401
5
+ SHA512:
6
+ metadata.gz: 8cbb4d10d647583eadcfd9bc7f2f6ddd23100594fdb9d016aab0a7037071ea0fedda8fa6a07392b1472a49a6ad767dc0491424eb14386f43cd0179711df3eb59
7
+ data.tar.gz: 80aff69702fd0add32a00f30616b48c66a753a82b86a5c7294e0e6c24d7792a59938ce7d0477d635af3e2cbe55ea1e9ece5636a6bc4eae86e8af721858c3f3c8
data/CHANGELOG.md ADDED
@@ -0,0 +1,87 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ### [1.0.19](https://github.com/eliottvincent/bay/compare/v1.0.18...v1.0.19) (2022-10-19)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Ensure `<strong>` tags are correctly rendered in Firefox
10
+
11
+ ### [1.0.18](https://github.com/eliottvincent/bay/compare/v1.0.17...v1.0.18) (2022-08-30)
12
+
13
+ ### Bug Fixes
14
+
15
+ - Fix hamburger size
16
+ - Update dependencies
17
+
18
+ ### [1.0.17](https://github.com/eliottvincent/bay/compare/v1.0.16...v1.0.17) (2021-06-05)
19
+
20
+ ### Features
21
+
22
+ - Remove support for Retina-sized images
23
+
24
+ ### [1.0.16](https://github.com/eliottvincent/bay/compare/v1.0.15...v1.0.16) (2021-02-23)
25
+
26
+ ### Bug Fixes
27
+
28
+ - Rework footer's elements sizing ([1f1384b](https://github.com/eliottvincent/bay/commit/1f1384b2cfc07bc152cb8e44756e5a0fcbfbef11)), closes [#5](https://github.com/eliottvincent/bay/issues/5)
29
+
30
+ ### [1.0.15](https://github.com/eliottvincent/bay/compare/v1.0.14...v1.0.15) (2020-12-21)
31
+
32
+ ### Features
33
+
34
+ - Add Dribbble to supported "follow" list items
35
+
36
+ ### Bug Fixes
37
+
38
+ - Fix `remote_theme` value in configuration (for GitHub Pages)
39
+
40
+ ### [1.0.14](https://github.com/eliottvincent/bay/compare/v1.0.13...v1.0.14) (2020-09-02)
41
+
42
+ ### Bug Fixes
43
+
44
+ - Fix WeChat widget not moving anymore
45
+
46
+ ### [1.0.13](https://github.com/eliottvincent/bay/compare/v1.0.12...v1.0.13) (2020-08-12)
47
+
48
+ ### Bug Fixes
49
+
50
+ - Update dependencies
51
+
52
+ ### [1.0.12](https://github.com/eliottvincent/bay/compare/v1.0.11...v1.0.12) (2020-08-05)
53
+
54
+ ### Bug Fixes
55
+
56
+ - Make sure menu doesn't disappear ([ff45445](https://github.com/eliottvincent/bay/commit/ff45445761314a9b4a9b1e53f04c040ab2b62e3f)), closes [#1](https://github.com/eliottvincent/bay/issues/1)
57
+ - Fix WeChat widget not moving anymore
58
+
59
+ ### [1.0.11](https://github.com/eliottvincent/bay/compare/v1.0.10...v1.0.11) (2020-08-01)
60
+
61
+ ### Bug Fixes
62
+
63
+ - Fix work item spacing
64
+ - Year displayed in footer is now dynamic
65
+
66
+ ### [1.0.10](https://github.com/eliottvincent/bay/compare/v1.0.9...v1.0.10) (2019-10-31)
67
+
68
+ ### Bug Fixes
69
+
70
+ - Add GA
71
+
72
+ ### [1.0.9](https://github.com/eliottvincent/bay/compare/v1.0.8...v1.0.9) (2019-10-28)
73
+
74
+ ### Bug Fixes
75
+
76
+ - Render WeChat widget only if necessary
77
+
78
+ ### [1.0.8](https://github.com/eliottvincent/bay/compare/v1.0.7...v1.0.8) (2019-10-27)
79
+
80
+ ### Bug Fixes
81
+
82
+ - Update configuration to support GitHub Pages deployment
83
+ - Load assets through absolute path
84
+
85
+ ### 1.0.7 (2019-10-27)
86
+
87
+ Initial version.
data/LICENSE.md ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2019, Eliott Vincent
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,147 @@
1
+ # Bay
2
+
3
+ [![Version](https://img.shields.io/gem/v/bay_jekyll_theme)](https://rubygems.org/gems/bay_jekyll_theme)
4
+ [![Downloads](https://img.shields.io/gem/dt/bay_jekyll_theme)](https://rubygems.org/gems/bay_jekyll_theme)
5
+
6
+ Bay is a simple theme for Jekyll. [[view live]](https://eliottvincent.github.io/bay)
7
+
8
+ Inspired by [dangrover.com](http://dangrover.com/). Current theme used at [eliottvincent.com](http://eliottvincent.com/).
9
+
10
+ ![](/screenshot.png)
11
+
12
+ ### Installation
13
+
14
+
15
+ The easiest solution is to [fork this repo](https://github.com/eliottvincent/bay/fork).
16
+ If you want to start from a clean website, follow the steps bellow:
17
+
18
+ Create a new Jekyll website:
19
+ ```
20
+ jekyll new mysite
21
+ ```
22
+
23
+ Open `Gemfile` and replace the line:
24
+ ```
25
+ gem "minima"
26
+ ```
27
+ with:
28
+ ```
29
+ gem "bay_jekyll_theme"
30
+ ```
31
+
32
+ Open `_config.yml` and replace the line:
33
+ ```
34
+ theme: minima
35
+ ```
36
+ with:
37
+ ```
38
+ theme: bay_jekyll_theme
39
+ ```
40
+ or, for GitHub Pages:
41
+ ```
42
+ remote_theme: eliottvincent/bay
43
+ ```
44
+
45
+ Finally, install the dependencies:
46
+ ```
47
+ bundle install
48
+ ```
49
+
50
+ and build the website!
51
+ ```
52
+ jekyll serve
53
+ ```
54
+
55
+
56
+ The website will look somewhat empty at first. That's normal. Follow the next instructions to complete the header and footer components, and the home and blog pages.
57
+
58
+ ### Header
59
+ Open the `_config.yml` file and add the following:
60
+ ```yml
61
+ header:
62
+ pages:
63
+ - name: Home
64
+ slug: / # <-- index.md
65
+ - name: Blog # <-- blog.md
66
+ - name: Whatever # <-- whatever.md
67
+ ```
68
+ Re-run `jekyll serve` to see the header updated.
69
+
70
+ ### Footer
71
+ Open the `_config.yml` file and add the following:
72
+ ```yml
73
+ footer:
74
+ show_powered_by: true
75
+ contact:
76
+ - name: Email
77
+ value: yourmail@domain.com
78
+ link: mailto:yourmail@domain.com
79
+ - name: WeChat
80
+ value: YourWeChatUsername
81
+ link: "#"
82
+ follow:
83
+ - name: Twitter
84
+ link: http://twitter.com/YourTwitterUsername
85
+ username: "@YourTwitterUsername"
86
+ - name: Facebook
87
+ link: http://facebook.com/YourFacebookUsername
88
+ - name: LinkedIn
89
+ link: http://linkedin.com/in/YourLinkedInUsername
90
+ - name: GitHub
91
+ link: http://github.com/YourGitHubUsername
92
+ - name: Dribbble
93
+ link: https://dribbble.com/YourDribbbleUsername
94
+ - name: Weibo
95
+ link: http://weibo.com/u/YourWeiboUsername
96
+ - name: RSS
97
+ link: /feed.xml
98
+ ```
99
+ Re-run `jekyll serve` to see the footer updated.
100
+
101
+ ### Home page
102
+ Create (or edit) the `index.markdown` file and add the following:
103
+ ```yml
104
+ ---
105
+ layout: home
106
+ profile_picture:
107
+ src: /assets/img/profile-pic.jpg
108
+ alt: website picture
109
+ ---
110
+
111
+ <p>
112
+ Welcome to mysite!
113
+ </p>
114
+ ```
115
+
116
+ ### Blog page
117
+ Create `blog.markdown` file and add the following:
118
+ ```yml
119
+ ---
120
+ layout: blog
121
+ title: Blog
122
+ slug: /blog
123
+ ---
124
+
125
+ This is an example of a "Blog" page, displaying a list of posts.
126
+ <br />
127
+ ```
128
+
129
+
130
+ Your website is ready!
131
+
132
+
133
+ ### Development
134
+
135
+ #### Run development instance (with hot-reload)
136
+ ```sh
137
+ bundle exec jekyll serve
138
+ ```
139
+
140
+ #### Build and publish the gem
141
+ ```sh
142
+ gem build bay_jekyll_theme.gemspec
143
+ ```
144
+
145
+ ```sh
146
+ gem push bay_jekyll_theme-1.x.x.gem
147
+ ```
@@ -0,0 +1,8 @@
1
+ <div class="draft-banner">
2
+ <strong>
3
+ &#x26D4;&nbsp;
4
+ This is a draft of a post coming to
5
+ <a href="{{ site.url }}">{{ site.url }}</a>. Please do not share yet.
6
+ &nbsp;&#x26D4;
7
+ </strong>
8
+ </div>
@@ -0,0 +1,2 @@
1
+ <script type="text/javascript" src="{{ "/assets/js/vendor/cash-4.1.5.min.js" | absolute_url }}"></script>
2
+ <script type="text/javascript" src="{{ "/assets/js/site.js" | absolute_url }}"></script>
@@ -0,0 +1,65 @@
1
+ <footer class="site-footer">
2
+ <div class="wrapper">
3
+ <div class="footer-col-wrapper">
4
+ <div class="footer-col footer-col-1">
5
+ <h4>CONTACT</h4>
6
+
7
+ <div class="social-links">
8
+ {% for contact in site.footer.contact %}
9
+ <div class="social-link contact-links">
10
+
11
+ {% assign contact_icon_path = "/assets/img/icons/" | append: contact.name | downcase | append: ".png" | absolute_url %}
12
+ <img
13
+ src="{{ contact_icon_path }}"
14
+ alt="{{ contact.name | downcase }}"
15
+ />
16
+ <a href="{{ contact.link }}" id="{{ contact.name | downcase }}-link">
17
+ {% if contact.value and contact.value != "" and contact.value != nil %}
18
+ {{ contact.value }}
19
+ {% else %}
20
+ {{ contact.name }}
21
+ {% endif %}
22
+ </a>
23
+ </div>
24
+
25
+ {% endfor %}
26
+ </div>
27
+ </div>
28
+
29
+ <div class="footer-col footer-col-2">
30
+ <h4>FOLLOW</h4>
31
+
32
+ <div class="social-links follow-links">
33
+ {% for follow in site.footer.follow %}
34
+ <div class="social-link">
35
+
36
+ {% assign follow_icon_path = "/assets/img/icons/" | append: follow.name | downcase | append: ".png" | absolute_url %}
37
+ <img
38
+ src="{{ follow_icon_path }}"
39
+ alt="{{ follow.name | downcase }}"
40
+ />
41
+ <a href="{{ follow.link }}">
42
+ {% if follow.value and follow.value != "" and follow.value != nil %}
43
+ {{ follow.value }}
44
+ {% else %}
45
+ {{ follow.name }}
46
+ {% endif %}
47
+ </a>
48
+ </div>
49
+
50
+ {% endfor %}
51
+ </div>
52
+ </div>
53
+
54
+ {% if site.footer.show_powered_by == true %}
55
+ <div class="footer-col footer-col-3 powered-by">
56
+ <p>
57
+ powered by <a href="https://github.com/eliottvincent/bay">Bay</a> | {{ 'now' | date: "%Y" }}
58
+ </p>
59
+ </div>
60
+ {% endif %}
61
+ </div>
62
+ </div>
63
+ </footer>
64
+
65
+ {% include wechat-widget.html %}
@@ -0,0 +1,76 @@
1
+ <head>
2
+ <meta charset="utf-8"/>
3
+ <meta name="viewport" content="width=device-width initial-scale=1" />
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
5
+
6
+ {% assign page_is_article = false %}
7
+ {% if page.layout == "post" %}{% assign page_is_article = true %}{% endif %}
8
+
9
+ {% assign page_title = "" %}
10
+ {% if page.draft %}{% assign page_title = page_title | append: "[DRAFT] " %}{% endif %}
11
+ {% if page.title %}
12
+ {% assign page_title = page_title | append: site.title | append: " | " | append: page.title %}
13
+ {% else %}
14
+ {% assign page_title = site.title %}
15
+ {% endif %}
16
+
17
+ {% assign page_description = "" %}
18
+ {% if page.draft %}{% assign page_description = page_description | append: "[DRAFT] " %}{% endif %}
19
+ {% if page.blurb %}
20
+ {% assign page_description = page_description | append: page.blurb %}
21
+ {% else %}
22
+ {% assign page_description = site.description %}
23
+ {% endif %}
24
+
25
+ {% assign page_url = page.url | replace: "index.html","" | replace: ".html","" | prepend: site.baseurl | prepend: site.url %}
26
+
27
+ {% assign page_image = site.og_image | prepend: site.baseurl | prepend: site.url %}
28
+ {% if page.og_image %}
29
+ {% assign page_image = site.url + page.og_image %}
30
+ {% endif %}
31
+
32
+ {% for follow in site.footer.follow %}
33
+ {% if follow.name == 'Twitter' %}
34
+ {% assign twitter_username = follow.username %}
35
+ {% break %}
36
+ {% endif %}
37
+ {% endfor %}
38
+
39
+ <!-- Primary Meta Tags -->
40
+ <title>{{ page_title }}</title>
41
+ <meta name="title" content="{{ page_title }}"/>
42
+ <meta name="description" content="{{ page_description }}"/>
43
+
44
+ <!-- Open Graph / Facebook -->
45
+ <meta property="og:site_name" content="{{ page_title }}"/>
46
+ <meta property="og:type" content="{% if page_is_article %}article{% else %}website{% endif %}"/>
47
+ <meta property="og:url" content="{{ page_url }}"/>
48
+ <meta property="og:title" content="{{ page_title }}"/>
49
+ <meta property="og:description" content="{{ page_description }}"/>
50
+ <meta property="og:image" content="{{ page_image }}"/>
51
+
52
+ <!-- Twitter -->
53
+ <meta property="twitter:card" content="summary_large_image"/>
54
+ <meta property="twitter:url" content="{{ page_url }}"/>
55
+ <meta property="twitter:title" content="{{ page_title }}"/>
56
+ <meta property="twitter:description" content="{{ page_description }}"/>
57
+ <meta property="twitter:image" content="{{ page_image }}"/>
58
+ {% if twitter_username %}
59
+ <meta property="twitter:creator" content="{{ twitter_username }}"/>
60
+ <meta property="twitter:site" content="{{ twitter_username }}"/>
61
+ {% endif %}
62
+
63
+ <link rel="stylesheet" href="{{ "/assets/css/main.css" | absolute_url }}"/>
64
+ <link rel="canonical" href="{{ page_url }}"/>
65
+ <link rel="shortcut icon" href="{{ "/favicon.ico" | absolute_url }}" type="image/x-icon"/>
66
+
67
+ <!-- Google Analytics -->
68
+ <script>
69
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
70
+ ga('create', "{{ site.google_analytics }}", "auto");
71
+ ga('send', "pageview");
72
+ </script>
73
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
74
+
75
+
76
+ </head>
@@ -0,0 +1,25 @@
1
+ <header class="site-header">
2
+ <div class="wrapper">
3
+ <a class="site-title" href="{{ "" | prepend: site.baseurl | prepend: site.url }}/">
4
+ <img src="{{ "/assets/img/title.png" | absolute_url }}" alt="{{ site.title }}" />
5
+ </a>
6
+
7
+ <nav class="site-nav">
8
+ <a href="#" class="menu-icon"></a>
9
+
10
+ <div class="menu">
11
+ {% for page in site.header.pages %}
12
+ {% if page.slug and page.slug != "" and page.slug != nil %}
13
+ {% assign page_link = page.slug %}
14
+ {% else %}
15
+ {% assign page_link = "/" | append: page.name | downcase %}
16
+ {% endif %}
17
+ {% assign page_link = page_link | absolute_url %}
18
+ <a class="page-link" href="{{ page_link }}">
19
+ {{ page.name }}
20
+ </a>
21
+ {% endfor %}
22
+ </div>
23
+ </nav>
24
+ </div>
25
+ </header>
@@ -0,0 +1,16 @@
1
+ {% for contact in site.footer.contact %}
2
+ {% if contact.name == 'WeChat' %}
3
+ {% assign wechat_username = contact.value %}
4
+ {% break %}
5
+ {% endif %}
6
+ {% endfor %}
7
+
8
+ {% if wechat_username %}
9
+ <div id="wechat-widget">
10
+ <p>
11
+ Find me on WeChat with the ID <strong>{{ wechat_username }}</strong>, or scan my QR code:
12
+ </p>
13
+
14
+ <img src="{{ "/assets/img/wechat-qr-code.png" | absolute_url }}" alt="QR code" id="qr-code" />
15
+ </div>
16
+ {% endif %}
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ {% include head.html %}
4
+
5
+ <body>
6
+ {% include header.html %}
7
+
8
+ <div class="page-content">
9
+ <div class="wrapper">
10
+ <div class="blog">
11
+ <h1 class="page-heading">{{ page.title }}</h1>
12
+ {{ content }}
13
+
14
+ <p class="blog-post-list">
15
+ {% for post in site.posts %}
16
+
17
+ {% if post.draft != true %}
18
+ <span class="blog-post-date">{{ post.date | date: "%-m/%-d/%y" }}</span>
19
+ <a href="{{ post.url | replace:".html","" | prepend: site.baseurl }}" class="blog-post-title">
20
+ {{ post.title }}
21
+ </a>
22
+ <br />
23
+
24
+ {% endif %}
25
+
26
+ {% endfor %}
27
+ </p>
28
+ </div>
29
+ </div>
30
+ </div>
31
+
32
+ {% include footer.html %}
33
+
34
+ {% include foot.html %}
35
+ </body>
36
+ </html>
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ {% include head.html %}
4
+
5
+ <body>
6
+ {% include header.html %}
7
+
8
+ <div class="page-content">
9
+ <div class="wrapper">
10
+ {{ content }}
11
+ </div>
12
+ </div>
13
+
14
+ {% include footer.html %}
15
+
16
+ {% include foot.html %}
17
+ </body>
18
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ {% include head.html %}
4
+
5
+ <body>
6
+ {% include header.html %}
7
+
8
+ <div class="page-content">
9
+ <div class="wrapper">
10
+ <div class="home">
11
+ <img
12
+ src="{{ page.profile_picture.src | absolute_url }}"
13
+ alt="{{ page.profile_picture.alt }}"
14
+ class="profile-pic"
15
+ />
16
+
17
+ {{ content }}
18
+ </div>
19
+ </div>
20
+ </div>
21
+
22
+ {% include footer.html %}
23
+
24
+ {% include foot.html %}
25
+ </body>
26
+ </html>
@@ -0,0 +1,47 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ {% include head.html %}
4
+
5
+ <body>
6
+ {% include header.html %}
7
+
8
+ <div class="page-content">
9
+ <div class="wrapper">
10
+ <div class="post">
11
+
12
+ <header class="post-header">
13
+
14
+ {% if page.draft %}
15
+ {% include draft-banner.html %}
16
+ {% endif %}
17
+
18
+ <h1 class="post-title">
19
+ {% if page.headline_formatted_title %}
20
+ {{ page.headline_formatted_title | newline_to_br }}
21
+ {% else %}
22
+ {{ page.title }}
23
+ {% endif %}
24
+ </h1>
25
+
26
+ {% if page.subtitle %}<h1 class="post-subtitle">{{ page.subtitle }}</h1>{% endif %}
27
+ <p class="post-meta"><span class="post-date">{{ page.date | date: "%B %-d, %Y" }}
28
+ </span>{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
29
+ </header>
30
+
31
+ <article class="post-content">
32
+ {{ content }}
33
+ </article>
34
+
35
+ {% if page.draft %}
36
+ {% include draft-banner.html %}
37
+ {% endif %}
38
+
39
+ </div>
40
+ </div>
41
+ </div>
42
+
43
+ {% include footer.html %}
44
+
45
+ {% include foot.html %}
46
+ </body>
47
+ </html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ {% include head.html %}
4
+
5
+ <body>
6
+ {% include header.html %}
7
+
8
+ <div class="page-content">
9
+ <div class="wrapper">
10
+ <div class="work">
11
+ <h1 class="page-heading">{{ page.title }}</h1>
12
+ {{ content }}
13
+
14
+ {% for item in page.items %}
15
+ <div class="work-item">
16
+ <img
17
+ src="{{ item.image.src | absolute_url }}"
18
+ alt="{{ item.image.alt }}"
19
+ class="work-bubble"
20
+ />
21
+ <span class="work-text">
22
+ <strong>{{ item.title }}</strong>
23
+ &mdash;
24
+ {{ item.description }}
25
+ </span>
26
+ </div>
27
+ {% endfor %}
28
+ </div>
29
+ </div>
30
+ </div>
31
+
32
+ {% include footer.html %}
33
+
34
+ {% include foot.html %}
35
+ </body>
36
+ </html>
data/_sass/_404.scss ADDED
@@ -0,0 +1,12 @@
1
+ .not-found-container {
2
+ margin: 10px auto;
3
+ max-width: 600px;
4
+ text-align: center;
5
+ }
6
+
7
+ h1.not-found-title {
8
+ margin: 30px 0;
9
+ font-size: 4em;
10
+ line-height: 1;
11
+ letter-spacing: -1px;
12
+ }