From 89a1523a59893c013ef99b3e052a34cc4e313c9a Mon Sep 17 00:00:00 2001 From: Ailin Nemui Date: Fri, 12 Aug 2016 18:46:23 +0200 Subject: implement distribution chooser --- _includes/dl_os_icon.html | 6 +++ _includes/footer.html | 2 +- _layouts/welcome.html | 6 +-- assets/css/style.css | 102 ++++++++++++++++++++++++++++++++++- assets/js/irssi.js | 85 +++++++++++++++++++++++++++++ assets/obs.png | Bin 0 -> 3308 bytes download/index.markdown | 133 +++++++++++++++++++++++++++++++--------------- 7 files changed, 284 insertions(+), 50 deletions(-) create mode 100644 _includes/dl_os_icon.html create mode 100644 assets/obs.png diff --git a/_includes/dl_os_icon.html b/_includes/dl_os_icon.html new file mode 100644 index 0000000..2dbbad2 --- /dev/null +++ b/_includes/dl_os_icon.html @@ -0,0 +1,6 @@ + +{% comment %} +{% endcomment %} diff --git a/_includes/footer.html b/_includes/footer.html index 2ec5d5a..1e2cfae 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -13,4 +13,4 @@

- + diff --git a/_layouts/welcome.html b/_layouts/welcome.html index 8cf0f40..95cafd5 100644 --- a/_layouts/welcome.html +++ b/_layouts/welcome.html @@ -25,8 +25,8 @@ -->

-

Getting Irssi » - Read tutorials and docs » +

Getting Irssi » + Read tutorials and docs »

@@ -83,7 +83,7 @@

Irssi makes it easy to write protocol modules in C. You can enjoy the chatting power of Irssi in - combination with IRC, ICB or SILC. Find more modules on the Modules page.

+ combination with IRC, ICB or SILC. Find more modules on the Modules page.

Scripting

diff --git a/assets/css/style.css b/assets/css/style.css index c14ed25..f7b4213 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -56,6 +56,18 @@ p.center { margin-top: -65px; height: 65px; visibility: hidden; + position: relative; + z-index: -1; + pointer-events: none; +} +*[id]:not(button):not(input):not([href]):not(#navbar) { + position: inherit; + /* z-index: -1; */ + /* pointer-events: none; */ +} +/* there is this weird issue with above code making links not clickable below anchors... */ +.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 { + position: inherit; } #___gcse_0:before { display: inline; } @@ -122,7 +134,7 @@ a[rel="external"]:hover:after,a.rel-external:hover:after { /* Tweak to make the menu visible (otherwise Bugs is cut off) */ .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { - max-height: 412px; + max-height: 416px; } @@ -184,11 +196,97 @@ blockquote { height: 80vh !important; } -.osicon { +/* download page */ +.osicon, .obsicon { padding-right: 1ex; margin-bottom: 1ex; } +.obsicon { + float: left; +} + +.dlc .osimg { +} + +.dlc input { + opacity: 0; + position: fixed; +} +.dlc .info h3 { + display: none; +} + +.dlc .icon { + display: inline-block; + width: 105px; + text-align: center; + white-space: normal; + margin-top: 1ex; +} + +.dlc input:checked + label { + background-color: #e6e6e6; +} + +.dlc input:focus + label { + border: 1px dashed #666666; +} + +@media (max-width: 768px) { + .irssi-release,.irssi-git { display: inline-block; } +} + +.dlc .info, .dlc .obs-info { display: none; } +.row.obs-info, .row.obs-info .btn { font-size: small; } + +.dlc input:nth-of-type(1):checked ~ .info:nth-of-type(1), +.dlc input:nth-of-type(2):checked ~ .info:nth-of-type(2), +.dlc input:nth-of-type(3):checked ~ .info:nth-of-type(3), +.dlc input:nth-of-type(4):checked ~ .info:nth-of-type(4), +.dlc input:nth-of-type(5):checked ~ .info:nth-of-type(5), +.dlc input:nth-of-type(6):checked ~ .info:nth-of-type(6), +.dlc input:nth-of-type(7):checked ~ .info:nth-of-type(7), +.dlc input:nth-of-type(8):checked ~ .info:nth-of-type(8), +.dlc input:nth-of-type(9):checked ~ .info:nth-of-type(9), +.dlc input:nth-of-type(10):checked ~ .info:nth-of-type(10), +.dlc input:nth-of-type(11):checked ~ .info:nth-of-type(11), +.dlc input:nth-of-type(12):checked ~ .info:nth-of-type(12), +.dlc input:nth-of-type(13):checked ~ .info:nth-of-type(13), +.dlc input:nth-of-type(14):checked ~ .info:nth-of-type(14), +.dlc input:nth-of-type(15):checked ~ .info:nth-of-type(15), +.dlc input:nth-of-type(16):checked ~ .info:nth-of-type(16), +.dlc input:nth-of-type(17):checked ~ .info:nth-of-type(17), +.dlc input:nth-of-type(18):checked ~ .info:nth-of-type(18), +.dlc input:nth-of-type(19):checked ~ .info:nth-of-type(19), +.dlc input ~ .no-info +{ + display: block; + margin: 2em; + padding: 1em; + border: 1ex solid #d9edf7; /* @bg-info color */ + border-radius: 4px; /* like @btn */ +} + +.dlc input ~ .no-info { + border-color: #f7ecb5; /* @bg-warning:hover color */ +} +.dlc input:checked ~ .no-info { display: none; } + +/* here the hard-coded item numbers which show obs download info */ +.dlc input:nth-of-type(2):checked ~ .obs-info, +.dlc input:nth-of-type(3):checked ~ .obs-info, +.dlc input:nth-of-type(6):checked ~ .obs-info, +.dlc input:nth-of-type(7):checked ~ .obs-info, +.dlc input:nth-of-type(8):checked ~ .obs-info { + display: block; + padding: 1em; +} +/* no irssi-git for arch linux currently */ +.dlc input:nth-of-type(7):checked ~ .obs-info .irssi-git { display: none; } + + +/* collapsing the about-page columns */ @media (min-width:992px) { .two-column { -moz-column-count: 2; diff --git a/assets/js/irssi.js b/assets/js/irssi.js index eb088aa..460f76a 100644 --- a/assets/js/irssi.js +++ b/assets/js/irssi.js @@ -10,3 +10,88 @@ function initMenu() { document.addEventListener("DOMContentLoaded", function(event) { initMenu(); }); + +// http://stackoverflow.com/a/34003331 +if (Element.prototype.scrollIntoView && !Element.prototype.scrollIntoViewIfNeeded) { + Element.prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) { + function withinBounds(value, min, max, extent) { + if (false === centerIfNeeded || max <= value + extent && value <= min + extent) { + return Math.min(max, Math.max(min, value)); + } else { + return (min + max) / 2; + } + } + + function makeArea(left, top, width, height) { + return { "left": left, "top": top, "width": width, "height": height + , "right": left + width, "bottom": top + height + , "translate": + function (x, y) { + return makeArea(x + left, y + top, width, height); + } + , "relativeFromTo": + function (lhs, rhs) { + var newLeft = left, newTop = top; + lhs = lhs.offsetParent; + rhs = rhs.offsetParent; + if (lhs === rhs) { + return area; + } + for (; lhs; lhs = lhs.offsetParent) { + newLeft += lhs.offsetLeft + lhs.clientLeft; + newTop += lhs.offsetTop + lhs.clientTop; + } + for (; rhs; rhs = rhs.offsetParent) { + newLeft -= rhs.offsetLeft + rhs.clientLeft; + newTop -= rhs.offsetTop + rhs.clientTop; + } + return makeArea(newLeft, newTop, width, height); + } + }; + } + + var parent, elem = this, area = makeArea( + this.offsetLeft, this.offsetTop, + this.offsetWidth, this.offsetHeight); + while ((parent = elem.parentNode) instanceof HTMLElement) { + var clientLeft = parent.offsetLeft + parent.clientLeft; + var clientTop = parent.offsetTop + parent.clientTop; + + // Make area relative to parent's client area. + area = area. + relativeFromTo(elem, parent). + translate(-clientLeft, -clientTop); + + parent.scrollLeft = withinBounds( + parent.scrollLeft, + area.right - parent.clientWidth, area.left, + parent.clientWidth); + + parent.scrollTop = withinBounds( + parent.scrollTop, + area.bottom - parent.clientHeight, area.top, + parent.clientHeight); + + // Determine actual scroll amount by reading back scroll properties. + area = area.translate(clientLeft - parent.scrollLeft, + clientTop - parent.scrollTop); + elem = parent; + } + }; +} + +function chooseDlc(e, name) { + var e1 = document.getElementsByClassName('about-' + name)[0]; + + var ec = e.control; + var checked = ec ? ec.checked : null; + window.setTimeout(function() { + if (e1 && e1.scrollIntoViewIfNeeded) { + e1.scrollIntoViewIfNeeded(false); + } + if (checked) { + ec.checked = false; + } + }, 0); + return true; +} diff --git a/assets/obs.png b/assets/obs.png new file mode 100644 index 0000000..9c58da4 Binary files /dev/null and b/assets/obs.png differ diff --git a/download/index.markdown b/download/index.markdown index f4376b6..43a2cba 100644 --- a/download/index.markdown +++ b/download/index.markdown @@ -5,113 +5,156 @@ permalink: /download/ categories: [ _nav, _6 ] --- -There are several ways you can get Irssi: +There are several ways you can get Irssi -0. [Ready-Made Packages](#distributions-packages) -0. [Compiling from Sources](#sources) +