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 @@
+
+
+
+ {{ include.text }}
+ {% 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 @@
-->
Irssi is free software licensed under the GPLv2, available for Linux, BSD, Solaris, Apple, Cygwin, …
-
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
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)
+
-## Distributions' Packages
+0. [Binary Packages](#binary-packages)
+0. [Compiling from Sources](#release-sources)
-
-
+
+
+
+
+## Binary Packages
+
+
{%
+include dl_os_icon.html name="Windows" text="**Windows**" %}{%
+include dl_os_icon.html name="debian" text="**Debian**" %}{%
+include dl_os_icon.html name="ubuntu" text="**Ubuntu**" %}{%
+include dl_os_icon.html name="macosx" text="**OS X**" %}{%
+include dl_os_icon.html name="gentoo" text="**Gentoo**" %}{%
+include dl_os_icon.html name="openSUSE" text="**SuSE**" %}{%
+include dl_os_icon.html name="arch" text="**ArchLinux**" %}{%
+include dl_os_icon.html name="fedora" text="**Fedora/RHEL**" %}{%
+include dl_os_icon.html name="opencsw" text="**Solaris**" %}{%
+include dl_os_icon.html name="slackware" text="**Slackware**"
+%}
+
+
+
-![][1]{:class='osicon'}**Windows**
+### Windows
Download setup.exe from [Cygwin][2]{:rel='external'} and select irssi during the package selection step. To start irssi, open MinTTY (link should be on your Desktop) and type `irssi`
-[1]: /assets/Windows.png
[2]: https://www.cygwin.com/
-
+
-![][3]{:class='osicon'}![][4]{:class='osicon'}**Debian/Ubuntu**
+### Debian
`apt-get install irssi`.
You may find more up to date version on [Debian Backports][5]{:rel='external'}
-[3]: /assets/debian.png
-[4]: /assets/ubuntu.png
[5]: http://backports.debian.org/
-
+
+
+### Ubuntu
+
+`apt-get install irssi`.
+
+
+
-![][6]{:class='osicon'}**OS X**
+### OS X
Install [Homebrew][7]{:rel='external'}, then
`brew install irssi`
You can also install Git with `--HEAD`
-[6]: /assets/macosx.png
[7]: http://brew.sh/
-
-
-
+
-![][8]{:class='osicon'}**Gentoo**
+### Gentoo
`emerge irssi`
-[8]: /assets/gentoo.png
-
-
+
-![][19]{:class='osicon'}**SuSE**
+### SuSE
`zypper in irssi`.
You may find more up to date versions on [openSUSE Package Search][20]{:rel='external'}
-[19]: /assets/openSUSE.png
[20]: http://software.opensuse.org/package/irssi
-
+
-![][9]{:class='osicon'}**ArchLinux**
+### ArchLinux
`pacman -S irssi`
-[9]: /assets/arch.png
-
-
-
-
+
-![][10]{:class='osicon'}**Fedora/Red Hat**
+### Fedora
`dnf install irssi` or
`yum install irssi`
-[10]: /assets/fedora.png
-
-
+
-![][11]{:class='osicon'}**Solaris**
+### Solaris
`pkg-get install irssi`
-[11]: /assets/opencsw.png
-
-
+
-![][12]{:class='osicon'}**Slackware**
+### Slackware
`slackpkg install irssi`
-[12]: /assets/slackware.png
+
+
+
+If your system is not listed, you can still check your systems' package manager or otherwise compile Irssi from source. **⟶**
+
+
+
+
+
+
+
+![][19]{:class='obsicon'}
+
+
+
+
+
+The [openSUSE Build Service](http://build.opensuse.org/){:rel='external'} is building Irssi release packages and Irssi git snapshot packages for Debian, Fedora, Ubuntu, and openSUSE.
+
+
+
+
+
+
+
+
+
+## Release Sources
Latest release version: **0.8.19** – [Downloads][14]{:rel='external'}
@@ -127,7 +170,7 @@ You shouldn't really trust this key without verifying its fingerprint. See it wi
(This key is different from the one used to sign binaries of versions before 0.8.10. More gpg help can be found from GPG manual)
-### Development sources
+## Development sources
[Git][16]{:rel='external'} – You can also get the development version. To check it out, run
@@ -137,10 +180,12 @@ After check-out, you **must** run `./autogen.sh`. It may be necessary to install
See also: [Commit Log][18]{:rel='external'}
+
+
[13]: //github.com/irssi-import/irssi/releases
[14]: //github.com/irssi/irssi/releases
[15]: //github.com/irssi/irssi/blob/master/INSTALL
[16]: //github.com/irssi/irssi
[17]: //github.com/shabble/irssi-docs/wiki/Irssi-0.8.17#compiling-from-git
[18]: //github.com/irssi/irssi/commits/master
-
+[19]: {{ site.baseurl }}/assets/obs.png
\ No newline at end of file
--
cgit v1.2.3