ページ

2012-11-04

BloggerでjQuery・CSSを効率良く管理したい

  • JavaScriptとCSSを一箇所にまとめて効率良く編集したい。
    • SyntaxHighlighter用コードと小さなスクリプトを同じ場所に。
  • ファイルは一つにまとめたい。
    • jQueryを使ったスクリプトを書きたい。
    • AutoPagerize対応用コードも。

効率良く編集

設定画面からBloggerテンプレートデザイナーや直接テンプレートのHTMLを編集するのはめんどくさい。一箇所に埋め込んでおいて、自分のエディタから入力したいのでDropboxを使う作戦でいってみる。

埋め込み場所

BloggerでJavaScript・CSSを埋め込む方法は、テンプレートのHTML編集かレイアウトのガジェット(HTML/JavaScriptモジュール)のどちらか。
始めにサイドバーのガジェットに入れてみたが、cssの適用が遅いので却下。
「テンプレートデザイナー - アドバンス - Add CSS」はJSの埋め込み場所とバラけるので使わない方針で。
結局テンプレート側にまとめて書くようにした。head閉じタグの手前に挿入。
<!-- SyntaxHighlighter start -->
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>
<script language='javascript' type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>
<style type='text/css'>
/* SyntaxHighlighter: adjustment for chrome */
.syntaxhighlighter .gutter .line {
  word-wrap: normal;
}
.syntaxhighlighter .code {
  word-wrap: normal;
}
.syntaxhighlighter .toolbar {
  display: none;
}
</style>
<!-- SyntaxHighlighter end -->

<!-- MyScripts start -->
<link href='https://dl.dropbox.com/u/1058440/misc/makev.blogspot/che.css' rel='stylesheet' type='text/css'/>
<script src="https://dl.dropbox.com/u/1058440/misc/makev.blogspot/che.js"></script>
<!-- MyScripts end -->


結果

Dropboxで共有しているファイルを書き換えて数秒後に反映されるのでわりと快適になった。


付録

Dropboxに置いたファイル内容も一応貼り付けておく。CSSのfont-sizeをどうするべきか揺れている。
che.js:小さなスクリプトはここに書く。
var jqscript = document.createElement('script');
jqscript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js';
jqscript.charset = 'UTF-8';
document.getElementsByTagName('head')[0].appendChild(jqscript);
var t = setInterval(function() {
  if (window.jQuery) {
    clearInterval(t);
    //ここにjQueryロード後実行したいコードを書く
    myFunc();
  }
}, 100);

function myFunc() {
  jQuery(function($) {
    // AutoPagerizeされたときに実行したいものはここに。
    var InsertNode = function(evt) {
      // SyntaxHighlighter
      SyntaxHighlighter.highlight();
    };
    $(document).bind('AutoPagerize_DOMNodeInserted AutoPagerAfterInsert', InsertNode);
    if (window.addEventListener) { 
      window.addEventListener('AutoPatchWork.DOMNodeInserted', InsertNode, false);
    }

    // 投稿画面にあるwysiwygエディタのフォントサイズ指定「小(x-small)」が
    // 小さすぎるので、動的にsmallに変更。「最小(xx-small)」も含む。
    $('.post-body [style*="x-small"], .entry-content [style*="x-small"]').each(function() {
      $(this).css('font-size', 'small');
    });
  });
}
 

che.css:テンプレートを修正したい場合に使う。
body {
  font-size: 85%;
  /*font-size: 15px;*/
}
pre {
  background-color: #F8F8F8;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  padding: 6px 10px;
  overflow: auto;
}
code {
  background-color: #F8F8F8;
  border: 1px solid #EAEAEA;
  border-radius: 3px;
  margin: 0 2px;
  padding: 0 5px;
  overflow: auto;
}
pre, code, tt {
  font-family: Consolas,"Liberation Mono",Courier,monospace;
}
blockquote {
  border-left: 5px solid #dddddd;
  color: #777777;
  padding: 0 15px;
}
::selection {
  background-color: pink;
}
::-moz-selection {
  background-color: pink;
}
h2 {
  /*font-size: 25px;*/
  font-size: 140%;
  text-transform: none;
  margin: 0;
}
h3 {
  /*font-size: 20px;*/
  font-size: 130%;
}
h3 {
  font-size: 120%;
}
h3.post-title,
h3.entry-title {
  font-size: 160%;
}
.sidebar h2 {
  font-size: 13px;
  margin-bottom: 10px;
}
.date-header span {
  font-size: 15px;
  font-weight: normal;
}

bloggerのwysiwygエディタのフォントサイズ指定に不満

投稿画面のwysiwygエディタ
フォントサイズ指定の
「最小」は style="font-size: xx-small;"
「小」は style="font-size: x-small;"
「標準」は何も付かない。
「大」は style="font-size: large;"
「最大」は style="font-size: x-large;"

小のx-smallは小さすぎるのでsmallにしてほしい。large側は普通なのでバグな気がする。

どうすればこの問題を解消できるだろうか。
  • HTML編集モードにx-smallをsmallに置換するボタンを付ける。
  • フォントサイズ指定の「小」を封印する。
  • JavaScriptでサイズ操作

追記

jQueryで動的にx-smallとxx-smallをsmallに変更するようにしてみた。多分これが一番楽。
$('.post-body [style*="x-small"], .entry-content [style*="x-small"]').each(function() {
  $(this).css('font-size', 'small');
});

埋め込み方法はこちらに書いた。
BloggerでjQuery・CSSを効率良く管理したい - cherenkov's暗中模索blog


2012-11-03

bloggerのCSSを効率良くカスタマイズする方法

デバッグ時はdropboxにcssファイルを置いて編集する。

テンプレートのHTML編集でheadの閉じタグの前にdropboxからcssを読み込むためのコードを貼る。
<link href="https://dl.dropbox.com/u/1058440/misc/makev.blogspot/che.css" rel="stylesheet" type="text/css"></link>
あとで書く。

bloggerのCSSを確認・変更するために便利なページ

このページを使って選択したテンプレートのデザイン/CSSを確認する。便利なのはたぶん自分だけ。


見出し:

見出し(h2)

小見出し(h3)

準見出し(h4)

標準

---------------------

フォントシリーズ:
最小(xx-small) ABCDEFG
小(x-small) ABCDEFG
標準 ABCDEFG
大(large) ABCDEFG
最大(x-large) ABCDEFG
太字(ボールド)ABCDEFG
斜体(イタリック)ABCDEFG
下線(アンダーバー)
取り消し線

---------------------

リンクの表示確認


altテキスト
旅の思い出
動画に関するプロパティ・キャプションは無いみたい
----------------------



番号付きリスト:
  1. アンパンマン
    1. あんぱん
      1. ジャムおじさんが作る。
    2. 空を飛べる。
    3. 水に弱い。
  2. リストの入れ子はTabキー。Shift+Tab で上に戻る。
  3. リスト中の改行は Shift+Enter

箇条書き:
  • ももクロ
    • かなこぉ↑
      • 茶畑
    • ももか
      • あだ名
        • ケバブ

引用(blockquote):
梨くったら夏おわり(日村勇紀)

pre:
<link href="https://dl.dropbox.com/u/1058440/misc/makev.blogspot/che.css" rel="stylesheet" type="text/css"></link>


code:
ctrl + alt +del


長文でline-height、word-break、word-wrapなどを確認:

ブラウンによるオシロスコープをはじめとして、ビデオモニター、テレビ受像器、コンピューターなどのディスプレイなど、多く用いられてきた。
また、テレビの代名詞のように扱われることもあり、たとえばテレビの番組などを指して「ブラウン管の向こうに~」といったような使われ方をすることもある。YouTubeの "Tube"もこの真空管に由来する。「ブラウン管のスター」という言葉は映画スターを指す「銀幕のスター」と対置されよう。
ブラウンが発明したのは、冷陰極管で、クルックス管に、陰極線によって光る蛍光面を付けたものであった。今日一般的なブラウン管では、電子銃を利用している。
ブラウン管式のテレビでは、スイッチを入れたらすぐ表示できるようにするため、および加熱と冷却、通電と放電の繰返しによって寿命が短くなることを防ぐため、いくらかの回路を通電しっぱなしにするため待機電力を消費した。真空管時代にはこのことをうたった「ポンパ」という商品名もある。
スイッチを入れた時に聞こえる『ブーン』という音は残留磁場を消磁する音である。動作中には非常に高い周波数の『キーン』という音が、特に高域の聴覚が敏感な子供には聞こえるが、これは水平走査の音である。
ブラウン管 - Wikipedia





rmコマンドをごみ箱に移動する動作に置き換える

Lubuntu12.10

andreafrancia/trash-cli
この評判がよさそうなので入れてみる。

インストール

sudo apt-get install python-setuptools
sudo easy_install trash-cli
で終わり。

準備

今回の目的である rm のエイリアスを .zshrc などに書く。
alias rm='trash-put'
source ~/.zshrc

コマンド一覧

trash-put           trashes files and directories.
trash-empty         empty the trashcan(s).
trash-list          list trashed file.
restore-trash       restore a trashed file.
trash-rm            remove individual files from trash can.

動作確認

現在のごみ箱の中身を取得
trash-list

ゴミを投げ入れてみる

echo "frieza" > deathnote
rm deathnote

確認

trash-list
出来た。

ごみ箱を空にする

trash-empty




Linuxあるある

linuxあるある早く言いたい

ひよこユーザから見たノウハウ的なメモ。
  • ホーム以下のなんちゃらディレクトリやファイルを人に伝える場合は、
    ~/.hoge ファイルを~
    ~/.config ディレクトリを~
    とパスの後ろにファイルかディレクトリを明記しないとわからん。
    ~/.config/ のように最後にスラッシュつけるのもいいかな。
  • hoge.desktop ファイルなどを示す際、ただ .desktop ファイルとだけ書くとわからん。普通に ".desktop" ファイルを作成しちゃうので注意。

2012-11-02

Lubuntuのキーバインドを変更する方法

Lubuntu 12.10
  • 変換キー を 半角/全角キー
  • カタカナひらがなキー を Tabキー
にしたい。

現在のキーマップを調べるためにファイルに書き出してみる。
xmodmap -pke > xmodmap_default
エディタで開いて、適当に当たりをつけて対象のkeycodeを確認する。
今回は以下が対象だった。
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 101 = Hiragana_Katakana Romaji Hiragana_Katakana Romaji
このkeycodeに対して上書き設定をしてやる。

~/.Xmodmap ファイルに保存。Xは必ず大文字じゃないとダメ!!(3日位ハマった)
keycode 100 = Zenkaku_Hankaku Kanji Zenkaku_Hankaku Kanji
keycode 101 = Tab ISO_Left_Tab Tab ISO_Left_Tab


次に動作確認。
xmodmap ~/.Xmodmap
して反映させてから、キーを叩いて確認する。OK。


なお ~/.Xmodmap ファイルを作っておくだけでOS起動時にリマップが適用される。
ググると ~/.config/lxsession/Lubuntu/autostart ファイルに @xmodmap ~/.xmodmaprc を書いて保存とか書いてあるサイトが見つかるけど ~/.Xmodmap ファイルだけでよかった。

ちなみに ~/.config/lxsession/Lubuntu/autostart ファイルを設定して再起動すると、デスクトップが真っ暗の状態になった。
その際は落ち着いて、右クリックメニューから PCManFM だかを起動して autostart ファイルを除去してやればいい。右クリックメニューからsign outで再起動すれば直る。
自分はこれをやってLubuntuぶっ壊れた!と思って再セットアップしてしまった。