Skip to content

Commit 6f260bc

Browse files
authored
Initial commit
0 parents  commit 6f260bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2394
-0
lines changed

.github/FUNDING.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# These are supported funding model platforms
2+
3+
github: amitmerchant1990
4+
custom: paypal.me/AmitMerchant
5+
patreon: amitmerchant

.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
_site
2+
.DS_Store
3+
.jekyll
4+
.jekyll-metadata
5+
.bundle
6+
.sass-cache
7+
Gemfile.lock
8+
node_modules
9+
package.json
10+
*.gem
11+
*.gemspec
12+
.jekyll-cache
13+
vendor

.ruby-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.4.3

404.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: 404 - Page not found
4+
permalink: /404
5+
---
6+
7+
Sorry, we can't find that page that you're looking for. You can try again by going [back to the homepage]({{ site.baseurl }}/).
8+
9+
[<img src="{{ site.baseurl }}/images/404.jpg" alt="Constructocat by https://github.com/jasoncostello" style="width: 400px;"/>]({{ site.baseurl }}/)

Gemfile

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
gem 'github-pages'
3+
gem "webrick", "~> 1.7"

LICENSE

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2019 Amit Merchant
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of
6+
this software and associated documentation files (the "Software"), to deal in
7+
the Software without restriction, including without limitation the rights to
8+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9+
the Software, and to permit persons to whom the Software is furnished to do so,
10+
subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
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, FITNESS
17+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<div align="center">
2+
<br>
3+
<img src="/images/reverie-text.png" alt="Reverie" width="200"/>
4+
<br>
5+
<p align="center">
6+
<i>Support my work via <a href="https://paypal.me/AmitMerchant">Paypal</a> or <a href="https://buymeacoffee.com/amitmerchant">Buy me a coffee</a></i>
7+
</p>
8+
</div>
9+
10+
---
11+
12+
Reverie is a [Jekyll](https://jekyllrb.com/)-powered theme which is simple and opinionated. It's actually a fork of [jekyll-now](https://github.com/barryclark/jekyll-now) with some additional features and personal touches which I've implemented to suit my needs for my blog.
13+
14+
> [Theme demo](https://reverie.pages.dev/)
15+
16+
This is a plug-and-play Jekyll theme best suited to use on [GitHub Pages](https://pages.github.com) (or [Cloudflare Pages](https://pages.cloudflare.com/) if you want to have your repository private) without even setting up a local environment.
17+
18+
![](/images/reverie-demo.png)
19+
20+
| Responsiveness | Search | Categories |
21+
|---------------------|----------------------|----------------------|
22+
|![Responsiveness](/images/mobile-demo.png) | ![search](/images/search.png) | ![categories](/images/categories.png) |
23+
24+
# Table of Contents
25+
- [Features overview](#features-overview)
26+
- [Using Reverie on GitHub Pages](#using-reverie-on-github-pages)
27+
- [1. Fork Reverie to your User Repository](#1-fork-reverie-to-your-user-repository)
28+
- [2. Customize and view your site](#2-customize-and-view-your-site)
29+
- [3. Publish your first blog post](#3-publish-your-first-blog-post)
30+
- [Using Categories in Reverie](#using-categories-in-reverie)
31+
- [Pagination](#pagination)
32+
- [RSS](#rss)
33+
- [Sitemap](#sitemap)
34+
- [Emailware](#emailware)
35+
- [The name?](#the-name)
36+
- [License](#license)
37+
38+
## Features overview
39+
40+
- Clean and minimal design
41+
- Single column post layout
42+
- Command-line free fork-first workflow, using GitHub.com to create, customize and post to your blog
43+
- Fully responsive and mobile optimized theme
44+
- Sass/Coffeescript support using Jekyll 2.0
45+
- Free hosting on your GitHub Pages user site
46+
- All the SEO goodies come built-in
47+
- Markdown blogging
48+
- Supports [Pullquotes](https://reverie-jekyll.netlify.app/pullquotes/)
49+
- Syntax highlighting using Pygments
50+
- [Dracula syntax theme](https://draculatheme.com/) included
51+
- Disqus commenting
52+
- Social media icons
53+
- Google Analytics integration
54+
- Supports [Google Analytics 4](https://support.google.com/analytics/answer/10089681?hl=en)
55+
- Fuzzy search across blog posts
56+
- Blog with pagination
57+
- Categorize posts out-of-the box
58+
- RSS Feed
59+
- Built-in sitemap
60+
61+
> <p><i>Like this theme?</i> If so, consider donating a small amount that will help my maintaining this project further.<p>
62+
> You can support me via <a href="https://paypal.me/AmitMerchant">Paypal</a>.
63+
64+
## Using Reverie on GitHub Pages
65+
66+
Setting up Reverie on GitHub Pages is as simple as it gets!
67+
68+
### 1. Fork Reverie to your User Repository
69+
70+
Fork this repository, then rename the repository to `yourgithubusername.github.io`.
71+
72+
Alternatively, you can click the [`Use this template`](https://github.com/amitmerchant1990/reverie/generate) button if you want to create a repository with a clean commit history which will use Reverie as a template.
73+
74+
Your Jekyll blog will often be viewable immediately at <https://yourgithubusername.github.io> (if it's not, you can often force it to build by completing step 2).
75+
76+
### 2. Customize and view your site
77+
78+
Enter your site name, description, avatar and many other options by editing the `_config.yml` file. You can easily turn on Google Analytics tracking, Disqus commenting and social icons here.
79+
80+
Making a change to `_config.yml` (or any file in your repository) will force GitHub Pages to rebuild your site with Jekyll. Your rebuilt site will be viewable a few seconds later at <https://yourgithubusername.github.io> - if not, give it ten minutes as GitHub suggests and it'll appear soon.
81+
82+
### 3. Publish your first blog post
83+
84+
Delete all files from `_posts`directory and create a new file called `/_posts/2019-2-13-Hello-World.md` to publish your first blog post. That's all you need to do to publish your first blog post! This [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) might come in handy while writing the posts.
85+
86+
> You can add additional posts in the browser on GitHub.com too! Just hit the <kbd>Create new file</kbd> button in `/_posts/` to create new content. Just make sure to include the [front-matter](http://jekyllrb.com/docs/frontmatter/) block at the top of each new blog post and make sure the post's filename is in this format: year-month-day-title.md
87+
88+
## Using Categories in Reverie
89+
90+
You can categorize your content based on `categories` in Reverie. For this, you just need to add `categories` in front matter like below:
91+
92+
For adding single category:
93+
94+
```md
95+
categories: JavaScript
96+
```
97+
98+
For adding multiple categories:
99+
100+
```md
101+
categories: [PHP, Laravel]
102+
```
103+
104+
The categorized content can be shown over this URL: <https://yourgithubusername.github.io/categories/>
105+
106+
## Pagination
107+
108+
Pagination of posts in Reverie works out-of-the-box. You only need to specify the number of posts you want on a single page in `_config.yml` and Reverie will take care of the rest.
109+
110+
```yml
111+
paginate: 6
112+
```
113+
114+
## RSS
115+
116+
Reverie comes with a [RSS feed](https://en.wikipedia.org/wiki/RSS) in-built. The generated RSS Feed of your blog can be found at <https://yourgithubusername.github.io/feed>. You can see the example RSS feed over [here](https://reverie-jekyll.netlify.app/feed.xml).
117+
118+
## Sitemap
119+
120+
The generated sitemap of your blog can be found at <https://yourgithubusername.github.io/sitemap.xml>. You can see the example sitemap feed over [here](https://reverie-jekyll.netlify.app/sitemap.xml).
121+
122+
## Emailware
123+
Reverie is an [emailware](https://en.wiktionary.org/wiki/emailware). Meaning, if you liked using this theme or it has helped you in any way, I'd like you send me an email at <[email protected]> about anything you'd want to say about this software. I'd really appreciate it!
124+
125+
## The name?
126+
127+
reverie - _a state of being pleasantly lost in one's thoughts; a daydream._<br><sup>/ˈrɛv(ə)ri/</sup>
128+
129+
130+
## License
131+
132+
MIT

_config.yml

+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
#
2+
# This file contains configuration flags to customize your site
3+
#
4+
5+
# Name of your site (displayed in the header)
6+
name: Reverie
7+
8+
# Name of the author
9+
author: Amit Merchant
10+
11+
# Short bio or description (displayed in the header)
12+
description: An elegant Jekyll theme
13+
14+
# URL of your avatar or profile pic (you could use your GitHub profile pic)
15+
avatar: /images/reverie.png
16+
17+
#
18+
# Flags below are optional
19+
#
20+
21+
# Includes an icon in the footer for each username you enter
22+
footer-links:
23+
dribbble:
24+
25+
facebook:
26+
flickr:
27+
github: amitmerchant1990/reverie
28+
instagram:
29+
linkedin:
30+
pinterest:
31+
rss: rss
32+
twitter: amit_merchant
33+
stackoverflow:
34+
youtube: # channel/<your_long_string> or user/<user-name>
35+
googleplus: # anything in your profile username that comes after plus.google.com/
36+
playconsole:
37+
mastodon: # <your-mastodon-instance>/@<your-user-name> eg. fosstodon.org/@username
38+
39+
# Enter your Disqus shortname (not your username) to enable commenting on posts
40+
# You can find your shortname on the Settings page of your Disqus account
41+
disqus:
42+
43+
# Enter your Google Analytics web tracking code (e.g. UA-2110908-2) to activate tracking
44+
google_analytics: UA-43339302-11
45+
46+
# For newer "GA4" analytics, use the following instead of the "UA" entry above
47+
#google_analytics_ga4: G-GABC1DEFG
48+
49+
# Your website URL (e.g. http://amitmerchant1990.github.io or http://www.amitmerchant.com)
50+
# Used for Sitemap.xml and your RSS feed
51+
url: http://www.amitmerchant.com/reverie
52+
enforce_ssl: https://www.amitmerchant.com/reverie
53+
54+
# If you're hosting your site at a Project repository on GitHub pages
55+
# (http://yourusername.github.io/repository-name)
56+
# and NOT your User repository (http://yourusername.github.io)
57+
# then add in the baseurl here, like this: "/repository-name"
58+
baseurl: "/reverie"
59+
60+
#
61+
# !! You don't need to change any of the configuration flags below !!
62+
#
63+
64+
permalink: /:title/
65+
66+
# The release of Jekyll Now that you're using
67+
version: v1.2.0
68+
69+
# Jekyll 3 now only supports Kramdown for Markdown
70+
kramdown:
71+
# Use GitHub flavored markdown, including triple backtick fenced code blocks
72+
input: GFM
73+
# Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
74+
syntax_highlighter: rouge
75+
syntax_highlighter_opts:
76+
# Use existing pygments syntax highlighting css
77+
css_class: 'highlight'
78+
79+
# Set the Sass partials directory, as we're using @imports
80+
sass:
81+
style: :expanded # You might prefer to minify using :compressed
82+
83+
# Use the following plug-ins
84+
plugins:
85+
- jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem
86+
- jekyll-feed # Create an Atom feed using the official Jekyll feed gem
87+
- jekyll-seo-tag
88+
- jekyll-paginate
89+
90+
include: ['_pages']
91+
92+
paginate: 6
93+
paginate_path: /page:num/
94+
95+
# Exclude these files from your production _site
96+
exclude:
97+
- Gemfile
98+
- Gemfile.lock
99+
- LICENSE
100+
- README.md
101+
- CNAME
102+

_includes/analytics.html

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{% if site.google_analytics %}
2+
<!-- Google Analytics -->
3+
<script>
4+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
5+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
6+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
7+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
8+
9+
ga('create', '{{ site.google_analytics }}', 'auto');
10+
ga('send', 'pageview', {
11+
'page': '{{ site.baseurl }}{{ page.url }}',
12+
'title': '{{ page.title | replace: "'", "\\'" }}'
13+
});
14+
</script>
15+
<!-- End Google Analytics -->
16+
{% endif %}

_includes/analytics_head.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% if site.google_analytics_ga4 %}
2+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics_ga4 }}"></script>
3+
<script>
4+
window.dataLayer = window.dataLayer || [];
5+
function gtag(){dataLayer.push(arguments);}
6+
gtag('js', new Date());
7+
gtag('config', '{{ site.google_analytics_ga4 }}');
8+
</script>
9+
{% endif %}

_includes/disqus.html

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{% if site.disqus %}
2+
<div class="comments">
3+
<div id="disqus_thread"></div>
4+
<script type="text/javascript">
5+
6+
var disqus_shortname = '{{ site.disqus }}';
7+
8+
(function() {
9+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
10+
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
11+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
12+
})();
13+
14+
</script>
15+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
16+
</div>
17+
{% endif %}

_includes/meta.html

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
2+
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
3+
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>
4+
5+
{% if page.excerpt %}
6+
<meta property="og:description" content="{{ page.excerpt| strip_html }}" />
7+
{% else if page.description %}
8+
<meta property="og:description" content="{{ page.description }}" />
9+
{% else %}
10+
<meta property="og:description" content="{{ site.description }}" />
11+
{% endif %}
12+
<meta name="author" content="{{ site.name }}" />
13+
14+
{% if page.title %}
15+
<meta property="og:title" content="{{ page.title }}" />
16+
<meta property="twitter:title" content="{{ page.title }}" />
17+
{% endif %}
18+
19+
{% if page.image %}
20+
<meta property="og:image" content="{{ site.url }}{{ page.image }}"/>
21+
<meta property="twitter:image" content="{{ site.url }}{{ page.image }}"/>
22+
{% else %}
23+
<meta property="og:image" content="{{ site.url }}{{ site.avatar }}"/>
24+
<meta property="twitter:image" content="{{ site.url }}{{ site.avatar }}"/>
25+
{% endif %}

_includes/pullquote.html

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{ include.quote }}<span data-pullquote="{{ include.quote }}"></span>

_includes/svg-icons.html

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% if site.footer-links.dribbble %}<a href="https://dribbble.com/{{ site.footer-links.dribbble }}" target="_blank"><i class="svg-icon dribbble"></i></a>{% endif %}
2+
{% if site.footer-links.email %}<a href="mailto:{{ site.footer-links.email }}"><i class="svg-icon email"></i></a>{% endif %}
3+
{% if site.footer-links.facebook %}<a href="https://www.facebook.com/{{ site.footer-links.facebook }}" target="_blank"><i class="svg-icon facebook"></i></a>{% endif %}
4+
{% if site.footer-links.flickr %}<a href="https://www.flickr.com/{{ site.footer-links.flickr }}" target="_blank"><i class="svg-icon flickr"></i></a>{% endif %}
5+
{% if site.footer-links.github %}<a href="https://github.com/{{ site.footer-links.github }}" target="_blank"><i class="svg-icon github"></i></a>{% endif %}
6+
{% if site.footer-links.instagram %}<a href="https://instagram.com/{{ site.footer-links.instagram }}" target="_blank"><i class="svg-icon instagram"></i></a>{% endif %}
7+
{% if site.footer-links.linkedin %}<a href="https://www.linkedin.com/in/{{ site.footer-links.linkedin }}" target="_blank"><i class="svg-icon linkedin"></i></a>{% endif %}
8+
{% if site.footer-links.pinterest %}<a href="https://www.pinterest.com/{{ site.footer-links.pinterest }}" target="_blank"><i class="svg-icon pinterest"></i></a>{% endif %}
9+
{% if site.footer-links.rss %}<a href="{{ site.baseurl }}/feed.xml" target="_blank"><i class="svg-icon rss"></i></a>{% endif %}
10+
{% if site.footer-links.twitter %}<a href="https://www.twitter.com/{{ site.footer-links.twitter }}" target="_blank"><i class="svg-icon twitter"></i></a>{% endif %}
11+
{% if site.footer-links.stackoverflow %}<a href="http://stackoverflow.com/{{ site.footer-links.stackoverflow }}" target="_blank"><i class="svg-icon stackoverflow"></i></a>{% endif %}
12+
{% if site.footer-links.youtube %}<a href="https://youtube.com/{{ site.footer-links.youtube }}" target="_blank"><i class="svg-icon youtube"></i></a>{% endif %}
13+
{% if site.footer-links.googleplus %}<a href="https://plus.google.com/{{ site.footer-links.googleplus }}" target="_blank"><i class="svg-icon googleplus"></i></a>{% endif %}
14+
{% if site.footer-links.playconsole %}<a href="https://play.google.com/store/apps/dev?id={{ site.footer-links.playconsole }}" target="_blank"><i class="svg-icon playconsole"></i></a>{% endif %}
15+
{% if site.footer-links.mastodon %}<a rel="me" href="https://{{ site.footer-links.mastodon }}" target="_blank"><i class="svg-icon mastodon"></i></a>{% endif %}

0 commit comments

Comments
 (0)