Replace test site with skeleton of real site
5
.gitignore
vendored
@@ -1,3 +1,6 @@
|
|||||||
_site
|
_site*
|
||||||
.sass-cache
|
.sass-cache
|
||||||
.jekyll-metadata
|
.jekyll-metadata
|
||||||
|
*backup/
|
||||||
|
|
||||||
|
/*.py
|
||||||
|
|||||||
24
404.html
@@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
<style type="text/css" media="screen">
|
|
||||||
.container {
|
|
||||||
margin: 10px auto;
|
|
||||||
max-width: 600px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
margin: 30px 0;
|
|
||||||
font-size: 4em;
|
|
||||||
line-height: 1;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="container">
|
|
||||||
<h1>404</h1>
|
|
||||||
|
|
||||||
<p><strong>Page not found :(</strong></p>
|
|
||||||
<p>The requested page could not be found.</p>
|
|
||||||
</div>
|
|
||||||
2
CNAME
@@ -1 +1 @@
|
|||||||
mailing-list-archive.cryptoanarchy.wiki
|
mailing-list-archive.cryptoanarchy.wiki
|
||||||
|
|||||||
32
Gemfile
@@ -1,30 +1,2 @@
|
|||||||
source "https://rubygems.org"
|
source 'https://rubygems.org'
|
||||||
|
gem 'github-pages', group: :jekyll_plugins
|
||||||
# Hello! This is where you manage which Jekyll version is used to run.
|
|
||||||
# When you want to use a different version, change it below, save the
|
|
||||||
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
|
|
||||||
#
|
|
||||||
# bundle exec jekyll serve
|
|
||||||
#
|
|
||||||
# This will help ensure the proper Jekyll version is running.
|
|
||||||
# Happy Jekylling!
|
|
||||||
gem "jekyll", "~> 3.7.3"
|
|
||||||
|
|
||||||
# This is the default theme for new Jekyll sites. You may change this to anything you like.
|
|
||||||
gem "minima", "~> 2.0"
|
|
||||||
|
|
||||||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
|
||||||
# uncomment the line below. To upgrade, run `bundle update github-pages`.
|
|
||||||
# gem "github-pages", group: :jekyll_plugins
|
|
||||||
|
|
||||||
# If you have any plugins, put them here!
|
|
||||||
group :jekyll_plugins do
|
|
||||||
gem "jekyll-feed", "~> 0.6"
|
|
||||||
end
|
|
||||||
|
|
||||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
||||||
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
|
||||||
|
|
||||||
# Performance-booster for watching directories on Windows
|
|
||||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
|
||||||
|
|
||||||
197
Gemfile.lock
@@ -1,16 +1,88 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
activesupport (4.2.9)
|
||||||
|
i18n (~> 0.7)
|
||||||
|
minitest (~> 5.1)
|
||||||
|
thread_safe (~> 0.3, >= 0.3.4)
|
||||||
|
tzinfo (~> 1.1)
|
||||||
addressable (2.5.2)
|
addressable (2.5.2)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 4.0)
|
||||||
|
coffee-script (2.4.1)
|
||||||
|
coffee-script-source
|
||||||
|
execjs
|
||||||
|
coffee-script-source (1.11.1)
|
||||||
colorator (1.1.0)
|
colorator (1.1.0)
|
||||||
|
commonmarker (0.17.9)
|
||||||
|
ruby-enum (~> 0.5)
|
||||||
concurrent-ruby (1.0.5)
|
concurrent-ruby (1.0.5)
|
||||||
|
dnsruby (1.60.2)
|
||||||
em-websocket (0.5.1)
|
em-websocket (0.5.1)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
|
ethon (0.11.0)
|
||||||
|
ffi (>= 1.3.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
ffi (1.9.25)
|
execjs (2.7.0)
|
||||||
|
faraday (0.15.2)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
|
ffi (1.9.23)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
|
gemoji (3.0.0)
|
||||||
|
github-pages (185)
|
||||||
|
activesupport (= 4.2.9)
|
||||||
|
github-pages-health-check (= 1.8.1)
|
||||||
|
jekyll (= 3.7.3)
|
||||||
|
jekyll-avatar (= 0.5.0)
|
||||||
|
jekyll-coffeescript (= 1.1.1)
|
||||||
|
jekyll-commonmark-ghpages (= 0.1.5)
|
||||||
|
jekyll-default-layout (= 0.1.4)
|
||||||
|
jekyll-feed (= 0.9.3)
|
||||||
|
jekyll-gist (= 1.5.0)
|
||||||
|
jekyll-github-metadata (= 2.9.4)
|
||||||
|
jekyll-mentions (= 1.3.0)
|
||||||
|
jekyll-optional-front-matter (= 0.3.0)
|
||||||
|
jekyll-paginate (= 1.1.0)
|
||||||
|
jekyll-readme-index (= 0.2.0)
|
||||||
|
jekyll-redirect-from (= 0.13.0)
|
||||||
|
jekyll-relative-links (= 0.5.3)
|
||||||
|
jekyll-remote-theme (= 0.3.1)
|
||||||
|
jekyll-sass-converter (= 1.5.2)
|
||||||
|
jekyll-seo-tag (= 2.4.0)
|
||||||
|
jekyll-sitemap (= 1.2.0)
|
||||||
|
jekyll-swiss (= 0.4.0)
|
||||||
|
jekyll-theme-architect (= 0.1.1)
|
||||||
|
jekyll-theme-cayman (= 0.1.1)
|
||||||
|
jekyll-theme-dinky (= 0.1.1)
|
||||||
|
jekyll-theme-hacker (= 0.1.1)
|
||||||
|
jekyll-theme-leap-day (= 0.1.1)
|
||||||
|
jekyll-theme-merlot (= 0.1.1)
|
||||||
|
jekyll-theme-midnight (= 0.1.1)
|
||||||
|
jekyll-theme-minimal (= 0.1.1)
|
||||||
|
jekyll-theme-modernist (= 0.1.1)
|
||||||
|
jekyll-theme-primer (= 0.5.3)
|
||||||
|
jekyll-theme-slate (= 0.1.1)
|
||||||
|
jekyll-theme-tactile (= 0.1.1)
|
||||||
|
jekyll-theme-time-machine (= 0.1.1)
|
||||||
|
jekyll-titles-from-headings (= 0.5.1)
|
||||||
|
jemoji (= 0.9.0)
|
||||||
|
kramdown (= 1.16.2)
|
||||||
|
liquid (= 4.0.0)
|
||||||
|
listen (= 3.1.5)
|
||||||
|
mercenary (~> 0.3)
|
||||||
|
minima (= 2.4.1)
|
||||||
|
nokogiri (>= 1.8.1, < 2.0)
|
||||||
|
rouge (= 2.2.1)
|
||||||
|
terminal-table (~> 1.4)
|
||||||
|
github-pages-health-check (1.8.1)
|
||||||
|
addressable (~> 2.3)
|
||||||
|
dnsruby (~> 1.60)
|
||||||
|
octokit (~> 4.0)
|
||||||
|
public_suffix (~> 2.0)
|
||||||
|
typhoeus (~> 1.3)
|
||||||
|
html-pipeline (2.8.0)
|
||||||
|
activesupport (>= 2)
|
||||||
|
nokogiri (>= 1.4)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
i18n (0.9.5)
|
i18n (0.9.5)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
@@ -27,48 +99,151 @@ GEM
|
|||||||
pathutil (~> 0.9)
|
pathutil (~> 0.9)
|
||||||
rouge (>= 1.7, < 4)
|
rouge (>= 1.7, < 4)
|
||||||
safe_yaml (~> 1.0)
|
safe_yaml (~> 1.0)
|
||||||
jekyll-feed (0.10.0)
|
jekyll-avatar (0.5.0)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
jekyll-coffeescript (1.1.1)
|
||||||
|
coffee-script (~> 2.2)
|
||||||
|
coffee-script-source (~> 1.11.1)
|
||||||
|
jekyll-commonmark (1.2.0)
|
||||||
|
commonmarker (~> 0.14)
|
||||||
|
jekyll (>= 3.0, < 4.0)
|
||||||
|
jekyll-commonmark-ghpages (0.1.5)
|
||||||
|
commonmarker (~> 0.17.6)
|
||||||
|
jekyll-commonmark (~> 1)
|
||||||
|
rouge (~> 2)
|
||||||
|
jekyll-default-layout (0.1.4)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
jekyll-feed (0.9.3)
|
||||||
jekyll (~> 3.3)
|
jekyll (~> 3.3)
|
||||||
|
jekyll-gist (1.5.0)
|
||||||
|
octokit (~> 4.2)
|
||||||
|
jekyll-github-metadata (2.9.4)
|
||||||
|
jekyll (~> 3.1)
|
||||||
|
octokit (~> 4.0, != 4.4.0)
|
||||||
|
jekyll-mentions (1.3.0)
|
||||||
|
activesupport (~> 4.0)
|
||||||
|
html-pipeline (~> 2.3)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
jekyll-optional-front-matter (0.3.0)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
jekyll-paginate (1.1.0)
|
||||||
|
jekyll-readme-index (0.2.0)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
jekyll-redirect-from (0.13.0)
|
||||||
|
jekyll (~> 3.3)
|
||||||
|
jekyll-relative-links (0.5.3)
|
||||||
|
jekyll (~> 3.3)
|
||||||
|
jekyll-remote-theme (0.3.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
rubyzip (>= 1.2.1, < 3.0)
|
||||||
jekyll-sass-converter (1.5.2)
|
jekyll-sass-converter (1.5.2)
|
||||||
sass (~> 3.4)
|
sass (~> 3.4)
|
||||||
jekyll-seo-tag (2.5.0)
|
jekyll-seo-tag (2.4.0)
|
||||||
|
jekyll (~> 3.3)
|
||||||
|
jekyll-sitemap (1.2.0)
|
||||||
|
jekyll (~> 3.3)
|
||||||
|
jekyll-swiss (0.4.0)
|
||||||
|
jekyll-theme-architect (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-cayman (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-dinky (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-hacker (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-leap-day (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-merlot (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-midnight (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-minimal (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-modernist (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-primer (0.5.3)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-github-metadata (~> 2.9)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-slate (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-tactile (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-theme-time-machine (0.1.1)
|
||||||
|
jekyll (~> 3.5)
|
||||||
|
jekyll-seo-tag (~> 2.0)
|
||||||
|
jekyll-titles-from-headings (0.5.1)
|
||||||
jekyll (~> 3.3)
|
jekyll (~> 3.3)
|
||||||
jekyll-watch (2.0.0)
|
jekyll-watch (2.0.0)
|
||||||
listen (~> 3.0)
|
listen (~> 3.0)
|
||||||
kramdown (1.17.0)
|
jemoji (0.9.0)
|
||||||
|
activesupport (~> 4.0, >= 4.2.9)
|
||||||
|
gemoji (~> 3.0)
|
||||||
|
html-pipeline (~> 2.2)
|
||||||
|
jekyll (~> 3.0)
|
||||||
|
kramdown (1.16.2)
|
||||||
liquid (4.0.0)
|
liquid (4.0.0)
|
||||||
listen (3.1.5)
|
listen (3.1.5)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
ruby_dep (~> 1.2)
|
ruby_dep (~> 1.2)
|
||||||
mercenary (0.3.6)
|
mercenary (0.3.6)
|
||||||
minima (2.5.0)
|
mini_portile2 (2.3.0)
|
||||||
|
minima (2.4.1)
|
||||||
jekyll (~> 3.5)
|
jekyll (~> 3.5)
|
||||||
jekyll-feed (~> 0.9)
|
jekyll-feed (~> 0.9)
|
||||||
jekyll-seo-tag (~> 2.1)
|
jekyll-seo-tag (~> 2.1)
|
||||||
|
minitest (5.11.3)
|
||||||
|
multipart-post (2.0.0)
|
||||||
|
nokogiri (1.8.2)
|
||||||
|
mini_portile2 (~> 2.3.0)
|
||||||
|
octokit (4.9.0)
|
||||||
|
sawyer (~> 0.8.0, >= 0.5.3)
|
||||||
pathutil (0.16.1)
|
pathutil (0.16.1)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
public_suffix (3.0.2)
|
public_suffix (2.0.5)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.9.10)
|
rb-inotify (0.9.10)
|
||||||
ffi (>= 0.5.0, < 2)
|
ffi (>= 0.5.0, < 2)
|
||||||
rouge (3.1.1)
|
rouge (2.2.1)
|
||||||
|
ruby-enum (0.7.2)
|
||||||
|
i18n
|
||||||
ruby_dep (1.5.0)
|
ruby_dep (1.5.0)
|
||||||
|
rubyzip (1.2.1)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
sass (3.5.6)
|
sass (3.5.6)
|
||||||
sass-listen (~> 4.0.0)
|
sass-listen (~> 4.0.0)
|
||||||
sass-listen (4.0.0)
|
sass-listen (4.0.0)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
|
sawyer (0.8.1)
|
||||||
|
addressable (>= 2.3.5, < 2.6)
|
||||||
|
faraday (~> 0.8, < 1.0)
|
||||||
|
terminal-table (1.8.0)
|
||||||
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||||
|
thread_safe (0.3.6)
|
||||||
|
typhoeus (1.3.0)
|
||||||
|
ethon (>= 0.9.0)
|
||||||
|
tzinfo (1.2.5)
|
||||||
|
thread_safe (~> 0.1)
|
||||||
|
unicode-display_width (1.3.2)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
jekyll (~> 3.7.3)
|
github-pages
|
||||||
jekyll-feed (~> 0.6)
|
|
||||||
minima (~> 2.0)
|
|
||||||
tzinfo-data
|
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.16.1
|
1.16.1
|
||||||
|
|||||||
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2018 Thomas Busby
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
4
README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
# <img src="/static/img/jolly-roger-unshifted.jpg" width="60"> cryptoanarchy.wiki
|
||||||
|
|
||||||
|
## Cypherpunks Mailing List Archive
|
||||||
79
_config.yml
@@ -1,43 +1,46 @@
|
|||||||
# Welcome to Jekyll!
|
title: cryptoanarchy.wiki - Cypherpunks Mailing List Archive
|
||||||
#
|
description: Arise, you have nothing to lose but your barbed wire fences!
|
||||||
# This config file is meant for settings that affect your whole blog, values
|
author: cryptoanarchy.wiki
|
||||||
# which you are expected to set up once and rarely edit after that. If you find
|
github: https://github.com/cryptoanarchywiki/mailing-list-archive
|
||||||
# yourself editing this file very often, consider using Jekyll's data files
|
about: Arise, you have nothing to lose but your barbed wire fences!
|
||||||
# feature for the data you need to update frequently.
|
disqus_shortname: cryptoanarchywiki
|
||||||
#
|
google_analytics: UA-77476019-2
|
||||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
avatar_url: /static/img/avatar.jpg
|
||||||
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
|
|
||||||
|
|
||||||
# Site settings
|
enableTags: true
|
||||||
# These are used to personalize your new site. If you look in the HTML files,
|
tagarray: []
|
||||||
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
|
|
||||||
# You can create any custom variable you would like, and they will be accessible
|
|
||||||
# in the templates via {{ site.myvariable }}.
|
|
||||||
title: Your awesome title
|
|
||||||
email: your-email@example.com
|
|
||||||
description: >- # this means to ignore newlines until "baseurl:"
|
|
||||||
Write an awesome description for your new site here. You can edit this
|
|
||||||
line in _config.yml. It will appear in your document head meta (for
|
|
||||||
Google search results) and in your feed.xml site description.
|
|
||||||
baseurl: "" # the subpath of your site, e.g. /blog
|
|
||||||
url: "" # the base hostname & protocol for your site, e.g. http://example.com
|
|
||||||
twitter_username: jekyllrb
|
|
||||||
github_username: jekyll
|
|
||||||
|
|
||||||
# Build settings
|
social:
|
||||||
|
- icon: fa-twitter
|
||||||
|
link: "https://twitter.com/_cryptoanarchy"
|
||||||
|
- icon: fa-facebook
|
||||||
|
link: "https://www.facebook.com/cryptoanarchy.wiki"
|
||||||
|
- icon: fa-github
|
||||||
|
link: "https://github.com/cryptoanarchywiki"
|
||||||
|
|
||||||
|
share:
|
||||||
|
twitter_username: _cryptoanarchy
|
||||||
|
fb_appid:
|
||||||
|
|
||||||
|
similar_resources:
|
||||||
|
- text: Lopp's Bitcoin Resources
|
||||||
|
url: "https://lopp.net/bitcoin.html"
|
||||||
|
- text: Satoshi Nakamoto Institute
|
||||||
|
url: "https://nakamotoinstitute.org/"
|
||||||
|
- text: "Activism.net: Cypherpunks"
|
||||||
|
url: "https://www.activism.net/cypherpunk/"
|
||||||
|
|
||||||
|
url: "https://cryptoanarchy.wiki"
|
||||||
|
baseurl: ""
|
||||||
|
per_page: 20
|
||||||
markdown: kramdown
|
markdown: kramdown
|
||||||
theme: minima
|
|
||||||
plugins:
|
plugins:
|
||||||
- jekyll-feed
|
- jekyll-paginate
|
||||||
|
- jekyll-gist
|
||||||
|
|
||||||
# Exclude from processing.
|
compress_html:
|
||||||
# The following items will not be processed, by default. Create a custom list
|
clippings: all
|
||||||
# to override the default setting.
|
comments: ["<!-- ", " -->"]
|
||||||
# exclude:
|
endings: all
|
||||||
# - Gemfile
|
ignore:
|
||||||
# - Gemfile.lock
|
envs: ['development']
|
||||||
# - node_modules
|
|
||||||
# - vendor/bundle/
|
|
||||||
# - vendor/cache/
|
|
||||||
# - vendor/gems/
|
|
||||||
# - vendor/ruby/
|
|
||||||
|
|||||||
0
_data/.gitkeep
Normal file
7
_includes/tmay_sig_header.html
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
<div class="index-header" markdown='1'>
|
||||||
|
<h1>Crypto Anarchy:</h1>
|
||||||
|
<p>Encryption, digital money, anonymous networks, digital pseudonyms, zero knowledge, reputations, information markets, black markets, collapse of governments.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
11
_layouts/compress.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
# Jekyll layout that compresses HTML
|
||||||
|
# v3.0.2
|
||||||
|
# http://jch.penibelst.de/
|
||||||
|
# https://github.com/penibelst/jekyll-compress-html
|
||||||
|
# © 2014–2015 Anatol Broder
|
||||||
|
# MIT License
|
||||||
|
---
|
||||||
|
|
||||||
|
{% capture _LINE_FEED %}
|
||||||
|
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
|
||||||
187
_layouts/default.html
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
---
|
||||||
|
layout: compress
|
||||||
|
---
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="shortcut icon" href="/static/img/favicons/favicon.ico" />
|
||||||
|
<link rel="apple-touch-icon" sizes="57x57" href="/static/img/favicons/apple-icon-57x57.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="60x60" href="/static/img/favicons/apple-icon-60x60.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="72x72" href="/static/img/favicons/apple-icon-72x72.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="76x76" href="/static/img/favicons/apple-icon-76x76.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="114x114" href="/static/img/favicons/apple-icon-114x114.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="120x120" href="/static/img/favicons/apple-icon-120x120.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="144x144" href="/static/img/favicons/apple-icon-144x144.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="152x152" href="/static/img/favicons/apple-icon-152x152.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/static/img/favicons/apple-icon-180x180.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="192x192" href="/static/img/favicons/android-icon-192x192.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/static/img/favicons/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="96x96" href="/static/img/favicons/favicon-96x96.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/static/img/favicons/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="/manifest.json">
|
||||||
|
<meta name="msapplication-TileColor" content="#ffffff">
|
||||||
|
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
|
||||||
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
<title>{{ site.title }}</title>
|
||||||
|
<meta name="author" content="{{ site.author }}" />
|
||||||
|
<meta name="description" content="{% if page.title %}{{ page.title }}{% else %}{{ site.description }}{% endif %}" />
|
||||||
|
<meta name="keywords" content="{% if page.title %}{{ page.title }}, {{ site.title }}, {% for categ in page.categories %}{{ categ }}{% if forloop.last == false %}, {% endif %}{% endfor %}{% else %}{{ site.title }}, {% for category in site.categories %}{% capture categories_slug %}{{ category | first }}{% endcapture %}{% for categ in categories_slug %}{{ categ }}{% endfor %}{% if forloop.last == false %}, {% endif %}{% endfor %}{% endif %}" />
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml">
|
||||||
|
<meta content="{{ site.share.fb_appid }}" property="fb:app_id">
|
||||||
|
<meta content="{{ site.title }}" property="og:site_name">
|
||||||
|
|
||||||
|
{% if page.noindex %}
|
||||||
|
<meta name="robots" content="noindex">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.title %}
|
||||||
|
<meta content="{{ page.title }}" property="og:title">
|
||||||
|
<meta content="article" property="og:type">
|
||||||
|
{% else %}
|
||||||
|
<meta content="{{ site.title }}" property="og:title">
|
||||||
|
<meta content="website" property="og:type">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.description %}
|
||||||
|
<meta content="{{ page.description }}" property="og:description">
|
||||||
|
{% else %}
|
||||||
|
<meta content="{{ site.description }}" property="og:description">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.url %}
|
||||||
|
<meta content="{{ site.url }}{{ page.url }}" property="og:url">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.date %}
|
||||||
|
<meta content="{{ page.date | date_to_xmlschema }}" property="article:published_time">
|
||||||
|
<meta content="{{ site.url }}/about/" property="article:author">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.image %}
|
||||||
|
<meta content="{{ site.url }}/static/img/posts/{{ page.image }}" property="og:image">
|
||||||
|
{% else %}
|
||||||
|
<meta content="{{ site.url }}{{ site.avatar_url }}" property="og:image">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.categories %}
|
||||||
|
{% for category in page.categories limit:1 %}
|
||||||
|
<meta content="{{ category }}" property="article:section">
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.tags %}
|
||||||
|
{% for tag in page.tags %}
|
||||||
|
<meta content="{{ tag }}" property="article:tag">
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:site" content="@{{ site.share.twitter_username }}">
|
||||||
|
<meta name="twitter:creator" content="@{{ site.share.twitter_username }}">
|
||||||
|
|
||||||
|
{% if page.title %}
|
||||||
|
<meta name="twitter:title" content="{{ page.title }}">
|
||||||
|
{% else %}
|
||||||
|
<meta name="twitter:title" content="{{ site.title }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.url %}
|
||||||
|
<meta name="twitter:url" content="{{ site.url }}{{ page.url }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.description %}
|
||||||
|
<meta name="twitter:description" content="{{ page.description }}">
|
||||||
|
{% else %}
|
||||||
|
<meta name="twitter:description" content="{{ site.description }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.header-img %}
|
||||||
|
<meta name="twitter:image:src" content="{{ site.url }}/{{ page.header-img }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Font awesome icons -->
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous">
|
||||||
|
<!-- syntax highlighting CSS -->
|
||||||
|
<link rel="stylesheet" href="/static/css/syntax.css">
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<!-- Fonts -->
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300italic,300,400italic,700&subset=latin,latin-ext" rel="stylesheet" type="text/css">
|
||||||
|
<!-- Custom CSS -->
|
||||||
|
<link rel="stylesheet" href="/static/css/super-search.css">
|
||||||
|
<link rel="stylesheet" href="/static/css/thickbox.css">
|
||||||
|
<link rel="stylesheet" href="/static/css/projects.css">
|
||||||
|
<link rel="stylesheet" href="/static/css/main.css">
|
||||||
|
|
||||||
|
{% if jekyll.environment == "production" %}
|
||||||
|
<!-- Google Analytics -->
|
||||||
|
<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','https://www.google-analytics.com/analytics.js','ga');
|
||||||
|
|
||||||
|
ga('create', '{{ site.google_analytics }}', 'auto');
|
||||||
|
ga('send', 'pageview');
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="fixed-condition">
|
||||||
|
<a href="/"><img class="profile-avatar" src="{{ site.avatar_url }}" height="75px" width="75px" /></a>
|
||||||
|
<h1 class="author-name"><a href="/">{{ site.author }}</a></h1>
|
||||||
|
{% if site.about %}
|
||||||
|
<div class="profile-about">
|
||||||
|
{{ site.about }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="social">
|
||||||
|
<ul>
|
||||||
|
{% for link in site.social %}
|
||||||
|
<li><a href="{{ link.link }}" target="_blank"><i class="fa {{ link.icon }}"></i></a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<ul class="sidebar-nav">
|
||||||
|
<strong>Navigation</strong>
|
||||||
|
<li><a href="https://cryptoanarchy.wiki">Return to cryptoanarchy.wiki</a></li>
|
||||||
|
<li><a href="/">Archive Home</a></li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
<ul class="sidebar-nav">
|
||||||
|
<strong>Similar Resources</strong>
|
||||||
|
{% for i in site.similar_resources %}
|
||||||
|
<li><a class="about" href="{{ i.url }}" target="_blank">{{ i.text }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- end /.fixed-condition -->
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-8 col-offset-1 main-layout">
|
||||||
|
{{ content }}
|
||||||
|
<footer>
|
||||||
|
{% if site.github %}
|
||||||
|
- <a href="{{ site.github }}">{{ site.github }}</a>
|
||||||
|
{% endif %}
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
<!-- end /.col-sm-8 -->
|
||||||
|
</div>
|
||||||
|
<!-- end /.container -->
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||||
|
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
|
||||||
|
<script src="/static/js/bootstrap.min.js"></script>
|
||||||
|
<script src="/static/js/super-search.js"></script>
|
||||||
|
<script src="/static/js/thickbox-compressed.js"></script>
|
||||||
|
<script src="/static/js/projects.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
12
_layouts/page.html
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
<article class="post">
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title">{{ page.title }}</h1>
|
||||||
|
<hr />
|
||||||
|
</header>
|
||||||
|
<div class="post-content">
|
||||||
|
{{ content }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
69
_layouts/post.html
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title">{{ page.title }}</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<span class="time">{{ page.date | date_to_string }}</span> - by {{ page.author }}
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="post">{{ content }}</div>
|
||||||
|
<hr>
|
||||||
|
<a href="/">Return to Home</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% assign hasSimilar = '' %}
|
||||||
|
{% for post in site.posts %}
|
||||||
|
{% assign postHasSimilar = false %}
|
||||||
|
{% for tag in post.categories %}
|
||||||
|
{% for thisTag in page.categories %}
|
||||||
|
{% if postHasSimilar == false and hasSimilar.size < 6 and post != page and tag == thisTag %}
|
||||||
|
{% if hasSimilar.size == 0 %}
|
||||||
|
<div class="panel-body">
|
||||||
|
<h4>Related Posts</h4>
|
||||||
|
<ul>
|
||||||
|
{% endif %}
|
||||||
|
<li class="relatedPost">
|
||||||
|
<a href="{{ site.url }}{{ post.url }}">{{ post.title }}</a>
|
||||||
|
{% if post.categories %}
|
||||||
|
(Categories: {% for category in post.categories %}<a href="/category/{{ category }}">{{ category }}</a>{% if forloop.last == false %}, {% endif %}{% endfor %})
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% capture hasSimilar %}{{ hasSimilar }}*{% endcapture %}
|
||||||
|
{% assign postHasSimilar = true %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if hasSimilar.size > 0 %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="PageNavigation">
|
||||||
|
{% if page.previous.url %}
|
||||||
|
<a class="prev" href="{{ page.previous.url }}">« {{ page.previous.title }}</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if page.next.url %}
|
||||||
|
<a class="next" href="{{ page.next.url }}">{{ page.next.title }} »</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="disqus-comments">
|
||||||
|
<div id="disqus_thread"></div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* <![CDATA[ */
|
||||||
|
var disqus_shortname = "{{ site.disqus_shortname }}";
|
||||||
|
var disqus_identifier = "{{ site.url }}_{{ page.title }}";
|
||||||
|
var disqus_title = "{{ page.title }}";
|
||||||
|
|
||||||
|
/* * * DON'T EDIT BELOW THIS LINE * * */
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
/* ]]> */
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
11
_layouts/static-informational.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="index-header" markdown='1'>
|
||||||
|
<h1>{{ page.title }}</h1>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
{{ content }}
|
||||||
|
<hr>
|
||||||
|
<a href="/">Return to Home</a>
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
layout: post
|
|
||||||
title: "Welcome to Jekyll!"
|
|
||||||
date: 2018-06-14 23:27:49 +0200
|
|
||||||
categories: jekyll update
|
|
||||||
---
|
|
||||||
You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
|
|
||||||
|
|
||||||
To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
|
|
||||||
|
|
||||||
Jekyll also offers powerful support for code snippets:
|
|
||||||
|
|
||||||
{% highlight ruby %}
|
|
||||||
def print_hi(name)
|
|
||||||
puts "Hi, #{name}"
|
|
||||||
end
|
|
||||||
print_hi('Tom')
|
|
||||||
#=> prints 'Hi, Tom' to STDOUT.
|
|
||||||
{% endhighlight %}
|
|
||||||
|
|
||||||
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
|
|
||||||
|
|
||||||
[jekyll-docs]: https://jekyllrb.com/docs/home
|
|
||||||
[jekyll-gh]: https://github.com/jekyll/jekyll
|
|
||||||
[jekyll-talk]: https://talk.jekyllrb.com/
|
|
||||||
206
_sass/_base.scss
Normal file
@@ -0,0 +1,206 @@
|
|||||||
|
/**
|
||||||
|
* 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: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
|
||||||
|
color: $text-color;
|
||||||
|
background-color: $background-color;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-webkit-font-feature-settings: "kern" 1;
|
||||||
|
-moz-font-feature-settings: "kern" 1;
|
||||||
|
-o-font-feature-settings: "kern" 1;
|
||||||
|
font-feature-settings: "kern" 1;
|
||||||
|
font-kerning: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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: $base-font-weight;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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: auto;
|
||||||
|
|
||||||
|
> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
242
_sass/_layout.scss
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
font-weight: 300;
|
||||||
|
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 last one
|
||||||
|
&:not(:last-child) {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-query($on-palm) {
|
||||||
|
position: absolute;
|
||||||
|
top: 9px;
|
||||||
|
right: $spacing-unit / 2;
|
||||||
|
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;
|
||||||
|
|
||||||
|
&:not(:last-child) {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
71
_sass/_syntax-highlighting.scss
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
/**
|
||||||
|
* Syntax highlighting styles
|
||||||
|
*/
|
||||||
|
.highlight {
|
||||||
|
background: #fff;
|
||||||
|
@extend %vertical-rhythm;
|
||||||
|
|
||||||
|
.highlighter-rouge & {
|
||||||
|
background: #eef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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
|
||||||
|
}
|
||||||
18
about.md
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: About
|
|
||||||
permalink: /about/
|
|
||||||
---
|
|
||||||
|
|
||||||
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
|
|
||||||
|
|
||||||
You can find the source code for Minima at GitHub:
|
|
||||||
[jekyll][jekyll-organization] /
|
|
||||||
[minima](https://github.com/jekyll/minima)
|
|
||||||
|
|
||||||
You can find the source code for Jekyll at GitHub:
|
|
||||||
[jekyll][jekyll-organization] /
|
|
||||||
[jekyll](https://github.com/jekyll/jekyll)
|
|
||||||
|
|
||||||
|
|
||||||
[jekyll-organization]: https://github.com/jekyll
|
|
||||||
37
index.md
@@ -1,6 +1,35 @@
|
|||||||
---
|
---
|
||||||
# You don't need to edit this file, it's empty on purpose.
|
layout: default
|
||||||
# Edit theme's home layout instead if you wanna make some changes
|
|
||||||
# See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
||||||
layout: home
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{% include tmay_sig_header.html %}
|
||||||
|
|
||||||
|
## Cypherpunks Mailing List Archive
|
||||||
|
|
||||||
|
### Basic Information
|
||||||
|
|
||||||
|
The following mailing list archive has been compiled using txt dumps available via Ryan Lackey's archive at [cypherpunks.venona.com/raw/](https://cypherpunks.venona.com/raw/).
|
||||||
|
|
||||||
|
There is also a structured archive available at [cypherpunks.venona.com/date/](https://cypherpunks.venona.com/date/). This archive largely matches the one hosted there, since it was parsed from the same dumps. Where there are inconsistencies, please submit an [issue](https://github.com/cryptoanarchywiki/mailing-list-archive/issues) via GitHub. There are some known issues that cause this archive to diverge from the one at venona.com:
|
||||||
|
|
||||||
|
+ The PPE timezone is not a known timezone and appears to be inconsistent when comparing raw dates with the structured archive hosted at venona.com. This timezone only occurs in the 1992 dump however.
|
||||||
|
+ Some posts which are replies to unknown posts actually appear (when looking at "Re: _title_" or quoted text in the body) to be orphaned replies to known threads. The archive at venona.com has done a better job at stitching these threads back together. I will make an attempt at this myself in the near future.
|
||||||
|
|
||||||
|
Any other other issues/inconsistencies that you notice, I'm likely not aware of. For those please submit an [issue](https://github.com/cryptoanarchywiki/mailing-list-archive/issues).
|
||||||
|
|
||||||
|
### Time Periods Covered
|
||||||
|
|
||||||
|
This archive covers the period from the list's founding in 1992 through to the early part of 1999. The three eras of the list can roughly be categorised as follows:
|
||||||
|
|
||||||
|
+ 90s Era - _Mainly hosted on toad.com but moving to a distributed archictecture in 1997. Archives are available for this period. This archive covers this period, as does Ryan Lackey's._
|
||||||
|
+ 1997-? - _This [article](https://www.wired.com/1997/02/homeless-cypherpunks-turn-to-usenet/) does suggest that there was a Usenet community at alt.cypherpunks for some time. I can't find any archives of this era and it appears to coincide with the move to the distributed architecture, so it may have just been an explored possibility and not have been very active._
|
||||||
|
+ 2000-2013 - _The list operated via a distributed archicture using the Majordomo mailing list software with a peak of 7 nodes. By mid-2005 al-qaeda.net hosted the only remaining node. Mailing list archives are not available for this period although I'm pursuing lines of enquiry that might be able to produce them._
|
||||||
|
+ 2013-Present - _Following a brief outage caused by the failure of the al-qaeda.net majordomo installation during a package update, the mailing list was relaunched in July 2013 using GNU Mailman. This meant an end to the distributed architecture, but there had been only one node for 8 years at this point. Mailing list archives for this era are available at [lists.cpunks.org/pipermail/cypherpunks/](https://lists.cpunks.org/pipermail/cypherpunks/)._
|
||||||
|
|
||||||
|
More information about this can be found in a section of the [Cypherpunk](https://en.wikipedia.org/wiki/Cypherpunk#Origin_of_the_term,_and_the_Cypherpunks_mailing_list) Wikipedia page.
|
||||||
|
|
||||||
|
The current incarnation of the list is something of a shadow of the earlier community and, given that it already has complete logs, will not be included on this site. I am actively seeking the mailing list archives for the period of 2000-2013 however, since the mailing list was still active and influential in the early 2000s. I feel it is important that we find and preserve these archives before they're lost to history for ever.
|
||||||
|
|
||||||
|
### Browse Archive by Year:
|
||||||
|
|
||||||
|
+ [1992](/date/1992)
|
||||||
|
|||||||
30
sitemap.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="{{ "/sitemap.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 %}
|
||||||
|
<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>
|
||||||
7
static/css/bootstrap.min.css
vendored
Executable file
200
static/css/main.css
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
body {
|
||||||
|
font-family: "Roboto Condensed", Arial, sans-serif;
|
||||||
|
background: url("/static/img/subtle_dots.png");
|
||||||
|
line-height: 1.5em;
|
||||||
|
font-weight: 300;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border: 0;
|
||||||
|
border-top: 1px solid #F7F1F1;
|
||||||
|
border-bottom: 1px solid #fff;
|
||||||
|
}
|
||||||
|
span.time, span.categories {
|
||||||
|
color: #777;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
h1, h2, h3 {
|
||||||
|
color: #696969;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
a, a:link, a:active {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #680ea4;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: #a0a0a0;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Layout */
|
||||||
|
.main-layout {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
.sidebar-nav {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.sidebar-nav li {
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.sidebar-nav li::before {
|
||||||
|
content: "»";
|
||||||
|
margin-right: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Content */
|
||||||
|
.index-header h1, .index-header p {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
div.content {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
div.content pre {
|
||||||
|
background: #333333;
|
||||||
|
padding: 10px;
|
||||||
|
color: #FFF;
|
||||||
|
overflow-x: auto;
|
||||||
|
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
div.content .highlight {
|
||||||
|
background: #333333;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
border-top: 1px solid #F7F1F1;
|
||||||
|
width: 100%;
|
||||||
|
height: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 3em;
|
||||||
|
padding-top: 10px;
|
||||||
|
color: #C2C2C2;
|
||||||
|
font-size: 11px;
|
||||||
|
bottom: 0;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
.dark-wallet-logo {
|
||||||
|
background-color: black;
|
||||||
|
height: 100px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Left column */
|
||||||
|
div.col-sm-3 {
|
||||||
|
margin-top: 100px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
div.col-sm-3 strong {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #4A4A4A;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
div.col-sm-3 div.profile-about {
|
||||||
|
margin-top: 10px;
|
||||||
|
color: #8C8C8C;
|
||||||
|
}
|
||||||
|
div.col-sm-3 img.profile-avatar {
|
||||||
|
border-radius: 150px;
|
||||||
|
-webkit-border-radius: 150px;
|
||||||
|
-moz-border-radius: 150px;
|
||||||
|
-ms-border-radius: 150px;
|
||||||
|
-o-border-radius: 150px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
.author-name a,
|
||||||
|
.author-name a:active,
|
||||||
|
.author-name a:hover {
|
||||||
|
color: #696969;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pagination */
|
||||||
|
.PageNavigation {
|
||||||
|
font-size: 14px;
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.PageNavigation a {
|
||||||
|
display: block;
|
||||||
|
width: 50%;
|
||||||
|
float: left;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
.PageNavigation .next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.PageNavigation .prev {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.pagination > .active > a,
|
||||||
|
.pagination > .active > span,
|
||||||
|
.pagination > .active > a:hover,
|
||||||
|
.pagination > .active > span:hover,
|
||||||
|
.pagination > .active > a:focus,
|
||||||
|
.pagination > .active > span:focus {
|
||||||
|
background-color: #9943d2;
|
||||||
|
border-color: #9943d2;
|
||||||
|
}
|
||||||
|
.pagination > li > a,
|
||||||
|
.pagination > li > span {
|
||||||
|
color: #680ea4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Social Icons */
|
||||||
|
.social{
|
||||||
|
display: block;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
.social ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.social ul li {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
.social li a {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #969394;
|
||||||
|
}
|
||||||
|
.social li a:hover {
|
||||||
|
color: #6D6D6D;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-content img,
|
||||||
|
.content img {
|
||||||
|
max-width: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive Conditional */
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.fixed-condition {
|
||||||
|
position: fixed;
|
||||||
|
max-width: 255px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
div.col-sm-3 {
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
80
static/css/projects.css
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
/* Project Elements */
|
||||||
|
.project-outer {
|
||||||
|
display: inline-block;
|
||||||
|
width: 30%;
|
||||||
|
vertical-align: top;
|
||||||
|
margin: 0 10px;
|
||||||
|
}
|
||||||
|
.project-img img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
h3.project-headlines {
|
||||||
|
margin: 5px 0;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.tags {
|
||||||
|
font-size: 10px;
|
||||||
|
border-bottom: 1px #888 dotted;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
span.tags:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
span.tags:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.project-footer {
|
||||||
|
clear: both;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.project-footer .project-link {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
float: left;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.project-footer .project-timeline {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
font-size: 13px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.project-inner > a {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.project-img {
|
||||||
|
width: 230px;
|
||||||
|
height: 200px;
|
||||||
|
display: block;
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Project Tag Filters **/
|
||||||
|
.tag-group {
|
||||||
|
margin: 0 0 25px 0;
|
||||||
|
}
|
||||||
|
span.tag-cloud {
|
||||||
|
margin: 0 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 75%;
|
||||||
|
padding: .2em .6em .3em;
|
||||||
|
font-weight: 700;
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
.tag-cloud.active {
|
||||||
|
background: #ccc;
|
||||||
|
}
|
||||||
|
.project-item.not-show {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
a.project-detail:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
a.project-detail:hover h3 {
|
||||||
|
color: #62A253;
|
||||||
|
}
|
||||||
40
static/css/super-search.css
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/* Super Search
|
||||||
|
Author: Kushagra Gour (http://kushagragour.in)
|
||||||
|
MIT Licensed
|
||||||
|
*/
|
||||||
|
|
||||||
|
input#js-search__input {
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: "Roboto Condensed", Arial, sans-serif;
|
||||||
|
}
|
||||||
|
.is-active .search__input {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
.search__results {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
overflow-x: hidden;
|
||||||
|
height: calc(100% - 110px);
|
||||||
|
transition: 0.2s ease;
|
||||||
|
}
|
||||||
|
.search__results.is-hidden {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-1vh);
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.search__results > li {
|
||||||
|
border-top: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
.search__results > li > a {
|
||||||
|
display: block;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.search__result-date {
|
||||||
|
color: #BBB;
|
||||||
|
position: absolute;
|
||||||
|
right: 12px;
|
||||||
|
}
|
||||||
|
.search.is-active {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
59
static/css/syntax.css
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
.highlight .hll { background-color: #49483e }
|
||||||
|
.highlight .c { color: #75715e } /* Comment */
|
||||||
|
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
|
||||||
|
.highlight .k { color: #66d9ef } /* Keyword */
|
||||||
|
.highlight .l { color: #ae81ff } /* Literal */
|
||||||
|
.highlight .n { color: #f8f8f2 } /* Name */
|
||||||
|
.highlight .o { color: #f92672 } /* Operator */
|
||||||
|
.highlight .p { color: #f8f8f2 } /* Punctuation */
|
||||||
|
.highlight .cm { color: #75715e } /* Comment.Multiline */
|
||||||
|
.highlight .cp { color: #75715e } /* Comment.Preproc */
|
||||||
|
.highlight .c1 { color: #75715e } /* Comment.Single */
|
||||||
|
.highlight .cs { color: #75715e } /* Comment.Special */
|
||||||
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||||
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||||
|
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
|
||||||
|
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
|
||||||
|
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
|
||||||
|
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
|
||||||
|
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
|
||||||
|
.highlight .kt { color: #66d9ef } /* Keyword.Type */
|
||||||
|
.highlight .ld { color: #e6db74 } /* Literal.Date */
|
||||||
|
.highlight .m { color: #ae81ff } /* Literal.Number */
|
||||||
|
.highlight .s { color: #e6db74 } /* Literal.String */
|
||||||
|
.highlight .na { color: #a6e22e } /* Name.Attribute */
|
||||||
|
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
|
||||||
|
.highlight .nc { color: #a6e22e } /* Name.Class */
|
||||||
|
.highlight .no { color: #66d9ef } /* Name.Constant */
|
||||||
|
.highlight .nd { color: #a6e22e } /* Name.Decorator */
|
||||||
|
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
|
||||||
|
.highlight .ne { color: #a6e22e } /* Name.Exception */
|
||||||
|
.highlight .nf { color: #a6e22e } /* Name.Function */
|
||||||
|
.highlight .nl { color: #f8f8f2 } /* Name.Label */
|
||||||
|
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
|
||||||
|
.highlight .nx { color: #a6e22e } /* Name.Other */
|
||||||
|
.highlight .py { color: #f8f8f2 } /* Name.Property */
|
||||||
|
.highlight .nt { color: #f92672 } /* Name.Tag */
|
||||||
|
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
|
||||||
|
.highlight .ow { color: #f92672 } /* Operator.Word */
|
||||||
|
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
|
||||||
|
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
|
||||||
|
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
|
||||||
|
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
|
||||||
|
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
|
||||||
|
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
|
||||||
|
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
|
||||||
|
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
|
||||||
|
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
|
||||||
|
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
|
||||||
|
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
|
||||||
|
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
|
||||||
|
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
|
||||||
|
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
|
||||||
|
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
|
||||||
|
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
|
||||||
|
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
|
||||||
|
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
|
||||||
|
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
|
||||||
|
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
|
||||||
|
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
|
||||||
159
static/css/thickbox.css
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
/* ---- global settings needed for thickbox ---- */
|
||||||
|
/*
|
||||||
|
*{padding: 0; margin: 0;}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ---- thickbox specific link and font settings ---- */
|
||||||
|
#TB_window {
|
||||||
|
font: 12px Arial, Helvetica, sans-serif;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_secondLine {
|
||||||
|
font: 10px Arial, Helvetica, sans-serif;
|
||||||
|
color:#666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_window a:link {color: #666666;}
|
||||||
|
#TB_window a:visited {color: #666666;}
|
||||||
|
#TB_window a:hover {color: #000;}
|
||||||
|
#TB_window a:active {color: #666666;}
|
||||||
|
#TB_window a:focus{color: #666666;}
|
||||||
|
|
||||||
|
/* ---- thickbox settings ---- */
|
||||||
|
#TB_overlay {
|
||||||
|
position: fixed;
|
||||||
|
z-index:100;
|
||||||
|
top: 0px;
|
||||||
|
left: 0px;
|
||||||
|
height:100%;
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.TB_overlayMacFFBGHack {background: url(/static/img/macFFBgHack.png) repeat;}
|
||||||
|
.TB_overlayBG {
|
||||||
|
background-color:#000;
|
||||||
|
filter:alpha(opacity=75);
|
||||||
|
-moz-opacity: 0.75;
|
||||||
|
opacity: 0.75;
|
||||||
|
}
|
||||||
|
|
||||||
|
* html #TB_overlay { /* ie6 hack */
|
||||||
|
position: absolute;
|
||||||
|
height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_window {
|
||||||
|
position: fixed;
|
||||||
|
background: #ffffff;
|
||||||
|
z-index: 102;
|
||||||
|
color:#000000;
|
||||||
|
display:none;
|
||||||
|
border: 4px solid #525252;
|
||||||
|
text-align:left;
|
||||||
|
top:50%;
|
||||||
|
left:50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
* html #TB_window { /* ie6 hack */
|
||||||
|
position: absolute;
|
||||||
|
margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_window img#TB_Image {
|
||||||
|
display:block;
|
||||||
|
margin: 15px 0 0 15px;
|
||||||
|
border-right: 1px solid #ccc;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
border-top: 1px solid #666;
|
||||||
|
border-left: 1px solid #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_caption{
|
||||||
|
height:25px;
|
||||||
|
padding:7px 30px 10px 25px;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_closeWindow{
|
||||||
|
height: 35px;
|
||||||
|
padding: 10px 15px 10px 0;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_closeAjaxWindow{
|
||||||
|
padding:7px 10px 5px 0;
|
||||||
|
margin-bottom:1px;
|
||||||
|
text-align:right;
|
||||||
|
float:right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_ajaxWindowTitle{
|
||||||
|
float:left;
|
||||||
|
padding:7px 0 5px 10px;
|
||||||
|
margin-bottom:1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_title{
|
||||||
|
background-color:#e8e8e8;
|
||||||
|
height:27px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_ajaxContent{
|
||||||
|
clear:both;
|
||||||
|
padding:2px 15px 15px 15px;
|
||||||
|
overflow:auto;
|
||||||
|
text-align:left;
|
||||||
|
line-height:1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_ajaxContent.TB_modal{
|
||||||
|
padding:15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_ajaxContent p{
|
||||||
|
padding:5px 0px 5px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_load{
|
||||||
|
position: fixed;
|
||||||
|
display:none;
|
||||||
|
height:13px;
|
||||||
|
width:208px;
|
||||||
|
z-index:103;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
* html #TB_load { /* ie6 hack */
|
||||||
|
position: absolute;
|
||||||
|
margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_HideSelect{
|
||||||
|
z-index:99;
|
||||||
|
position:fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color:#fff;
|
||||||
|
border:none;
|
||||||
|
filter:alpha(opacity=0);
|
||||||
|
-moz-opacity: 0;
|
||||||
|
opacity: 0;
|
||||||
|
height:100%;
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
* html #TB_HideSelect { /* ie6 hack */
|
||||||
|
position: absolute;
|
||||||
|
height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
|
||||||
|
}
|
||||||
|
|
||||||
|
#TB_iframeContent{
|
||||||
|
clear:both;
|
||||||
|
border:none;
|
||||||
|
margin-bottom:-1px;
|
||||||
|
margin-top:1px;
|
||||||
|
_margin-bottom:1px;
|
||||||
|
}
|
||||||
BIN
static/img/_posts/Broadcast_Mail.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
static/img/avatar.jpg
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
static/img/circle-A.svg.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
static/img/darkwallet.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
static/img/favicons/android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
static/img/favicons/android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
static/img/favicons/android-icon-36x36.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/img/favicons/android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
static/img/favicons/android-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
static/img/favicons/android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
static/img/favicons/apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
static/img/favicons/apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
static/img/favicons/apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
static/img/favicons/apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
static/img/favicons/apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
static/img/favicons/apple-icon-57x57.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
static/img/favicons/apple-icon-60x60.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/img/favicons/apple-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
static/img/favicons/apple-icon-76x76.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
static/img/favicons/apple-icon-precomposed.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
static/img/favicons/apple-icon.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
2
static/img/favicons/browserconfig.xml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
|
||||||
BIN
static/img/favicons/e9ef0d9f42185bbe1b8c987941486b67.ico.zip
Normal file
BIN
static/img/favicons/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
static/img/favicons/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
static/img/favicons/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
static/img/favicons/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
41
static/img/favicons/manifest.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"name": "App",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-36x36.png",
|
||||||
|
"sizes": "36x36",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "0.75"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-48x48.png",
|
||||||
|
"sizes": "48x48",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-72x72.png",
|
||||||
|
"sizes": "72x72",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "1.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-96x96.png",
|
||||||
|
"sizes": "96x96",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "2.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-144x144.png",
|
||||||
|
"sizes": "144x144",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "\/android-icon-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image\/png",
|
||||||
|
"density": "4.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
static/img/favicons/ms-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
static/img/favicons/ms-icon-150x150.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
static/img/favicons/ms-icon-310x310.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
static/img/favicons/ms-icon-70x70.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
static/img/jolly-roger-unshifted.jpg
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
static/img/loadingAnimation.gif
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
static/img/macFFBgHack.png
Normal file
|
After Width: | Height: | Size: 207 B |
BIN
static/img/screenshot-post-page.png
Normal file
|
After Width: | Height: | Size: 176 KiB |
BIN
static/img/screenshot-post-page_old.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
static/img/subtle_dots.png
Normal file
|
After Width: | Height: | Size: 82 B |
6
static/js/bootstrap.min.js
vendored
Executable file
41
static/js/projects.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
(function($){
|
||||||
|
$(document).ready(function(){
|
||||||
|
$(document).on('click','.tag-filter',function(){
|
||||||
|
var $this = $(this);
|
||||||
|
|
||||||
|
$('span.tag-filter').removeClass("active");
|
||||||
|
$this.addClass("active");
|
||||||
|
|
||||||
|
|
||||||
|
$('.tag-group').children().each(function(){
|
||||||
|
if( $(this).data('tag') == $this.data('tag')){
|
||||||
|
$(this).addClass("active");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if( $(this).hasClass('all'))
|
||||||
|
$('.project-item').showAll();
|
||||||
|
else
|
||||||
|
$('.project-item').filterTags( $(this).data('tag') );
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$.fn.extend({
|
||||||
|
filterTags: function(tagName) {
|
||||||
|
this.removeClass('not-show');
|
||||||
|
return this.each(function() {
|
||||||
|
var itemTagArray = JSON.parse( $(this).attr('data-tags') );
|
||||||
|
if($.inArray(tagName, itemTagArray) === -1){
|
||||||
|
$(this).addClass('not-show');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
showAll: function(){
|
||||||
|
return this.each(function() {
|
||||||
|
if($(this).hasClass('not-show')){
|
||||||
|
$(this).removeClass('not-show');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})(jQuery)
|
||||||
139
static/js/super-search.js
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
/* Super Search
|
||||||
|
Author: Kushagra Gour (http://kushagragour.in)
|
||||||
|
MIT Licensed
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var isSearchOpen = false,
|
||||||
|
searchEl = document.querySelector('#js-search'),
|
||||||
|
searchInputEl = document.querySelector('#js-search__input'),
|
||||||
|
searchResultsEl = document.querySelector('#js-search__results'),
|
||||||
|
currentInputValue = '',
|
||||||
|
lastSearchResultHash,
|
||||||
|
posts = [];
|
||||||
|
|
||||||
|
// Changes XML to JSON
|
||||||
|
// Modified version from here: http://davidwalsh.name/convert-xml-json
|
||||||
|
function xmlToJson(xml) {
|
||||||
|
|
||||||
|
// Create the return object
|
||||||
|
var obj = {};
|
||||||
|
|
||||||
|
if (xml.nodeType == 1) { // element
|
||||||
|
// do attributes
|
||||||
|
if (xml.attributes.length > 0) {
|
||||||
|
obj["@attributes"] = {};
|
||||||
|
for (var j = 0; j < xml.attributes.length; j++) {
|
||||||
|
var attribute = xml.attributes.item(j);
|
||||||
|
obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (xml.nodeType == 3) { // text
|
||||||
|
obj = xml.nodeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do children
|
||||||
|
// If all text nodes inside, get concatenated text from them.
|
||||||
|
var textNodes = [].slice.call(xml.childNodes).filter(function (node) { return node.nodeType === 3; });
|
||||||
|
if (xml.hasChildNodes() && xml.childNodes.length === textNodes.length) {
|
||||||
|
obj = [].slice.call(xml.childNodes).reduce(function (text, node) { return text + node.nodeValue; }, '');
|
||||||
|
}
|
||||||
|
else if (xml.hasChildNodes()) {
|
||||||
|
for(var i = 0; i < xml.childNodes.length; i++) {
|
||||||
|
var item = xml.childNodes.item(i);
|
||||||
|
var nodeName = item.nodeName;
|
||||||
|
if (typeof(obj[nodeName]) == "undefined") {
|
||||||
|
obj[nodeName] = xmlToJson(item);
|
||||||
|
} else {
|
||||||
|
if (typeof(obj[nodeName].push) == "undefined") {
|
||||||
|
var old = obj[nodeName];
|
||||||
|
obj[nodeName] = [];
|
||||||
|
obj[nodeName].push(old);
|
||||||
|
}
|
||||||
|
obj[nodeName].push(xmlToJson(item));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPostsFromXml(xml) {
|
||||||
|
var json = xmlToJson(xml);
|
||||||
|
return json.channel.item;
|
||||||
|
}
|
||||||
|
|
||||||
|
var xmlhttp=new XMLHttpRequest();
|
||||||
|
xmlhttp.open("GET","/sitemap.xml");
|
||||||
|
xmlhttp.onreadystatechange = function () {
|
||||||
|
if (xmlhttp.readyState != 4) return;
|
||||||
|
if (xmlhttp.status != 200 && xmlhttp.status != 304) { return; }
|
||||||
|
var node = (new DOMParser).parseFromString(xmlhttp.responseText, 'text/xml');
|
||||||
|
node = node.children[0];
|
||||||
|
posts = getPostsFromXml(node);
|
||||||
|
}
|
||||||
|
xmlhttp.send();
|
||||||
|
|
||||||
|
window.toggleSearch = function toggleSearch() {
|
||||||
|
_gaq.push(['_trackEvent', 'supersearch', searchEl.classList.contains('is-active')]);
|
||||||
|
searchEl.classList.toggle('is-active');
|
||||||
|
if (searchEl.classList.contains('is-active')) {
|
||||||
|
// while opening
|
||||||
|
searchInputEl.value = '';
|
||||||
|
} else {
|
||||||
|
// while closing
|
||||||
|
searchResultsEl.classList.add('is-hidden');
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
searchInputEl.focus();
|
||||||
|
}, 210);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('keyup', function onKeyPress(e) {
|
||||||
|
if (e.which === 27) {
|
||||||
|
toggleSearch();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
window.addEventListener('keypress', function onKeyPress(e) {
|
||||||
|
if (e.which === 47 && !searchEl.classList.contains('is-active')) {
|
||||||
|
toggleSearch();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
searchInputEl.addEventListener('input', function onInputChange() {
|
||||||
|
var currentResultHash, d;
|
||||||
|
|
||||||
|
currentInputValue = (searchInputEl.value + '').toLowerCase();
|
||||||
|
if (!currentInputValue || currentInputValue.length < 3) {
|
||||||
|
lastSearchResultHash = '';
|
||||||
|
searchResultsEl.classList.add('is-hidden');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
searchResultsEl.style.offsetWidth;
|
||||||
|
|
||||||
|
var matchingPosts;
|
||||||
|
// check the `posts` object is single or many objects.
|
||||||
|
// if posts.title === undefined, so posts is many objects.
|
||||||
|
if(posts.title === undefined) {
|
||||||
|
matchingPosts = posts.filter(function (post) {
|
||||||
|
if ((post.title + '').toLowerCase().indexOf(currentInputValue) !== -1 || (post.description + '').toLowerCase().indexOf(currentInputValue) !== -1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else {
|
||||||
|
matchingPosts = [posts]; // assign single object to Array
|
||||||
|
}
|
||||||
|
if (!matchingPosts.length) {
|
||||||
|
searchResultsEl.classList.add('is-hidden');
|
||||||
|
}
|
||||||
|
currentResultHash = matchingPosts.reduce(function(hash, post) { return post.title + hash; }, '');
|
||||||
|
if (matchingPosts.length && currentResultHash !== lastSearchResultHash) {
|
||||||
|
searchResultsEl.classList.remove('is-hidden');
|
||||||
|
searchResultsEl.innerHTML = matchingPosts.map(function (post) {
|
||||||
|
d = new Date(post.pubDate);
|
||||||
|
return '<li><a href="' + post.link + '">' + post.title + '<span class="search__result-date">' + d.toUTCString().replace(/.*(\d{2})\s+(\w{3})\s+(\d{4}).*/,'$2 $1, $3') + '</span></a></li>';
|
||||||
|
}).join('');
|
||||||
|
}
|
||||||
|
lastSearchResultHash = currentResultHash;
|
||||||
|
});
|
||||||
|
|
||||||
|
})();
|
||||||
10
static/js/thickbox-compressed.js
Normal file
BIN
static/projects/placeholder.jpg
Normal file
|
After Width: | Height: | Size: 136 KiB |