├── .gitignore ├── .godir ├── CONTRIBUTING.md ├── Godeps ├── Godeps.json ├── Readme └── _workspace │ ├── .gitignore │ └── src │ ├── github.com │ ├── ChimeraCoder │ │ ├── anaconda │ │ │ ├── .gitignore │ │ │ ├── COPYING │ │ │ ├── LICENSE │ │ │ ├── README │ │ │ ├── README.md │ │ │ ├── account.go │ │ │ ├── blocks.go │ │ │ ├── directmessage.go │ │ │ ├── directmessages.go │ │ │ ├── errors.go │ │ │ ├── example_test.go │ │ │ ├── favorites.go │ │ │ ├── friends_followers.go │ │ │ ├── list.go │ │ │ ├── lists.go │ │ │ ├── log.go │ │ │ ├── media.go │ │ │ ├── oembed.go │ │ │ ├── oembed_test.go │ │ │ ├── place.go │ │ │ ├── relationship.go │ │ │ ├── search.go │ │ │ ├── streaming.go │ │ │ ├── timeline.go │ │ │ ├── tweet.go │ │ │ ├── tweets.go │ │ │ ├── twitter.go │ │ │ ├── twitter_entities.go │ │ │ ├── twitter_test.go │ │ │ ├── twitter_user.go │ │ │ └── users.go │ │ └── tokenbucket │ │ │ ├── .gitignore │ │ │ ├── COPYING │ │ │ ├── LICENSE │ │ │ ├── README │ │ │ ├── README.md │ │ │ ├── tokenbucket.go │ │ │ └── tokenbucket_test.go │ ├── boj │ │ └── redistore │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── redistore.go │ │ │ └── redistore_test.go │ ├── dustin │ │ ├── go-jsonpointer │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.markdown │ │ │ ├── bytes.go │ │ │ ├── bytes_test.go │ │ │ ├── doc.go │ │ │ ├── map.go │ │ │ ├── map_test.go │ │ │ ├── reflect.go │ │ │ ├── reflect_test.go │ │ │ └── testdata │ │ │ │ ├── 357.json │ │ │ │ ├── code.json.gz │ │ │ │ ├── pools.json │ │ │ │ └── serieslysample.json │ │ └── gojson │ │ │ ├── .gitignore │ │ │ ├── bench_test.go │ │ │ ├── decode.go │ │ │ ├── decode_test.go │ │ │ ├── encode.go │ │ │ ├── encode_test.go │ │ │ ├── example_test.go │ │ │ ├── fold.go │ │ │ ├── fold_test.go │ │ │ ├── indent.go │ │ │ ├── scanner.go │ │ │ ├── scanner_test.go │ │ │ ├── stream.go │ │ │ ├── stream_test.go │ │ │ ├── tagkey_test.go │ │ │ ├── tags.go │ │ │ ├── tags_test.go │ │ │ └── testdata │ │ │ └── code.json.gz │ ├── garyburd │ │ ├── go-oauth │ │ │ └── oauth │ │ │ │ ├── examples_test.go │ │ │ │ ├── oauth.go │ │ │ │ └── oauth_test.go │ │ └── redigo │ │ │ ├── internal │ │ │ ├── commandinfo.go │ │ │ └── redistest │ │ │ │ └── testdb.go │ │ │ └── redis │ │ │ ├── conn.go │ │ │ ├── conn_test.go │ │ │ ├── doc.go │ │ │ ├── log.go │ │ │ ├── pool.go │ │ │ ├── pool_test.go │ │ │ ├── pubsub.go │ │ │ ├── pubsub_test.go │ │ │ ├── redis.go │ │ │ ├── reply.go │ │ │ ├── reply_test.go │ │ │ ├── scan.go │ │ │ ├── scan_test.go │ │ │ ├── script.go │ │ │ ├── script_test.go │ │ │ ├── test_test.go │ │ │ └── zpop_example_test.go │ ├── go-xweb │ │ └── uuid │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ ├── dce.go │ │ │ ├── doc.go │ │ │ ├── hash.go │ │ │ ├── node.go │ │ │ ├── time.go │ │ │ ├── util.go │ │ │ ├── uuid.go │ │ │ ├── uuid_test.go │ │ │ ├── version1.go │ │ │ └── version4.go │ ├── gorilla │ │ ├── context │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ └── doc.go │ │ ├── securecookie │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── securecookie.go │ │ │ └── securecookie_test.go │ │ └── sessions │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── sessions.go │ │ │ ├── sessions_test.go │ │ │ ├── store.go │ │ │ └── store_test.go │ ├── gotsunami │ │ └── go-cloudinary │ │ │ ├── .gitignore │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.rst │ │ │ ├── admin.go │ │ │ ├── cloudinary │ │ │ ├── main.go │ │ │ ├── settings.conf │ │ │ └── vars.go │ │ │ ├── service.go │ │ │ ├── service_test.go │ │ │ └── tools.go │ ├── guregu │ │ └── kami │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bench_test.go │ │ │ ├── handler.go │ │ │ ├── kami.go │ │ │ ├── kami_test.go │ │ │ ├── middleware.go │ │ │ ├── params.go │ │ │ └── serve.go │ ├── huandu │ │ └── facebook │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── api.go │ │ │ ├── app.go │ │ │ ├── batch_result.go │ │ │ ├── const.go │ │ │ ├── facebook_test.go │ │ │ ├── misc.go │ │ │ ├── paging_result.go │ │ │ ├── params.go │ │ │ ├── result.go │ │ │ ├── session.go │ │ │ └── type.go │ ├── julienschmidt │ │ └── httprouter │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── path.go │ │ │ ├── path_test.go │ │ │ ├── router.go │ │ │ ├── router_test.go │ │ │ ├── tree.go │ │ │ └── tree_test.go │ ├── kyokomi │ │ ├── cloudinary │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cloudinary.go │ │ │ ├── cloudinarycmd │ │ │ │ └── main.go │ │ │ ├── context.go │ │ │ └── example │ │ │ │ ├── image.png │ │ │ │ └── main.go │ │ └── goroku │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── airbrake.go │ │ │ ├── cloudinary.go │ │ │ ├── mongo.go │ │ │ ├── mongo_test.go │ │ │ ├── redis.go │ │ │ └── redis_test.go │ ├── mattn │ │ └── natural │ │ │ ├── README.md │ │ │ ├── cmd │ │ │ └── natsort │ │ │ │ └── main.go │ │ │ ├── natural.go │ │ │ └── natural_test.go │ ├── microcosm-cc │ │ └── bluemonday │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CONTRIBUTING.md │ │ │ ├── CREDITS.md │ │ │ ├── LICENCE.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── example_test.go │ │ │ ├── helpers.go │ │ │ ├── helpers_test.go │ │ │ ├── policies.go │ │ │ ├── policies_test.go │ │ │ ├── policy.go │ │ │ ├── sanitize.go │ │ │ └── sanitize_test.go │ ├── mrjones │ │ └── oauth │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── examples │ │ │ ├── jira │ │ │ │ └── jira.go │ │ │ ├── latitude │ │ │ │ └── latitude.go │ │ │ ├── netflix │ │ │ │ └── netflix.go │ │ │ ├── twitter │ │ │ │ └── twitter.go │ │ │ └── twitterserver │ │ │ │ └── twitterserver.go │ │ │ ├── oauth.go │ │ │ ├── oauth_test.go │ │ │ └── pre-commit.sh │ ├── russross │ │ └── blackfriday │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── block.go │ │ │ ├── block_test.go │ │ │ ├── html.go │ │ │ ├── inline.go │ │ │ ├── inline_test.go │ │ │ ├── latex.go │ │ │ ├── markdown.go │ │ │ ├── ref_test.go │ │ │ ├── smartypants.go │ │ │ └── testdata │ │ │ ├── Amps and angle encoding.html │ │ │ ├── Amps and angle encoding.text │ │ │ ├── Auto links.html │ │ │ ├── Auto links.text │ │ │ ├── Backslash escapes.html │ │ │ ├── Backslash escapes.text │ │ │ ├── Blockquotes with code blocks.html │ │ │ ├── Blockquotes with code blocks.text │ │ │ ├── Code Blocks.html │ │ │ ├── Code Blocks.text │ │ │ ├── Code Spans.html │ │ │ ├── Code Spans.text │ │ │ ├── Hard-wrapped paragraphs with list-like lines no empty line before block.html │ │ │ ├── Hard-wrapped paragraphs with list-like lines no empty line before block.text │ │ │ ├── Hard-wrapped paragraphs with list-like lines.html │ │ │ ├── Hard-wrapped paragraphs with list-like lines.text │ │ │ ├── Horizontal rules.html │ │ │ ├── Horizontal rules.text │ │ │ ├── Inline HTML (Advanced).html │ │ │ ├── Inline HTML (Advanced).text │ │ │ ├── Inline HTML (Simple).html │ │ │ ├── Inline HTML (Simple).text │ │ │ ├── Inline HTML comments.html │ │ │ ├── Inline HTML comments.text │ │ │ ├── Links, inline style.html │ │ │ ├── Links, inline style.text │ │ │ ├── Links, reference style.html │ │ │ ├── Links, reference style.text │ │ │ ├── Links, shortcut references.html │ │ │ ├── Links, shortcut references.text │ │ │ ├── Literal quotes in titles.html │ │ │ ├── Literal quotes in titles.text │ │ │ ├── Markdown Documentation - Basics.html │ │ │ ├── Markdown Documentation - Basics.text │ │ │ ├── Markdown Documentation - Syntax.html │ │ │ ├── Markdown Documentation - Syntax.text │ │ │ ├── Nested blockquotes.html │ │ │ ├── Nested blockquotes.text │ │ │ ├── Ordered and unordered lists.html │ │ │ ├── Ordered and unordered lists.text │ │ │ ├── Strong and em together.html │ │ │ ├── Strong and em together.text │ │ │ ├── Tabs.html │ │ │ ├── Tabs.text │ │ │ ├── Tidyness.html │ │ │ └── Tidyness.text │ ├── shurcooL │ │ └── sanitized_anchor_name │ │ │ ├── .travis.yml │ │ │ ├── README.md │ │ │ ├── main.go │ │ │ └── main_test.go │ ├── unrolled │ │ └── render │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ ├── engine.go │ │ │ ├── engine_integration_test.go │ │ │ ├── fixtures │ │ │ ├── amber │ │ │ │ ├── example.amber │ │ │ │ └── layouts │ │ │ │ │ └── base.amber │ │ │ ├── basic │ │ │ │ ├── admin │ │ │ │ │ └── index.tmpl │ │ │ │ ├── another_layout.tmpl │ │ │ │ ├── content.tmpl │ │ │ │ ├── current_layout.tmpl │ │ │ │ ├── delims.tmpl │ │ │ │ ├── hello.tmpl │ │ │ │ ├── hypertext.html │ │ │ │ └── layout.tmpl │ │ │ └── custom_funcs │ │ │ │ └── index.tmpl │ │ │ ├── render.go │ │ │ └── render_test.go │ └── zenazn │ │ └── goji │ │ ├── bind │ │ ├── bind.go │ │ ├── einhorn.go │ │ ├── einhorn_stub.go │ │ ├── systemd.go │ │ └── systemd_stub.go │ │ ├── graceful │ │ ├── einhorn.go │ │ ├── graceful.go │ │ ├── listener │ │ │ ├── conn.go │ │ │ ├── conn_test.go │ │ │ ├── fake_test.go │ │ │ ├── listener.go │ │ │ ├── listener_test.go │ │ │ ├── race_test.go │ │ │ ├── shard.go │ │ │ └── shard_test.go │ │ ├── middleware.go │ │ ├── middleware_test.go │ │ ├── serve.go │ │ ├── serve13.go │ │ ├── server.go │ │ └── signal.go │ │ └── web │ │ └── mutil │ │ ├── mutil.go │ │ └── writer_proxy.go │ ├── golang.org │ └── x │ │ ├── net │ │ ├── context │ │ │ ├── context.go │ │ │ ├── context_test.go │ │ │ └── withtimeout_test.go │ │ └── html │ │ │ ├── atom │ │ │ ├── atom.go │ │ │ ├── atom_test.go │ │ │ ├── gen.go │ │ │ ├── table.go │ │ │ └── table_test.go │ │ │ ├── charset │ │ │ ├── charset.go │ │ │ ├── charset_test.go │ │ │ ├── gen.go │ │ │ ├── table.go │ │ │ └── testdata │ │ │ │ ├── HTTP-charset.html │ │ │ │ ├── HTTP-vs-UTF-8-BOM.html │ │ │ │ ├── HTTP-vs-meta-charset.html │ │ │ │ ├── HTTP-vs-meta-content.html │ │ │ │ ├── No-encoding-declaration.html │ │ │ │ ├── README │ │ │ │ ├── UTF-16BE-BOM.html │ │ │ │ ├── UTF-16LE-BOM.html │ │ │ │ ├── UTF-8-BOM-vs-meta-charset.html │ │ │ │ ├── UTF-8-BOM-vs-meta-content.html │ │ │ │ ├── meta-charset-attribute.html │ │ │ │ └── meta-content-attribute.html │ │ │ ├── const.go │ │ │ ├── doc.go │ │ │ ├── doctype.go │ │ │ ├── entity.go │ │ │ ├── entity_test.go │ │ │ ├── escape.go │ │ │ ├── escape_test.go │ │ │ ├── example_test.go │ │ │ ├── foreign.go │ │ │ ├── node.go │ │ │ ├── node_test.go │ │ │ ├── parse.go │ │ │ ├── parse_test.go │ │ │ ├── render.go │ │ │ ├── render_test.go │ │ │ ├── testdata │ │ │ ├── go1.html │ │ │ └── webkit │ │ │ │ ├── README │ │ │ │ ├── adoption01.dat │ │ │ │ ├── adoption02.dat │ │ │ │ ├── comments01.dat │ │ │ │ ├── doctype01.dat │ │ │ │ ├── entities01.dat │ │ │ │ ├── entities02.dat │ │ │ │ ├── html5test-com.dat │ │ │ │ ├── inbody01.dat │ │ │ │ ├── isindex.dat │ │ │ │ ├── pending-spec-changes-plain-text-unsafe.dat │ │ │ │ ├── pending-spec-changes.dat │ │ │ │ ├── plain-text-unsafe.dat │ │ │ │ ├── scriptdata01.dat │ │ │ │ ├── scripted │ │ │ │ ├── adoption01.dat │ │ │ │ └── webkit01.dat │ │ │ │ ├── tables01.dat │ │ │ │ ├── tests1.dat │ │ │ │ ├── tests10.dat │ │ │ │ ├── tests11.dat │ │ │ │ ├── tests12.dat │ │ │ │ ├── tests14.dat │ │ │ │ ├── tests15.dat │ │ │ │ ├── tests16.dat │ │ │ │ ├── tests17.dat │ │ │ │ ├── tests18.dat │ │ │ │ ├── tests19.dat │ │ │ │ ├── tests2.dat │ │ │ │ ├── tests20.dat │ │ │ │ ├── tests21.dat │ │ │ │ ├── tests22.dat │ │ │ │ ├── tests23.dat │ │ │ │ ├── tests24.dat │ │ │ │ ├── tests25.dat │ │ │ │ ├── tests26.dat │ │ │ │ ├── tests3.dat │ │ │ │ ├── tests4.dat │ │ │ │ ├── tests5.dat │ │ │ │ ├── tests6.dat │ │ │ │ ├── tests7.dat │ │ │ │ ├── tests8.dat │ │ │ │ ├── tests9.dat │ │ │ │ ├── tests_innerHTML_1.dat │ │ │ │ ├── tricky01.dat │ │ │ │ ├── webkit01.dat │ │ │ │ └── webkit02.dat │ │ │ ├── token.go │ │ │ └── token_test.go │ │ └── oauth2 │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── client_appengine.go │ │ ├── clientcredentials │ │ ├── clientcredentials.go │ │ └── clientcredentials_test.go │ │ ├── example_test.go │ │ ├── facebook │ │ └── facebook.go │ │ ├── github │ │ └── github.go │ │ ├── google │ │ ├── appengine.go │ │ ├── appengine_hook.go │ │ ├── default.go │ │ ├── example_test.go │ │ ├── google.go │ │ ├── google_test.go │ │ ├── sdk.go │ │ ├── sdk_test.go │ │ └── testdata │ │ │ └── gcloud │ │ │ ├── credentials │ │ │ └── properties │ │ ├── internal │ │ ├── oauth2.go │ │ ├── oauth2_test.go │ │ ├── token.go │ │ ├── token_test.go │ │ └── transport.go │ │ ├── jws │ │ └── jws.go │ │ ├── jwt │ │ ├── example_test.go │ │ ├── jwt.go │ │ └── jwt_test.go │ │ ├── linkedin │ │ └── linkedin.go │ │ ├── oauth2.go │ │ ├── oauth2_test.go │ │ ├── odnoklassniki │ │ └── odnoklassniki.go │ │ ├── paypal │ │ └── paypal.go │ │ ├── token.go │ │ ├── token_test.go │ │ ├── transport.go │ │ ├── transport_test.go │ │ └── vk │ │ └── vk.go │ └── gopkg.in │ ├── airbrake │ └── gobrake.v1 │ │ ├── LICENSE │ │ ├── README.md │ │ ├── notice.go │ │ ├── notifier.go │ │ ├── notifier_test.go │ │ └── util.go │ ├── bufio.v1 │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── buffer.go │ ├── buffer_test.go │ ├── bufio.go │ ├── bufio_test.go │ └── export_test.go │ ├── mgo.v2 │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── auth.go │ ├── auth_test.go │ ├── bson │ │ ├── LICENSE │ │ ├── bson.go │ │ ├── bson_test.go │ │ ├── decode.go │ │ └── encode.go │ ├── bulk.go │ ├── bulk_test.go │ ├── cluster.go │ ├── cluster_test.go │ ├── doc.go │ ├── export_test.go │ ├── gridfs.go │ ├── gridfs_test.go │ ├── internal │ │ └── scram │ │ │ ├── scram.go │ │ │ └── scram_test.go │ ├── log.go │ ├── queue.go │ ├── queue_test.go │ ├── raceoff.go │ ├── raceon.go │ ├── sasl │ │ ├── sasl.c │ │ ├── sasl.go │ │ ├── sasl_windows.c │ │ ├── sasl_windows.go │ │ ├── sasl_windows.h │ │ ├── sspi_windows.c │ │ └── sspi_windows.h │ ├── saslimpl.go │ ├── saslstub.go │ ├── server.go │ ├── session.go │ ├── session_test.go │ ├── socket.go │ ├── stats.go │ ├── suite_test.go │ ├── syscall_test.go │ ├── syscall_windows_test.go │ ├── testdb │ │ ├── client.pem │ │ ├── dropall.js │ │ ├── init.js │ │ ├── server.pem │ │ ├── setup.sh │ │ ├── supervisord.conf │ │ └── wait.js │ └── txn │ │ ├── chaos.go │ │ ├── debug.go │ │ ├── dockey_test.go │ │ ├── flusher.go │ │ ├── mgo_test.go │ │ ├── sim_test.go │ │ ├── tarjan.go │ │ ├── tarjan_test.go │ │ ├── txn.go │ │ └── txn_test.go │ └── redis.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── command.go │ ├── commands.go │ ├── doc.go │ ├── error.go │ ├── example_test.go │ ├── export_test.go │ ├── multi.go │ ├── parser.go │ ├── parser_test.go │ ├── pipeline.go │ ├── pool.go │ ├── pubsub.go │ ├── rate_limit.go │ ├── rate_limit_test.go │ ├── redis.go │ ├── redis_test.go │ ├── script.go │ ├── sentinel.go │ ├── sentinel_test.go │ └── testdata │ └── sentinel.conf ├── Procfile ├── README.md ├── circle.yml ├── gulpfile.js ├── main.go ├── package.json ├── public ├── api │ └── user │ │ └── search │ │ └── a ├── css │ ├── lib │ │ ├── animate.css │ │ └── sample.css │ └── main.css ├── dist │ └── main.js ├── favicon.ico ├── html │ ├── about.html │ ├── detail.html │ ├── index.html │ ├── list.html │ ├── login.html │ ├── mypage.html │ └── register.html ├── img │ ├── TwitterLogo_white.png │ ├── about_bg1.png │ ├── about_bg2.png │ ├── icon-add-star.svg │ ├── icon-comment.png │ ├── issue.png │ ├── logo.png │ ├── logo_large.png │ ├── mobile │ │ ├── about_bg1.png │ │ └── about_bg2.png │ ├── no_img │ │ ├── no_img_0.png │ │ ├── no_img_1.png │ │ ├── no_img_2.png │ │ ├── no_img_3.png │ │ └── no_img_4.png │ ├── occupation │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── platform │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── sns_fb_64.png │ ├── sns_tw_64.png │ ├── top_bg1.png │ ├── topbanner.jpg │ └── transparent.png ├── js │ └── ma │ │ ├── BootstrapExtend.js │ │ ├── components │ │ ├── AppButtons.js │ │ ├── ConstantFilter.js │ │ ├── ConstantList.js │ │ ├── ConstantSelect.js │ │ ├── Discussion.js │ │ ├── FilterBy.js │ │ ├── GithubIssues.js │ │ ├── ImageUploader.js │ │ ├── ListPaging.js │ │ ├── Notifications.js │ │ └── StarButton.js │ │ ├── config.js │ │ ├── constants.js │ │ ├── init │ │ ├── Detail.js │ │ ├── List.js │ │ ├── MyPage.js │ │ ├── Register.js │ │ ├── _InitBase.js │ │ └── _Initializer.js │ │ ├── main.js │ │ ├── messages.js │ │ ├── mixins │ │ └── _FormMixin.js │ │ ├── pages │ │ ├── MypageEdit.js │ │ └── RegisterApp.js │ │ └── util.js ├── robots.txt ├── sitemap.xml └── stylus │ ├── _commons │ ├── base.styl │ ├── layout.styl │ └── mobile.styl │ ├── _components │ ├── banner.styl │ ├── box.styl │ ├── button.styl │ ├── friend.styl │ ├── githubIssues.styl │ ├── list.styl │ ├── markdown.styl │ ├── notifications.styl │ ├── profile.styl │ ├── ribon.styl │ ├── social.styl │ ├── star.styl │ ├── table.styl │ └── tile.styl │ ├── _mixins │ ├── animations.styl │ ├── clearfix.styl │ └── vendors.styl │ └── main.styl ├── server ├── constants │ ├── area.go │ ├── category.go │ ├── constants.go │ ├── language.go │ ├── meeting_frequency.go │ ├── occupation.go │ ├── platform.go │ └── project_state.go ├── errors │ └── panic.go ├── facebook │ └── facebook.go ├── login │ ├── account.go │ ├── cookie.go │ └── login.go ├── models │ ├── appinfo.go │ ├── appinfo_filter.go │ ├── models.go │ ├── notification.go │ ├── user.go │ └── user_auth.go ├── notification │ └── discussion.go ├── oauth │ ├── facebook.go │ └── twitter.go ├── server.go ├── twitter │ ├── twitter.go │ └── twitter_test.go └── views │ ├── about.go │ ├── app.go │ ├── app_discussion.go │ ├── app_join.go │ ├── app_logic.go │ ├── app_star.go │ ├── contact.go │ ├── error.go │ ├── index.go │ ├── login.go │ ├── markdown.go │ ├── mypage.go │ ├── notification.go │ ├── privacy.go │ ├── render.go │ ├── terms.go │ ├── uploadimage.go │ ├── user.go │ ├── user_logic.go │ └── view_models.go ├── tools └── main.go ├── views ├── about.html ├── app │ ├── components │ │ ├── listItem.html │ │ └── tile.html │ ├── detail.html │ ├── list.html │ └── register.html ├── contact.html ├── error.html ├── index.html ├── login.html ├── mypage.html ├── mypageEdit.html ├── partials │ ├── footer.html │ ├── header.html │ ├── nav.html │ └── scripts.html ├── privacy.html └── terms.html └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | bower_components/ 3 | data/ 4 | .DS_Store 5 | npm-debug.log 6 | configuration/config.js 7 | dump.rdb 8 | 9 | # idea 10 | .idea 11 | *.iml 12 | 13 | # golang 14 | meetapp 15 | _test 16 | -------------------------------------------------------------------------------- /.godir: -------------------------------------------------------------------------------- 1 | github.com/shumipro/meetapp 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Guide to Contributing 2 | 3 | ## はじめに 4 | 5 | developブランチ -> masterブランチ へのマージを行うとCircleCIで自動的にherokuへdeployされます。 6 | 7 | 開発のタスク管理はTrelloで行っています。リンクはこちら。 8 | 9 | [Trello - meetapp](https://trello.com/b/XXGpLA1d/meetapp) 10 | 11 | 開発に参加したい場合は、[MeetApp](http://meetapp.tokyo/app/detail/ebdf283b-3c69-414a-8085-cfcc35b849dd)でコメントください。 12 | 13 | 14 | ## 開発フロー 15 | 16 | ローカルで動作確認してOKならfeatureブランチもしくはdevelopへ直接コミット。 17 | 18 | jsを変更した場合は、`gulp`実行を忘れないように。 19 | 20 | ## 監視系 21 | 22 | - [Papertrail](https://addons-sso.heroku.com/apps/meetapp-dev/addons/5dfee22e-86f3-4927-ac10-d072cb5a5613) 23 | -------------------------------------------------------------------------------- /Godeps/Readme: -------------------------------------------------------------------------------- 1 | This directory tree is generated automatically by godep. 2 | 3 | Please do not edit. 4 | 5 | See https://github.com/tools/godep for more information. 6 | -------------------------------------------------------------------------------- /Godeps/_workspace/.gitignore: -------------------------------------------------------------------------------- 1 | /pkg 2 | /bin 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.swo 3 | *.swn 4 | conf.sh 5 | *.patch 6 | anaconda.test 7 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/COPYING: -------------------------------------------------------------------------------- 1 | LICENSE -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Aditya Mukerjee, Quotidian Ventures 2 | 3 | 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: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | 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 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/README.md: -------------------------------------------------------------------------------- 1 | README -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/account.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | import ( 4 | "net/url" 5 | ) 6 | 7 | // Verify the credentials by making a very small request 8 | func (a TwitterApi) VerifyCredentials() (ok bool, err error) { 9 | v := cleanValues(nil) 10 | v.Set("include_entities", "false") 11 | v.Set("skip_status", "true") 12 | 13 | _, err = a.GetSelf(v) 14 | return err == nil, err 15 | } 16 | 17 | // Get the user object for the authenticated user. Requests /account/verify_credentials 18 | func (a TwitterApi) GetSelf(v url.Values) (u User, err error) { 19 | v = cleanValues(v) 20 | response_ch := make(chan response) 21 | a.queryQueue <- query{BaseUrl + "/account/verify_credentials.json", v, &u, _GET, response_ch} 22 | return u, (<-response_ch).err 23 | } 24 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/directmessage.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | type DirectMessage struct { 4 | CreatedAt string `json:"created_at"` 5 | Entities Entities `json:"entities"` 6 | Id int64 `json:"id"` 7 | IdStr string `json:"id_str"` 8 | Recipient User `json:"recipient"` 9 | RecipientId int64 `json:"recipient_id"` 10 | RecipientScreenName string `json:"recipient_screen_name"` 11 | Sender User `json:"sender"` 12 | SenderId int64 `json:"sender_id"` 13 | SenderScreenName string `json:"sender_screen_name"` 14 | Text string `json:"text"` 15 | } 16 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/favorites.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | import ( 4 | "net/url" 5 | ) 6 | 7 | func (a TwitterApi) GetFavorites(v url.Values) (favorites []Tweet, err error) { 8 | response_ch := make(chan response) 9 | a.queryQueue <- query{BaseUrl + "/favorites/list.json", v, &favorites, _GET, response_ch} 10 | return favorites, (<-response_ch).err 11 | } 12 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/list.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | type ListResponse struct { 4 | PreviousCursor int `json:"previous_cursor"` 5 | NextCursor int `json:"next_cursor"` 6 | Lists []List `json:"lists"` 7 | } 8 | 9 | type AddUserToListResponse struct { 10 | Users []User `json:"users"` 11 | } 12 | 13 | type List struct { 14 | Slug string `json:"slug"` 15 | Name string `json:"name"` 16 | URL string `json:"uri"` 17 | CreatedAt string `json:"created_at"` 18 | Id int64 `json:"id"` 19 | SubscriberCount int64 `json:"subscriber_count"` 20 | MemberCount int64 `json:"member_count"` 21 | Mode string `json:"mode"` 22 | FullName string `json:"full_name"` 23 | Description string `json:"description"` 24 | User User `json:"user"` 25 | Following bool `json:"following"` 26 | } 27 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/media.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | import "net/url" 4 | 5 | type Media struct { 6 | MediaID int64 `json:"media_id"` 7 | MediaIDString string `json:"media_id_string"` 8 | Size int `json:"size"` 9 | Image Image `json:"image"` 10 | } 11 | 12 | type Image struct { 13 | W int `json:"w"` 14 | H int `json:"h"` 15 | ImageType string `json:"image_type"` 16 | } 17 | 18 | func (a TwitterApi) UploadMedia(base64String string) (media Media, err error) { 19 | v := url.Values{} 20 | v.Set("media", base64String) 21 | 22 | var mediaResponse Media 23 | 24 | response_ch := make(chan response) 25 | a.queryQueue <- query{UploadBaseUrl + "/media/upload.json", v, &mediaResponse, _POST, response_ch} 26 | return mediaResponse, (<-response_ch).err 27 | } 28 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/oembed.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | import ( 4 | "net/http" 5 | "net/url" 6 | "strconv" 7 | ) 8 | 9 | type OEmbed struct { 10 | Type string 11 | Width int 12 | Cache_age string 13 | Height int 14 | Author_url string 15 | Html string 16 | Version string 17 | Provider_name string 18 | Provider_url string 19 | Url string 20 | Author_name string 21 | } 22 | 23 | // No authorization on this endpoint. Its the only one. 24 | func (a TwitterApi) GetOEmbed(v url.Values) (o OEmbed, err error) { 25 | resp, err := http.Get(BaseUrlV1 + "/statuses/oembed.json?" + v.Encode()) 26 | if err != nil { 27 | return 28 | } 29 | defer resp.Body.Close() 30 | 31 | err = decodeResponse(resp, &o) 32 | return 33 | } 34 | 35 | // Calls GetOEmbed with the corresponding id. Convenience wrapper for GetOEmbed() 36 | func (a TwitterApi) GetOEmbedId(id int64, v url.Values) (o OEmbed, err error) { 37 | if v == nil { 38 | v = url.Values{} 39 | } 40 | v.Set("id", strconv.FormatInt(id, 10)) 41 | resp, err := http.Get(BaseUrlV1 + "/statuses/oembed.json?" + v.Encode()) 42 | if err != nil { 43 | return 44 | } 45 | defer resp.Body.Close() 46 | 47 | err = decodeResponse(resp, &o) 48 | return 49 | } 50 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/place.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | type Place struct { 4 | Attributes map[string]string `json:"attributes"` 5 | BoundingBox struct { 6 | Coordinates [][][]float64 `json:"coordinates"` 7 | Type string `json:"type"` 8 | } `json:"bounding_box"` 9 | ContainedWithin []struct { 10 | Attributes map[string]string `json:"attributes"` 11 | BoundingBox struct { 12 | Coordinates [][][]float64 `json:"coordinates"` 13 | Type string `json:"type"` 14 | } `json:"bounding_box"` 15 | Country string `json:"country"` 16 | CountryCode string `json:"country_code"` 17 | FullName string `json:"full_name"` 18 | ID string `json:"id"` 19 | Name string `json:"name"` 20 | PlaceType string `json:"place_type"` 21 | URL string `json:"url"` 22 | } `json:"contained_within"` 23 | Country string `json:"country"` 24 | CountryCode string `json:"country_code"` 25 | FullName string `json:"full_name"` 26 | Geometry struct { 27 | Coordinates [][][]float64 `json:"coordinates"` 28 | Type string `json:"type"` 29 | } `json:"geometry"` 30 | ID string `json:"id"` 31 | Name string `json:"name"` 32 | PlaceType string `json:"place_type"` 33 | Polylines []string `json:"polylines"` 34 | URL string `json:"url"` 35 | } 36 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/relationship.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | import ( 4 | "net/url" 5 | ) 6 | 7 | type RelationshipResponse struct { 8 | Relationship Relationship `json:"relationship"` 9 | } 10 | type Relationship struct { 11 | Target Target `json:"target"` 12 | Source Source `json:"source"` 13 | } 14 | type Target struct { 15 | Id int64 `json:"id"` 16 | Id_str string `json:"id_str"` 17 | Screen_name string `json:"screen_name"` 18 | Following bool `json:"following"` 19 | Followed_by bool `json:"followed_by"` 20 | } 21 | type Source struct { 22 | Id int64 23 | Id_str string 24 | Screen_name string 25 | Following bool 26 | Followed_by bool 27 | Can_dm bool 28 | Blocking bool 29 | Muting bool 30 | Marked_spam bool 31 | All_replies bool 32 | Want_retweets bool 33 | Notifications_enabled bool 34 | } 35 | 36 | func (a TwitterApi) GetFriendshipsShow(v url.Values) (relationshipResponse RelationshipResponse, err error) { 37 | response_ch := make(chan response) 38 | a.queryQueue <- query{BaseUrl + "/friendships/show.json", v, &relationshipResponse, _GET, response_ch} 39 | return relationshipResponse, (<-response_ch).err 40 | } 41 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/anaconda/twitter_entities.go: -------------------------------------------------------------------------------- 1 | package anaconda 2 | 3 | type UrlEntity struct { 4 | Urls []struct { 5 | Indices []int 6 | Url string 7 | Display_url string 8 | Expanded_url string 9 | } 10 | } 11 | 12 | type Entities struct { 13 | Hashtags []struct { 14 | Indices []int 15 | Text string 16 | } 17 | Urls []struct { 18 | Indices []int 19 | Url string 20 | Display_url string 21 | Expanded_url string 22 | } 23 | Url UrlEntity 24 | User_mentions []struct { 25 | Name string 26 | Indices []int 27 | Screen_name string 28 | Id int64 29 | Id_str string 30 | } 31 | Media []struct { 32 | Id int64 33 | Id_str string 34 | Media_url string 35 | Media_url_https string 36 | Url string 37 | Display_url string 38 | Expanded_url string 39 | Sizes MediaSizes 40 | Type string 41 | Indices []int 42 | } 43 | } 44 | 45 | type MediaSizes struct { 46 | Medium MediaSize 47 | Thumb MediaSize 48 | Small MediaSize 49 | Large MediaSize 50 | } 51 | 52 | type MediaSize struct { 53 | W int 54 | H int 55 | Resize string 56 | } 57 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/tokenbucket/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.swo 3 | *.swn 4 | conf.sh 5 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/tokenbucket/LICENSE: -------------------------------------------------------------------------------- 1 | COPYING -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/ChimeraCoder/tokenbucket/README.md: -------------------------------------------------------------------------------- 1 | README -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/boj/redistore/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/boj/redistore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Brian Jones 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/boj/redistore/README.md: -------------------------------------------------------------------------------- 1 | # redistore 2 | 3 | A session store backend for [gorilla/sessions](http://www.gorillatoolkit.org/pkg/sessions) - [src](https://github.com/gorilla/sessions). 4 | 5 | ## Requirements 6 | 7 | Depends on the [Redigo](https://github.com/garyburd/redigo) Redis library. 8 | 9 | ## Installation 10 | 11 | go get gopkg.in/boj/redistore.v1 12 | 13 | ## Documentation 14 | 15 | Available on [godoc.org](http://www.godoc.org/gopkg.in/boj/redistore.v1). 16 | 17 | See http://www.gorillatoolkit.org/pkg/sessions for full documentation on underlying interface. 18 | 19 | ### Example 20 | 21 | // Fetch new store. 22 | store, err := NewRediStore(10, "tcp", ":6379", "", []byte("secret-key")) 23 | if err != nil { 24 | panic(err) 25 | } 26 | defer store.Close() 27 | 28 | // Get a session. 29 | session, err = store.Get(req, "session-key") 30 | if err != nil { 31 | log.Error(err.Error()) 32 | } 33 | 34 | // Add a value. 35 | session.Values["foo"] = "bar" 36 | 37 | // Save. 38 | if err = sessions.Save(req, rsp); err != nil { 39 | t.Fatalf("Error saving session: %v", err) 40 | } 41 | 42 | // Delete session. 43 | session.Options.MaxAge = -1 44 | if err = sessions.Save(req, rsp); err != nil { 45 | t.Fatalf("Error saving session: %v", err) 46 | } 47 | 48 | // Change session storage configuration for MaxAge = 10 days. 49 | store.SetMaxAge(10*24*3600) 50 | 51 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/boj/redistore/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package redistore is a session store backend for gorilla/sessions 3 | */ 4 | package redistore 5 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/.gitignore: -------------------------------------------------------------------------------- 1 | #* 2 | *~ 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Dustin Sallings 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/README.markdown: -------------------------------------------------------------------------------- 1 | # JSON Pointer for go 2 | 3 | This is an implementation of [JSON Pointer](http://tools.ietf.org/html/rfc6901). 4 | 5 | [![Coverage Status](https://coveralls.io/repos/dustin/go-jsonpointer/badge.png?branch=master)](https://coveralls.io/r/dustin/go-jsonpointer?branch=master) 6 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/doc.go: -------------------------------------------------------------------------------- 1 | // Package jsonpointer implements RFC6901 JSON Pointers 2 | package jsonpointer 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/map.go: -------------------------------------------------------------------------------- 1 | package jsonpointer 2 | 3 | import ( 4 | "strconv" 5 | "strings" 6 | ) 7 | 8 | // Get the value at the specified path. 9 | func Get(m map[string]interface{}, path string) interface{} { 10 | if path == "" { 11 | return m 12 | } 13 | 14 | parts := strings.Split(path[1:], "/") 15 | var rv interface{} = m 16 | 17 | for _, p := range parts { 18 | switch v := rv.(type) { 19 | case map[string]interface{}: 20 | if strings.Contains(p, "~") { 21 | p = strings.Replace(p, "~1", "/", -1) 22 | p = strings.Replace(p, "~0", "~", -1) 23 | } 24 | rv = v[p] 25 | case []interface{}: 26 | i, err := strconv.Atoi(p) 27 | if err == nil && i < len(v) { 28 | rv = v[i] 29 | } else { 30 | return nil 31 | } 32 | default: 33 | return nil 34 | } 35 | } 36 | 37 | return rv 38 | } 39 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/testdata/357.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "357", 3 | "city": "", 4 | "state": "", 5 | "code": "", 6 | "country": "", 7 | "phone": "", 8 | "website": "", 9 | "type": "brewery", 10 | "updated": "2010-07-22 20:00:20", 11 | "description": "", 12 | "address": [], 13 | "address2": ["x"], 14 | "address3": [ ] 15 | } 16 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/testdata/code.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shumipro/meetapp/a2fdcc1df38a5d0a471cc524998dab0c46c10cf3/Godeps/_workspace/src/github.com/dustin/go-jsonpointer/testdata/code.json.gz -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/go-jsonpointer/testdata/pools.json: -------------------------------------------------------------------------------- 1 | { 2 | "componentsVersion": { 3 | "ale": "8cffe61", 4 | "couch": "1.2.0a-be4fa61-git", 5 | "couch_index_merger": "1.2.0a-be4fa61-git", 6 | "couch_set_view": "1.2.0a-be4fa61-git", 7 | "couch_view_parser": "1.0.0", 8 | "crypto": "2.0.4", 9 | "inets": "5.7.1", 10 | "kernel": "2.14.5", 11 | "lhttpc": "1.3.0", 12 | "mapreduce": "1.0.0", 13 | "mnesia": "4.5", 14 | "mochiweb": "1.4.1", 15 | "ns_server": "2.0.0-1976-rel-enterprise", 16 | "oauth": "7d85d3ef", 17 | "os_mon": "2.2.7", 18 | "public_key": "0.13", 19 | "sasl": "2.1.10", 20 | "ssl": "4.1.6", 21 | "stdlib": "1.17.5" 22 | }, 23 | "implementationVersion": "2.0.0-1976-rel-enterprise", 24 | "isAdminCreds": false, 25 | "pools": [ 26 | { 27 | "name": "default", 28 | "streamingUri": "/poolsStreaming/default?uuid=8820305b03a5d328c54bafde4c3f469e", 29 | "uri": "/pools/default?uuid=8820305b03a5d328c54bafde4c3f469e" 30 | } 31 | ], 32 | "settings": { 33 | "maxParallelIndexers": "/settings/maxParallelIndexers?uuid=8820305b03a5d328c54bafde4c3f469e", 34 | "viewUpdateDaemon": "/settings/viewUpdateDaemon?uuid=8820305b03a5d328c54bafde4c3f469e" 35 | }, 36 | "uuid": "8820305b03a5d328c54bafde4c3f469e" 37 | } 38 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/gojson/.gitignore: -------------------------------------------------------------------------------- 1 | #* 2 | *~ 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/gojson/tags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package json 6 | 7 | import ( 8 | "strings" 9 | ) 10 | 11 | // tagOptions is the string following a comma in a struct field's "json" 12 | // tag, or the empty string. It does not include the leading comma. 13 | type tagOptions string 14 | 15 | // parseTag splits a struct field's json tag into its name and 16 | // comma-separated options. 17 | func parseTag(tag string) (string, tagOptions) { 18 | if idx := strings.Index(tag, ","); idx != -1 { 19 | return tag[:idx], tagOptions(tag[idx+1:]) 20 | } 21 | return tag, tagOptions("") 22 | } 23 | 24 | // Contains reports whether a comma-separated list of options 25 | // contains a particular substr flag. substr must be surrounded by a 26 | // string boundary or commas. 27 | func (o tagOptions) Contains(optionName string) bool { 28 | if len(o) == 0 { 29 | return false 30 | } 31 | s := string(o) 32 | for s != "" { 33 | var next string 34 | i := strings.Index(s, ",") 35 | if i >= 0 { 36 | s, next = s[:i], s[i+1:] 37 | } 38 | if s == optionName { 39 | return true 40 | } 41 | s = next 42 | } 43 | return false 44 | } 45 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/gojson/tags_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package json 6 | 7 | import ( 8 | "testing" 9 | ) 10 | 11 | func TestTagParsing(t *testing.T) { 12 | name, opts := parseTag("field,foobar,foo") 13 | if name != "field" { 14 | t.Fatalf("name = %q, want field", name) 15 | } 16 | for _, tt := range []struct { 17 | opt string 18 | want bool 19 | }{ 20 | {"foobar", true}, 21 | {"foo", true}, 22 | {"bar", false}, 23 | } { 24 | if opts.Contains(tt.opt) != tt.want { 25 | t.Errorf("Contains(%q) = %v", tt.opt, !tt.want) 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/dustin/gojson/testdata/code.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shumipro/meetapp/a2fdcc1df38a5d0a471cc524998dab0c46c10cf3/Godeps/_workspace/src/github.com/dustin/gojson/testdata/code.json.gz -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/garyburd/redigo/internal/commandinfo.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Gary Burd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | // not use this file except in compliance with the License. You may obtain 5 | // a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | // License for the specific language governing permissions and limitations 13 | // under the License. 14 | 15 | package internal 16 | 17 | import ( 18 | "strings" 19 | ) 20 | 21 | const ( 22 | WatchState = 1 << iota 23 | MultiState 24 | SubscribeState 25 | MonitorState 26 | ) 27 | 28 | type CommandInfo struct { 29 | Set, Clear int 30 | } 31 | 32 | var commandInfos = map[string]CommandInfo{ 33 | "WATCH": {Set: WatchState}, 34 | "UNWATCH": {Clear: WatchState}, 35 | "MULTI": {Set: MultiState}, 36 | "EXEC": {Clear: WatchState | MultiState}, 37 | "DISCARD": {Clear: WatchState | MultiState}, 38 | "PSUBSCRIBE": {Set: SubscribeState}, 39 | "SUBSCRIBE": {Set: SubscribeState}, 40 | "MONITOR": {Set: MonitorState}, 41 | } 42 | 43 | func LookupCommandInfo(commandName string) CommandInfo { 44 | return commandInfos[strings.ToUpper(commandName)] 45 | } 46 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/garyburd/redigo/redis/test_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 Gary Burd 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"): you may 4 | // not use this file except in compliance with the License. You may obtain 5 | // a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | // License for the specific language governing permissions and limitations 13 | // under the License. 14 | 15 | package redis 16 | 17 | import ( 18 | "bufio" 19 | "net" 20 | "time" 21 | ) 22 | 23 | func SetNowFunc(f func() time.Time) { 24 | nowFunc = f 25 | } 26 | 27 | type nopCloser struct{ net.Conn } 28 | 29 | func (nopCloser) Close() error { return nil } 30 | 31 | // NewConnBufio is a hook for tests. 32 | func NewConnBufio(rw bufio.ReadWriter) Conn { 33 | return &conn{br: rw.Reader, bw: rw.Writer, conn: nopCloser{}} 34 | } 35 | 36 | var ( 37 | ErrNegativeInt = errNegativeInt 38 | ) 39 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/go-xweb/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/go-xweb/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // The uuid package generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security Services. 8 | package uuid 9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/go-xweb/uuid/version1.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package uuid 6 | 7 | import ( 8 | "encoding/binary" 9 | ) 10 | 11 | // NewUUID returns a Version 1 UUID based on the current NodeID and clock 12 | // sequence, and the current time. If the NodeID has not been set by SetNodeID 13 | // or SetNodeInterface then it will be set automatically. If the NodeID cannot 14 | // be set NewUUID returns nil. If clock sequence has not been set by 15 | // SetClockSequence then it will be set automatically. If GetTime fails to 16 | // return the current NewUUID returns nil. 17 | func NewUUID() UUID { 18 | if nodeID == nil { 19 | SetNodeInterface("") 20 | } 21 | 22 | now, err := GetTime() 23 | if err != nil { 24 | return nil 25 | } 26 | 27 | uuid := make([]byte, 16) 28 | 29 | time_low := uint32(now & 0xffffffff) 30 | time_mid := uint16((now >> 32) & 0xffff) 31 | time_hi := uint16((now >> 48) & 0x0fff) 32 | time_hi |= 0x1000 // Version 1 33 | 34 | binary.BigEndian.PutUint32(uuid[0:], time_low) 35 | binary.BigEndian.PutUint16(uuid[4:], time_mid) 36 | binary.BigEndian.PutUint16(uuid[6:], time_hi) 37 | binary.BigEndian.PutUint16(uuid[8:], clock_seq) 38 | copy(uuid[10:], nodeID) 39 | 40 | return uuid 41 | } 42 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/go-xweb/uuid/version4.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package uuid 6 | 7 | // Random returns a Random (Version 4) UUID or panics. 8 | // 9 | // The strength of the UUIDs is based on the strength of the crypto/rand 10 | // package. 11 | // 12 | // A note about uniqueness derived from from the UUID Wikipedia entry: 13 | // 14 | // Randomly generated UUIDs have 122 random bits. One's annual risk of being 15 | // hit by a meteorite is estimated to be one chance in 17 billion, that 16 | // means the probability is about 0.00000000006 (6 × 10−11), 17 | // equivalent to the odds of creating a few tens of trillions of UUIDs in a 18 | // year and having one duplicate. 19 | func NewRandom() UUID { 20 | uuid := make([]byte, 16) 21 | randomBits([]byte(uuid)) 22 | uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 23 | uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 24 | return uuid 25 | } 26 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/context/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - 1.3 8 | - 1.4 9 | - tip 10 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/context/README.md: -------------------------------------------------------------------------------- 1 | context 2 | ======= 3 | [![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) 4 | 5 | gorilla/context is a general purpose registry for global request variables. 6 | 7 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/context 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/securecookie/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - tip 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/securecookie/README.md: -------------------------------------------------------------------------------- 1 | securecookie 2 | ============ 3 | [![Build Status](https://travis-ci.org/gorilla/securecookie.png?branch=master)](https://travis-ci.org/gorilla/securecookie) 4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/sessions/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.0 5 | - 1.1 6 | - 1.2 7 | - tip 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gorilla/sessions/README.md: -------------------------------------------------------------------------------- 1 | sessions 2 | ======== 3 | 4 | Store Implementations 5 | --------------------- 6 | Other implementations of the sessions.Store interface: 7 | 8 | * [github.com/starJammer/gorilla-sessions-arangodb](https://github.com/starJammer/gorilla-sessions-arangodb) - ArangoDB 9 | * [github.com/yosssi/boltstore](https://github.com/yosssi/boltstore) - Bolt 10 | * [github.com/srinathgs/couchbasestore](https://github.com/srinathgs/couchbasestore) - Couchbase 11 | * [github.com/denizeren/dynamostore](https://github.com/denizeren/dynamostore) - Dynamodb on AWS 12 | * [github.com/bradleypeabody/gorilla-sessions-memcache](https://github.com/bradleypeabody/gorilla-sessions-memcache) - Memcache 13 | * [github.com/hnakamur/gaesessions](https://github.com/hnakamur/gaesessions) - Memcache on GAE 14 | * [github.com/kidstuff/mongostore](https://github.com/kidstuff/mongostore) - MongoDB 15 | * [github.com/srinathgs/mysqlstore](https://github.com/srinathgs/mysqlstore) - MySQL 16 | * [github.com/antonlindstrom/pgstore](https://github.com/antonlindstrom/pgstore) - PostgreSQL 17 | * [github.com/boj/redistore](https://github.com/boj/redistore) - Redis 18 | * [github.com/boj/rethinkstore](https://github.com/boj/rethinkstore) - RethinkDB 19 | * [github.com/boj/riakstore](https://github.com/boj/riakstore) - Riak 20 | * [github.com/michaeljs1990/sqlitestore](https://github.com/michaeljs1990/sqlitestore) - SQLite 21 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/.gitignore: -------------------------------------------------------------------------------- 1 | cloudinary/cloudinary 2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/AUTHORS: -------------------------------------------------------------------------------- 1 | Anthony Baillard 2 | Mathias Monnerville 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 GoTsunami 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/cloudinary/settings.conf: -------------------------------------------------------------------------------- 1 | [cloudinary] 2 | uri=cloudinary://839767177618114:8rqkRyCC-OGELCaJ24tLRRQkMyE@hcod0wyyv 3 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/cloudinary/vars.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "net/url" 7 | "os" 8 | "regexp" 9 | "strings" 10 | ) 11 | 12 | // replaceEnvVars replaces all ${VARNAME} with their value 13 | // using os.Getenv(). 14 | func replaceEnvVars(src string) (string, error) { 15 | r, err := regexp.Compile(`\${([A-Z_]+)}`) 16 | if err != nil { 17 | return "", err 18 | } 19 | envs := r.FindAllString(src, -1) 20 | for _, varname := range envs { 21 | evar := os.Getenv(varname[2 : len(varname)-1]) 22 | if evar == "" { 23 | return "", errors.New(fmt.Sprintf("error: env var %s not defined", varname)) 24 | } 25 | src = strings.Replace(src, varname, evar, -1) 26 | } 27 | return src, nil 28 | } 29 | 30 | func handleQuery(uri *url.URL) (*url.URL, error) { 31 | qs, err := url.QueryUnescape(uri.String()) 32 | if err != nil { 33 | return nil, err 34 | } 35 | r, err := replaceEnvVars(qs) 36 | if err != nil { 37 | return nil, err 38 | } 39 | wuri, err := url.Parse(r) 40 | if err != nil { 41 | return nil, err 42 | } 43 | return wuri, nil 44 | } 45 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/gotsunami/go-cloudinary/tools.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 Mathias Monnerville and Anthony Baillard. 2 | // All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package cloudinary 7 | 8 | import ( 9 | "crypto/sha1" 10 | "fmt" 11 | "io" 12 | "io/ioutil" 13 | ) 14 | 15 | // Returns SHA1 file checksum 16 | func fileChecksum(path string) (string, error) { 17 | data, err := ioutil.ReadFile(path) 18 | if err != nil { 19 | return "", err 20 | } 21 | hash := sha1.New() 22 | io.WriteString(hash, string(data)) 23 | return fmt.Sprintf("%x", hash.Sum(nil)), nil 24 | } 25 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/guregu/kami/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Gregory Roseberry (greg@toki.waseda.jp) 2 | Uses code from Goji: Copyright (c) 2014, 2015 Carl Jackson (carl@avtok.com) 3 | 4 | MIT License 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in 8 | the Software without restriction, including without limitation the rights to 9 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 10 | the Software, and to permit persons to whom the Software is furnished to do so, 11 | subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/guregu/kami/params.go: -------------------------------------------------------------------------------- 1 | package kami 2 | 3 | import ( 4 | "github.com/julienschmidt/httprouter" 5 | "golang.org/x/net/context" 6 | ) 7 | 8 | type key int 9 | 10 | const ( 11 | paramsKey key = iota 12 | panicKey 13 | ) 14 | 15 | // Param returns a request URL parameter, or a blank string if it doesn't exist. 16 | // For example, with the path /v2/papers/:page 17 | // use kami.Param(ctx, "page") to access the :page variable. 18 | func Param(ctx context.Context, name string) string { 19 | params, ok := ctx.Value(paramsKey).(httprouter.Params) 20 | if !ok { 21 | return "" 22 | } 23 | return params.ByName(name) 24 | } 25 | 26 | // Exception gets the "v" in panic(v). The panic details. 27 | // Only PanicHandler will receive a context you can use this with. 28 | func Exception(ctx context.Context) interface{} { 29 | return ctx.Value(panicKey) 30 | } 31 | 32 | func newContextWithParams(ctx context.Context, params httprouter.Params) context.Context { 33 | return context.WithValue(ctx, paramsKey, params) 34 | } 35 | 36 | func newContextWithException(ctx context.Context, exception interface{}) context.Context { 37 | return context.WithValue(ctx, panicKey, exception) 38 | } 39 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/guregu/kami/serve.go: -------------------------------------------------------------------------------- 1 | package kami 2 | 3 | import ( 4 | "flag" 5 | "log" 6 | "net/http" 7 | 8 | "github.com/zenazn/goji/bind" 9 | "github.com/zenazn/goji/graceful" 10 | ) 11 | 12 | func init() { 13 | bind.WithFlag() 14 | } 15 | 16 | // Serve starts kami with reasonable defaults. 17 | // It works (exactly) like Goji, looking for Einhorn, the bind flag, GOJI_BIND... 18 | func Serve() { 19 | if !flag.Parsed() { 20 | flag.Parse() 21 | } 22 | 23 | // Install our handler at the root of the standard net/http default mux. 24 | // This allows packages like expvar to continue working as expected. 25 | http.Handle("/", Handler()) 26 | 27 | listener := bind.Default() 28 | log.Println("Starting kami on", listener.Addr()) 29 | 30 | graceful.HandleSignals() 31 | bind.Ready() 32 | graceful.PreHook(func() { log.Printf("kami received signal, gracefully stopping") }) 33 | graceful.PostHook(func() { log.Printf("kami stopped") }) 34 | 35 | err := graceful.Serve(listener, http.DefaultServeMux) 36 | 37 | if err != nil { 38 | log.Fatal(err) 39 | } 40 | 41 | graceful.Wait() 42 | } 43 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/huandu/facebook/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Thanks for contributing this project! 2 | 3 | Please don't forget to use `gofmt` to make your code look good. 4 | 5 | Here is the command I use. Please always use the same parameters. 6 | 7 | go fmt 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/huandu/facebook/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 - 2015 Huan Du 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/huandu/facebook/batch_result.go: -------------------------------------------------------------------------------- 1 | // A facebook graph api client in go. 2 | // https://github.com/huandu/facebook/ 3 | // 4 | // Copyright 2012 - 2015, Huan Du 5 | // Licensed under the MIT license 6 | // https://github.com/huandu/facebook/blob/master/LICENSE 7 | 8 | package facebook 9 | 10 | import ( 11 | "encoding/json" 12 | "net/http" 13 | ) 14 | 15 | type batchResultHeader struct { 16 | Name string `facebook=",required"` 17 | Value string `facebook=",required"` 18 | } 19 | 20 | type batchResultData struct { 21 | Code int `facebook=",required"` 22 | Headers []batchResultHeader `facebook=",required"` 23 | Body string `facebook=",required"` 24 | } 25 | 26 | func newBatchResult(res Result) (*BatchResult, error) { 27 | var data batchResultData 28 | err := res.Decode(&data) 29 | 30 | if err != nil { 31 | return nil, err 32 | } 33 | 34 | result := &BatchResult{ 35 | StatusCode: data.Code, 36 | Header: http.Header{}, 37 | Body: data.Body, 38 | } 39 | 40 | err = json.Unmarshal([]byte(result.Body), &result.Result) 41 | 42 | if err != nil { 43 | return nil, err 44 | } 45 | 46 | // add headers to result. 47 | for _, header := range data.Headers { 48 | result.Header.Add(header.Name, header.Value) 49 | } 50 | 51 | return result, nil 52 | } 53 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/julienschmidt/httprouter/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - 1.1 5 | - 1.2 6 | - 1.3 7 | - 1.4 8 | - tip 9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 kyokomi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/README.md: -------------------------------------------------------------------------------- 1 | cloudinary 2 | =================== 3 | 4 | context base [go-cloudinary](https://github.com/gotsunami/go-cloudinary) wrapper for golang 5 | 6 | [Cloudinary](http://cloudinary.com/) 7 | 8 | ## Usage 9 | 10 | [example](https://github.com/kyokomi/cloudinary/blob/master/example/main.go) 11 | 12 | ```go 13 | package main 14 | 15 | import ( 16 | "bytes" 17 | "io/ioutil" 18 | 19 | "github.com/kyokomi/cloudinary" 20 | "golang.org/x/net/context" 21 | ) 22 | 23 | func main() { 24 | ctx := context.Background() 25 | ctx = NewContext(ctx, "cloudinary://:@") 26 | 27 | data, _ := ioutil.ReadFile("") 28 | cloudinary.UploadStaticImage(ctx, "", bytes.NewBuffer(data)) 29 | } 30 | ``` 31 | 32 | # License 33 | 34 | [MIT](https://github.com/kyokomi/cloudinary/blob/master/LICENSE) 35 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/cloudinary.go: -------------------------------------------------------------------------------- 1 | package cloudinary 2 | 3 | import ( 4 | "io" 5 | 6 | gocloud "github.com/gotsunami/go-cloudinary" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | func UploadStaticImage(ctx context.Context, fileName string, data io.Reader) error { 11 | c, _ := FromContext(ctx) 12 | _, err := c.UploadStaticImage(fileName, data, "") 13 | return err 14 | } 15 | 16 | func Resources(ctx context.Context) ([]*gocloud.Resource, error) { 17 | c, _ := FromContext(ctx) 18 | return c.Resources(gocloud.ImageType) 19 | } 20 | 21 | func ResourceURL(ctx context.Context, fileName string) string { 22 | c, _ := FromContext(ctx) 23 | return c.Url(fileName, gocloud.ImageType) 24 | } 25 | 26 | func DeleteStaticImage(ctx context.Context, fileName string) error { 27 | c, _ := FromContext(ctx) 28 | return c.Delete(fileName, "", gocloud.ImageType) 29 | } 30 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/cloudinarycmd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "errors" 5 | "flag" 6 | "log" 7 | 8 | "github.com/kyokomi/cloudinary" 9 | "golang.org/x/net/context" 10 | ) 11 | 12 | var cURI string 13 | var dirPath string 14 | var prependPath string 15 | 16 | func main() { 17 | flag.StringVar(&cURI, "uri", "", "") 18 | flag.StringVar(&dirPath, "dir", "", "") 19 | flag.StringVar(&prependPath, "prepend", "", "") 20 | flag.Parse() 21 | 22 | if cURI == "" || dirPath == "" || prependPath == "" { 23 | log.Fatalln(errors.New("not cloudinary uri")) 24 | } 25 | 26 | ctx := cloudinary.NewContext(context.Background(), cURI) 27 | c, ok := cloudinary.FromContext(ctx) 28 | if !ok { 29 | log.Fatalln(errors.New("not found cloudinary")) 30 | } 31 | 32 | _, err := c.UploadStaticImage(dirPath, nil, prependPath) 33 | if err != nil { 34 | log.Fatalln("UploadStaticImage:", err) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/context.go: -------------------------------------------------------------------------------- 1 | package cloudinary 2 | 3 | import ( 4 | "net/url" 5 | 6 | gocloud "github.com/gotsunami/go-cloudinary" 7 | "golang.org/x/net/context" 8 | ) 9 | 10 | type key int 11 | 12 | const cloudinaryKey key = 0 13 | 14 | func NewContext(ctx context.Context, uri string) context.Context { 15 | cURI, err := url.Parse(uri) 16 | if err != nil { 17 | return ctx 18 | } 19 | 20 | service, err := gocloud.Dial(cURI.String()) 21 | if err != nil { 22 | return ctx 23 | } 24 | return WithCloudinary(ctx, service) 25 | } 26 | 27 | func WithCloudinary(ctx context.Context, service *gocloud.Service) context.Context { 28 | return context.WithValue(ctx, cloudinaryKey, service) 29 | } 30 | 31 | func FromContext(ctx context.Context) (*gocloud.Service, bool) { 32 | c, ok := ctx.Value(cloudinaryKey).(*gocloud.Service) 33 | return c, ok 34 | } 35 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/example/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shumipro/meetapp/a2fdcc1df38a5d0a471cc524998dab0c46c10cf3/Godeps/_workspace/src/github.com/kyokomi/cloudinary/example/image.png -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/cloudinary/example/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bytes" 5 | "io/ioutil" 6 | 7 | "flag" 8 | "fmt" 9 | "time" 10 | 11 | "github.com/kyokomi/cloudinary" 12 | "golang.org/x/net/context" 13 | ) 14 | 15 | var cURI string 16 | var isDelete bool 17 | 18 | func main() { 19 | flag.StringVar(&cURI, "uri", "", "") 20 | flag.BoolVar(&isDelete, "delete", false, "") 21 | flag.Parse() 22 | 23 | ctx := context.Background() 24 | ctx = cloudinary.NewContext(ctx, cURI) 25 | 26 | // ランダムなファイル名にする 27 | now := time.Now() 28 | fileName := fmt.Sprintf("image_%d", now.UnixNano()) 29 | 30 | // ファイル読み込み 31 | data, _ := ioutil.ReadFile("image.png") 32 | 33 | // アップロードする 34 | cloudinary.UploadStaticImage(ctx, fileName, bytes.NewBuffer(data)) 35 | 36 | // アップロードされてるのを確認する 37 | fmt.Println(cloudinary.ResourceURL(ctx, fileName)) 38 | 39 | // 削除する 40 | if isDelete { 41 | cloudinary.DeleteStaticImage(ctx, fileName) 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/goroku/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 kyokomi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/goroku/README.md: -------------------------------------------------------------------------------- 1 | goroku 2 | ======================== 3 | 4 | [![Circle CI](https://circleci.com/gh/kyokomi/goroku.svg?style=svg)](https://circleci.com/gh/kyokomi/goroku) 5 | 6 | heroku library for golang 7 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/goroku/airbrake.go: -------------------------------------------------------------------------------- 1 | package goroku 2 | 3 | import ( 4 | "os" 5 | 6 | "golang.org/x/net/context" 7 | "gopkg.in/airbrake/gobrake.v1" 8 | "strconv" 9 | ) 10 | 11 | type airbrakeKey string 12 | 13 | func Airbrake(ctx context.Context) (*gobrake.Notifier, bool) { 14 | a, ok := ctx.Value(airbrakeKey("heroku")).(*gobrake.Notifier) 15 | return a, ok 16 | } 17 | 18 | func NewAirbrake(ctx context.Context, env string) context.Context { 19 | projectID, apiKey := os.Getenv("AIRBRAKE_PROJECT_ID"), os.Getenv("AIRBRAKE_API_KEY") 20 | if projectID == "" || apiKey == "" { 21 | return ctx 22 | } 23 | 24 | pid, _ := strconv.ParseInt(projectID, 10, 64) 25 | airbrake := gobrake.NewNotifier(pid, apiKey) 26 | airbrake.SetContext("environment", env) 27 | return context.WithValue(ctx, airbrakeKey("heroku"), airbrake) 28 | } 29 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/goroku/mongo_test.go: -------------------------------------------------------------------------------- 1 | package goroku 2 | 3 | import ( 4 | "testing" 5 | 6 | "os" 7 | ) 8 | 9 | func TestGetHerokuMongoURI(t *testing.T) { 10 | mongoURI := "mongodb://dbuser:dbpassword@xxxxxxx.mongolab.com:61371/xxxxxxxxxxx13694st" 11 | os.Setenv("MONGOLAB_URI", mongoURI) 12 | 13 | uri, dbName := getHerokuMongoURI() 14 | if uri != mongoURI { 15 | t.Errorf("ERROR: uri %s != %s", uri, mongoURI) 16 | } 17 | 18 | if dbName != "xxxxxxxxxxx13694st" { 19 | t.Errorf("ERROR: dbName %s != %s", dbName, "xxxxxxxxxxx13694st") 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/kyokomi/goroku/redis_test.go: -------------------------------------------------------------------------------- 1 | package goroku 2 | 3 | import ( 4 | "os" 5 | "testing" 6 | ) 7 | 8 | func TestGetHerokuRedisAddr(t *testing.T) { 9 | os.Setenv("REDISTOGO_URL", "redis://redistogo:@mummichog.redistogo.com:11068/") 10 | 11 | addr, password := GetHerokuRedisAddr() 12 | if addr != "mummichog.redistogo.com:11068" { 13 | t.Errorf("ERROR: addr %s != %s", addr, "mummichog.redistogo.com:11068") 14 | } 15 | 16 | if password != "" { 17 | t.Errorf("ERROR: password %s != %s", password, "") 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/mattn/natural/README.md: -------------------------------------------------------------------------------- 1 | # natural 2 | 3 | natural string compare 4 | 5 | ## usage 6 | 7 | ```go 8 | package main 9 | 10 | import ( 11 | "fmt" 12 | "github.com/mattn/natural" 13 | ) 14 | 15 | func main() { 16 | a := []string{ 17 | "3", 18 | "1", 19 | "10", 20 | "2", 21 | "20", 22 | } 23 | natural.Sort(a) 24 | for _, s := range a { 25 | fmt.Println(s) // 1 2 3 10 20 26 | } 27 | } 28 | ``` 29 | 30 | ## License 31 | 32 | This is rewrite of [natsort](http://sourcefrog.net/projects/natsort/). So made available under the same license as zlib. 33 | 34 | ## Author 35 | 36 | Yasuhiro Matsumoto (a.k.a mattn) 37 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/mattn/natural/cmd/natsort/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "flag" 6 | "fmt" 7 | "github.com/mattn/natural" 8 | "os" 9 | ) 10 | 11 | var f = flag.Bool("f", true, "fold case") 12 | 13 | func main() { 14 | flag.Parse() 15 | 16 | var lines []string 17 | scanner := bufio.NewScanner(os.Stdin) 18 | for scanner.Scan() { 19 | lines = append(lines, scanner.Text()) 20 | } 21 | if *f { 22 | natural.SortCase(lines) 23 | } else { 24 | natural.Sort(lines) 25 | } 26 | for _, line := range lines { 27 | fmt.Println(line) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/mattn/natural/natural_test.go: -------------------------------------------------------------------------------- 1 | package natural 2 | 3 | import ( 4 | "reflect" 5 | "testing" 6 | ) 7 | 8 | func TestSort(t *testing.T) { 9 | value := []string{ 10 | "3", 11 | "1", 12 | "10", 13 | "2", 14 | "20", 15 | } 16 | expected := []string{ 17 | "1", 18 | "2", 19 | "3", 20 | "10", 21 | "20", 22 | } 23 | Sort(value) 24 | 25 | if !reflect.DeepEqual(value, expected) { 26 | t.Fatalf("expected %v, got %v:", expected, value) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/microcosm-cc/bluemonday/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/microcosm-cc/bluemonday/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.1 5 | - 1.2 6 | - 1.3 7 | - tip 8 | 9 | install: 10 | - go get golang.org/x/net/html 11 | 12 | script: go test -v ./... 13 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/microcosm-cc/bluemonday/CREDITS.md: -------------------------------------------------------------------------------- 1 | 2 | 1. John Graham-Cumming http://jgc.org/ 3 | 1. Mike Samuel mikesamuel@gmail.com 4 | 1. Dmitri Shuralyov shurcooL@gmail.com 5 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/microcosm-cc/bluemonday/Makefile: -------------------------------------------------------------------------------- 1 | # Targets: 2 | # 3 | # all: Builds the code locally after testing 4 | # 5 | # fmt: Formats the source files 6 | # build: Builds the code locally 7 | # vet: Vets the code 8 | # lint: Runs lint over the code (you do not need to fix everything) 9 | # test: Runs the tests 10 | # cover: Gives you the URL to a nice test coverage report 11 | # clean: Deletes the built file (if it exists) 12 | # 13 | # install: Builds, tests and installs the code locally 14 | 15 | .PHONY: all fmt build vet lint test cover clean install 16 | 17 | # The first target is always the default action if `make` is called without 18 | # args we clean, build and install into $GOPATH so that it can just be run 19 | 20 | all: clean fmt vet test install 21 | 22 | fmt: 23 | @gofmt -w ./$* 24 | 25 | build: clean 26 | @go build 27 | 28 | vet: 29 | @vet *.go 30 | 31 | lint: 32 | @golint *.go 33 | 34 | test: 35 | @go test -v ./... 36 | 37 | cover: COVERAGE_FILE := coverage.out 38 | cover: 39 | @go test -coverprofile=$(COVERAGE_FILE) && \ 40 | cover -html=$(COVERAGE_FILE) && rm $(COVERAGE_FILE) 41 | 42 | clean: 43 | @find $(GOPATH)/pkg/*/github.com/microcosm-cc -name bluemonday.a -delete 44 | 45 | install: clean 46 | @go install 47 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/mrjones/oauth/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013 Matthew R. Jones 2 | 3 | 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: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | 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. 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/mrjones/oauth/pre-commit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ln -s $PWD/pre-commit.sh .git/hooks/pre-commit 3 | go test *.go 4 | RESULT=$? 5 | if [[ $RESULT != 0 ]]; then 6 | echo "REJECTING COMMIT (test failed with status: $RESULT)" 7 | exit 1; 8 | fi 9 | 10 | go fmt *.go 11 | for e in $(ls examples); do 12 | go build examples/$e/*.go 13 | RESULT=$? 14 | if [[ $RESULT != 0 ]]; then 15 | echo "REJECTING COMMIT (Examples failed to compile)" 16 | exit $RESULT; 17 | fi 18 | go fmt examples/$e/*.go 19 | done 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.swp 3 | *.8 4 | *.6 5 | _obj 6 | _test* 7 | markdown 8 | tags 9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/.travis.yml: -------------------------------------------------------------------------------- 1 | # Travis CI (http://travis-ci.org/) is a continuous integration service for 2 | # open source projects. This file configures it to run unit tests for 3 | # blackfriday. 4 | 5 | language: go 6 | 7 | go: 8 | - 1.2 9 | - 1.3 10 | - 1.4 11 | 12 | install: 13 | - go get -d -t -v ./... 14 | - go build -v ./... 15 | 16 | script: 17 | - go test -v ./... 18 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Amps and angle encoding.html: -------------------------------------------------------------------------------- 1 |

AT&T has an ampersand in their name.

2 | 3 |

AT&T is another way to write it.

4 | 5 |

This & that.

6 | 7 |

4 < 5.

8 | 9 |

6 > 5.

10 | 11 |

Here's a link with an ampersand in the URL.

12 | 13 |

Here's a link with an amersand in the link text: AT&T.

14 | 15 |

Here's an inline link.

16 | 17 |

Here's an inline link.

18 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Amps and angle encoding.text: -------------------------------------------------------------------------------- 1 | AT&T has an ampersand in their name. 2 | 3 | AT&T is another way to write it. 4 | 5 | This & that. 6 | 7 | 4 < 5. 8 | 9 | 6 > 5. 10 | 11 | Here's a [link] [1] with an ampersand in the URL. 12 | 13 | Here's a link with an amersand in the link text: [AT&T] [2]. 14 | 15 | Here's an inline [link](/script?foo=1&bar=2). 16 | 17 | Here's an inline [link](). 18 | 19 | 20 | [1]: http://example.com/?foo=1&bar=2 21 | [2]: http://att.com/ "AT&T" -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Auto links.html: -------------------------------------------------------------------------------- 1 |

Link: http://example.com/.

2 | 3 |

With an ampersand: http://example.com/?foo=1&bar=2

4 | 5 | 10 | 11 |
12 |

Blockquoted: http://example.com/

13 |
14 | 15 |

Auto-links should not occur here: <http://example.com/>

16 | 17 |
or here: <http://example.com/>
18 | 
19 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Auto links.text: -------------------------------------------------------------------------------- 1 | Link: . 2 | 3 | With an ampersand: 4 | 5 | * In a list? 6 | * 7 | * It should. 8 | 9 | > Blockquoted: 10 | 11 | Auto-links should not occur here: `` 12 | 13 | or here: -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Blockquotes with code blocks.html: -------------------------------------------------------------------------------- 1 |
2 |

Example:

3 | 4 |
sub status {
 5 |     print "working";
 6 | }
 7 | 
8 | 9 |

Or:

10 | 11 |
sub status {
12 |     return "working";
13 | }
14 | 
15 |
16 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Blockquotes with code blocks.text: -------------------------------------------------------------------------------- 1 | > Example: 2 | > 3 | > sub status { 4 | > print "working"; 5 | > } 6 | > 7 | > Or: 8 | > 9 | > sub status { 10 | > return "working"; 11 | > } 12 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Code Blocks.html: -------------------------------------------------------------------------------- 1 |
code block on the first line
 2 | 
3 | 4 |

Regular text.

5 | 6 |
code block indented by spaces
 7 | 
8 | 9 |

Regular text.

10 | 11 |
the lines in this block  
12 | all contain trailing spaces  
13 | 
14 | 15 |

Regular Text.

16 | 17 |
code block on the last line
18 | 
19 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Code Blocks.text: -------------------------------------------------------------------------------- 1 | code block on the first line 2 | 3 | Regular text. 4 | 5 | code block indented by spaces 6 | 7 | Regular text. 8 | 9 | the lines in this block 10 | all contain trailing spaces 11 | 12 | Regular Text. 13 | 14 | code block on the last line -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Code Spans.html: -------------------------------------------------------------------------------- 1 |

<test a=" content of attribute ">

2 | 3 |

Fix for backticks within HTML tag: like this

4 | 5 |

Here's how you put `backticks` in a code span.

6 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Code Spans.text: -------------------------------------------------------------------------------- 1 | `` 2 | 3 | Fix for backticks within HTML tag: like this 4 | 5 | Here's how you put `` `backticks` `` in a code span. 6 | 7 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Hard-wrapped paragraphs with list-like lines no empty line before block.html: -------------------------------------------------------------------------------- 1 |

In Markdown 1.0.0 and earlier. Version

2 | 3 |
    4 |
  1. This line turns into a list item. 5 | Because a hard-wrapped line in the 6 | middle of a paragraph looked like a 7 | list item.
  2. 8 |
9 | 10 |

Here's one with a bullet.

11 | 12 |
    13 |
  • criminey.
  • 14 |
15 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Hard-wrapped paragraphs with list-like lines no empty line before block.text: -------------------------------------------------------------------------------- 1 | In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item. 6 | 7 | Here's one with a bullet. 8 | * criminey. 9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Hard-wrapped paragraphs with list-like lines.html: -------------------------------------------------------------------------------- 1 |

In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item.

6 | 7 |

Here's one with a bullet. 8 | * criminey.

9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Hard-wrapped paragraphs with list-like lines.text: -------------------------------------------------------------------------------- 1 | In Markdown 1.0.0 and earlier. Version 2 | 8. This line turns into a list item. 3 | Because a hard-wrapped line in the 4 | middle of a paragraph looked like a 5 | list item. 6 | 7 | Here's one with a bullet. 8 | * criminey. 9 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Horizontal rules.html: -------------------------------------------------------------------------------- 1 |

Dashes:

2 | 3 |
4 | 5 |
6 | 7 |
8 | 9 |
10 | 11 |
---
12 | 
13 | 14 |
15 | 16 |
17 | 18 |
19 | 20 |
21 | 22 |
- - -
23 | 
24 | 25 |

Asterisks:

26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 |
34 | 35 |
***
36 | 
37 | 38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 | 46 |
* * *
47 | 
48 | 49 |

Underscores:

50 | 51 |
52 | 53 |
54 | 55 |
56 | 57 |
58 | 59 |
___
60 | 
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
_ _ _
71 | 
72 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Horizontal rules.text: -------------------------------------------------------------------------------- 1 | Dashes: 2 | 3 | --- 4 | 5 | --- 6 | 7 | --- 8 | 9 | --- 10 | 11 | --- 12 | 13 | - - - 14 | 15 | - - - 16 | 17 | - - - 18 | 19 | - - - 20 | 21 | - - - 22 | 23 | 24 | Asterisks: 25 | 26 | *** 27 | 28 | *** 29 | 30 | *** 31 | 32 | *** 33 | 34 | *** 35 | 36 | * * * 37 | 38 | * * * 39 | 40 | * * * 41 | 42 | * * * 43 | 44 | * * * 45 | 46 | 47 | Underscores: 48 | 49 | ___ 50 | 51 | ___ 52 | 53 | ___ 54 | 55 | ___ 56 | 57 | ___ 58 | 59 | _ _ _ 60 | 61 | _ _ _ 62 | 63 | _ _ _ 64 | 65 | _ _ _ 66 | 67 | _ _ _ 68 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML (Advanced).html: -------------------------------------------------------------------------------- 1 |

Simple block on one line:

2 | 3 |
foo
4 | 5 |

And nested without indentation:

6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML (Advanced).text: -------------------------------------------------------------------------------- 1 | Simple block on one line: 2 | 3 |
foo
4 | 5 | And nested without indentation: 6 | 7 |
8 |
9 |
10 | foo 11 |
12 |
13 |
14 |
bar
15 |
16 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML (Simple).html: -------------------------------------------------------------------------------- 1 |

Here's a simple block:

2 | 3 |
4 | foo 5 |
6 | 7 |

This should be a code block, though:

8 | 9 |
<div>
10 |     foo
11 | </div>
12 | 
13 | 14 |

As should this:

15 | 16 |
<div>foo</div>
17 | 
18 | 19 |

Now, nested:

20 | 21 |
22 |
23 |
24 | foo 25 |
26 |
27 |
28 | 29 |

This should just be an HTML comment:

30 | 31 | 32 | 33 |

Multiline:

34 | 35 | 39 | 40 |

Code block:

41 | 42 |
<!-- Comment -->
43 | 
44 | 45 |

Just plain comment, with trailing spaces on the line:

46 | 47 | 48 | 49 |

Code:

50 | 51 |
<hr />
52 | 
53 | 54 |

Hr's:

55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 |
71 | 72 |
73 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML (Simple).text: -------------------------------------------------------------------------------- 1 | Here's a simple block: 2 | 3 |
4 | foo 5 |
6 | 7 | This should be a code block, though: 8 | 9 |
10 | foo 11 |
12 | 13 | As should this: 14 | 15 |
foo
16 | 17 | Now, nested: 18 | 19 |
20 |
21 |
22 | foo 23 |
24 |
25 |
26 | 27 | This should just be an HTML comment: 28 | 29 | 30 | 31 | Multiline: 32 | 33 | 37 | 38 | Code block: 39 | 40 | 41 | 42 | Just plain comment, with trailing spaces on the line: 43 | 44 | 45 | 46 | Code: 47 | 48 |
49 | 50 | Hr's: 51 | 52 |
53 | 54 |
55 | 56 |
57 | 58 |
59 | 60 |
61 | 62 |
63 | 64 |
65 | 66 |
67 | 68 |
69 | 70 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML comments.html: -------------------------------------------------------------------------------- 1 |

Paragraph one.

2 | 3 | 4 | 5 | 8 | 9 |

Paragraph two.

10 | 11 | 12 | 13 |

The end.

14 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Inline HTML comments.text: -------------------------------------------------------------------------------- 1 | Paragraph one. 2 | 3 | 4 | 5 | 8 | 9 | Paragraph two. 10 | 11 | 12 | 13 | The end. 14 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, inline style.html: -------------------------------------------------------------------------------- 1 |

Just a URL.

2 | 3 |

URL and title.

4 | 5 |

URL and title.

6 | 7 |

URL and title.

8 | 9 |

URL and title.

10 | 11 |

[Empty]().

12 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, inline style.text: -------------------------------------------------------------------------------- 1 | Just a [URL](/url/). 2 | 3 | [URL and title](/url/ "title"). 4 | 5 | [URL and title](/url/ "title preceded by two spaces"). 6 | 7 | [URL and title](/url/ "title preceded by a tab"). 8 | 9 | [URL and title](/url/ "title has spaces afterward" ). 10 | 11 | 12 | [Empty](). 13 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, reference style.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | 5 |

Foo bar.

6 | 7 |

With embedded [brackets].

8 | 9 |

Indented once.

10 | 11 |

Indented twice.

12 | 13 |

Indented thrice.

14 | 15 |

Indented [four][] times.

16 | 17 |
[four]: /url
18 | 
19 | 20 |
21 | 22 |

this should work

23 | 24 |

So should this.

25 | 26 |

And this.

27 | 28 |

And this.

29 | 30 |

And this.

31 | 32 |

But not [that] [].

33 | 34 |

Nor [that][].

35 | 36 |

Nor [that].

37 | 38 |

[Something in brackets like this should work]

39 | 40 |

[Same with this.]

41 | 42 |

In this case, this points to something else.

43 | 44 |

Backslashing should suppress [this] and [this].

45 | 46 |
47 | 48 |

Here's one where the link 49 | breaks across lines.

50 | 51 |

Here's another where the link 52 | breaks across lines, but with a line-ending space.

53 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, reference style.text: -------------------------------------------------------------------------------- 1 | Foo [bar] [1]. 2 | 3 | Foo [bar][1]. 4 | 5 | Foo [bar] 6 | [1]. 7 | 8 | [1]: /url/ "Title" 9 | 10 | 11 | With [embedded [brackets]] [b]. 12 | 13 | 14 | Indented [once][]. 15 | 16 | Indented [twice][]. 17 | 18 | Indented [thrice][]. 19 | 20 | Indented [four][] times. 21 | 22 | [once]: /url 23 | 24 | [twice]: /url 25 | 26 | [thrice]: /url 27 | 28 | [four]: /url 29 | 30 | 31 | [b]: /url/ 32 | 33 | * * * 34 | 35 | [this] [this] should work 36 | 37 | So should [this][this]. 38 | 39 | And [this] []. 40 | 41 | And [this][]. 42 | 43 | And [this]. 44 | 45 | But not [that] []. 46 | 47 | Nor [that][]. 48 | 49 | Nor [that]. 50 | 51 | [Something in brackets like [this][] should work] 52 | 53 | [Same with [this].] 54 | 55 | In this case, [this](/somethingelse/) points to something else. 56 | 57 | Backslashing should suppress \[this] and [this\]. 58 | 59 | [this]: foo 60 | 61 | 62 | * * * 63 | 64 | Here's one where the [link 65 | breaks] across lines. 66 | 67 | Here's another where the [link 68 | breaks] across lines, but with a line-ending space. 69 | 70 | 71 | [link breaks]: /url/ 72 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, shortcut references.html: -------------------------------------------------------------------------------- 1 |

This is the simple case.

2 | 3 |

This one has a line 4 | break.

5 | 6 |

This one has a line 7 | break with a line-ending space.

8 | 9 |

this and the other

10 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Links, shortcut references.text: -------------------------------------------------------------------------------- 1 | This is the [simple case]. 2 | 3 | [simple case]: /simple 4 | 5 | 6 | 7 | This one has a [line 8 | break]. 9 | 10 | This one has a [line 11 | break] with a line-ending space. 12 | 13 | [line break]: /foo 14 | 15 | 16 | [this] [that] and the [other] 17 | 18 | [this]: /this 19 | [that]: /that 20 | [other]: /other 21 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Literal quotes in titles.html: -------------------------------------------------------------------------------- 1 |

Foo bar.

2 | 3 |

Foo bar.

4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Literal quotes in titles.text: -------------------------------------------------------------------------------- 1 | Foo [bar][]. 2 | 3 | Foo [bar](/url/ "Title with "quotes" inside"). 4 | 5 | 6 | [bar]: /url/ "Title with "quotes" inside" 7 | 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Nested blockquotes.html: -------------------------------------------------------------------------------- 1 |
2 |

foo

3 | 4 |
5 |

bar

6 |
7 | 8 |

foo

9 |
10 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Nested blockquotes.text: -------------------------------------------------------------------------------- 1 | > foo 2 | > 3 | > > bar 4 | > 5 | > foo 6 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Strong and em together.html: -------------------------------------------------------------------------------- 1 |

This is strong and em.

2 | 3 |

So is this word.

4 | 5 |

This is strong and em.

6 | 7 |

So is this word.

8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Strong and em together.text: -------------------------------------------------------------------------------- 1 | ***This is strong and em.*** 2 | 3 | So is ***this*** word. 4 | 5 | ___This is strong and em.___ 6 | 7 | So is ___this___ word. 8 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Tabs.html: -------------------------------------------------------------------------------- 1 |
    2 |
  • this is a list item 3 | indented with tabs

  • 4 | 5 |
  • this is a list item 6 | indented with spaces

  • 7 |
8 | 9 |

Code:

10 | 11 |
this code block is indented by one tab
12 | 
13 | 14 |

And:

15 | 16 |
    this code block is indented by two tabs
17 | 
18 | 19 |

And:

20 | 21 |
+   this is an example list item
22 |     indented with tabs
23 | 
24 | +   this is an example list item
25 |     indented with spaces
26 | 
27 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Tabs.text: -------------------------------------------------------------------------------- 1 | + this is a list item 2 | indented with tabs 3 | 4 | + this is a list item 5 | indented with spaces 6 | 7 | Code: 8 | 9 | this code block is indented by one tab 10 | 11 | And: 12 | 13 | this code block is indented by two tabs 14 | 15 | And: 16 | 17 | + this is an example list item 18 | indented with tabs 19 | 20 | + this is an example list item 21 | indented with spaces 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Tidyness.html: -------------------------------------------------------------------------------- 1 |
2 |

A list within a blockquote:

3 | 4 |
    5 |
  • asterisk 1
  • 6 |
  • asterisk 2
  • 7 |
  • asterisk 3
  • 8 |
9 |
10 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/russross/blackfriday/testdata/Tidyness.text: -------------------------------------------------------------------------------- 1 | > A list within a blockquote: 2 | > 3 | > * asterisk 1 4 | > * asterisk 2 5 | > * asterisk 3 6 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/shurcooL/sanitized_anchor_name/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.4 4 | install: 5 | - go get golang.org/x/tools/cmd/vet 6 | script: 7 | - go get -t -v ./... 8 | - diff -u <(echo -n) <(gofmt -d ./) 9 | - go tool vet ./ 10 | - go test -v -race ./... 11 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/shurcooL/sanitized_anchor_name/README.md: -------------------------------------------------------------------------------- 1 | sanitized_anchor_name [![Build Status](https://travis-ci.org/shurcooL/sanitized_anchor_name.svg?branch=master)](https://travis-ci.org/shurcooL/sanitized_anchor_name) 2 | ===================== 3 | 4 | Package `sanitized_anchor_name` provides a func to create sanitized anchor names. 5 | 6 | Its logic can be reused by multiple packages to create interoperable anchor names and links to those anchors. 7 | 8 | At this time, it does not try to ensure that generated anchor names are unique, that responsibility falls on the caller. 9 | 10 | Example 11 | ======= 12 | 13 | ```Go 14 | anchorName := sanitized_anchor_name.Create("This is a header") 15 | 16 | fmt.Println(anchorName) 17 | 18 | // Output: 19 | // this-is-a-header 20 | ``` 21 | 22 | License 23 | ------- 24 | 25 | - [MIT License](http://opensource.org/licenses/mit-license.php) 26 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/shurcooL/sanitized_anchor_name/main.go: -------------------------------------------------------------------------------- 1 | // Package sanitized_anchor_name provides a func to create sanitized anchor names. 2 | // 3 | // Its logic can be reused by multiple packages to create interoperable anchor names 4 | // and links to those anchors. 5 | // 6 | // At this time, it does not try to ensure that generated anchor names 7 | // are unique, that responsibility falls on the caller. 8 | package sanitized_anchor_name 9 | 10 | import "unicode" 11 | 12 | // Create returns a sanitized anchor name for the given text. 13 | func Create(text string) string { 14 | var anchorName []rune 15 | var futureDash = false 16 | for _, r := range []rune(text) { 17 | switch { 18 | case unicode.IsLetter(r) || unicode.IsNumber(r): 19 | if futureDash && len(anchorName) > 0 { 20 | anchorName = append(anchorName, '-') 21 | } 22 | futureDash = false 23 | anchorName = append(anchorName, unicode.ToLower(r)) 24 | default: 25 | futureDash = true 26 | } 27 | } 28 | return string(anchorName) 29 | } 30 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/shurcooL/sanitized_anchor_name/main_test.go: -------------------------------------------------------------------------------- 1 | package sanitized_anchor_name_test 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/shurcooL/sanitized_anchor_name" 7 | ) 8 | 9 | func ExampleCreate() { 10 | anchorName := sanitized_anchor_name.Create("This is a header") 11 | 12 | fmt.Println(anchorName) 13 | 14 | // Output: 15 | // this-is-a-header 16 | } 17 | 18 | func ExampleCreate2() { 19 | fmt.Println(sanitized_anchor_name.Create("This is a header")) 20 | fmt.Println(sanitized_anchor_name.Create("This is also a header")) 21 | fmt.Println(sanitized_anchor_name.Create("main.go")) 22 | fmt.Println(sanitized_anchor_name.Create("Article 123")) 23 | fmt.Println(sanitized_anchor_name.Create("<- Let's try this, shall we?")) 24 | fmt.Printf("%q\n", sanitized_anchor_name.Create(" ")) 25 | fmt.Println(sanitized_anchor_name.Create("Hello, 世界")) 26 | 27 | // Output: 28 | // this-is-a-header 29 | // this-is-also-a-header 30 | // main-go 31 | // article-123 32 | // let-s-try-this-shall-we 33 | // "" 34 | // hello-世界 35 | } 36 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | 25 | 26 | *.pem 27 | .DS_Store 28 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Cory Jacobsen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/amber/example.amber: -------------------------------------------------------------------------------- 1 | extends layouts/base 2 | 3 | block content 4 | p This is the page content! 5 | ul 6 | li This is 7 | li Some more 8 | li #{VarTwo} -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/amber/layouts/base.amber: -------------------------------------------------------------------------------- 1 | html 2 | head 3 | title Page Title 4 | body 5 | div#header 6 | ul 7 | li Home 8 | li Menu 9 | li About 10 | li #{VarOne} 11 | block content -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/admin/index.tmpl: -------------------------------------------------------------------------------- 1 |

Admin {{.}}

2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/another_layout.tmpl: -------------------------------------------------------------------------------- 1 | another head 2 | {{ yield }} 3 | another foot 4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/content.tmpl: -------------------------------------------------------------------------------- 1 |

{{ . }}

2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/current_layout.tmpl: -------------------------------------------------------------------------------- 1 | {{ current }} head 2 | {{ yield }} 3 | {{ current }} foot 4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/delims.tmpl: -------------------------------------------------------------------------------- 1 |

Hello {[{.}]}

-------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/hello.tmpl: -------------------------------------------------------------------------------- 1 |

Hello {{.}}

2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/hypertext.html: -------------------------------------------------------------------------------- 1 | Hypertext! 2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/basic/layout.tmpl: -------------------------------------------------------------------------------- 1 | head 2 | {{ yield }} 3 | foot 4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/unrolled/render/fixtures/custom_funcs/index.tmpl: -------------------------------------------------------------------------------- 1 | {{ myCustomFunc }} 2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/bind/einhorn_stub.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package bind 4 | 5 | import ( 6 | "net" 7 | ) 8 | 9 | func einhornInit() {} 10 | func einhornAck() {} 11 | func einhornBind(fd int) (net.Listener, error) { return nil, nil } 12 | func usingEinhorn() bool { return false } 13 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/bind/systemd.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package bind 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | const systemdMinFd = 3 11 | 12 | var systemdNumFds int 13 | 14 | // Unfortunately this can't be a normal init function, because their execution 15 | // order is undefined, and we need to run before the init() in bind.go. 16 | func systemdInit() { 17 | pid, err := envInt("LISTEN_PID") 18 | if err != nil || pid != os.Getpid() { 19 | return 20 | } 21 | 22 | systemdNumFds, err = envInt("LISTEN_FDS") 23 | if err != nil { 24 | systemdNumFds = 0 25 | return 26 | } 27 | 28 | // Prevent fds from leaking to our children 29 | for i := 0; i < systemdNumFds; i++ { 30 | syscall.CloseOnExec(systemdMinFd + i) 31 | } 32 | } 33 | 34 | func usingSystemd() bool { 35 | return systemdNumFds > 0 36 | } 37 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/bind/systemd_stub.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package bind 4 | 5 | func systemdInit() {} 6 | func usingSystemd() bool { return false } 7 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/graceful/einhorn.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package graceful 4 | 5 | import ( 6 | "os" 7 | "strconv" 8 | "syscall" 9 | ) 10 | 11 | func init() { 12 | // This is a little unfortunate: goji/bind already knows whether we're 13 | // running under einhorn, but we don't want to introduce a dependency 14 | // between the two packages. Since the check is short enough, inlining 15 | // it here seems "fine." 16 | mpid, err := strconv.Atoi(os.Getenv("EINHORN_MASTER_PID")) 17 | if err != nil || mpid != os.Getppid() { 18 | return 19 | } 20 | stdSignals = append(stdSignals, syscall.SIGUSR2) 21 | } 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/graceful/listener/shard_test.go: -------------------------------------------------------------------------------- 1 | // +build amd64 2 | 3 | package listener 4 | 5 | import ( 6 | "testing" 7 | "unsafe" 8 | ) 9 | 10 | // We pack shards together in an array, but we don't want them packed too 11 | // closely, since we want to give each shard a dedicated CPU cache line. This 12 | // test checks this property for x64 (which has a 64-byte cache line), which 13 | // probably covers the majority of deployments. 14 | // 15 | // As always, this is probably a premature optimization. 16 | func TestShardSize(t *testing.T) { 17 | s := unsafe.Sizeof(shard{}) 18 | if s < 64 { 19 | t.Errorf("sizeof(shard) = %d; expected >64", s) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/graceful/serve.go: -------------------------------------------------------------------------------- 1 | // +build !go1.3 2 | 3 | package graceful 4 | 5 | import ( 6 | "net" 7 | "net/http" 8 | "time" 9 | 10 | "github.com/zenazn/goji/graceful/listener" 11 | ) 12 | 13 | // About 200 years, also known as "forever" 14 | const forever time.Duration = 200 * 365 * 24 * time.Hour 15 | 16 | // Serve behaves like the method on net/http.Server with the same name. 17 | func (srv *Server) Serve(l net.Listener) error { 18 | // Spawn a shadow http.Server to do the actual servering. We do this 19 | // because we need to sketch on some of the parameters you passed in, 20 | // and it's nice to keep our sketching to ourselves. 21 | shadow := *(*http.Server)(srv) 22 | 23 | if shadow.ReadTimeout == 0 { 24 | shadow.ReadTimeout = forever 25 | } 26 | shadow.Handler = middleware(shadow.Handler) 27 | 28 | wrap := listener.Wrap(l, listener.Deadline) 29 | appendListener(wrap) 30 | 31 | err := shadow.Serve(wrap) 32 | return peacefulError(err) 33 | } 34 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/github.com/zenazn/goji/web/mutil/mutil.go: -------------------------------------------------------------------------------- 1 | // Package mutil contains various functions that are helpful when writing http 2 | // middleware. 3 | package mutil 4 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/context/withtimeout_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package context_test 6 | 7 | import ( 8 | "fmt" 9 | "time" 10 | 11 | "golang.org/x/net/context" 12 | ) 13 | 14 | func ExampleWithTimeout() { 15 | // Pass a context with a timeout to tell a blocking function that it 16 | // should abandon its work after the timeout elapses. 17 | ctx, _ := context.WithTimeout(context.Background(), 100*time.Millisecond) 18 | select { 19 | case <-time.After(200 * time.Millisecond): 20 | fmt.Println("overslept") 21 | case <-ctx.Done(): 22 | fmt.Println(ctx.Err()) // prints "context deadline exceeded" 23 | } 24 | // Output: 25 | // context deadline exceeded 26 | } 27 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/README: -------------------------------------------------------------------------------- 1 | These test cases come from http://www.w3.org/International/tests/html5/the-input-byte-stream/results-basics 2 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shumipro/meetapp/a2fdcc1df38a5d0a471cc524998dab0c46c10cf3/Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shumipro/meetapp/a2fdcc1df38a5d0a471cc524998dab0c46c10cf3/Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/entity_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package html 6 | 7 | import ( 8 | "testing" 9 | "unicode/utf8" 10 | ) 11 | 12 | func TestEntityLength(t *testing.T) { 13 | // We verify that the length of UTF-8 encoding of each value is <= 1 + len(key). 14 | // The +1 comes from the leading "&". This property implies that the length of 15 | // unescaped text is <= the length of escaped text. 16 | for k, v := range entity { 17 | if 1+len(k) < utf8.RuneLen(v) { 18 | t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v)) 19 | } 20 | if len(k) > longestEntityWithoutSemicolon && k[len(k)-1] != ';' { 21 | t.Errorf("entity name %s is %d characters, but longestEntityWithoutSemicolon=%d", k, len(k), longestEntityWithoutSemicolon) 22 | } 23 | } 24 | for k, v := range entity2 { 25 | if 1+len(k) < utf8.RuneLen(v[0])+utf8.RuneLen(v[1]) { 26 | t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v[0]) + string(v[1])) 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/example_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This example demonstrates parsing HTML data and walking the resulting tree. 6 | package html_test 7 | 8 | import ( 9 | "fmt" 10 | "log" 11 | "strings" 12 | 13 | "golang.org/x/net/html" 14 | ) 15 | 16 | func ExampleParse() { 17 | s := `

Links:

` 18 | doc, err := html.Parse(strings.NewReader(s)) 19 | if err != nil { 20 | log.Fatal(err) 21 | } 22 | var f func(*html.Node) 23 | f = func(n *html.Node) { 24 | if n.Type == html.ElementNode && n.Data == "a" { 25 | for _, a := range n.Attr { 26 | if a.Key == "href" { 27 | fmt.Println(a.Val) 28 | break 29 | } 30 | } 31 | } 32 | for c := n.FirstChild; c != nil; c = c.NextSibling { 33 | f(c) 34 | } 35 | } 36 | f(doc) 37 | // Output: 38 | // foo 39 | // /bar/baz 40 | } 41 | -------------------------------------------------------------------------------- /Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/adoption02.dat: -------------------------------------------------------------------------------- 1 | #data 2 | 12

34 3 | #errors 4 | #document 5 | | 6 | | 7 | | 8 | | 9 | | "1" 10 | | 11 | | "2" 12 | | 13 | |

14 | | 15 | | "3" 16 | | "4" 17 | 18 | #data 19 |

20 | #errors 21 | #document 22 | | 23 | | 24 | | 25 | | 26 | |
27 | | 28 | |