markdown

はじめての被PullRequest

先日公開したマークダウンエディターに早速PullRequestやIssueが登録された。 相変わらずソーシャルコーディングコワイけど、自分のプロダクトを見て、無償でアドバイスをくれる人がいるってすごく喜ばしいことです。 Thank you @balupton

でgitやGithubの使い方をよーく理解していないのでわかんないことが多くて困る。 とりあえずマージはREADMEファイルの簡単な修正だったので、github上で1クリックでできた。超便利。 でIssueにあった「markedっていうライブラリ使ってみ」、ってのも対応した。 gitのコミットメッセージからissueをcloseできたりするんですね。

でプロダクトそのものはgithub-pages上に公開しているので、 gh-pagesのブランチにmasterを同期させたかったけどやり方がよーわからん。 自分のmasterとgh-pagesは基本的にモジュールは同じなのですが、コミット履歴がちがうからなのか、

git rebase master
              

ってやったらまーなんかconflictが大量発生でパニックに。 なおそうとなんかいろいろやってたら、masterの履歴も更新されたり、グダグダに。 で困ったときは

git checkout -- <file>
              

とかで元にもどしたりして、 最終的にmasterとgh-pagesが履歴も含めて完全に同じ状態になったっぽいので良しとしよう。

いやーこの辺りのgitの使い方をしっかり覚えておかないと、 今後OSSで人様に迷惑かけることになりそうでコワイ。 まじで勉強しよう。

関係ないけどjsとNode.jsの本も

サーバサイドJavaScript Node.js入門

合わせて注文した、全部で¥9,000…


ちなみにMarkdown-Editのほうは 以下の機能追加をしたのでオフラインでも便利に使えるよ!

  • localStorage サポート
    inputの内容をlocalStorageにキャッシュするので、メモ帳として使えます。TODOとかに便利

  • marked.js & highlight.js サポート
    ConverterをGithubAPIかmarkedを選べるようにしました。markedを選んだ場合はGFMのTableとかAnchorとか一部制限はあるけど、早いしOfflineでも使えるぜー。

GithubのAPIを使ってMarkdownEditorを作った。

マークダウンのメモとか、ReadMe.mdを作る時にどうぞ。

Markdown-Edit

javascriptでできているのでgithub-pageで公開しています。

Reopsitory

でかなりハマったのが、Cross Origin Resource Sharing (CORS)について。 GithubからのResponseヘッダにAccess-Control-Allow-Originがないとブラウザでエラーになってしまうので、$.ajaxの書き方変えてみたり、iframe通してみたり色々悩みました。

で結局いろいろググってわかったのは、ただ登録すればよかっただけでした。 OAuth使わないけどアプリのURL登録してトークン発行みたいなことをやるとレスポンスにちゃんと

Access-Control-Allow-Origin:http://georgeosddev.github.com
              

てはいっていてオッケー。OAuth用のトークンは一切使用しません。 これについてCoderwallのTipsにも書いてみたよ。 Github API with Access-Control-Allow-Origin in Response Header

あとBootstrap以外の部分でのcssとか、CodeMirrorの使い方とか、Blobオブジェクトとか結構勉強になった。gitもこまめにローカルでコミットしてgithubへは適度にpushすればいいって使い方もわかってきたので良かった。 それと今回は英語もかなり頑張ったので自己満足度は高いよ。