Try to update minimal-mistakes
This commit is contained in:
parent
9dca56d219
commit
de2c79b2b2
5 changed files with 240 additions and 0 deletions
76
Rakefile
Normal file
76
Rakefile
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
require "bundler/gem_tasks"
|
||||||
|
require "jekyll"
|
||||||
|
require "listen"
|
||||||
|
|
||||||
|
def listen_ignore_paths(base, options)
|
||||||
|
[
|
||||||
|
/_config\.ya?ml/,
|
||||||
|
/_site/,
|
||||||
|
/\.jekyll-metadata/
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def listen_handler(base, options)
|
||||||
|
site = Jekyll::Site.new(options)
|
||||||
|
Jekyll::Command.process_site(site)
|
||||||
|
proc do |modified, added, removed|
|
||||||
|
t = Time.now
|
||||||
|
c = modified + added + removed
|
||||||
|
n = c.length
|
||||||
|
relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s }
|
||||||
|
print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ")
|
||||||
|
begin
|
||||||
|
Jekyll::Command.process_site(site)
|
||||||
|
puts "regenerated in #{Time.now - t} seconds."
|
||||||
|
rescue => e
|
||||||
|
puts "error:"
|
||||||
|
Jekyll.logger.warn "Error:", e.message
|
||||||
|
Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
task :preview do
|
||||||
|
base = Pathname.new('.').expand_path
|
||||||
|
options = {
|
||||||
|
"source" => base.join('test').to_s,
|
||||||
|
"destination" => base.join('test/_site').to_s,
|
||||||
|
"force_polling" => false,
|
||||||
|
"serving" => true,
|
||||||
|
"theme" => "minimal-mistakes-jekyll"
|
||||||
|
}
|
||||||
|
|
||||||
|
options = Jekyll.configuration(options)
|
||||||
|
|
||||||
|
ENV["LISTEN_GEM_DEBUGGING"] = "1"
|
||||||
|
listener = Listen.to(
|
||||||
|
base.join("_data"),
|
||||||
|
base.join("_includes"),
|
||||||
|
base.join("_layouts"),
|
||||||
|
base.join("_sass"),
|
||||||
|
base.join("assets"),
|
||||||
|
options["source"],
|
||||||
|
:ignore => listen_ignore_paths(base, options),
|
||||||
|
:force_polling => options['force_polling'],
|
||||||
|
&(listen_handler(base, options))
|
||||||
|
)
|
||||||
|
|
||||||
|
begin
|
||||||
|
listener.start
|
||||||
|
Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'"
|
||||||
|
|
||||||
|
unless options['serving']
|
||||||
|
trap("INT") do
|
||||||
|
listener.stop
|
||||||
|
puts " Halting auto-regeneration."
|
||||||
|
exit 0
|
||||||
|
end
|
||||||
|
|
||||||
|
loop { sleep 1000 }
|
||||||
|
end
|
||||||
|
rescue ThreadError
|
||||||
|
# You pressed Ctrl-C, oh my!
|
||||||
|
end
|
||||||
|
|
||||||
|
Jekyll::Commands::Serve.process(options)
|
||||||
|
end
|
85
_layouts/single-no-ads.html
Normal file
85
_layouts/single-no-ads.html
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
||||||
|
{% include page__hero.html %}
|
||||||
|
{% elsif page.header.video.id and page.header.video.provider %}
|
||||||
|
{% include page__hero_video.html %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.url != "/" and site.breadcrumbs %}
|
||||||
|
{% unless paginator %}
|
||||||
|
{% include breadcrumbs.html %}
|
||||||
|
{% endunless %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div id="main" role="main">
|
||||||
|
{% include sidebar.html %}
|
||||||
|
|
||||||
|
<article class="page" itemscope itemtype="http://schema.org/CreativeWork">
|
||||||
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
|
||||||
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
|
||||||
|
|
||||||
|
<div class="page__inner-wrap">
|
||||||
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
|
<header>
|
||||||
|
{% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
|
||||||
|
{% if page.read_time %}
|
||||||
|
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
|
||||||
|
{% endif %}
|
||||||
|
</header>
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
<section class="page__content" itemprop="text">
|
||||||
|
{{ content }}
|
||||||
|
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer class="page__meta">
|
||||||
|
{% if site.data.ui-text[site.locale].meta_label %}
|
||||||
|
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
||||||
|
{% endif %}
|
||||||
|
{% include page__taxonomy.html %}
|
||||||
|
{% if page.last_modified_at %}
|
||||||
|
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
|
||||||
|
{% elsif page.date %}
|
||||||
|
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
|
||||||
|
{% endif %}
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
{% if page.share %}{% include social-share.html %}{% endif %}
|
||||||
|
|
||||||
|
{% include post_pagination.html %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if site.comments.provider and page.comments %}
|
||||||
|
{% include comments.html %}
|
||||||
|
{% endif %}
|
||||||
|
</article>
|
||||||
|
|
||||||
|
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
||||||
|
{% if page.id and page.related and site.related_posts.size > 0 %}
|
||||||
|
<div class="page__related">
|
||||||
|
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||||
|
<div class="grid__wrapper">
|
||||||
|
{% for post in site.related_posts limit:4 %}
|
||||||
|
{% include archive-single.html type="grid" %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||||
|
{% elsif page.id and page.related %}
|
||||||
|
<div class="page__related">
|
||||||
|
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||||
|
<div class="grid__wrapper">
|
||||||
|
{% for post in site.posts limit:4 %}
|
||||||
|
{% include archive-single.html type="grid" %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
17
banner.js
Normal file
17
banner.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
const pkg = require('./package.json');
|
||||||
|
const filename = 'assets/js/main.min.js';
|
||||||
|
const script = fs.readFileSync(filename);
|
||||||
|
const padStart = str => ('0' + str).slice(-2)
|
||||||
|
const dateObj = new Date;
|
||||||
|
const date = `${dateObj.getFullYear()}-${padStart(dateObj.getMonth() + 1)}-${padStart(dateObj.getDate())}`;
|
||||||
|
const banner = `/*!
|
||||||
|
* Minimal Mistakes Jekyll Theme ${pkg.version} by ${pkg.author}
|
||||||
|
* Copyright ${dateObj.getFullYear()} Michael Rose - mademistakes.com | @mmistakes
|
||||||
|
* Licensed under ${pkg.license}
|
||||||
|
*/
|
||||||
|
`;
|
||||||
|
|
||||||
|
if (script.slice(0, 3) != '/**') {
|
||||||
|
fs.writeFileSync(filename, banner + script);
|
||||||
|
}
|
27
minimal-mistakes-jekyll.gemspec
Normal file
27
minimal-mistakes-jekyll.gemspec
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
Gem::Specification.new do |spec|
|
||||||
|
spec.name = "minimal-mistakes-jekyll"
|
||||||
|
spec.version = "4.24.0"
|
||||||
|
spec.authors = ["Michael Rose"]
|
||||||
|
|
||||||
|
spec.summary = %q{A flexible two-column Jekyll theme.}
|
||||||
|
spec.homepage = "https://github.com/mmistakes/minimal-mistakes"
|
||||||
|
spec.license = "MIT"
|
||||||
|
|
||||||
|
spec.metadata["plugin_type"] = "theme"
|
||||||
|
|
||||||
|
spec.files = `git ls-files -z`.split("\x0").select do |f|
|
||||||
|
f.match(%r{^(assets|_(data|includes|layouts|sass)/|(LICENSE|README|CHANGELOG)((\.(txt|md|markdown)|$)))}i)
|
||||||
|
end
|
||||||
|
|
||||||
|
spec.add_runtime_dependency "jekyll", ">= 3.7", "< 5.0"
|
||||||
|
spec.add_runtime_dependency "jekyll-paginate", "~> 1.1"
|
||||||
|
spec.add_runtime_dependency "jekyll-sitemap", "~> 1.3"
|
||||||
|
spec.add_runtime_dependency "jekyll-gist", "~> 1.5"
|
||||||
|
spec.add_runtime_dependency "jekyll-feed", "~> 0.1"
|
||||||
|
spec.add_runtime_dependency "jekyll-include-cache", "~> 0.1"
|
||||||
|
|
||||||
|
spec.add_development_dependency "bundler"
|
||||||
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
||||||
|
end
|
35
package.json
Normal file
35
package.json
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
"name": "minimal-mistakes",
|
||||||
|
"private": true,
|
||||||
|
"version": "4.24.0",
|
||||||
|
"description": "Minimal Mistakes 2 column Jekyll theme.",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/mmistakes/minimal-mistakes.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"jekyll",
|
||||||
|
"theme",
|
||||||
|
"minimal"
|
||||||
|
],
|
||||||
|
"author": "Michael Rose",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/mmistakes/minimal-mistakes/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://mmistakes.github.io/minimal-mistakes/",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"npm-run-all": "^4.1.5",
|
||||||
|
"onchange": "^7.1.0",
|
||||||
|
"uglify-js": "^3.13.6"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"uglify": "uglifyjs assets/js/vendor/jquery/jquery-3.5.1.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.ba-throttle-debounce.js assets/js/plugins/smooth-scroll.js assets/js/plugins/gumshoe.js assets/js/_main.js -c -m -o assets/js/main.min.js",
|
||||||
|
"add-banner": "node banner.js",
|
||||||
|
"watch:js": "onchange \"assets/js/**/*.js\" -e \"assets/js/main.min.js\" -- npm run build:js",
|
||||||
|
"build:js": "npm run uglify && npm run add-banner"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue