2015年4月6日月曜日

StackEditとBloggerの連携

StackEditとBloggerの連携について.

何度かStackEditでMarkdown記述→Bloggerに投稿の流れを試しましたが,いろいろ問題が出たのでそのまとめでも.
内容については以下.(この記事はStackEdit→Bloggerで書いてます.)

  1. StackEditの始め方
  2. StackEditの記述をBloggerに投稿
  3. Bloggerとのテンプレートのすり合わせ

まずは1. StackEditの始め方から.

StackEditは基本的にブラウザで使用します.(というかこれ以外知らない)
まずはStackEditのサイトにアクセス.

StackEditのトップ

こんな感じの画面になるはず.
最初はHello!か何かの記事がデフォルトで表示されていると思うので,右上のフォルダ(ディレクトリ)アイコンからNew Documentを選択.
このとき,Please consider sponsoring StackEdit for $5/year (or sign in if you're already a sponsor).とか出ますが,無料で使えるので気にせずOKを.

すると,さっきのようにごちゃごちゃしていない,きれいな状態のページが出るはず.
ここにMarkdown形式で記述していきます.
記述方法に関しては他のサイトを参照してください.

右上の部分に記事のタイトルが,画面の左にMarkdownで記述するエディタが,画面の右にMarkdownのHTML上での実際の記事が映し出されます.

次に,2.StackEditの記述をBloggerに投稿します.

投稿は簡単で,画面左上のシャープマーク#を押し,出てくるリストの中から,Publish (Export to the web)を選択します.

Publishの画面

こんな画面が出てくるので,Blog URLに自分のBlogger URLを記入.
Update existing post IDは空でいいです.
FormatはHTMLを選びましょう.

さっきと同じ,スポンサーになってください的なメッセージが出るけど,そのままOKを押せば大丈夫です.

すると,Bloggerの認証を求められるので,流れのまま認証してください.

これで簡単にBloggerでMarkdownで書いた記事が更新……できない!

厳密には更新できているんですが,数式やらが表示できません.
試しに,
$$\frac{a}{b}$$$
と書いて更新してみましょう.
StackEdit上では数式が表示されているんですが,Bloggerではまったく表示されていません.
また,見出しのオサレな背景↓

見出し

も表示できていません.

これは,記事のスタイルがBloggerのCSSスタイルになってしまっているから.
なのでStackEditのMarkdown用CSSをlinkしましょう.

Blogger編集画面のテンプレートから,HTMLの編集を選択.
上のほうに<head>~</head>で囲まれた部分があるので,その中に,

<link rel="stylesheet" href="https://stackedit.io/res-min/themes/base.css" />
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>

を追加しましょう.
これで変更を保存すると,BloggerでもMarkdownのようなオサレな表示ができるようになります.

ただし,条件付きで.

このテンプレートをそのまま使うと,Bloggerの方で設定した背景色やら見出し文字の大きさやらが崩れてしまいます.

これを防ぐには,3.Bloggerとのテンプレートのすり合わせをする必要が.

実はBloggerで設定したCSSと,linkしたCSSが競合してしまっています.
なので,Markdownのスタイルシートであるhttps://stackedit.io/res-min/themes/base.cssを拾ってきて,自前で書き換える必要があります.

これが一番面倒.

とりあえず今回は,linkを外して,拾ってきたCSSファイルの見出しに関する部分と背景色に関する部分だけ削除することにしました.

削除したものが以下.いくらなんでも長いので開けるときは注意してください.
<style>~</style><link>の行の代わりに置いてください.
これでMarkdownのオサレな記述がBloggerでも問題なく表示できるはず.

以上,本文でした.

以下,スタイル部分の中身です.

2015年4月5日日曜日

Stack EditでのMarkdown記法テスト

Stack EditorでのMarkdown記法テストの続き.

Template形式でのアップロードでは,Bloggerのテンプレート自体に影響が出てしまうようで,使わないほうが無難かも.

Stack EditでのMarkdown記法テスト

--- tags: ["other"] --- Markdown ========= `Stack Editor`というMarkdown形式で書いた文章をHTMLに自動で変換して,Bloggerに投稿してくれるサービスのテスト. リストも簡単だったり,Syntax Highlightもあるとかなんとか. * リストのテスト * bulletで表示されるのかな? > 小見出しも簡単に作れるのがよさそう. ちょっと前に,`Markdown→LaTeX`をやってみたりしたけど,TeXの場合は直接書くほうが楽だったんで,すぐにお蔵入りに. >数式も簡単に書けるみたい. $$ e^{i \theta}=\cos{\theta}+i\sin{\theta}$$ 便利な世の中になりました. Stack Editorでエクスポートする際の選択肢に, * Markdown形式 * HTML形式 * Template形式 の三つがあるので,それぞれどうなるか試してみる. > これはTemplate形式.

Stack EditでのMarkdown記法テスト

Markdown

Stack EditorというMarkdown形式で書いた文章をHTMLに自動で変換して,Bloggerに投稿してくれるサービスのテスト.

リストも簡単だったり,Syntax Highlightもあるとかなんとか.

  • リストのテスト
  • bulletで表示されるのかな?

小見出しも簡単に作れるのがよさそう.

ちょっと前に,Markdown→LaTeXをやってみたりしたけど,TeXの場合は直接書くほうが楽だったんで,すぐにお蔵入りに.

数式も簡単に書けるみたい.

便利な世の中になりました.

Stack Editorでエクスポートする際の選択肢に,

  • Markdown形式
  • HTML形式
  • Template形式

の三つがあるので,それぞれどうなるか試してみる.

これはTemplate形式.

近況

久しぶりの更新です.

久しぶりという次元ではないかもしれないです.(前回の更新が1年以上前の2013年11月24日)

怒涛の2015年3月が終わったので,
一年間の近況(もはや近況ではないのかもしれない)について少し.

2013年
12月
当時B4(学部4年)なので,卒論の執筆.
1月の中旬提出なのでこの時期は大変でした.

2014年
1月
卒論提出と卒論の発表会.
実はそこまで追い込まれてはなかったですけど,意外とブログとか忘れていたり.

2-3月
国際会議の論文執筆.津
前回のオーストリアの国際会議は,著者は先生だったので今回は自分で書いてみようということに.
これまで英語で文章を書いたことない学生が必死で書きました.

4-5月
授業とか実験とかいろいろ.
M1(修士1年)になり,授業も始まって新年度.

6月
前に出した国際会議に参加.
プレゼンの準備とかいろいろ.
場所はスウェーデンのカールスタードでした.

7-8月
8月の中ごろにはちょっとした短期留学でアメリカのカリフォルニアに.
夏場でありながらなかなか涼しかった思い出が.
このあたりのことはまた記事にするかも.

9-10月
大学院生らしく実験とか.

11月
次の国際会議の論文執筆.
実は出すたびにテーマが変わっていたりします.

12月
後輩の卒業論文手伝い.
1月が提出&プレゼンなのでなかなか忙しかったり.

2015年
1月
後輩の卒論提出&発表.
自分もショートペーパーと論文抱えていたのでずっと書きっぱなし.

2月
研究やら実験やら

3月
1週目の土日:妹の引越し先探しに東京まで.
2週目の土日:機会学会の関西の学生委員なので,卒業研究発表会というイベントを開催.
3週目の土日:11月に書いた国際会議論文の発表でシンガポールへ.
4週目:修士の中間報告会+就職活動の説明会+エントリーシート提出.

とまあ,1年を通してこんな感じでした.
4月になって,やっと休みができたのでちょっと更新.

自分の備忘録にでもなれば.

モータのPID制御2(偏差無し制御,I制御)

一年以上期間が開きましたが,せっかくなんで前回の続きでも.

モーターでPID制御を使う,といった場合,何をしたいかというと,前回も述べたとおり
  • 一定の速度で回したい
  • ある角度で合わせたい
  • 指定した動作をさせたい
がありましたね.前回同様,2つめの「ある角度で合わせたい」という機能に絞ります.

前回は,指定された角度と現在の角度を引き算して,その差の分だけ入力するのがP制御という話をしました(したと思う).

今回は,PIDの二つ目のI制御(積分制御)について.

2013年12月8日日曜日

モータのPID制御1(サーボ制御の基礎,P制御)

久しぶりの記事があんなのだけでは少し寂しいので,よくあるPID制御について少し.
メカトロ系の研究室に配属されたこともあり,制御の話も少し耳にするので備忘録になれば.

まず,PID制御ってなんじゃ,って話.

Proportional(比例項),Integral(積分項),Differential(微分項)の3要素により
物体を制御する…
なんて言っちゃえばお終いなんですけど.それじゃちょっと...

一般的にモータ制御の目的というと,
  • 一定の速度で回したい
  • ある角度で合わせたい
  • 指定した動作をさせたい
とかですね.今回は2つめの,「ある角度で合わせたい」という機能に絞ってみます. たとえば,現在の角度から90度だけ回したい,とか.

高校生の頃は正直,やっすいギア付きモータしか知らなかったので,
「90度になったらOFFにすればいいじゃん」
とか思ってたんですけど.

実際には慣性力のよく効くモータ(e.g.ギア無しのモータとか)では,ON-OFFだと,
早すぎて回り過ぎ→モータを逆転させる→反対側に行き過ぎる
の繰り返し(振動)みたいになるんですよね.

これを解決するのがPIDなどの制御.(実際にはもっと色々あるけど)

とまあ,前置きはこれくらいで.

PIDってなんじゃ,っていう僕の高校時代くらいの人が読めるレベルで書いてます.