diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100755 index 0000000..2cfe7b0 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,34 @@ +- repo: git://github.com/pre-commit/pre-commit-hooks + sha: v0.9.1 + hooks: + - id: check-merge-conflict + - id: trailing-whitespace + args: + - --no-markdown-linebreak-ext +- repo: git://github.com/Lucas-C/pre-commit-hooks + sha: v1.0.1 + hooks: + - id: remove-crlf + exclude: npp/.*\.xml + - id: remove-tabs +- repo: https://github.com/Lucas-C/pre-commit-hooks-html + sha: v1.2.1 + hooks: + - id: validate-html + args: + - --remove-mustaches + - --mustache-remover=jinja2 + - --templates-include-dir=templates + - "--ignore=Expected \"\"" + - "--ignore=Element \"title\" must not be empty" + - "--ignore=Element \"head\" is missing a required instance of child element \"title\"" + - "--ignore=The \"itemprop\" attribute was specified, but the element is not a property of any item" + - "--ignore=Bad value \"DUMMY\" for attribute \"datetime\"" + exclude: templates/tipue_search.html +- repo: local + hooks: + - id: make + name: make + language: system + entry: make + files: '' diff --git a/README.md b/README.md index eacdf76..494bf6c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The theme is suited for a single author blog without tag pages nor blogroll. Feeds are provided via ATOM. -Screenshots +Screenshots -------------- Here is how the home page look like @@ -17,7 +17,7 @@ This is the article page ![mg article page screenshot](https://raw.githubusercontent.com/lucachr/pelican-mg/master/article-screenshot.png) -The home page on a smartphone +The home page on a smartphone ![mg home page smartphone top screenshot](https://github.com/lucachr/pelican-mg/blob/master/home-page-smartphone-top.png) ![mg home page smartphone bottom screenshot](https://github.com/lucachr/pelican-mg/blob/master/home-page-smartphone-bottom.png) @@ -69,47 +69,47 @@ If you want to use mg with search disabled. ###Optional settings -**ALT_NAME** +**ALT_NAME** An alternative name for your site. It appears in the header bar. -**DESCRIPTION** +**DESCRIPTION** A brief description of your site, for social networks and search engines. -**DISABLE_SEARCH** +**DISABLE_SEARCH** Disable search, boolean. -**FAVICON** +**FAVICON** The relative path of your favicon, this is needed for Disqus forum favicon. -**FAVICON_TYPE** +**FAVICON_TYPE** The MIME type of your favicon, this is needed for Disqus forum favicon. -**FOOTER** +**FOOTER** A custom footer notice. -**META_IMAGE** -The absolute URL of a custom image for the `og:image` meta property, Twitter -summary card, and `image` meta property of Schema.org. This image is used in -every page of the blog. Articles and pages can override the default -**META_IMAGE** by setting the "image" metadata in the relative file. +**META_IMAGE** +The absolute URL of a custom image for the `og:image` meta property, Twitter +summary card, and `image` meta property of Schema.org. This image is used in +every page of the blog. Articles and pages can override the default +**META_IMAGE** by setting the "image" metadata in the relative file. -**META_IMAGE_TYPE** +**META_IMAGE_TYPE** The MIME type for **META_IMAGE**, this is needed for `og:image:type`. -**SC_PROJECT** -The StatCounter project number. +**SC_PROJECT** +The StatCounter project number. -**SC_SECURITY** +**SC_SECURITY** The StatCounter security code for the project. -**SHARE** +**SHARE** Enable share buttons, boolean. -**SOCIAL** +**SOCIAL** A list of tuples (icon, URL). The icons are from [Font Awesome] -(http://fortawesome.github.io/Font-Awesome/). The suffix "-square" is removed -in the footer icons of the small screen layout. -e.g. +(http://fortawesome.github.io/Font-Awesome/). The suffix "-square" is removed +in the footer icons of the small screen layout. +e.g. ```python SOCIAL = (('twitter', 'https://twitter.com/luca_chr'), ('google-plus-square', 'https://plus.google.com/117284397605208270870'), diff --git a/scss/tipuesearch.scss b/scss/tipuesearch.scss index 31cbc95..ce4bd7a 100755 --- a/scss/tipuesearch.scss +++ b/scss/tipuesearch.scss @@ -6,7 +6,7 @@ * * This is a modified version of the Tipue Search plugin style sheet, * edited for the pelican mg theme. - * If you are looking for the original Tipue Search plugin style sheet + * If you are looking for the original Tipue Search plugin style sheet * check the project home at http://www.tipue.com/search. */ @@ -26,7 +26,7 @@ $baseText: #444; } #tipue_search_loading:before { - padding-top: 60px; + padding-top: 60px; font-family: FontAwesome; content: "\f013"; background: #fff no-repeat left; @@ -51,7 +51,7 @@ $baseText: #444; } #tipue_search_warning a:hover { - color: #333; + color: #333; } .tipue_search_content_title { @@ -60,13 +60,13 @@ $baseText: #444; font-weight: 400; text-transform: none; margin-top: 0.5em; -} +} .tipue_search_content_title a { color: $baseText; text-decoration: none; &:hover { - color: $baseText; + color: $baseText; text-decoration: underline; } } diff --git a/static/css/solarized.css b/static/css/solarized.css index 6809d4e..82acce4 100644 --- a/static/css/solarized.css +++ b/static/css/solarized.css @@ -12,7 +12,7 @@ * cyan #2aa198 strings, numbers * green #859900 operators, other keywords * */ - + .highlight { background-color: #fdf6e3; color: #586e75 } .highlight .c { color: #93a1a1 } /* Comment */ .highlight .err { color: #586e75 } /* Error */ @@ -81,4 +81,4 @@ .highlight .vc { color: #268bd2 } /* Name.Variable.Class */ .highlight .vg { color: #268bd2 } /* Name.Variable.Global */ .highlight .vi { color: #268bd2 } /* Name.Variable.Instance */ -.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ +.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ diff --git a/static/css/tipuesearch.css b/static/css/tipuesearch.css index 16a4efd..a7a745a 100644 --- a/static/css/tipuesearch.css +++ b/static/css/tipuesearch.css @@ -6,7 +6,7 @@ * * This is a modified version of the Tipue Search plugin style sheet, * edited for the pelican mg theme. - * If you are looking for the original Tipue Search plugin style sheet + * If you are looking for the original Tipue Search plugin style sheet * check the project home at http://www.tipue.com/search. */ #tipue_search_content { diff --git a/static/js/tipuesearch.js b/static/js/tipuesearch.js index 21da22c..68907ca 100644 --- a/static/js/tipuesearch.js +++ b/static/js/tipuesearch.js @@ -4,7 +4,7 @@ Tipue Search 4.0 Copyright (c) 2014 Tipue Tipue Search is released under the MIT License http://www.tipue.com/search -*/ +*/ (function($) { @@ -12,7 +12,7 @@ http://www.tipue.com/search $.fn.tipuesearch = function(options) { var set = $.extend( { - + 'show' : 7, 'newWindow' : false, 'showURL' : true, @@ -24,9 +24,9 @@ http://www.tipue.com/search 'liveDescription' : '*', 'liveContent' : '*', 'contentLocation' : 'tipuesearch/tipuesearch_content.json' - + }, options); - + return this.each(function() { var tipuesearch_in = { @@ -47,7 +47,7 @@ http://www.tipue.com/search cont = cont.replace(/\s+/g, ' '); var desc = $(set.liveDescription, html).text(); desc = desc.replace(/\s+/g, ' '); - + var t_1 = html.toLowerCase().indexOf(''); var t_2 = html.toLowerCase().indexOf('', t_1 + 7); if (t_1 != -1 && t_2 != -1) @@ -63,13 +63,13 @@ http://www.tipue.com/search "title": tit, "text": desc, "tags": cont, - "loc": tipuesearch_pages[i] - }); + "loc": tipuesearch_pages[i] + }); } ); } } - + if (set.mode == 'json') { $.getJSON(set.contentLocation, @@ -83,12 +83,12 @@ http://www.tipue.com/search if (set.mode == 'static') { tipuesearch_in = $.extend({}, tipuesearch); - } - + } + var tipue_search_w = ''; if (set.newWindow) { - tipue_search_w = ' target="_blank"'; + tipue_search_w = ' target="_blank"'; } function getURLP(name) @@ -99,8 +99,8 @@ http://www.tipue.com/search { $('.tipue_search')[0].val(getURLP('q')); getTipueSearch(0, true); - } - + } + $(this).keyup(function(event) { if(event.keyCode == '13') @@ -119,15 +119,15 @@ http://www.tipue.com/search var standard = true; var c = 0; found = new Array(); - + var d = $('.tipue_search')[0].val().toLowerCase(); d = $.trim(d); - + if ((d.match("^\"") && d.match("\"$")) || (d.match("^'") && d.match("'$"))) { standard = false; } - + if (standard) { var d_w = d.split(' '); @@ -140,7 +140,7 @@ http://www.tipue.com/search if (d_w[i] == tipuesearch_stop_words[f]) { a_w = false; - show_stop = true; + show_stop = true; } } if (a_w) @@ -155,7 +155,7 @@ http://www.tipue.com/search { d = d.substring(1, d.length - 1); } - + if (d.length >= set.minimumLength) { if (standard) @@ -175,8 +175,8 @@ http://www.tipue.com/search } } d_w = d.split(' '); - } - + } + var d_t = d; for (var i = 0; i < d_w.length; i++) { @@ -205,10 +205,10 @@ http://www.tipue.com/search { score -= (150000 - i); } - + if (set.highlightTerms) { - if (set.highlightEveryTerm) + if (set.highlightEveryTerm) { var patr = new RegExp('(' + d_w[f] + ')', 'gi'); } @@ -222,20 +222,20 @@ http://www.tipue.com/search { score -= (100000 - i); } - + if (d_w[f].match("^-")) { pat = new RegExp(d_w[f].substring(1), 'i'); if (tipuesearch_in.pages[i].title.search(pat) != -1 || tipuesearch_in.pages[i].text.search(pat) != -1 || tipuesearch_in.pages[i].tags.search(pat) != -1) { - score = 1000000000; - } + score = 1000000000; + } } } - + if (score < 1000000000) { - found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc; + found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc; } } } @@ -254,10 +254,10 @@ http://www.tipue.com/search { score -= (150000 - i); } - + if (set.highlightTerms) { - if (set.highlightEveryTerm) + if (set.highlightEveryTerm) { var patr = new RegExp('(' + d + ')', 'gi'); } @@ -271,20 +271,20 @@ http://www.tipue.com/search { score -= (100000 - i); } - + if (score < 1000000000) { - found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc; - } + found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc; + } } - } - + } + if (c != 0) { if (show_replace == 1) { out += '
Showing results for ' + d + '
'; - out += '
Search instead for ' + d_r + '
'; + out += '
Search instead for ' + d_r + '
'; } if (c == 1) { @@ -295,21 +295,21 @@ http://www.tipue.com/search c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); out += '
' + c_c + ' results
'; } - + found.sort(); var l_o = 0; for (var i = 0; i < found.length; i++) { var fo = found[i].split('^'); if (l_o >= start && l_o < set.show + start) - { + { out += '
' + fo[1] + '
'; - + if (set.showURL) - { + { out += '
' + fo[3] + '
'; } - + var t = fo[2]; var t_d = ''; var t_w = t.split(' '); @@ -321,7 +321,7 @@ http://www.tipue.com/search { for (var f = 0; f < set.descriptiveWords; f++) { - t_d += t_w[f] + ' '; + t_d += t_w[f] + ' '; } } t_d = $.trim(t_d); @@ -331,27 +331,27 @@ http://www.tipue.com/search } out += '
' + t_d + '
'; } - l_o++; + l_o++; } - + if (c > set.show) { var pages = Math.ceil(c / set.show); var page = (start / set.show); out += '
'; - } + } } else { - out += '
Nothing found
'; + out += '
Nothing found
'; } } else { if (show_stop) { - out += '
Nothing found
Common words are largely ignored
'; + out += '
Nothing found
Common words are largely ignored
'; } else { @@ -416,27 +416,27 @@ http://www.tipue.com/search } } } - + $('#tipue_search_content').html(out); $('#tipue_search_content').slideDown(200); - + $('#tipue_search_replaced').click(function() { getTipueSearch(0, false); - }); - + }); + $('.tipue_search_foot_box').click(function() { var id_v = $(this).attr('id'); var id_a = id_v.split('_'); - + getTipueSearch(parseInt(id_a[0]), id_a[1]); - }); - } - + }); + } + }); }; - + })(jQuery); diff --git a/templates/analytics.html b/templates/analytics.html index a9618ad..bfb0c01 100644 --- a/templates/analytics.html +++ b/templates/analytics.html @@ -31,9 +31,9 @@ ga('create','{{ GOOGLE_ANALYTICS }}');ga('send','pageview'); {% if SC_PROJECT and SC_SECURITY %}