This guide assumes you already have a functioning Dokku installation, along with the Dokku MySQL plugin and the Dokku letsencrypt plugin. It also assumes you want to use ghost at the root of a domain.
dokku apps:create ghostblog.com
I hereby claim:
To claim this, I am signing this object:
import Foundation | |
precedencegroup GreaterBPrecedence { | |
associativity: left | |
higherThan: LogicalConjunctionPrecedence | |
} | |
precedencegroup EqualBPrecedence { | |
associativity: left | |
higherThan: GreaterBPrecedence |
extension CollectionType { | |
/// Returns the element at the specified index iff it is within bounds, otherwise nil. | |
subscript (safe index: Index) -> Generator.Element? { | |
return indices.contains(index) ? self[index] : nil | |
} | |
} | |
extension Int { | |
func times(thing: Void -> Void) -> Void { | |
for _ in 0..<self { |
// | |
// KeyboardListener.swift | |
// | |
// Created by Patrick B. Gibson on 7/16/16. | |
// | |
import UIKit | |
protocol KeyboardListener: AnyObject { | |
var view: UIView! { get } |
// In Swift, functions can be defined with identical parameter types, but different return types. | |
func isHello(string: String) -> Bool { | |
if string == "Hello" { | |
return true | |
} else { | |
return false | |
} | |
} |
I hereby claim:
To claim this, I am signing this object:
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Author</key> | |
<string>Patrick B. Gibson</string> | |
<key>Builder Version</key> | |
<string>8536.30.1</string> | |
<key>CFBundleDisplayName</key> | |
<string>WWDC Accordion Smash</string> |