mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-22 10:42:55 +01:00
Initial commit with Jekyll
This commit is contained in:
parent
e650a61579
commit
3ce994e9e6
2
.gitignore
vendored
2
.gitignore
vendored
@ -24,3 +24,5 @@ test-conf/
|
||||
test-data/
|
||||
test-logs/
|
||||
src/version.py
|
||||
_site
|
||||
.sass-cache
|
||||
|
7
Gemfile
7
Gemfile
@ -1,7 +0,0 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'github-pages'
|
||||
gem 'jekyll-mentions'
|
||||
gem 'jemoji'
|
||||
gem 'jekyll-redirect-from'
|
||||
gem 'jekyll-sitemap'
|
16
README.md
16
README.md
@ -1,19 +1,9 @@
|
||||
# Mikaela's fork of Limnoria.
|
||||
|
||||
There are mainly two branches. This which you are looking at, gh-pages
|
||||
which is the source of https://mkaysi.github.io/Limnoria .
|
||||
There are mainly two branches. This which you are looking at, gh-pages
|
||||
which is the source of <http://supybot.mikaela.info/>.
|
||||
|
||||
**testing** which will be synced with [ProgVal/Limnoria] when needed. It
|
||||
**testing** which will be synced with [ProgVal/Limnoria] when needed. It
|
||||
is used as base for my changes which will be pull requested.
|
||||
|
||||
[ProgVal/Limnoria]:https://github.com/ProgVal/Limnoria.git
|
||||
|
||||
## .html.md --> .html
|
||||
|
||||
Everything except index.html is primarily typed in markdown. To convert it
|
||||
to html, I use `pandoc`.
|
||||
|
||||
```
|
||||
pandoc -i index.real.html.md -o index.real.html
|
||||
```
|
||||
|
||||
|
@ -1,51 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" /> <!-- <meta http-equiv="refresh" content="60" /> --> <meta name="description" content="Ignoring unneeded messages from RelayBot the bot relaying \#Supybot between freenode and OFTC." /> <meta name="keywords" content="IRC Supybot Limnoria Gribble ignoring" /> <meta name="author" content="Mikaela Suomalainen" /> <link rel="canonical" href="https://mkaysi.github.io/limnoria/Relaybot.html">
|
||||
<title>
|
||||
Ignoring nonimportant messages from RelayBot
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>RelayBot is the bot which relays between #supybot at freenode and oftc. It is currently using the <a href="https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay">LinkRelay</a> plugin to do this.</p>
|
||||
<p>It's sometimes considered as annoyance as it has lately mostly spammed with join (part messages aren't working, because of a bug (2014-06-23)) messages of people who usually say nothing and this is why this page is here to tell how to ignore it on various client.</p>
|
||||
<p>We encourage you to ignore only notices from RelayBot instead of everything as there are people whom should be heard at OFTC (mainly main Supybot developer).</p>
|
||||
<p>Related links:</p>
|
||||
<ul class="incremental">
|
||||
<li><a href="https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay">LinkRelay plugin</a></li>
|
||||
<li><a href="https://github.com/ProgVal/Supybot-plugins/issues/66">Feature request for smart filtering of joins/quits/parts</a></li>
|
||||
</ul>
|
||||
<p>Hostmask of RelayBot on 2014-06-23:</p>
|
||||
<ul class="incremental">
|
||||
<li>RelayBot!progval@pdpc/supporter/student/progval
|
||||
<ul class="incremental">
|
||||
<li>This is absolute hostmask</li>
|
||||
</ul></li>
|
||||
<li>RelayBot<em>!</em><span class="citation">@pdpc/supporter/student/progval</span>
|
||||
<ul class="incremental">
|
||||
<li>This is recommended hostmask as it matches RelayBot even if it cannot use it's primary nickname or networks cannot connect to it's identd.</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h2 id="hexchat">HexChat</h2>
|
||||
<p>From the "Window" menu you can find "Ignore list". Click "Add" and add one of the hostmasks mentioned above (the lower is recommended).</p>
|
||||
<p>Uncheck the other checkboxes than "Notice" and you can close the window and you won't see spamming.</p>
|
||||
<h2 id="kvirc">KVIRC</h2>
|
||||
<p>I am not primarily KVIRC user and I cannot say anything else than right click RelayBot and select something that matches only RelayBot.</p>
|
||||
<p><strong>WARNING: KVIRC makes it very easy to also ignore pinkieval which you don't want to do as they are author of Limnoria and help people often!</strong></p>
|
||||
<h2 id="linkinus">Linkinus</h2>
|
||||
<p>According to another person, there is a GUI where you can easily ignore notices from specific hostmask.</p>
|
||||
<h2 id="weechat">WeeChat</h2>
|
||||
<pre><code>/filter add relaybotnotices * irc_notice+nick_RelayBot *</code></pre>
|
||||
<p>This creates a new filter with the name "relaybotnotices" which filters all notices from the nickname "RelayBot".</p>
|
||||
<hr/>
|
||||
|
||||
<p>This page is very likely missing many IRC clients. Could you <a href="https://github.com/mkaysi/limnoria/issues">open issues</a> about how to do this with IRC clients that aren't mentioned here?</p>
|
||||
<hr/>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=markdown-->
|
||||
|
||||
|
43
Relaybot.html.md → Relaybot.markdown
Executable file → Normal file
43
Relaybot.html.md → Relaybot.markdown
Executable file → Normal file
@ -1,27 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<!-- <meta http-equiv="refresh" content="60" /> -->
|
||||
<meta name="description" content="Ignoring unneeded messages from RelayBot the bot relaying \#Supybot between freenode and OFTC." />
|
||||
<meta name="keywords" content="IRC Supybot Limnoria Gribble ignoring" />
|
||||
<meta name="author" content="Mikaela Suomalainen" />
|
||||
<link rel="canonical" href="https://mkaysi.github.io/limnoria/Relaybot.html">
|
||||
<title>Ignoring nonimportant messages from RelayBot</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
---
|
||||
layout: page
|
||||
title: Ignoring RelayBot
|
||||
permalink: /Relaybot.html
|
||||
---
|
||||
|
||||
RelayBot is the bot which relays between #supybot at freenode and oftc. It
|
||||
RelayBot is the bot which relays between #supybot at freenode and oftc. It
|
||||
is currently using the [LinkRelay](https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay) plugin to do this.
|
||||
|
||||
It's sometimes considered as annoyance as it has lately mostly spammed
|
||||
with join (part messages aren't working, because of a bug (2014-06-23))
|
||||
messages of people who usually say nothing and this is why this page is
|
||||
It's sometimes considered as annoyance as it has lately mostly spammed
|
||||
with join (part messages aren't working, because of a bug (2014-06-23))
|
||||
messages of people who usually say nothing and this is why this page is
|
||||
here to tell how to ignore it on various client.
|
||||
|
||||
We encourage you to ignore only notices from RelayBot instead of
|
||||
everything as there are people whom should be heard at OFTC (mainly main
|
||||
We encourage you to ignore only notices from RelayBot instead of
|
||||
everything as there are people whom should be heard at OFTC (mainly main
|
||||
Supybot developer).
|
||||
|
||||
Related links:
|
||||
@ -68,13 +60,10 @@ notices from specific hostmask.
|
||||
This creates a new filter with the name "relaybotnotices" which filters
|
||||
all notices from the nickname "RelayBot".
|
||||
|
||||
<hr/>
|
||||
* * * * *
|
||||
|
||||
This page is very likely missing many IRC clients. Could you [open issues](https://github.com/mkaysi/limnoria/issues)
|
||||
about how to do this with IRC clients that aren't mentioned here?
|
||||
This page is very likely missing many IRC clients. Could you
|
||||
[open an issue](https://github.com/mkaysi/limnoria/issues)
|
||||
about how to do this with your IRC client that isn't mentioned here?
|
||||
|
||||
<hr/>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=markdown-->
|
||||
* * * * *
|
105
Supybot.html
105
Supybot.html
@ -1,105 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" /> <meta name="description" content="Security issues in the latest released version of stock Supybot, how to avoid them without switching to a fork and how to switch to forks." /> <meta name="keywords" content="Security,Issues,Supybot,crash,Debian,Ubuntu,IRC,Python,Python 2,Python 3,pip," /> <meta name="author" content="Mikaela Suomalainen" /> <link rel="canonical" href="https://mkaysi.github.io/limnoria/Supybot.html">
|
||||
<title>
|
||||
Security issues of Supybot
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', 'UA-40171169-1', 'mkaysi.github.io');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>All activity happens in git repository of Supybot nowadays and it happens seldomly. The latest version, which was released in 2009 is 0.83.4.1 has multiple security issues documented here. This version is available from Debian repositories, Ubuntu repositories and repositories of many other Linux distributions.</p>
|
||||
<p><strong>Note: Development has moved from SourceForge to GitHub so I won't refer to the old SF page.</strong></p>
|
||||
<h2 id="the-issues-of-0.83.4.1.">The issues of 0.83.4.1.</h2>
|
||||
<h3 id="anyone-can-crash-it-and-computer-where-its-running-on">1. Anyone can crash it and computer where it's running on</h3>
|
||||
<p>And this is very easy. Just run the command</p>
|
||||
<pre><code>!misc last --regexp m/(.*\w){512}/</code></pre>
|
||||
<p>where ! is the prefix character.</p>
|
||||
<p>Misc is loaded by default and cannot be unloaded without modifying the config.</p>
|
||||
<h3 id="the-previous-wasnt-the-only-way-to-do-this">2. The previous wasn't the only way to do this</h3>
|
||||
<p>Everyone can also make the bot count an equation, which brings it and the host computer down.</p>
|
||||
<p>For example:</p>
|
||||
<pre><code>!math calc factorial(999999)</code></pre>
|
||||
<p>This requires Math plugin which comes with Supybot, but isn't load by default.</p>
|
||||
<h3 id="anyone-can-access-network-services-via-the-bot.">3. Anyone can access network services via the bot.</h3>
|
||||
<p>I don't have example command for this, but it happens by nesting "format cut" and "misc tell".</p>
|
||||
<p>What does this mean? Anyone can tell the bot to ghost someone else on same account, take over a channel by telling the bot to give flags (if it has correct flags), change password of the account and everything else what you do with network services.</p>
|
||||
<h3 id="web-page-with-special-characters-in-title-can-be-used-to-send-dccctcp-commands.">4. Web page with special characters in <title> can be used to send DCC/CTCP commands.</h3>
|
||||
<p>This doesn't mean only things like CTCP actions (also known as /me), but known problems with old routers ( <code>FF ? DCC SEND “ff???f??????????????” 0 0 0</code> ) which make them reconnect to the internet.</p>
|
||||
<p>Usage:</p>
|
||||
<pre><code>!web title <malicious.page.here>
|
||||
!web fetch <malicious.page.here></code></pre>
|
||||
<h3 id="are-these-issues-publicly-known">Are these issues publicly known?</h3>
|
||||
<p><strong>Of course they are.</strong> They have been reported to</p>
|
||||
<ul class="incremental">
|
||||
<li><a href="https://ubuntu.com">Ubuntu</a>
|
||||
<ul class="incremental">
|
||||
<li><a href="http://pad.lv/996947]">issue 1</a></li>
|
||||
<li><a href="http://pad.lv/996950">issue 2</a></li>
|
||||
</ul></li>
|
||||
<li><a href="https://debian.org/">Debian</a>
|
||||
<ul class="incremental">
|
||||
<li><a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672214">issue 1</a></li>
|
||||
<li><a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672215">issue 2</a></li>
|
||||
</ul></li>
|
||||
<li><a href="ircs://chat.freenode.net:6697/#supybot">#supybot</a></li>
|
||||
</ul>
|
||||
<p>The first issue has been also used to take down some of <a href="https://wiki.ubuntu.com/IRC/Bots">Ubuntu IRC bots</a> several times. At least UbotX (I don't remember the number) and meetingology.</p>
|
||||
<p>Some of these issues are fixed in git repository, but most people aren't using it. If you wish to start using it, please scroll down to installation instructions lower this page even though <a href="https://github.com/ProgVal/Limnoria">Limnoria</a> and <a href="http://github.com/nanotube/supybot_fixes">gribble</a> are more recommended.</p>
|
||||
<h3 id="how-to-avoid-them">How to avoid them?</h3>
|
||||
<p>You can add anticapability for these commands using <code>owner defaultcapability</code>, but that is only a temporary solution. There can also be other issues.</p>
|
||||
<p>There are also two active Supybot forks, known as <a href="https://github.com/ProgVal/Limnoria">Limnoria</a> and <a href="http://github.com/nanotube/supybot_fixes">Gribble</a>, which are actively developed and have fixed these issues. If you want permanent solution, you should install either of them.</p>
|
||||
<p>I recommend <a href="https://github.com/ProgVal/Limnoria">Limnoria</a> * it seems to be more actively developed. * (activity of <a href="http://github.com/nanotube/supybot_fixes">Gribble</a> isn't announced anywhere) * it has additional * commands * translations support * plugins * <a href="https://github.com/ProgVal/Limnoria/tree/master/plugins/PluginDownloader">PluginDownloader</a>, which makes installing of 3rd party plugins easy. * NickAuth * Allows identifying to the bot using NickServ account. * all changes of <a href="http://github.com/nanotube/supybot_fixes">Gribble</a>. * Conditional & MessageParser * [Limnoria also supports SASL and CertFP], which are methods to <a href="https://mkaysi.github.io/pages/external/identifying.html">identify to services automatically.</a></p>
|
||||
<h2 id="interesting-things">Interesting things</h2>
|
||||
<ul class="incremental">
|
||||
<li><a href="https://www.openhub.net/p/compare?project_0=Limnoria&project_1=Gribble%3A+Support+Bottie&project_2=Supybot">Comparsion of commit activity between Limnoria, Gribble and Supybot</a>.</li>
|
||||
<li><a href="https://sourceforge.net/p/gribble/wiki/Gribble_Project_Git_Repository/">Gribble's modifications to stock Supybot</a>
|
||||
<ul class="incremental">
|
||||
<li>SourceForge and that link are a little broken, when they are moved elsewhere, please remove this notice!</li>
|
||||
</ul></li>
|
||||
<li><a href="https://github.com/ProgVal/Limnoria/wiki/LGC">Limnoria's modifications to Gribble.</a>
|
||||
<ul class="incremental">
|
||||
<li>Features of Gribble are fully merged to Limnoria.</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<p>Your current botname.conf is <strong>100% compatible with forks</strong>.</p>
|
||||
<p><a href="ircs://chat.freenode.net:6697/#supybot,#gribble,#limnoria">Join Supybot channels on freenode!</a></p>
|
||||
<h2 id="installing-forks">Installing forks</h2>
|
||||
<h3 id="for-all-of-them.">For all of them.</h3>
|
||||
<p>You should install <a href="http://pip.readthedocs.org/en/latest/reference/pythonpip_install.html">pip</a> (usually python-pip and python3-pip in repositories) and <a href="http://git-scm.com/">git</a>.</p>
|
||||
<p>Windows users should also install <a href="http://pip.readthedocs.org/en/latest/reference/pythonpip_install.html">pip</a> and <a href="https://msysgit.github.io/">msysgit</a> and in <a href="https://msysgit.github.io/">msysgit</a> select to run <strong>unix tools in PATH</strong>.</p>
|
||||
<p>Note: pip is included with Python =< 3.4! Python 3 is only supported by Limnoria.</p>
|
||||
<p>For <strong>rootless installation</strong>, please see <a href="http://supybot.aperio.fr/doc/use/install.html#local-installation">Limnoria's documentation.</a> which you should be able to modify to install stock Supybot or gribble with the information below.</p>
|
||||
<p>If you don't have sudo, please simply remove it from beginnings of lines and run the commands as root or Administrator.</p>
|
||||
<h3 id="supybot">Supybot</h3>
|
||||
<p><strong>Not recommended as it's not actively developed.</strong></p>
|
||||
<pre><code>sudo python -m pip install git+https://github.com/supybot/supybot.git --upgrade</code></pre>
|
||||
<h3 id="gribble">gribble</h3>
|
||||
<p>Less actively developed than Limnoria and doesn't support Python 3.</p>
|
||||
<pre><code>sudo python -m pip install git+https://github.com/nanotube/supybot_fixes.git --upgrade</code></pre>
|
||||
<h3 id="limnoria">Limnoria</h3>
|
||||
<p>At the time of writing, the most active Supybot fork which includes embedded HTTPd for plugins needing it, supports other languages than English and also runs with Python 3.</p>
|
||||
<p>The first command installs requirements of Limnoria and the second Limnoria itself. Only Limnoria has requirements.txt file at the moment.</p>
|
||||
<pre><code>sudo python3 -m pip install -r https://raw.githubusercontent.com/ProgVal/Limnoria/master/requirements.txt --upgrade
|
||||
sudo python3 -m pip install git+https://github.com/ProgVal/Limnoria.git@master --upgrade</code></pre>
|
||||
<h4 id="python3--m-pip">python3 -m pip</h4>
|
||||
<p>If you don't have pip for Python3 you can</p>
|
||||
<pre><code>curl -LO https://bootstrap.pypa.io/get-pip.py
|
||||
sudo python3 get-pip.py</code></pre>
|
||||
<p>if <code>curl -LO</code> doesn't work, try replacing it with <code>wget</code>.</p>
|
||||
<hr/>
|
||||
<a href="https://github.com/Mkaysi/Limnoria/commits/gh-pages/Supybot.html">Changelog of this page.</a>
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@ -1,23 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="description" content="Security issues in the latest released version of stock Supybot, how to avoid them without switching to a fork and how to switch to forks." />
|
||||
<meta name="keywords" content="Security,Issues,Supybot,crash,Debian,Ubuntu,IRC,Python,Python 2,Python 3,pip," />
|
||||
<meta name="author" content="Mikaela Suomalainen" />
|
||||
<link rel="canonical" href="https://mkaysi.github.io/limnoria/Supybot.html">
|
||||
<title>Security issues of Supybot</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', 'UA-40171169-1', 'mkaysi.github.io');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
---
|
||||
layout: page
|
||||
title: Security issues
|
||||
permalink: /Supybot.html
|
||||
---
|
||||
|
||||
All activity happens in git repository of Supybot nowadays and it happens
|
||||
seldomly. The latest version, which was released in 2009 is 0.83.4.1
|
||||
@ -40,12 +25,12 @@ And this is very easy. Just run the command
|
||||
|
||||
where ! is the prefix character.
|
||||
|
||||
Misc is loaded by default and cannot be unloaded without modifying the
|
||||
Misc is loaded by default and cannot be unloaded without modifying the
|
||||
config.
|
||||
|
||||
### 2. The previous wasn't the only way to do this
|
||||
|
||||
Everyone can also make the bot count an equation, which brings it and the
|
||||
Everyone can also make the bot count an equation, which brings it and the
|
||||
host computer down.
|
||||
|
||||
For example:
|
||||
@ -60,18 +45,19 @@ default.
|
||||
### 3. Anyone can access network services via the bot.
|
||||
|
||||
I don't have example command for this, but it happens by nesting
|
||||
"format cut" and "misc tell".
|
||||
"format cut" and "misc tell".
|
||||
|
||||
What does this mean? Anyone can tell the bot to ghost someone else on same
|
||||
account, take over a channel by telling the bot to give flags
|
||||
(if it has correct flags), change password of the account and everything
|
||||
What does this mean? Anyone can tell the bot to ghost someone else on same
|
||||
account, take over a channel by telling the bot to give flags
|
||||
(if it has correct flags), change password of the account and everything
|
||||
else what you do with network services.
|
||||
|
||||
### 4. Web page with special characters in \<title\> can be used to send DCC/CTCP commands.
|
||||
|
||||
This doesn't mean only things like CTCP actions (also known as /me),
|
||||
but known problems with old routers ( `FF ? DCC SEND “ff???f??????????????” 0 0 0` )
|
||||
which make them reconnect to the internet.
|
||||
This doesn't mean only things like CTCP actions (also known as /me),
|
||||
but known problems with old routers
|
||||
( `FF ? DCC SEND “ff???f??????????????” 0 0 0` ) which make them reconnect
|
||||
to the internet.
|
||||
|
||||
Usage:
|
||||
|
||||
@ -93,39 +79,39 @@ Usage:
|
||||
* [#supybot](ircs://chat.freenode.net:6697/#supybot)
|
||||
|
||||
|
||||
The first issue has been also used to take down some of
|
||||
[Ubuntu IRC bots](https://wiki.ubuntu.com/IRC/Bots) several times.
|
||||
The first issue has been also used to take down some of
|
||||
[Ubuntu IRC bots](https://wiki.ubuntu.com/IRC/Bots) several times.
|
||||
At least UbotX (I don't remember the number) and meetingology.
|
||||
|
||||
Some of these issues are fixed in git repository, but most people aren't
|
||||
using it. If you wish to start using it, please scroll down to
|
||||
installation instructions lower this page even though [Limnoria] and
|
||||
Some of these issues are fixed in git repository, but most people aren't
|
||||
using it. If you wish to start using it, please scroll down to
|
||||
installation instructions lower this page even though [Limnoria] and
|
||||
[gribble] are more recommended.
|
||||
|
||||
### How to avoid them?
|
||||
|
||||
You can add anticapability for these commands using
|
||||
`owner defaultcapability`, but that is only a temporary solution.
|
||||
You can add anticapability for these commands using
|
||||
`owner defaultcapability`, but that is only a temporary solution.
|
||||
There can also be other issues.
|
||||
|
||||
There are also two active Supybot forks, known as [Limnoria] and
|
||||
[Gribble], which are actively developed and have fixed these issues.
|
||||
There are also two active Supybot forks, known as [Limnoria] and
|
||||
[Gribble], which are actively developed and have fixed these issues.
|
||||
If you want permanent solution, you should install either of them.
|
||||
|
||||
I recommend [Limnoria]
|
||||
* it seems to be more actively developed.
|
||||
* (activity of [Gribble] isn't announced anywhere)
|
||||
* it has additional
|
||||
* it has additional
|
||||
* commands
|
||||
* translations support
|
||||
* plugins
|
||||
* [PluginDownloader], which makes installing of
|
||||
* [PluginDownloader], which makes installing of
|
||||
3rd party plugins easy.
|
||||
* NickAuth
|
||||
* Allows identifying to the bot using NickServ account.
|
||||
* all changes of [Gribble].
|
||||
* Conditional & MessageParser
|
||||
* [Limnoria also supports SASL and CertFP], which are methods to
|
||||
* Conditional & MessageParser
|
||||
* [Limnoria also supports SASL and CertFP], which are methods to
|
||||
[identify to services automatically.](https://mkaysi.github.io/pages/external/identifying.html)
|
||||
|
||||
## Interesting things
|
||||
@ -210,8 +196,7 @@ sudo python3 get-pip.py
|
||||
|
||||
if `curl -LO` doesn't work, try replacing it with `wget`.
|
||||
|
||||
<hr/>
|
||||
[Changelog of this page.](https://github.com/Mkaysi/Limnoria/commits/gh-pages/Supybot.html)
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
||||
* * * * *
|
||||
|
||||
[Changelog of this page.](https://github.com/Mikaela/limnoria/commits/gh-pages/Supybot.md)
|
||||
* * * * *
|
19
_config.yml
19
_config.yml
@ -1,3 +1,22 @@
|
||||
# Site settings
|
||||
title: Mikaela's supybot site
|
||||
#email: your-email@domain.com
|
||||
description: > # this means to ignore newlines until "baseurl:"
|
||||
Mikaela's Supybot site where nowadays the only content is security issues
|
||||
of stock Supybot.
|
||||
baseurl: "" # the subpath of your site, e.g. /blog/
|
||||
url: "http://supybot.mikaela.info/" # the base hostname & protocol for your site
|
||||
#twitter_username: jekyllrb
|
||||
github_username: Mikaela
|
||||
|
||||
# Build settings
|
||||
markdown: redcarpet
|
||||
redcarpet:
|
||||
extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data", "strikethrough", "lax_spacing", "space_after_headers", "superscript"]
|
||||
|
||||
# Custom settings
|
||||
timezone: Etc/UTC
|
||||
encoding: utf-8
|
||||
gems:
|
||||
- jekyll-mentions
|
||||
- jemoji
|
||||
|
55
_includes/footer.html
Normal file
55
_includes/footer.html
Normal file
@ -0,0 +1,55 @@
|
||||
<footer class="site-footer">
|
||||
|
||||
<div class="wrapper">
|
||||
|
||||
<h2 class="footer-heading">{{ site.title }}</h2>
|
||||
|
||||
<div class="footer-col-wrapper">
|
||||
<div class="footer-col footer-col-1">
|
||||
<ul class="contact-list">
|
||||
<li>{{ site.title }}</li>
|
||||
<li><a href="mailto:{{ site.email }}">{{ site.email }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="footer-col footer-col-2">
|
||||
<ul class="social-media-list">
|
||||
{% if site.github_username %}
|
||||
<li>
|
||||
<a href="https://github.com/{{ site.github_username }}">
|
||||
<span class="icon icon--github">
|
||||
<svg viewBox="0 0 16 16">
|
||||
<path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/>
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
<span class="username">{{ site.github_username }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if site.twitter_username %}
|
||||
<li>
|
||||
<a href="https://twitter.com/{{ site.twitter_username }}">
|
||||
<span class="icon icon--twitter">
|
||||
<svg viewBox="0 0 16 16">
|
||||
<path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
|
||||
c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/>
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
<span class="username">{{ site.twitter_username }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="footer-col footer-col-3">
|
||||
<p class="text">{{ site.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</footer>
|
12
_includes/head.html
Normal file
12
_includes/head.html
Normal file
@ -0,0 +1,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
|
||||
<meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
|
||||
|
||||
<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
|
||||
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
|
||||
</head>
|
27
_includes/header.html
Normal file
27
_includes/header.html
Normal file
@ -0,0 +1,27 @@
|
||||
<header class="site-header">
|
||||
|
||||
<div class="wrapper">
|
||||
|
||||
<a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
|
||||
|
||||
<nav class="site-nav">
|
||||
<a href="#" class="menu-icon">
|
||||
<svg viewBox="0 0 18 15">
|
||||
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
|
||||
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
|
||||
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<div class="trigger">
|
||||
{% for page in site.pages %}
|
||||
{% if page.title %}
|
||||
<a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
</header>
|
20
_layouts/default.html
Normal file
20
_layouts/default.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
{% include head.html %}
|
||||
|
||||
<body>
|
||||
|
||||
{% include header.html %}
|
||||
|
||||
<div class="page-content">
|
||||
<div class="wrapper">
|
||||
{{ content }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include footer.html %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
14
_layouts/page.html
Normal file
14
_layouts/page.html
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
<div class="post">
|
||||
|
||||
<header class="post-header">
|
||||
<h1 class="post-title">{{ page.title }}</h1>
|
||||
</header>
|
||||
|
||||
<article class="post-content">
|
||||
{{ content }}
|
||||
</article>
|
||||
|
||||
</div>
|
15
_layouts/post.html
Normal file
15
_layouts/post.html
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
<div class="post">
|
||||
|
||||
<header class="post-header">
|
||||
<h1 class="post-title">{{ page.title }}</h1>
|
||||
<p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
|
||||
</header>
|
||||
|
||||
<article class="post-content">
|
||||
{{ content }}
|
||||
</article>
|
||||
|
||||
</div>
|
204
_sass/_base.scss
Normal file
204
_sass/_base.scss
Normal file
@ -0,0 +1,204 @@
|
||||
/**
|
||||
* Reset some basic elements
|
||||
*/
|
||||
body, h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre, hr,
|
||||
dl, dd, ol, ul, figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Basic styling
|
||||
*/
|
||||
body {
|
||||
font-family: $base-font-family;
|
||||
font-size: $base-font-size;
|
||||
line-height: $base-line-height;
|
||||
font-weight: 300;
|
||||
color: $text-color;
|
||||
background-color: $background-color;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set `margin-bottom` to maintain vertical rhythm
|
||||
*/
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre,
|
||||
ul, ol, dl, figure,
|
||||
%vertical-rhythm {
|
||||
margin-bottom: $spacing-unit / 2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Images
|
||||
*/
|
||||
img {
|
||||
max-width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Figures
|
||||
*/
|
||||
figure > img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
font-size: $small-font-size;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Lists
|
||||
*/
|
||||
ul, ol {
|
||||
margin-left: $spacing-unit;
|
||||
}
|
||||
|
||||
li {
|
||||
> ul,
|
||||
> ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Headings
|
||||
*/
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Links
|
||||
*/
|
||||
a {
|
||||
color: $brand-color;
|
||||
text-decoration: none;
|
||||
|
||||
&:visited {
|
||||
color: darken($brand-color, 15%);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $text-color;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Blockquotes
|
||||
*/
|
||||
blockquote {
|
||||
color: $grey-color;
|
||||
border-left: 4px solid $grey-color-light;
|
||||
padding-left: $spacing-unit / 2;
|
||||
font-size: 18px;
|
||||
letter-spacing: -1px;
|
||||
font-style: italic;
|
||||
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Code formatting
|
||||
*/
|
||||
pre,
|
||||
code {
|
||||
font-size: 15px;
|
||||
border: 1px solid $grey-color-light;
|
||||
border-radius: 3px;
|
||||
background-color: #eef;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 8px 12px;
|
||||
overflow-x: scroll;
|
||||
|
||||
> code {
|
||||
border: 0;
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Wrapper
|
||||
*/
|
||||
.wrapper {
|
||||
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
|
||||
max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
padding-right: $spacing-unit;
|
||||
padding-left: $spacing-unit;
|
||||
@extend %clearfix;
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
|
||||
max-width: calc(#{$content-width} - (#{$spacing-unit}));
|
||||
padding-right: $spacing-unit / 2;
|
||||
padding-left: $spacing-unit / 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Clearfix
|
||||
*/
|
||||
%clearfix {
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Icons
|
||||
*/
|
||||
.icon {
|
||||
|
||||
> svg {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
vertical-align: middle;
|
||||
|
||||
path {
|
||||
fill: $grey-color;
|
||||
}
|
||||
}
|
||||
}
|
236
_sass/_layout.scss
Normal file
236
_sass/_layout.scss
Normal file
@ -0,0 +1,236 @@
|
||||
/**
|
||||
* Site header
|
||||
*/
|
||||
.site-header {
|
||||
border-top: 5px solid $grey-color-dark;
|
||||
border-bottom: 1px solid $grey-color-light;
|
||||
min-height: 56px;
|
||||
|
||||
// Positioning context for the mobile navigation icon
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.site-title {
|
||||
font-size: 26px;
|
||||
line-height: 56px;
|
||||
letter-spacing: -1px;
|
||||
margin-bottom: 0;
|
||||
float: left;
|
||||
|
||||
&,
|
||||
&:visited {
|
||||
color: $grey-color-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.site-nav {
|
||||
float: right;
|
||||
line-height: 56px;
|
||||
|
||||
.menu-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page-link {
|
||||
color: $text-color;
|
||||
line-height: $base-line-height;
|
||||
|
||||
// Gaps between nav items, but not on the first one
|
||||
&:not(:first-child) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-query($on-palm) {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 30px;
|
||||
background-color: $background-color;
|
||||
border: 1px solid $grey-color-light;
|
||||
border-radius: 5px;
|
||||
text-align: right;
|
||||
|
||||
.menu-icon {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 36px;
|
||||
height: 26px;
|
||||
line-height: 0;
|
||||
padding-top: 10px;
|
||||
text-align: center;
|
||||
|
||||
> svg {
|
||||
width: 18px;
|
||||
height: 15px;
|
||||
|
||||
path {
|
||||
fill: $grey-color-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.trigger {
|
||||
clear: both;
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover .trigger {
|
||||
display: block;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.page-link {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Site footer
|
||||
*/
|
||||
.site-footer {
|
||||
border-top: 1px solid $grey-color-light;
|
||||
padding: $spacing-unit 0;
|
||||
}
|
||||
|
||||
.footer-heading {
|
||||
font-size: 18px;
|
||||
margin-bottom: $spacing-unit / 2;
|
||||
}
|
||||
|
||||
.contact-list,
|
||||
.social-media-list {
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.footer-col-wrapper {
|
||||
font-size: 15px;
|
||||
color: $grey-color;
|
||||
margin-left: -$spacing-unit / 2;
|
||||
@extend %clearfix;
|
||||
}
|
||||
|
||||
.footer-col {
|
||||
float: left;
|
||||
margin-bottom: $spacing-unit / 2;
|
||||
padding-left: $spacing-unit / 2;
|
||||
}
|
||||
|
||||
.footer-col-1 {
|
||||
width: -webkit-calc(35% - (#{$spacing-unit} / 2));
|
||||
width: calc(35% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
|
||||
.footer-col-2 {
|
||||
width: -webkit-calc(20% - (#{$spacing-unit} / 2));
|
||||
width: calc(20% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
|
||||
.footer-col-3 {
|
||||
width: -webkit-calc(45% - (#{$spacing-unit} / 2));
|
||||
width: calc(45% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
.footer-col-1,
|
||||
.footer-col-2 {
|
||||
width: -webkit-calc(50% - (#{$spacing-unit} / 2));
|
||||
width: calc(50% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
|
||||
.footer-col-3 {
|
||||
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
||||
width: calc(100% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
}
|
||||
|
||||
@include media-query($on-palm) {
|
||||
.footer-col {
|
||||
float: none;
|
||||
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
||||
width: calc(100% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Page content
|
||||
*/
|
||||
.page-content {
|
||||
padding: $spacing-unit 0;
|
||||
}
|
||||
|
||||
.page-heading {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.post-list {
|
||||
margin-left: 0;
|
||||
list-style: none;
|
||||
|
||||
> li {
|
||||
margin-bottom: $spacing-unit;
|
||||
}
|
||||
}
|
||||
|
||||
.post-meta {
|
||||
font-size: $small-font-size;
|
||||
color: $grey-color;
|
||||
}
|
||||
|
||||
.post-link {
|
||||
display: block;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Posts
|
||||
*/
|
||||
.post-header {
|
||||
margin-bottom: $spacing-unit;
|
||||
}
|
||||
|
||||
.post-title {
|
||||
font-size: 42px;
|
||||
letter-spacing: -1px;
|
||||
line-height: 1;
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
font-size: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
.post-content {
|
||||
margin-bottom: $spacing-unit;
|
||||
|
||||
h2 {
|
||||
font-size: 32px;
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 26px;
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 20px;
|
||||
|
||||
@include media-query($on-laptop) {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
67
_sass/_syntax-highlighting.scss
Normal file
67
_sass/_syntax-highlighting.scss
Normal file
@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Syntax highlighting styles
|
||||
*/
|
||||
.highlight {
|
||||
background: #fff;
|
||||
@extend %vertical-rhythm;
|
||||
|
||||
.c { color: #998; font-style: italic } // Comment
|
||||
.err { color: #a61717; background-color: #e3d2d2 } // Error
|
||||
.k { font-weight: bold } // Keyword
|
||||
.o { font-weight: bold } // Operator
|
||||
.cm { color: #998; font-style: italic } // Comment.Multiline
|
||||
.cp { color: #999; font-weight: bold } // Comment.Preproc
|
||||
.c1 { color: #998; font-style: italic } // Comment.Single
|
||||
.cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
|
||||
.gd { color: #000; background-color: #fdd } // Generic.Deleted
|
||||
.gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
|
||||
.ge { font-style: italic } // Generic.Emph
|
||||
.gr { color: #a00 } // Generic.Error
|
||||
.gh { color: #999 } // Generic.Heading
|
||||
.gi { color: #000; background-color: #dfd } // Generic.Inserted
|
||||
.gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
|
||||
.go { color: #888 } // Generic.Output
|
||||
.gp { color: #555 } // Generic.Prompt
|
||||
.gs { font-weight: bold } // Generic.Strong
|
||||
.gu { color: #aaa } // Generic.Subheading
|
||||
.gt { color: #a00 } // Generic.Traceback
|
||||
.kc { font-weight: bold } // Keyword.Constant
|
||||
.kd { font-weight: bold } // Keyword.Declaration
|
||||
.kp { font-weight: bold } // Keyword.Pseudo
|
||||
.kr { font-weight: bold } // Keyword.Reserved
|
||||
.kt { color: #458; font-weight: bold } // Keyword.Type
|
||||
.m { color: #099 } // Literal.Number
|
||||
.s { color: #d14 } // Literal.String
|
||||
.na { color: #008080 } // Name.Attribute
|
||||
.nb { color: #0086B3 } // Name.Builtin
|
||||
.nc { color: #458; font-weight: bold } // Name.Class
|
||||
.no { color: #008080 } // Name.Constant
|
||||
.ni { color: #800080 } // Name.Entity
|
||||
.ne { color: #900; font-weight: bold } // Name.Exception
|
||||
.nf { color: #900; font-weight: bold } // Name.Function
|
||||
.nn { color: #555 } // Name.Namespace
|
||||
.nt { color: #000080 } // Name.Tag
|
||||
.nv { color: #008080 } // Name.Variable
|
||||
.ow { font-weight: bold } // Operator.Word
|
||||
.w { color: #bbb } // Text.Whitespace
|
||||
.mf { color: #099 } // Literal.Number.Float
|
||||
.mh { color: #099 } // Literal.Number.Hex
|
||||
.mi { color: #099 } // Literal.Number.Integer
|
||||
.mo { color: #099 } // Literal.Number.Oct
|
||||
.sb { color: #d14 } // Literal.String.Backtick
|
||||
.sc { color: #d14 } // Literal.String.Char
|
||||
.sd { color: #d14 } // Literal.String.Doc
|
||||
.s2 { color: #d14 } // Literal.String.Double
|
||||
.se { color: #d14 } // Literal.String.Escape
|
||||
.sh { color: #d14 } // Literal.String.Heredoc
|
||||
.si { color: #d14 } // Literal.String.Interpol
|
||||
.sx { color: #d14 } // Literal.String.Other
|
||||
.sr { color: #009926 } // Literal.String.Regex
|
||||
.s1 { color: #d14 } // Literal.String.Single
|
||||
.ss { color: #990073 } // Literal.String.Symbol
|
||||
.bp { color: #999 } // Name.Builtin.Pseudo
|
||||
.vc { color: #008080 } // Name.Variable.Class
|
||||
.vg { color: #008080 } // Name.Variable.Global
|
||||
.vi { color: #008080 } // Name.Variable.Instance
|
||||
.il { color: #099 } // Literal.Number.Integer.Long
|
||||
}
|
4
css.css
4
css.css
@ -1,4 +0,0 @@
|
||||
body {
|
||||
background-color: pink;
|
||||
font-family: "Copperplate / Copperplate Gothic Light", sans-serif;
|
||||
}
|
52
css/main.scss
Executable file
52
css/main.scss
Executable file
@ -0,0 +1,52 @@
|
||||
---
|
||||
# Only the main Sass file needs front matter (the dashes are enough)
|
||||
---
|
||||
@charset "utf-8";
|
||||
|
||||
|
||||
|
||||
// Our variables
|
||||
$base-font-family: Helvetica, Arial, sans-serif;
|
||||
$base-font-size: 16px;
|
||||
$small-font-size: $base-font-size * 0.875;
|
||||
$base-line-height: 1.5;
|
||||
|
||||
$spacing-unit: 30px;
|
||||
|
||||
$text-color: #111;
|
||||
$background-color: #fdfdfd;
|
||||
$brand-color: #2a7ae2;
|
||||
|
||||
$grey-color: #828282;
|
||||
$grey-color-light: lighten($grey-color, 40%);
|
||||
$grey-color-dark: darken($grey-color, 25%);
|
||||
|
||||
// Width of the content area
|
||||
$content-width: 800px;
|
||||
|
||||
$on-palm: 600px;
|
||||
$on-laptop: 800px;
|
||||
|
||||
|
||||
|
||||
// Using media queries with like this:
|
||||
// @include media-query($on-palm) {
|
||||
// .wrapper {
|
||||
// padding-right: $spacing-unit / 2;
|
||||
// padding-left: $spacing-unit / 2;
|
||||
// }
|
||||
// }
|
||||
@mixin media-query($device) {
|
||||
@media screen and (max-width: $device) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Import partials from `sass_dir` (defaults to `_sass`)
|
||||
@import
|
||||
"base",
|
||||
"layout",
|
||||
"syntax-highlighting"
|
||||
;
|
30
feed.xml
Normal file
30
feed.xml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
layout: null
|
||||
---
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ site.title | xml_escape }}</title>
|
||||
<description>{{ site.description | xml_escape }}</description>
|
||||
<link>{{ site.url }}{{ site.baseurl }}/</link>
|
||||
<atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
|
||||
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
|
||||
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
|
||||
<generator>Jekyll v{{ jekyll.version }}</generator>
|
||||
{% for post in site.posts limit:10 %}
|
||||
<item>
|
||||
<title>{{ post.title | xml_escape }}</title>
|
||||
<description>{{ post.content | xml_escape }}</description>
|
||||
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
|
||||
<link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
|
||||
<guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
|
||||
{% for tag in post.tags %}
|
||||
<category>{{ tag | xml_escape }}</category>
|
||||
{% endfor %}
|
||||
{% for cat in post.categories %}
|
||||
<category>{{ cat | xml_escape }}</category>
|
||||
{% endfor %}
|
||||
</item>
|
||||
{% endfor %}
|
||||
</channel>
|
||||
</rss>
|
19
header.html
19
header.html
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" /> <!-- <meta http-equiv="refresh" content="60" /> --> <meta name="description" content="Header" /> <meta name="author" content="Mikaela Suomalainen" /> <link rel="canonical" href="https://mkaysi.github.io/limnoria/header.html">
|
||||
<title>
|
||||
Header
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=html -->
|
||||
|
||||
|
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<!-- <meta http-equiv="refresh" content="60" /> -->
|
||||
<meta name="description" content="Header" />
|
||||
<meta name="author" content="Mikaela Suomalainen" />
|
||||
<link rel="canonical" href="https://mkaysi.github.io/limnoria/header.html">
|
||||
<title>Header</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=html -->
|
27
index.html
27
index.html
@ -1,27 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<meta name="description" content="Mikaela's Supybot related pages. This will contain everything useful that was Supybot-related from my old GH-pages repo.">
|
||||
<meta name="author" content="Mikaela Suomalainen">
|
||||
<title>Mikaela's Supybot site</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<frameset rows="0,*" frameborder="0" framespacing="0" border="0">
|
||||
<frame src="header.html" name="header" marginwidth="0" marginheight="0"
|
||||
scrolling="no"> <frameset cols="150,*" frameborder="0" framespacing="0" border="0">
|
||||
<frame src="navbar.html" name="left" marginwidth="0" marginheight="0" scrolling="no">
|
||||
<frame src="index.real.html" name="right" marginwidth="0" marginheight="0"> </frameset>
|
||||
</frameset> <font face="verdana" size="1">
|
||||
</font>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-40171169-1', 'mkaysi.github.io');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
</html>
|
17
index.markdown
Normal file
17
index.markdown
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
Welcome to Mikaela's Supybot pages.
|
||||
|
||||
This site isn't official and won't help with most of issues. In case you
|
||||
are looking for official sites, they are here:
|
||||
|
||||
* [Supybook](http://supybook.fealdia.org/devel/)
|
||||
* [Supybot Website](http://supybot.aperio.fr/)
|
||||
* [Limnoria official documentation](http://doc.supybot.aperio.fr/)
|
||||
* [Gribble Wiki](http://sourceforge.net/apps/mediawiki/gribble/index.php?title=Main_Page)
|
||||
|
||||
If you cannot find what you are looking for from them, please come to IRC
|
||||
and ask. The Support channels are
|
||||
[#supybot,#limnoria on chat.freenode.net](ircs://chat.freenode.net:6697/#supybot,#limnoria)
|
@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" /> <!-- <meta http-equiv="refresh" content="60" /> --> <meta name="description" content="Insert description here" /> <meta name="author" content="Mikaela Suomalainen" /> <link rel="canonical" href="https://mkaysi.github.io/limnoria/Supybot.html">
|
||||
<title>
|
||||
The real index (not-iframe)
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Welcome to Mikaela's Supybot pages. These are what remains of mkaysi.github.io's old Supybot related pages.</p>
|
||||
<p>This site isn't official and won't help with most of issues. In case you are looking for official sites, they are here:</p>
|
||||
<p>+<a href="http://supybook.fealdia.org/devel/">Supybook</a> +<a href="http://supybot.aperio.fr/">Supybot Website</a> +<a href="http://qa.supybot.aperio.fr/">Q & A website</a> +<a href="http://supybot.aperio.fr/doc/">Limnoria official documentation</a> +<a href="http://sourceforge.net/apps/mediawiki/gribble/index.php?title=Main_Page">Gribble Wiki</a></p>
|
||||
<p>If you cannot find what you are looking for from them, please come to IRC and ask. The Support channels are <a href="ircs://chat.freenode.net:6697/#supybot,#limnoria">#supybot,#limnoria on chat.freenode.net</a></p>
|
||||
</body>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-40171169-1', 'mkaysi.github.io');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
</html>
|
||||
|
||||
<!-- vim : set ft=html -->
|
||||
|
||||
|
@ -1,42 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<!-- <meta http-equiv="refresh" content="60" /> -->
|
||||
<meta name="description" content="Insert description here" />
|
||||
<meta name="author" content="Mikaela Suomalainen" />
|
||||
<link rel="canonical" href="https://mkaysi.github.io/limnoria/Supybot.html">
|
||||
<title>The real index (not-iframe)</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Welcome to Mikaela's Supybot pages. These are what remains of
|
||||
mkaysi.github.io's old Supybot related pages.
|
||||
|
||||
This site isn't official and won't help with most of issues. In case you
|
||||
are looking for official sites, they are here:
|
||||
|
||||
+[Supybook](http://supybook.fealdia.org/devel/)
|
||||
+[Supybot Website](http://supybot.aperio.fr/)
|
||||
+[Q & A website](http://qa.supybot.aperio.fr/)
|
||||
+[Limnoria official documentation](http://supybot.aperio.fr/doc/)
|
||||
+[Gribble Wiki](http://sourceforge.net/apps/mediawiki/gribble/index.php?title=Main_Page)
|
||||
|
||||
If you cannot find what you are looking for from them, please come to IRC
|
||||
and ask. The Support channels are [#supybot,#limnoria on chat.freenode.net](ircs://chat.freenode.net:6697/#supybot,#limnoria)
|
||||
|
||||
</body>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-40171169-1', 'mkaysi.github.io');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
</html>
|
||||
|
||||
<!-- vim : set ft=html -->
|
23
navbar.html
23
navbar.html
@ -1,23 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" /> <!-- <meta http-equiv="refresh" content="60" /> --> <meta name="description" content="Navigation panel" /> <meta name="author" content="Mikaela Suomalainen" /> <link rel="canonical" href="https://mkaysi.github.io/limnoria/navbar.html">
|
||||
<title>
|
||||
Navigation bar
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p><strong>Pages</strong></p>
|
||||
<p>On-site links</p>
|
||||
<p><a href="index.real.html" target="right">Index</a></p>
|
||||
<p><a href="Supybot.html" target="right">Security issues of Supybot</a></p>
|
||||
<p><a href="Relaybot.html" target="right">Ignoring RelayBot</a></p>
|
||||
<!-- **Off-site links** -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=markdown -->
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<!-- <meta http-equiv="refresh" content="60" /> -->
|
||||
<meta name="description" content="Navigation panel" />
|
||||
<meta name="author" content="Mikaela Suomalainen" />
|
||||
<link rel="canonical" href="https://mkaysi.github.io/limnoria/navbar.html">
|
||||
<title>Navigation bar</title>
|
||||
<link rel="stylesheet" type="text/css" href="css.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
**Pages**
|
||||
|
||||
On-site links
|
||||
|
||||
<a href="index.real.html" target="right">Index</a>
|
||||
|
||||
<a href="Supybot.html" target="right">Security issues of Supybot</a>
|
||||
|
||||
<a href="Relaybot.html" target="right">Ignoring RelayBot</a>
|
||||
|
||||
<!-- **Off-site links** -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<!-- vim : set ft=markdown -->
|
Loading…
Reference in New Issue
Block a user