minima-bootstrap 0.0.1

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: dfc1f8eb091ecf5dd3c1bcff5bbeae8d809f3b6ad65b1773ee2f585fc842997b
4
+ data.tar.gz: 972d0ecea23dfad1f1587238c862ea8efd1fce15b13274d853ccd654a4b21098
5
+ SHA512:
6
+ metadata.gz: cb277d77c4055fbd0a34aa5e4da7d5b4170c761ba817d0bdaeeca179a9b0f49adaac4c95c0580a7692c80beb2028570483e6c6470863d611625b12cda8dbd73a
7
+ data.tar.gz: 58710361bdbbad4acbaf50fce17a28908fc012710822bb9de990381e0c4f120368bcecc2b708120972b91f2fa8df877763c45fae236278b2d9d13451e402d79c
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016-present Parker Moore and the minima contributors
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,121 @@
1
+ # minima-bootstrap
2
+
3
+ A bootstrap based theme for Jekyll. Forked from the [default minima theme](https://github.com/Jekyll/minima)
4
+
5
+ [Theme preview](TO BE UPLOAD SOON)
6
+
7
+ ## Screenshots
8
+
9
+ ![Desktop screenshot](screenshot.png)
10
+ ![Mobile screenshot](screenshot-mobile.png)
11
+
12
+ ## Installation
13
+
14
+ First, install Jekyll and create a new site following the instructions on the [official webpage](https://jekyllrb.com/):
15
+
16
+ gem install bundler jekyll
17
+ jekyll new my-awesome-site
18
+ cd my-awesome-site
19
+
20
+ *Then:*
21
+
22
+ Add this line to your Jekyll site's Gemfile:
23
+
24
+ ```ruby
25
+ gem "minima-bootstrap"
26
+ ```
27
+
28
+ And add this line to your Jekyll site:
29
+
30
+ ```yaml
31
+ theme: minima-bootstrap
32
+ ```
33
+
34
+ And then execute:
35
+
36
+ $ bundle
37
+
38
+ to install and enable the theme.
39
+
40
+ ## Build and run
41
+
42
+ To build:
43
+
44
+ $ bundle exec jekyll build
45
+
46
+ To run:
47
+
48
+ $ bundle exec jekyll serve
49
+
50
+ ## Features
51
+
52
+ * Cover photo
53
+
54
+ * Profile picture
55
+
56
+ * Twitter feed
57
+
58
+ * Bio Card
59
+
60
+ ## Usage
61
+
62
+ General usage is much as the same as the `minima` theme from which this theme is forked.
63
+ Please see the [minima theme usage guide](https://github.com/jekyll/minima/blob/master/README.md#usage)
64
+
65
+ Please also see the [example blog](https://github.com/Sohair63/sohair-ahmad-blog) for practical usage examples.
66
+
67
+
68
+ ### Posts
69
+
70
+ Added extra optional key `short_description` key in FrontMatter for posts.
71
+
72
+ In `_config.yml`:
73
+
74
+ ```yaml
75
+ short_description: 'Short Description Text'
76
+ ```
77
+
78
+ ### Profile photo
79
+
80
+ In `_config.yml`:
81
+
82
+ ```yaml
83
+ profile_picture: link-or-path/to/profile/image.jpg
84
+ ```
85
+
86
+ ### Cover photo
87
+
88
+ In `_config.yml`:
89
+
90
+ ```yaml
91
+ cover_image: link-or-path/to/cover/image.jpg
92
+ ```
93
+
94
+ ### Twitter feed
95
+
96
+ In `_config.yml`:
97
+
98
+ ```yaml
99
+ twitter_username: yourtwitterhandle
100
+ show_twitter_feed: true
101
+ show_twitter_feed: true
102
+ twitter_feed_setting: 'noheader, noscrollbar, nofooter, noborders'
103
+ tweets_limit: 3 # Any limit default is 3
104
+ twitter_ref_src: yourtwitterhandle?ref_src=TWITTERSOURCE
105
+ ```
106
+ <!--
107
+ ### Fork me
108
+
109
+ Shows a GitHub 'fork me' link in the top corner of the page, as
110
+ well as a link in the footer.
111
+
112
+ In `_config.yml`:
113
+
114
+ ```yaml
115
+ fork_me_url: https://example.com
116
+ show_fork_me: true
117
+ ``` -->
118
+
119
+ ## License
120
+
121
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,18 @@
1
+ <div class="left col-lg-4">
2
+ <div class="photo-left">
3
+ <img class="photo" src="{{ site.profile_picture }}"/>
4
+ </div>
5
+
6
+ <h4 class="name">{{ site.title | escape }}</h4>
7
+ {%- if site.designation -%}
8
+ <p class="info">{{ site.title | escape }}</p>
9
+ {%- endif -%}
10
+
11
+ {%- if site.email -%}
12
+ <a class="info u-email" href="mailto:{{ site.email }}">{{ site.email }}</a>
13
+ {%- endif -%}
14
+
15
+ <p class="desc">{{- site.description | escape -}}</p>
16
+
17
+ {%- include social.html -%}
18
+ </div>
@@ -0,0 +1,20 @@
1
+ {%- if page.comments != false and jekyll.environment == "production" -%}
2
+
3
+ <div id="disqus_thread"></div>
4
+ <script>
5
+ var disqus_config = function () {
6
+ this.page.url = '{{ page.url | absolute_url }}';
7
+ this.page.identifier = '{{ page.url | absolute_url }}';
8
+ };
9
+
10
+ (function() {
11
+ var d = document, s = d.createElement('script');
12
+
13
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
14
+
15
+ s.setAttribute('data-timestamp', +new Date());
16
+ (d.head || d.body).appendChild(s);
17
+ })();
18
+ </script>
19
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
20
+ {%- endif -%}
@@ -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(){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">
5
+ {%- seo -%}
6
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
7
+ <link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">
8
+ {%- feed_meta -%}
9
+ {%- if jekyll.environment == 'production' and site.google_analytics -%}
10
+ {%- include google-analytics.html -%}
11
+ {%- endif -%}
12
+ </head>
@@ -0,0 +1,2 @@
1
+ <header class="site-header">
2
+ </header>
@@ -0,0 +1,28 @@
1
+ <div class="wrap-nav">
2
+ {%- assign default_paths = site.pages | map: "path" -%}
3
+ {%- assign page_paths = site.header_pages | default: default_paths -%}
4
+ {%- assign titles_size = site.pages | map: 'title' | join: '' | size -%}
5
+ <a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>
6
+
7
+ {%- if titles_size > 0 -%}
8
+ <nav class="site-nav">
9
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
10
+ <label for="nav-trigger">
11
+ <span class="menu-icon">
12
+ <svg viewBox="0 0 18 15" width="18px" height="15px">
13
+ <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
14
+ </svg>
15
+ </span>
16
+ </label>
17
+
18
+ <div class="trigger">
19
+ {%- for path in page_paths -%}
20
+ {%- assign my_page = site.pages | where: "path", path | first -%}
21
+ {%- if my_page.title -%}
22
+ <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
23
+ {%- endif -%}
24
+ {%- endfor -%}
25
+ </div>
26
+ </nav>
27
+ {%- endif -%}
28
+ </div>
@@ -0,0 +1,19 @@
1
+ <div class="social">
2
+ <ul class="social-media-list">
3
+ {%- if site.dribbble_username -%}<li><a href="https://dribbble.com/{{ site.dribbble_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#dribbble' | relative_url }}"></use></svg> <span class="username">{{ site.dribbble_username| escape }}</span></a></li>{%- endif -%}
4
+ {%- if site.facebook_username -%}<li><a href="https://www.facebook.com/{{ site.facebook_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#facebook' | relative_url }}"></use></svg> <span class="username">{{ site.facebook_username| escape }}</span></a></li>{%- endif -%}
5
+ {%- if site.flickr_username -%}<li><a href="https://www.flickr.com/photos/{{ site.flickr_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#flickr' | relative_url }}"></use></svg> <span class="username">{{ site.flickr_username| escape }}</span></a></li>{%- endif -%}
6
+ {%- if site.github_username -%}<li><a href="https://github.com/{{ site.github_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">{{ site.github_username| escape }}</span></a></li>{%- endif -%}
7
+ {%- if site.instagram_username -%}<li><a href="https://www.instagram.com/{{ site.instagram_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#instagram' | relative_url }}"></use></svg> <span class="username">{{ site.instagram_username| escape }}</span></a></li>{%- endif -%}
8
+ {%- if site.linkedin_username -%}<li><a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg> <span class="username">{{ site.linkedin_username| escape }}</span></a></li>{%- endif -%}
9
+ {%- if site.pinterest_username -%}<li><a href="https://www.pinterest.com/{{ site.pinterest_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#pinterest' | relative_url }}"></use></svg> <span class="username">{{ site.pinterest_username| escape }}</span></a></li>{%- endif -%}
10
+ {%- for mst in site.mastodon -%}{%- if mst.username and mst.instance -%}<li><a rel="me" href="https://{{ mst.instance| cgi_escape | escape}}/@{{mst.username}}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#mastodon' | relative_url }}"></use></svg> <span class="username">{{ mst.username|escape }}</span></a></li>{%- endif -%}{%- endfor -%}
11
+ {%- if site.twitter_username -%}<li><a href="https://twitter.com/{{ site.twitter_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#twitter' | relative_url }}"></use></svg> <span class="username">{{ site.twitter_username| escape }}</span></a></li>{%- endif -%}
12
+ {%- if site.youtube_username -%}<li><a href="https://www.youtube.com/{{ site.youtube_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg> <span class="username">{{ site.youtube_username| escape }}</span></a></li>{%- endif -%}
13
+ {%- if site.youtube_channel -%}<li><a href="https://www.youtube.com/channel/{{ site.youtube_channel| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg><span class="username">{%- if site.youtube_channel_name -%}{{ site.youtube_channel_name | escape }}{%- else -%}YouTube{%- endif -%}</span></a></li>{%- endif -%}
14
+ {%- if site.telegram_username -%}<li><a href="https://t.me/{{ site.telegram_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#telegram' | relative_url }}"></use></svg> <span class="username">{{ site.telegram_username| escape }}</span></a></li>{%- endif -%}
15
+ {%- if site.microdotblog_username -%}<li><a href="https://micro.blog/{{ site.microdotblog_username| cgi_escape | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#microdotblog' | relative_url }}"></use></svg> <span class="username">{{ site.microdotblog_username| escape }}</span></a></li>{%- endif -%}
16
+ {%- if site.googleplus_username -%}<li><a href="https://plus.google.com/{{ site.googleplus_username| escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#googleplus' | relative_url }}"></use></svg> <span class="username">{{ site.googleplus_username| escape }}</span></a></li>{%- endif -%}
17
+ {%- if site.rss -%}<li><a href="{{ 'feed.xml' | relative_url }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#rss' | relative_url }}"></use></svg> <span>{{ site.rss | escape }}</span></a></li>{%- endif -%}
18
+ </ul>
19
+ </div>
@@ -0,0 +1,21 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: 'en' }}">
3
+ {%- include head.html -%}
4
+
5
+ <body>
6
+
7
+ <div class="container">
8
+ {%- include header.html -%}
9
+
10
+ <main>
11
+ <div class="row">
12
+ {%- include bio_card.html -%}
13
+ <div class="right col-lg-8">
14
+ {%- include nav.html -%}
15
+ {{ content }}
16
+ </div>
17
+ </main>
18
+ </div>
19
+ </body>
20
+
21
+ </html>
@@ -0,0 +1,52 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="home">
6
+ {%- if page.title -%}
7
+ <h1 class="page-heading">{{ page.title }}</h1>
8
+ {%- endif -%}
9
+
10
+ {{ content }}
11
+
12
+ {%- if site.posts.size > 0 -%}
13
+ <h2 class="post-list-heading">{{ page.list_title | default: "Posts" }}</h2>
14
+ <ul class="post-list">
15
+ {%- for post in site.posts -%}
16
+ <li>
17
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
18
+ <h3>
19
+ <a class="post-link" href="{{ post.url | relative_url }}">
20
+ {{ post.title | escape }}
21
+ </a>
22
+ <span class="post-meta">
23
+ {{ post.short_description }}
24
+ </span>
25
+ <div class="clearfix"></div>
26
+ <span class="post-date">
27
+ on {{ post.date | date: date_format }}
28
+ </span>
29
+ </h3>
30
+ {%- if site.show_excerpts -%}
31
+ {{ post.excerpt }}
32
+ {%- endif -%}
33
+ </li>
34
+ {%- endfor -%}
35
+ </ul>
36
+ {%- endif -%}
37
+
38
+ {%- if site.twitter_ref_src and site.twitter_username and site.show_twitter_feed -%}
39
+ <h2 class='post-list-heading'>Twitter Feeds</h2>
40
+
41
+ <a data-chrome="{{ site.twitter_feed_setting | default: 'noheader, noscrollbar, nofooter, noborders' }}" data-tweet-limit="{{ site.tweets_limit | default: 3 }}" data-dnt="true" class="twitter-timeline" href="https://twitter.com/{{ site.twitter_ref_src }}">
42
+ </a>
43
+
44
+ <div class="twitter-timeline-load-more">
45
+ <center>
46
+ <a class='twitter-timeline-load-more-prompt twitter-timeline-show-more-button customisable' target="_blank" href="https://twitter.com/{{ site.twitter_username }}">Load more tweets</a>
47
+ </center>
48
+ </div>
49
+
50
+ <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
51
+ {%- endif -%}
52
+ </div>
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <article class="post">
5
+
6
+ <header class="post-header">
7
+ <h1 class="post-title">{{ page.title | escape }}</h1>
8
+ </header>
9
+
10
+ <div class="post-content">
11
+ {{ content }}
12
+ </div>
13
+
14
+ </article>
@@ -0,0 +1,27 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting">
5
+
6
+ <header class="post-header">
7
+ <h1 class="post-title p-name" itemprop="name headline">{{ page.title | escape }}</h1>
8
+ <p class="post-meta">
9
+ <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
10
+ {%- assign date_format = site.minima.date_format | default: "%b %-d, %Y" -%}
11
+ {{ page.date | date: date_format }}
12
+ </time>
13
+ {%- if page.author -%}
14
+ • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="p-author h-card" itemprop="name">{{ page.author | escape }}</span></span>
15
+ {%- endif -%}</p>
16
+ </header>
17
+
18
+ <div class="post-content e-content" itemprop="articleBody">
19
+ {{ content }}
20
+ </div>
21
+
22
+ {%- if site.disqus.shortname -%}
23
+ {%- include disqus_comments.html -%}
24
+ {%- endif -%}
25
+
26
+ <a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
27
+ </article>
data/_sass/minima.scss ADDED
@@ -0,0 +1,58 @@
1
+ @charset "utf-8";
2
+
3
+ // Define defaults for each variable.
4
+
5
+ $base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
6
+ $base-font-size: 16px !default;
7
+ $base-font-weight: 400 !default;
8
+ $small-font-size: $base-font-size * 0.875 !default;
9
+ $base-line-height: 1.5 !default;
10
+
11
+ $spacing-unit: 30px !default;
12
+
13
+ $text-color: #111 !default;
14
+ $background-color: #fdfdfd !default;
15
+ $brand-color: #2a7ae2 !default;
16
+
17
+ $grey-color: #828282 !default;
18
+ $grey-color-light: lighten($grey-color, 40%) !default;
19
+ $grey-color-dark: darken($grey-color, 25%) !default;
20
+ $orange-color: #f66a0a !default;
21
+ $table-text-align: left !default;
22
+
23
+ // Width of the content area
24
+ $content-width: 800px !default;
25
+
26
+ $on-palm: 600px !default;
27
+ $on-laptop: 800px !default;
28
+
29
+ $on-medium: $on-palm !default;
30
+ $on-large: $on-laptop !default;
31
+
32
+ // Use media queries like this:
33
+ // @include media-query($on-palm) {
34
+ // .wrapper {
35
+ // padding-right: $spacing-unit / 2;
36
+ // padding-left: $spacing-unit / 2;
37
+ // }
38
+ // }
39
+ // Notice the following mixin uses max-width, in a deprecated, desktop-first
40
+ // approach, whereas media queries used elsewhere now use min-width.
41
+ @mixin media-query($device) {
42
+ @media screen and (max-width: $device) {
43
+ @content;
44
+ }
45
+ }
46
+
47
+ @mixin relative-font-size($ratio) {
48
+ font-size: $base-font-size * $ratio;
49
+ }
50
+
51
+ // Import partials.
52
+ @import
53
+ "minima/base",
54
+ "minima/layout",
55
+ "minima/posts",
56
+ "minima/feeds",
57
+ "minima/syntax-highlighting"
58
+ ;