Created by @mostlyfine
- オンラインで動作するプレゼンテーション
- Markdownによる記述
- ユーザ登録不要
require 'rubygems' | |
require 'bundler' | |
Bundler.setup :default, :development, :example | |
require 'sinatra' | |
require 'omniauth' | |
require 'omniauth-google-oauth2' | |
use Rack::Session::Cookie | |
use OmniAuth::Builder do | |
provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'], { | |
:scope => 'https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.stream.read https://www.googleapis.com/auth/plus.stream.write https://www.googleapis.com/auth/plus.circles.read https://www.googleapis.com/auth/plus.circles.write' |
require "webrick" | |
require "webrick/https" | |
require "openssl" | |
require 'sinatra' | |
configure do | |
cn = [[ "CN", WEBrick::Utils::getservername]] | |
cert, rsa = WEBrick::Utils::create_self_signed_cert(2048, cn, "Generated by Ruby/OpenSSL") | |
set :server_settings, { |
twitter = require('twitter') | |
twit = new twitter({ | |
consumer_key: process.env.TWITTER_CONSUMER_KEY, | |
consumer_secret: process.env.TWITTER_CONSUMER_SECRET, | |
access_token_key: process.env.TWITTER_ACCESS_TOKEN_KEY, | |
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET, | |
}) | |
server = require('http').createServer (req, res) -> | |
res.writeHead 200, {'Content-type': 'text/html'} |
path = require 'path' | |
app = require('express')() | |
server = require('http').createServer(app).listen(process.env.PORT || 3000) | |
io = require('socket.io').listen(server) | |
app.set('view engine', 'ejs') | |
app.set('views', path.join(__dirname, 'views')) | |
twitter = require 'twitter' | |
twit = new twitter({ |
twitter = require 'twitter' | |
client = new twitter( | |
consumer_key: 'xxx' | |
consumer_secret: 'xxx' | |
access_token_key: 'xxx' | |
access_token_secret: 'xxx' | |
) | |
option = track: process.argv[2] | |
client.stream('statuses/filter', option , (stream) -> |
Created by @mostlyfine
.row { | |
display:table; /* コンテナ全体にテーブルの表示スタイルを適用 */ | |
width:960px; /* 全体の幅、サイズの変更をはじめ、単位を%, emにも変更可能 */ | |
margin:0 auto /* 左右の中央に配置*/ | |
} | |
.cell { | |
display:table-cell; /* 各カラムにテーブルのセルの表示スタイルを適用*/ | |
vertical-align:top; /* 上端(top)揃え */ | |
padding-left:10px /* カラム間の溝の幅 */ | |
} |
#!/usr/bin/env ruby | |
# -*- coding: utf-8 -*- | |
require 'openssl' | |
require 'net/imap' | |
require 'yaml' | |
class Filter | |
def initialize(options={}) | |
@imap = Net::IMAP.new(options[:host], options[:port] || 993, options[:ssl] || true) |
#!/usr/bin/env perl | |
use strict; | |
use warnings; | |
use utf8; | |
use Encode; | |
use LWP::UserAgent; | |
use JSON; | |
use Digest::SHA1 qw(sha1_hex); |
$("a[href^='http']").each(function() { | |
$(this).css({ | |
background: "url(<a href="http://www.google.com/s2/u/0/favicons?domain=" target="_blank" rel="noreferrer" style="cursor:help;display:inline !important;">http://www.google.com/s2/u/0/favicons?domain=</a>" + this.hostname + | |
") left center no-repeat", | |
"padding-left": "20px" | |
}); | |
}); |