-
Install Duplicator plugin
-
Build package (optionally filter out large image files)
-
Download archive and installer to an empty directory
-
Create a softlink to the directory ({name}) in the webserver folder
$ sudo ln -s /{name} /var/www/html/{name}
-
Change ownership of the directory to make it writable
/* | |
* Wrap a block of text to a given width | |
* via http://bl.ocks.org/mbostock/7555321 | |
*/ | |
var wrapText = function(texts, width, lineHeight) { | |
texts.each(function() { | |
var text = d3.select(this); | |
var words = text.text().split(/\s+/).reverse(); | |
var word = null; |
# Thanks to http://stackoverflow.com/questions/9884353/xls-to-csv-convertor | |
import os, csv, xlrd | |
excel_file = '/path/to/file.xls' | |
#we're specifying a directory here because we'll have several files | |
#be sure to include end slash | |
csv_filepath = 'path/to/csv/directory/' | |
def csv_from_excel(excel_file): | |
workbook = xlrd.open_workbook(excel_file) |
apt-get install virtualbox-guest-dkms | |
# Enable bidirectional clipboard: Virtualbox Machine menu, Settings, General, Advanced, Shared Clipboard. | |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' | |
# Get Slack at https://slack.com/downloads/instructions/ubuntu |
(function() { // force re-render of element_name to get the styling right on-print | |
var beforePrint = function() { | |
var el = document.getElementById('element_name'); // e.g. an input inside a <p>... | |
var p = el.parentNode; // ...which will normally fail to style entirely on-print... | |
p.removeChild(el); // ...but if you wrap it in a <span> or the like, then remove and re-add the element... | |
p.appendChild(el); // ...the styles will recalculate and you'll get whatever style you were trying to apply! | |
}; | |
if (window.matchMedia) { | |
window.matchMedia('print').addListener(function(mql) { |
// font families! | |
@mixin font-face($fontname, $filename: $fontname, $weight: normal, $style: normal) { | |
// based on font squirrel output, without SVG (too legacy) | |
@font-face { | |
font-family: $fontname; | |
src:url('../fonts/#{$filename}.eot'); | |
src:url('../fonts/#{$filename}.eot?#iefix') format('embedded-opentype'), | |
url('../fonts/#{$filename}.woff2') format('woff2'), | |
url('../fonts/#{$filename}.woff') format('woff'), | |
url('../fonts/#{$filename}.ttf') format('truetype'); |
year | A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|---|
0 | 401 | 150 | 0 | 144 | 48 | 410 | 803 | |
1 | 419 | 299 | 90 | 141 | 80 | 180 | 802 | |
2 | 468 | 440 | 97 | 95 | 48 | 42 | 860 | |
3 | 585 | 459 | 100 | 99 | 48 | 71 | 702 | |
4 | 462 | 634 | 89 | 80 | 44 | 104 | 670 | |
5 | 423 | 233 | 81 | 84 | 19 | 361 | 882 |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="keywords" lang="de" content="Zeitleiste, Zeitlinie, Zeitkarte, Geschichte, Chronologie"> | |
<meta name="keywords" lang="en" content="Timeline, Timemap, History, Chronology"> | |
<title>Timeline - Proof-of-concept</title> | |
<!-- That's my local d3 path. When working locally, use your local path. --> |
-
Humans are bad at seeing trends. We focus on anecdotes and tend to overvalue outlyers. We look for odd cases instead of what's normal. Your eyes will deceive you; don't trust them. CAR reporters tend to be better at handling this, so I want to extract the tools used for investigative projects and apply them to daily reporting.
-
It's hard to see the whole story. Problems like crime, climate change or economics don't benefit from incremental updates--indeed, they can add to confusion--until you know the big picture. This is where better tools can help, like a database that captures the information reporters collect in the course of writing stories.
-
It's hard to know what matters. Don't commit to an information structure until you know what you're dealing with, and even then, be prepared to change. If your framework doesn't match reality, change your framework. This is in the weeds a bit, but it's important to deal with, since structures enforce a certain rigidity.
-
**Information gets lo