From b12b1f6408819ca91b356adde09887c769eadd06 Mon Sep 17 00:00:00 2001 From: Stig Inge Lea Bjørnsen Date: Mon, 5 Jan 2015 06:17:28 +0100 Subject: Make archive links work in tuxlite_tbs Since there is no default value for the variabel `ARCHIVES_URL`, it is replaced by a hard coded value of `archives.html`. --- tuxlite_tbs/templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuxlite_tbs/templates/base.html b/tuxlite_tbs/templates/base.html index 866d6a5..a88a2bf 100644 --- a/tuxlite_tbs/templates/base.html +++ b/tuxlite_tbs/templates/base.html @@ -82,7 +82,7 @@ Site -
  • Archives +
  • Archives
  • Tags -- cgit From 0deaa64b5000fca5a9b10b1694e5013f57696253 Mon Sep 17 00:00:00 2001 From: Stig Inge Lea Bjørnsen Date: Thu, 27 Jun 2013 00:08:08 +0200 Subject: Serve Twitter Bootstrap JavaScript directly for tuxlite_tbs. Avoid using GitHub as a CDN for Twitter Bootstrap. The file bootstrap-collapse.js is now included as a static asset in the theme. --- tuxlite_tbs/static/bootstrap-collapse.js | 167 +++++++++++++++++++++++++++++++ tuxlite_tbs/templates/base.html | 2 +- 2 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 tuxlite_tbs/static/bootstrap-collapse.js diff --git a/tuxlite_tbs/static/bootstrap-collapse.js b/tuxlite_tbs/static/bootstrap-collapse.js new file mode 100644 index 0000000..74a73a8 --- /dev/null +++ b/tuxlite_tbs/static/bootstrap-collapse.js @@ -0,0 +1,167 @@ +/* ============================================================= + * bootstrap-collapse.js v2.3.2 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning || this.$element.hasClass('in')) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning || !this.$element.hasClass('in')) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option) + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSE NO CONFLICT + * ==================== */ + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/tuxlite_tbs/templates/base.html b/tuxlite_tbs/templates/base.html index a88a2bf..9b52cbe 100644 --- a/tuxlite_tbs/templates/base.html +++ b/tuxlite_tbs/templates/base.html @@ -161,7 +161,7 @@ - + {% include "analytics.html" %} {% include "github.html" %} -- cgit From fd56d73a2772dd5ccc14b4ac19736b782fde85c2 Mon Sep 17 00:00:00 2001 From: Stig Inge Lea Bjørnsen Date: Wed, 28 May 2014 00:16:12 +0200 Subject: Use the year of the latest post for the copyright in the footer. The method for obtaining the year was copied from `pelican-bootstrap3/templates/includes/footer.html`. --- tuxlite_tbs/templates/base.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tuxlite_tbs/templates/base.html b/tuxlite_tbs/templates/base.html index 9b52cbe..bcde895 100644 --- a/tuxlite_tbs/templates/base.html +++ b/tuxlite_tbs/templates/base.html @@ -156,7 +156,12 @@

    -

    {{ SITENAME }} © {{ AUTHOR }} 2012

    +{% if articles %} + {% set copy_date = articles[0].date.strftime('%Y') %} +{% else %} + {% set copy_date = '' %} +{% endif %} +

    {{ SITENAME }} © {{ AUTHOR }} {{ copy_date }}

    -- cgit From a6d353644fc1c9cada8ab8d8d82270dd4d8546e6 Mon Sep 17 00:00:00 2001 From: Stig Inge Lea Bjørnsen Date: Wed, 28 May 2014 19:12:29 +0200 Subject: Add the missing GLYPHICONS files. The Bootstrap style sheet references these files and uses them in responsive mode. Not including them results in HTTP 404 Not Found requests. The URLs in the style sheet have been changed to use the Pelican theme icon folder. --- tuxlite_tbs/static/bootstrap.min.css | 4 ++-- .../static/images/icons/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../static/images/icons/glyphicons-halflings.png | Bin 0 -> 12799 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 tuxlite_tbs/static/images/icons/glyphicons-halflings-white.png create mode 100644 tuxlite_tbs/static/images/icons/glyphicons-halflings.png diff --git a/tuxlite_tbs/static/bootstrap.min.css b/tuxlite_tbs/static/bootstrap.min.css index 5e1aee0..d5af94c 100644 --- a/tuxlite_tbs/static/bootstrap.min.css +++ b/tuxlite_tbs/static/bootstrap.min.css @@ -212,8 +212,8 @@ table .span9{float:none;width:684px;margin-left:0;} table .span10{float:none;width:764px;margin-left:0;} table .span11{float:none;width:844px;margin-left:0;} table .span12{float:none;width:924px;margin-left:0;} -[class^="icon-"]{display:inline-block;width:14px;height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child{*margin-left:0;} -.icon-white{background-image:url(../img/glyphicons-halflings-white.png);} +[class^="icon-"]{display:inline-block;width:14px;height:14px;vertical-align:text-top;background-image:url(./images/icons/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child{*margin-left:0;} +.icon-white{background-image:url(./images/icons/glyphicons-halflings-white.png);} .icon-glass{background-position:0 0;} .icon-music{background-position:-24px 0;} .icon-search{background-position:-48px 0;} diff --git a/tuxlite_tbs/static/images/icons/glyphicons-halflings-white.png b/tuxlite_tbs/static/images/icons/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/tuxlite_tbs/static/images/icons/glyphicons-halflings-white.png differ diff --git a/tuxlite_tbs/static/images/icons/glyphicons-halflings.png b/tuxlite_tbs/static/images/icons/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/tuxlite_tbs/static/images/icons/glyphicons-halflings.png differ -- cgit