├── .gitattributes
├── .gitignore
├── Gemfile
├── LICENSE.txt
├── README.md
├── _config.yml
├── _data
├── pages.yml
├── settings.yml
└── social.yml
├── _includes
├── analytics.html
├── categories.html
├── comments.html
├── footer.html
├── gif.html
├── head.html
├── header.html
├── pages.html
├── reading_time.html
├── related-posts.html
└── social.html
├── _layouts
├── archive.html
├── categories.html
├── contact.html
├── default.html
├── home.html
├── page.html
└── post.html
├── _posts
├── 2020-04-11-lorem-ipsum.md
├── 2020-05-19-special-formatting.md
├── 2020-05-19-typography.md
├── 2020-05-20-write-a-post.md
└── 2020-05-21-this-is-yamt.md
├── _sass
├── base.scss
├── contact.scss
├── footer.scss
├── header.scss
├── home.scss
├── mobile.scss
├── paginator.scss
├── post.scss
├── related-posts.scss
├── scrollbar.scss
├── typography-old.scss
└── typography.scss
├── about.md
├── archive.md
├── assets
├── css
│ ├── main.scss
│ └── syntax.scss
├── favicon.ico
└── img
│ ├── airplane.jpg
│ ├── forest-snow.jpg
│ ├── logo.jpg
│ ├── mountain.jpg
│ ├── oranges.jpg
│ ├── rose.jpg
│ └── screenshots
│ ├── Screenshot.png
│ ├── Screenshot_code_highlight.png
│ ├── Screenshot_minimal.png
│ └── Screenshot_mobile.png
├── categories.md
├── contact-successful.md
├── contact.md
├── index.html
├── jekyll-yamt.gemspec
└── utterances.json
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.gem
2 | .bundle
3 | .jekyll-cache
4 | .sass-cache
5 | _site
6 | /_site
7 | Gemfile.lock
8 | _site/
9 | .sass-cache/
10 | .jekyll-cache/
11 | .jekyll-metadata
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | source "https://rubygems.org"
4 | gemspec
5 |
6 | gem 'jekyll'
7 |
8 | gem 'wdm', '>= 0.1.0'
9 |
10 | gem 'jekyll-paginate'
11 | gem 'jekyll-feed'
12 | gem 'jekyll-seo-tag'
13 | gem 'jekyll-sitemap'
14 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2020 PandaSekh
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 | Leave the name of the author of this theme in the footer.
13 |
14 | The above copyright notice and this permission notice shall be included in
15 | all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [YAMT - Yet Another Minimal Theme](https://yamt.netlify.app/)
2 | 
3 | [](https://github.com/PandaSekh/Jekyll-YAMT/issues)
4 | 
5 | ## [Live Demo](https://yamt.netlify.app/)
6 |
7 | 
8 |
9 | YAMT is a minimal [Jekyll](http://jekyllrb.com) theme focused on simplicity and ease-of-use. It has great modularity, allowing you to easily decide what you actually want on your website.
10 |
11 | ## Contents
12 |
13 | - [Features](#features)
14 | - [Screenshots](#screenshots)
15 | - [Installation](#installation)
16 | - [Customize](#customize)
17 | - [Basics](#basics)
18 | - [Typography](#typography)
19 | - [Header](#header)
20 | - [Home](#home)
21 | - [Post](#post)
22 | - [Contact Form](#contact-form)
23 | - [Development](#development)
24 | - [Credits](#credits)
25 | - [License](#license)
26 |
27 | ## Features
28 |
29 | - Minimal and clean design.
30 | - Fully modular: activate and load only what you really need.
31 | - Works great on mobile and smaller screens.
32 | - Works on Github Pages.
33 | - Supports [Disqus](https://disqus.com/) comments activated only on button press, if you activate them.
34 | - [Google Analytics](https://www.google.com/analytics/) support.
35 | - [Open Graph](https://ogp.me/) and [Twitter Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started) support to better index the website content on search engines and social networks.
36 | - [MathJAX](https://www.mathjax.org/) and [LaTeX](https://www.latex-project.org/) optional support. Write beautiful math!
37 | - [RSS](https://github.com/jekyll/jekyll-feed) support.
38 | - Beautiful [Syntax Highlight](https://yamt.netlify.app/2020/05/19/special-formatting.html#syntax-highlight). Write some code and show it in a graceful way.
39 |
40 | ## Screenshots
41 |
42 | Mobile:
43 | 
44 |
45 | Code Highlight:
46 | 
47 |
48 | Minimal:
49 | 
50 |
51 | ## Installation
52 |
53 | There are four way to use YAMT: Netlify (suggested, as this theme has a contact module built-in working only on Netlify), Github Pages, as a gem-based theme, by forking this repo or by copying all the files into your directory.
54 |
55 | ### Download the files
56 | You can [download the files](https://github.com/PandaSekh/Jekyll-YAMT/releases/latest) and add them in your directory to start working.
57 |
58 | ### Netlify
59 |
60 | 1. [Fork this repo](https://github.com/PandaSekh/Jekyll-YAMT/generate). You can copy only master, set it to private or public and name it however you want.
61 | 2. Go to [Netlify](https://app.netlify.com/), create a New site from Git, choose your repo or all repos, no difference. Back to Netlify, select the recently forked repo.
62 | 3. Owner and branch are good to go. In build command write `bundle exec jekyll build` and publishing directory should be `_site/`.
63 | 4. Deploy. Your site will shortly be available. Under domain settings you can change your subdomain, or add a primary level one.
64 |
65 | ### Github Pages
66 |
67 | Github Pages uses the [--safe flag](https://jekyllrb.com/docs/configuration/options/) to build jekyll websites, which disable custom plugins, caching to disk and ignore symbolic links. Because of that, I suggest you to use any other method. Netlify works great with a 5 minute config, so I suggest you use it.
68 |
69 | 1. [Fork this repo](https://github.com/PandaSekh/Jekyll-YAMT/generate).
70 | 2. Create a new branch in your repo and call it `gh-pages`.
71 | 3. Publish your website and choose gh-pages as the target branch.
72 |
73 | ### Remote theme
74 |
75 | [Follow these instructions](https://help.github.com/en/github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll).
76 |
77 | ### Gem-based theme
78 | 1. Add this line to your Jekyll site's `Gemfile`:
79 |
80 | ```ruby
81 | gem "jekyll-yamt"
82 | ```
83 |
84 | 2. And add this line to your Jekyll site's `_config.yml`:
85 |
86 | ```yaml
87 | theme: jekyll-yamt
88 | ```
89 |
90 | 3. And then execute:
91 |
92 | ``` bash
93 | $ bundle
94 | ```
95 |
96 | 4. Or install it yourself as:
97 |
98 | ``` bash
99 | $ gem install jekyll-yamt
100 | ```
101 |
102 | #### ERROR: There was an error while loading `jekyll-yamt.gemspec`: No such file or directory - git ls-files -z. Bundler cannot continue.
103 | If you encounter this error when running `bundle install`, please make sure git is installed.
104 |
105 | ## Customize
106 |
107 | YAMT is easily customizable. If you don't need a functionality, just deactivate it in `_data/settings.yml`.
108 | Most of the customizable things are self-explanatory and found in the `_data` folder and in the `_config.yml`.
109 |
110 | ### Basics
111 |
112 | Under the `_data` folder there are three files: pages, settings and social.
113 | In pages you can add other pages that will show up in the nav-
114 | In social you can add your socials that will show up in the nav. To add a social, find a suitable icon on [FontAwesome](https://fontawesome.com/) and add it's name in the name tag.
115 | Brand defines Font Awesome's font type (fas is solid, fab is brand).
116 | Out of the box this theme has support colors for a bunch of social. If your social isn't supported, just add the color in the header.css
117 |
118 | In `_data/settings.yml` you can activate or deactivate various functions of the theme, like analytics, disqus comments, related posts and so on.
119 |
120 | ### Typography
121 | By default YAMT uses the System Font STack, which greatly reduces load times. If you want to use the old Font Stack, in `assets/main.scss` change `typography` to `typography-old`.
122 |
123 | ### Header
124 | In `_data/settings.yml` you can choose to hide or show the subtitle, the page navigation or the social icons.
125 |
126 | ### Home
127 | In `_data/settings.yml` you can choose to hide or show the posts infos (date and read-time) and the featured image.
128 |
129 | ### Post
130 | In `_data/settings.yml` you can choose to hide or show the post infos, categories, related posts and comments.
131 | Note that by removing categories the Categories Archives will no longer be reachable.
132 |
133 | ### Contact Form
134 | YAMT has a built-in contact form builded using [Netlify](https://app.netlify.com/) free form functionality. To make it work you only need the line `data-netlify="true"` when declaring a form.
135 | If you don't want to use Netlify, remove the line `data-netlify="true"`.
136 |
137 | ## Development
138 |
139 | [Contributions are welcomed and encouraged](https://github.com/PandaSekh/Jekyll-YAMT/issues).
140 |
141 | To set up your environment to develop this theme, run `bundle install`.
142 |
143 | Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
144 |
145 | When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
146 | To add a custom directory to your theme-gem, please edit the regexp in `yamt.gemspec` accordingly.
147 |
148 | ## Credits
149 | Theme designed and created by [Alessio Franceschi](https://github.com/PandaSekh/).
150 | Inspired by [Lagrange by LeNPaul](https://lenpaul.github.io/Lagrange/).
151 | Also great help from [this blog](https://blog.webjeda.com/), I've used this even before I created this theme.
152 | Images from [Unsplash](https://unsplash.com/).
153 |
154 | ## License
155 | The theme is available as open source under the terms of the [MIT License](https://github.com/PandaSekh/Jekyll-YAMT/blob/master/LICENSE.txt).
156 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Site settings
2 | title: YAMT
3 | description: "Yet Another Minimal Theme"
4 | url: "https://pandasekh.github.io/Jekyll-YAMT/" # Actual base url of the website
5 | baseurl: "/" # url of the jekyll blog. e.g. if you set url to "mysite.com" and baseurl to "blog", the jekyll website will work on "mysite.com/blog"
6 | author:
7 | name: "Alessio Franceschi"
8 | email: "alessiofranceschi2@gmail.com"
9 | url: "https://alessiofranceschi.me"
10 | permalink: /:year/:month/:day/:title:output_ext
11 |
12 | #Plugins
13 | plugins: [jekyll-paginate, jekyll-feed, jekyll-seo-tag, jekyll-sitemap]
14 |
15 | #Pagination
16 | paginate: 3
17 | paginate_path: "/page:num/"
18 |
19 | #SEO
20 | twitter:
21 | username: pandasekh
22 | card: summary
23 | facebook:
24 | app_id: # Facebook app ID for Facebook insights
25 | publisher: # Facebook page URL or ID of the publishing entity
26 | admins: # Facebook user ID for domain insights linked to a personal account
27 | logo: /assets/img/logo.jpg
28 | social:
29 | links: #List your social links here
30 | - https://twitter.com/PandaSekh
31 | - https://www.github.com/pandasekh
32 | - https://www.linkedin.com/in/alessio-franceschi/
33 | webmaster_verifications:
34 | google:
35 | bing:
36 | alexa:
37 | yandex:
38 | baidu:
39 | lang: en_US
40 |
41 | #Highlighter
42 | kramdown:
43 | input: GFM
44 | syntax_highlighter: rouge
45 |
46 | syntax_highlighter_opts:
47 | css_class: 'highlight'
48 | span:
49 | line_numbers: false
50 | block:
51 | line_numbers: false
52 | start_line: 1
53 |
54 | #Sass
55 | sass:
56 | style: compressed
57 | sourcemap: never
--------------------------------------------------------------------------------
/_data/pages.yml:
--------------------------------------------------------------------------------
1 | pages:
2 | - {name: 'About', url: 'about.html'}
3 | - {name: 'Contact', url: 'contact.html'}
4 | - {name: 'Archive', url: 'archive.html'}
5 | - {name: 'Get YAMT', url: 'https://github.com/PandaSekh/Jekyll-YAMT'}
--------------------------------------------------------------------------------
/_data/settings.yml:
--------------------------------------------------------------------------------
1 | #Google Analytics
2 | analytics-id: #leave blank to not use Analytics
3 |
4 | #Subtitle
5 | subtitle:
6 | active: true
7 | text: Yet Another Minimal Theme
8 |
9 | #Nav
10 | nav:
11 | pages:
12 | active: true
13 | social:
14 | active: true
15 |
16 | #Featured images in homepage
17 | featured-img:
18 | active: true
19 |
20 | #Show categories at the end of posts
21 | categories:
22 | active: true
23 |
24 | #Show date and read time under the post title
25 | date-under-post:
26 | active: true
27 |
28 | #Use MathJAX
29 | mathjax:
30 | active: true
31 |
32 | #Show related posts based on categories
33 | related-posts:
34 | active: true
35 | title: "You May Also Enjoy"
36 |
37 | #Comments
38 | comments: true
--------------------------------------------------------------------------------
/_data/social.yml:
--------------------------------------------------------------------------------
1 | # These are the socials supported by default. If you want to add one which isn't present, find the icon name on https://fontawesome.com/
2 | # and add it's color in /_sass/social.scss. Brand defines Font Awesome's font type (fas is solid, fab is brand).
3 |
4 |
5 | social:
6 | - {icon: 'github', type: "brand", link: 'https://www.github.com/pandasekh'}
7 | - {icon: 'twitter', type: "brand", link: 'https://twitter.com/PandaSekh'}
8 | - {icon: 'linkedin', type: "brand", link: 'https://www.linkedin.com/in/alessio-franceschi/'}
9 |
10 | - {icon: 'envelope', type: "solid", link: 'mailto:alessiofranceschi2@gmail.com'}
11 | - {icon: 'rss', type: "solid", link: "/feed.xml"}
--------------------------------------------------------------------------------
/_includes/analytics.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
--------------------------------------------------------------------------------
/_includes/categories.html:
--------------------------------------------------------------------------------
1 |