ラベル テンプレート の投稿を表示しています。 すべての投稿を表示
ラベル テンプレート の投稿を表示しています。 すべての投稿を表示

2016年1月15日金曜日

Open Live Writer で編集中のブログテーマ (テンプレート) を CSS で カスタマイズ

1. サイドバーを消したい

ブログ (Blogger) への投稿は Windows Live Writer から Open Live Writer へ乗り換えた。その結果、入力するためのテンプレートも改めて更新されてしまった。(@_@;

SnapCrab_Untitled - Open Live Writer_2016-1-15_6-11-56_No-00

Windows Live Writer で編集中のブログテーマ (テンプレート) を CSS で カスタマイズした方法と同様の設定をする必要がある。

2. テンプレートファイルの CSS を編集

  • %APPDATA%\OpenLiveWriter\blogtemplates

の中に含まれるランダムな文字列が付けられたフォルダより、Open Live Writer で使用されているテンプレートを見つける。自分の環境では、

  • index.htm
  • index[1].htm

がテンプレートファイルだった。

予め投稿先のブログより、記事に対する CSS の設定を確認しておく。

ここでは、div#main より、float, width 属性を削除した。

SnapCrab_CUsersjute1AppDataRoamingOpenLiveWriterblogtemplatese6eb9f29-500e-4a53-909a-7ac2f6fb317aindex[2]htm _2016-1-15_5-53-6_No-00

これにより、Open Live Writer の方では、サイドバーが表示されなくなる。

SnapCrab_Untitled - Open Live Writer_2016-1-15_6-12-20_No-00

3. テンプレートをクラウド上に保存しておく

PC が壊れた場合に備えて、上記で作成した index.htm を Dropbox の以下の場所に保存しておいた。

  • [Dropbox へのパス]\blog\WindowsLiveWriter\AppData\blogtemplate

2015年5月25日月曜日

手書き用紙・PDF文書を LibreOffice Calc で入力・編集できるように変換

0. 目次

 

1. 大雑把で良いから、手書き用紙・PDF文書を PC で簡単に入力・編集できるようにしたい

手書き用紙やPDF文書を PC で入力しやすくできるよう変換したい。

PDF には、フィールドに文字を入力するための PDFフォーム という機能が用意されている。ただし、様々なサイトで配布されている PDFファイル には、フォーム が設定されていない。そのため、自力で入力フィールドに合わせて文字を入力し、印刷しなければならないことがある。

しかし、繰り返し使う文書である場合、PDFフォーム が設定されていないと、文字入力をする前にフィールドのサイズに合わせて、文字列の範囲を指定しないといけないので手間がかかる。 (+_+)

 

a. Acrobat の PDF フォーム

SnapCrab_2015-05-21_12-00-06_No-0000Acrobat を持っていれば、割と簡単に PDFフォーム を作成できる。(メニューより、表示 > ツール > フォーム)

Acrobat を持っていない場合、いくつかのやり方がある。

 

b. LibreOffice Calc で大雑把に作る

SnapCrab_2015-05-21_11-01-52_No-0000ここでは LibreOffice Calc を利用する。方法としてはかなり大雑把だけれど、手っ取り早い。

ただし、あまり複雑な文書には向いてないし、正攻法という感じはしない。

しかし、表計算の機能を必要とする文書では、お手軽に計算式を利用できるというメリットはある。

 

2. 対象の画像を得る

例えば、名古屋市(暮らしの情報) > 住民票の写し等交付申請書 の場合。

最初に申請書の画像を得る。実際に用紙を持っているなら、スキャナで取り込み画像化する。上記のPDF ファイルからなら、PDF-XChange Viewer で画像としてエクスポートする。

Untitled01 - コピー

 

3. ページ、列幅の設定

a. 余白、ヘッダー、フッターをなくす

次に、LibreOffice Calc を起動し、ページの余白をなくすために 0.00 cm に設定する。

  • メニューより、書式 > ページ

SnapCrab_2015-05-16_00-04-07_No-0000

同ダイアログにおいて、ヘッダーとフッターも付けないようにチェックを外しておく。

SnapCrab_2015-05-16_00-05-17_No-0000

SnapCrab_2015-05-16_00-05-20_No-0000

 

b. 列幅を設定する

予め列幅を 0.10cm に設定しておく。そのために、

  1. 全てのセルを選択しておき、列の見出しで右クリック > 列幅 を選択。
  2. 幅を 0.10 cm に指定する。

SnapCrab_2015-05-16_12-16-36_No-0000

 

4. 対象画像の設定

a. 画像を読込み、背景に配置する

この状態で対象の画像を読み込み、左上に配置する。

その後、画像を右クリック > 整列 > 背景へ を選択する。

SnapCrab_2015-05-16_11-53-35_No-0000

背景に配置した画像を調整したい場合、

  • メニューより、表示 > ナビゲーター

において対象画像を選択することにより、再び操作できるようになる。

SnapCrab_2015-05-21_11-44-20_No-0000

 

b. サイズの微調整

ところで、対象の PDF ファイルは A4 横。オリジナルの画像サイズは 210mm × 297mm。

LibreOffice Calc 4.4.3.2 では、上記の画像を読み込み、印刷プレビューを確認すると A4 サイズに納まらない。そこで、対象画像を縦横 1mm ずつ縮める。

  1. 前述の通り、ナビゲーターで画像を選択し、画像を右クリック > 位置とサイズ を選択。
  2. 「縦横比を固定する」にチェックを入れた後、サイズの幅、高さを 0.10 cm 小さくする。

SnapCrab_2015-05-17_21-23-33_No-0000

この状態で一度「印刷プレビュー」を表示し、閉じると、表計算の入力画面に印刷のガイドが表示される。行の高を少しだけ調整すると、A4 1 枚に納めることができることを確認できる。

 

5. 行の高さとセルの結合

a. 入力フィールドに合わせて、行の高さを調整

次に、入力フィールドやチェックマークのサイズに合わせて、行の高さ上から調整していく。

SnapCrab_2015-05-16_12-16-47_No-0000

 

b. フィールドに合わせてセルの結合

後は、入力フィールド、チェックボックスに該当する箇所に対して、大雑把に「セルの結合」を行なう。

列幅は、最初に 0.10 cm に設定してあるので微調整は必要ないことが多い。セルの結合には、ショートカットキーを割当てておくと便利。

SnapCrab_2015-05-17_21-34-02_No-0000

 

6. 入力のサポート

a. 文字サイズを入力に合わせて変更

入力文字数が変化したときに合わせてフォントサイズを自動で変更されるように、

  • セルの書式設定 > 配置 > プロパティ > セルサイズに合わせて縮小

を選択しておく。

SnapCrab_2015-05-25_05-16-49_No-0000

ただし、「テキストを自動的に折り返す」機能と同時には使えないようだ。

そのような場合は、「テキストを自動的に折り返す」設定をしておき、文字を入力するときに、手動でテキストサイズを設定する。

cf. LibreOffice Calc でセルに複数行を入力

 

b. 計算式を入力

計算で自動的に求めることができるセルには、関数を入力し、書式を設定しておく。

例えば、「日付」を入力するフィールドを自動的に入力したい場合、

  1. 「年、月、日」のセルに =today() を入力
  2. 各セルで右クリック > セルの書式設定 を選択し、ユーザー定義カテゴリーにおいて 日付の書式 を入力する。

SnapCrab_2015-05-25_05-01-26_No-0000

 

c. テンプレートファイルとして保存

最後に、ファイルをテンプレートとして保存する。

メニューより、ファイル > 名前を付けて保存 において、

  • 「ファイルの種類」として「ODF 表計算ドキュメントテンプレート (.ots) (*.ots)」

を選択する。

SnapCrab_2015-05-21_11-33-15_No-0000

これにより、テンプレートファイルを開くと、テンプレートを元に新しく LibreOffice Calc のファイルが作られる。

2013年5月6日月曜日

A4「スケジュール表」(1~7日分)のテンプレート - 手書きで大雑把に予定を立てる

1. 手書きで日程を立てる

何事もいきなり詳細を見据えて考えることは難しい。

日程が詰まっていて、状況に応じて予定を組み立てる必要がある場合、「手書き」に優るものはない。そのようなとき、A4 用紙に以下の表を印刷し、鉛筆で書いたり消したりしながら予定を詰めていく。

PDF ファイル

icon_4b_1921~7日分のフォーマットを用意しておいた。

 

Google スプレッドシートで予定表を印刷する

Google スプレッドシートから必要な分だけ印刷したい場合は、以下のリンク先から行なう。

SnapCrab_No-0195

印刷するには、

  1. 必要な日付分だけ範囲選択をする。
  2. メニューより、ファイル > 印刷

「印刷設定」ダイアログでは、オプションにおいて「選択範囲」をチェックする。

SnapCrab_No-0313

 

2. 自分で予定表のテンプレートを調整したい場合

自分でサイズ調整したい場合は、表計算ソフトの形式でダウンロードする。

  • メニューより、ファイル > 形式を指定してダウンロード

OpenDocument 形式 であれば、オープンソースの LibreOffice で開くことができる。

後は、

  1. 必要なら、左上の 0:00 は適当に時間を変更する。
  2. 「列の幅」を必要な日付だけ調整する。
  3. 「行の高さ」を1ページに収まるようにする。
  4. スケジュール表を印刷する。

案外アナログなツールの方が効率が良い。

最終的にスケジュールが決まったら、Google カレンダーに転記する。

2010年8月21日土曜日

Ubiquity で特定のサイトをプレビューに表示

Firefox のアドオン Ubiquity を使い、そのプレビューに特定のサイトの内容を表示したい。

予め下記のサイトの解説を読んでおき、基本的な書き方を確認。

API の解説は Ubiquity のコマンドで help 。 ハッキング にある 「コマンド API ドキュメント」 を参照。

 

Ubiquity とその他アプリケーションの設定

Ubiquity を使う前に、コマンド help > 各種設定 > 言語設定 において 「Parse 2 を使用」 のチェックをはずす。これがあるとコマンドが思ったように実行されなかった。

「ぴたすちお」 のようなマウスホイールの回転を 「カーソルの下のウィンドウに送る」設定がされている場合、Ubiquity 内のプレビューでスクロールができないので設定をはずしておく必要がある。

 

コマンドの編集

コマンド Command-Editor により、ブラウザ上でコードを編集できる。

「コマンドテンプレートを挿入」 し、不必要なコードを削除。ここではコマンド名の設定とプレビューの表示関数だけ残す。

「ファイルに保存」 すると保存した場所が Ubiquity に記録されるので、後はエディタで直接編集するのが楽。

 

プレビューの表示

例えば、コマンド test を実行して、 Apple のサイトをプレビューに表示させたいとする。

iframe で外部サイトを表示させるなら、

CmdUtils.CreateCommand({
    names: ["test"],
    preview: function preview(pblock, args){
        pblock.innerHTML = '<iframe width="100%" height="475px" src="http://www.apple.com" />';
    },
});

preview 関数が Ubiquity のプレビュー表示に対応しており、その第1引数がプレビュー領域を指し示す。

 

テンプレートの使用

テンプレート機能を使うなら、「API ドキュメント」 より以下の関数を使う。

CmdUtils.renderTemplate(template, data)

Renders a template by substituting values from a dictionary. The templating language used is trimpath, which is defined at http://code.google.com/p/trimpath/wiki/JavaScriptTemplates.

renderTemplate 関数は第一引数がテンプレートで、第二引数は埋め込むデータ。

テンプレート内では、

${dataのプロパティ}

と記述することにより、値が置き換えられる。(詳しくは上記サイトを参照)

CmdUtils.CreateCommand({
    names: ["test"],
    preview: function preview(pblock, args){
        var data = {
            width: "100%",
            height: "475px",
            src: "http://www.apple.com"
        };
        var template = '<iframe width=${width} height=${height} src=${src} />';
        pblock.innerHTML = CmdUtils.renderTemplate(template, data);
    },
});

 

jQuery でアクセス

5 Documentation > Labs/Ubiquity/Bundled Libraries - MozillaWiki によると、

Ubiquity currently includes the following JavaScript libraries:

  • jQuery -- the awesome jQuery library
  • DateJS -- fantastic date natural language parser

Labs/Ubiquity/Ubiquity 0.1 Author Tutorial - MozillaWiki

Because we include jQuery with Ubiquity, it is simple to perform Ajax calls as well as parse returning data.

Ubiquity から他のサイトにアクセスするは jQuery を使えばいいと。

jQuery.get() – jQuery API によると

Description: Load data from the server using a HTTP GET request.

jQuery.get( url, [ data ], [ callback(data, textStatus, XMLHttpRequest) ], [ dataType ] )

  • url A string containing the URL to which the request is sent.
  • data A map or string that is sent to the server with the request.
  • callback(data, textStatus, XMLHttpRequest) A callback function that is executed if the request succeeds.
  • dataType The type of data expected from the server.

これを使うなら、

CmdUtils.CreateCommand({
    names: ["test"],
    preview: function preview(pblock, args){
        jQuery.get("http://www.apple.com", null, function(page){
            pblock.innerHTML = page;
        });
    },
});

 

選択された文字列の取得

URL を表わす文字列`http://XXXXX.XX.XXX’ があった場合、XXXXX.XX.XXX の部分を選択した後、コマンドを入力したらそのサイトをプレビューに表示するように変更したい。

ブラウザ中の選択した文字列を取得するには、API の CmdUtils より、

CmdUtils inherits ContextUtils. The methods are wrapped so that the context argument isn't needed. (i.e. CmdUtils.getSelection("") is equivalent to ContextUtils.getSelection(context, ""))

CmdUtils は ContextUtils を継承しているということなので、API の ContextUtils を見ると、

ContextUtils.getSelection(context, joint = "\n\n")

Returns a string containing the text and just the text of the user's current selection, i.e. with HTML tags stripped out.

joint is an optional string to join multiple selections.

これを使い、

CmdUtils.CreateCommand({
    names: ["test"],
    preview: function preview(pblock, args){
        jQuery.get("http://" + CmdUtils.getSelection(""), null, function(page){
            pblock.innerHTML = page;
        });
    },
});

 

jQuery.get の代替となる関数

CmdUtils には jQuery.get の代替となる  関数が定義されている。違いは、

The difference is that previewGet()/previewPost() is designed to handle command previews, which can be cancelled by the user between the time that it's requested and the time it displays. If the preview is cancelled, the given callback will not be called.

(API のドキュメントより)

これを用いるなら、

CmdUtils.CreateCommand({
    names: ["test"],
    preview: function preview(pblock, args){
        pblock.innerHTML = "";
        CmdUtils.previewGet(pblock, "http://" + CmdUtils.getSelection(""), null, function(page){
            pblock.innerHTML = page;
        });
    },
});

2010年6月21日月曜日

Google ドキュメントで「日誌」のためのテンプレートを作成

使ってなかったテンプレート機能

あるのはわかっちゃいるけれど、使ってない機能はたくさんある。 自分にとって Google ドキュメント におけるそれは 「テンプレート」 機能。

テンプレートの使用例がわかる テンプレート ギャラリー を初めて眺めたとき、それほど使いたいとは思わなかった。 「Google ドキュメントでここまで体裁を整えることができるんだ」 と感心はしたけれど、自分にとっては必要ない。なぜなら、今のところ書式を揃える必要のある文書はクライアントサイドで動くアプリを使うため。

Google ドキュメントを使う目的

ところで、Google ドキュメントを使う場面は主に以下の二つ。

  • 他人と共有したい文書を作成
  • 頻繁に更新する文書で、かつ、紛失したくないものを作成

当然ながら、体裁は重視しないものに限る。

… とは言ったものの、上記の用途は 「何かをまとめる」 ために作ることが多いので、内容が増えてくると、意味的な構造を把握しやすくするために体裁を整えることが多い。最初はデフォルトのまま使っていもて、結局は CSS を編集して見出しが強調される設定 をする。

テンプレートの代わりに文書をコピーしていた

そのためにわざわざマイフォルダに「テンプレート」を作り、そこに雛形となる文書を作成しておき、必要に応じてコピー。

「毎回面倒だなぁ…」 (+_+)

と思いつつ、それを繰り返していたことに今更ながら呆れてしまう。なぜデフォルトで用意されているテンプレートを長いこと使わなかったのかな?

 

テンプレートの作成方法

img06-21-2010[1]テンプレートを作成するには、

  1. 予めテンプレートとなる文書を作成。
  2. Google ドキュメントで、新規作成 > テンプレート を選択。
  3. テンプレートを送信 をクリック。

後は、作成したテンプレートを選んで説明を書いて送信。これによりテンプレートが公開ギャラリーに送信される。よって、テンプレートにしたい文書には、名前などの個人情報を記載しないように注意する。

 

見出しを強調したテンプレート

一番よく使うテンプレートは以下のもの。

  • 先頭に目次
  • 見出しは「赤、青、緑、下線」で強調

この順番で色を使う理由は、本やサイトを読むときの 色を付けて情報を構造化 する習慣に合わせたため。

 

「日誌」のためにテンプレートを使う

ちなみに最近は上記のテンプレートを 「日誌」 を書く目的に利用している。日誌をつけるようになったのは、以下を読んだのがきっかけ。

「航海日誌(ジャーナル)」をつけよう。
自分の現在位置を知るために。

そして「目的地」にたどり着くまで、様々なリソース(時間、気力、お金、……)を管理(manage)するために。 …

「航海日誌」の中心は、「今日はどの方向へ、どれだけ進んだか」の記録である。この記録が累積することで、「現在の位置」を算出することができる。

( 日記でなく日誌をつけよう/読書猿Classic: between / beyond readers より)

上記とは目的と書く内容がちょっと違うけれど、作業記録のために 「見出し1」 のレベルを日付にして淡々と記述している。

img06-21-2010[2]

自分のための日誌はほどよい支離滅裂さで書く

やったことは全部ブログに書けたらいいのだけれど、非公開の日誌は

  • 個別事情やら情報・感想
  • 自分が分かる程度の支離滅裂さ

で書けるので別腹で必要。しかし、あまりにも唐突で滅茶苦茶なまま放置しておくと後で意味が分からなくなるので、他人である未来の自分に向けて翌日に見出しを付けてまとめることが多い。

昔と比べると個々の事柄を後で思い出すことができなくなったので、この記録形式は重宝するようになった。 ^^;

 

テンプレートをすぐに使えるようにブックマーク

よく使うテンプレートは一発で開けるようにブックマークツールバー置いておくと便利。

テンプレートを一覧するためには、

 

その他のテンプレート

ついでなので、以前に作った段組用のテンプレート。

 

関連記事

2010年3月2日火曜日

Blogger でブログと記事のタイトルの表示順序を変更

1. サイト内検索をしたとき、記事のタイトルが途切れる

過去に書いたブログの記事を探すとき、タイトルを手がかりに Google で site 検索 する。その結果、非常に見にくかった。なぜなら、検索結果が、

ブログのタイトル : 記事のタイトル

の順で表示されるため。

ブログのタイトルが長いので、記事のタイトルが途中で切れてしまう。(+_+) 記事のタイトルを、ブログのタイトルの前に表示させたい。

 

2. Blogger のテンプレートをカスタマイズ

Aptana でテンプレートを整形

ブログのテンプレートを編集する前に、テンプレートの内容を整形しておく。

これまでに、ブラウザ上でテンプレートを少しずつ変更している。そのため、徐々にコードが汚なくなった。 (@_@;) インデントがぐちゃぐちゃで見にくい。

  • ダッシュボードより 「レイアウト > HTML の編集」 を選択。

「テンプレートの編集」 において 「ウィジェットのテンプレートを展開」 のチェックを付ける。

091121-001.png

テンプレートの内容を Aptana で開く。Aptana の

  • メニューより 「Edit > Format」

を選択するとコードが整形される。

ちなみに、Aptana で開くために、「It’s All Text! で HTML を編集」 と同じ手順で行うと、後々便利。

 

3. ページのタイトルをカスタマイズ

タイトルとブログの名前が表示される順序を変える方法は、以下を参照した。

上記の解説によると、テンプレートのタイトルを表示している部分を、以下のコードに置きかえれば良いとのこと。

    <b:if cond='data:blog.pageType == "index"'>
      <title><data:blog.title/></title>
    <b:else/>
      <title><data:blog.pageName/> | <data:blog.title/></title>
    </b:if>

変更してから 2週間くらい経過した時点で、Google のインデックスの大部分が反映された。

 

タイトルを区切る文字

ところで、上記の設定では、

記事のタイトル | ブログのタイトル

と表示される。

これに対して、はてなダイアリー では、以下の区切り文字をよく見かける。

記事のタイトル - ブログのタイトル

見た目は `-‘ の方が好みだけれど、drupal で `|’ と表示されているので、このままにした。

 

テンプレートのタグについて

Blogger のテンプレートで使われている、接頭辞 <b: は Blogger の B なのかな?

条件に応じたタグは、レイアウト用ウィジット タグ - Blogger ヘルプ によると、

<b:if cond='condition'>
   [条件が true ならば、コンテンツを表示]
<b:else/>
   [条件が false ならば、コンテンツを表示]
</b:if>

条件式内の属性の値 の data: は、

data: タグは、実際にすべてのコンテンツを表示する上で重要なタグです。…

data: タグを使ってアクセスできるデータは非常に多く、利用するウィジットによってさまざまです。 必要なデータを探すには、一覧リストをご覧ください。

(レイアウト用ウィジット タグ - Blogger ヘルプ より)

2009年12月14日月曜日

Windows Live Writer で編集中のブログテーマ (テンプレート) を CSS で カスタマイズ

1. ブログを書くとき、実際のデザインと同じ状態を表示させたい

ブログを書くときは、できるだけ実際に表示される状態を見ながら書きたい。

Windows Live Writer は、編集モードにおいて、

  • メニューより「表示 > 使用中のテーマを編集」

にチェックを入れると、実際のブログで使用している CSS に基いて表示される。

(ショートカートキー: Ctrl + F11 により、チェック状態をトグルできる。)

この機能を利用するには、予めブログのテーマをダウンロードする必要がある。また、ブログのテーマを変更するごとに再設定が必要。

ブログ テーマを更新

メニューより「ブログ > ブログ設定の編集」を選択。

091214-014.png

「編集」のブログテーマにおいて、「テーマの更新」ボタンを押す。

091214-013.png

 

2. ブログテーマの表示をカスタマイズ

ブログのデザインによっては、ブログのテーマで表示させると見にくくなる。

自分のブログは、左にサイドバーを配置し、メインコンテンツは右という構成。

091214-016.png

この場合、Windows Live Write でブログのテーマの更新をすると、サイドバーが表示される。ブログを書くとき、この領域は不必要。サイドバーが表示されないようにしたい。

091214-015.png

ブログ テーマの保存場所

ブログのテーマは、以下のディレクトリに保存される。

Windows XP の場合

  • C:\Documents and Settings\ユーザ名\Application Data\Windows Live Writer\blogtemplates

Windows Vista の場合

  • C:\Users\ユーザ名\AppData\Roaming\Windows Live Writer\blogtemplates\ランダムな文字列\blogtemplates

Windows 7 の場合

  • C:\Users\ユーザ名\AppData\Roaming\Windows Live Writer\blogtemplates\ランダムな文字列

blogtemplates 以下にあるフォルダの名称は、ランダムな文字列。

何度かブログテーマの更新を行った場合、複数のフォルダが保存される。フォルダの更新日時を見て、最新のものを選ぶ必要がある。フォルダ中から、表示に対応している CSS の記述を探し、カスタマイズして保存する。

 

CSS をカスタマイズ

予め、実際のブログを見ながら、Firebug を使い、サイドバーの辺りを

  • 右クリック > 「要素を調査」

して、CSS を確認しておく。

自分の場合、index.html ファイルにおける CSS の記述中の

  • div#main

の以下の属性を削除することによって、サイドバーを消すことができた。

float:right;
width:66%;

2009年11月30日月曜日

Word で他の文書のスタイルをインポートする

1. スタイルの設定

文書を作るときに、予めメニューより「書式 > スタイルと書式」で 見出し のスタイルを設定した。

091130-008.png

上記で設定したスタイルを、新しく作成した文書にインポートしたい。

 

2. スタイルのインポート

メニューより「ツール > テンプレートとアドイン」を選択。

091130-004.png

ダイアログが表示されたら、「構成内容変更」ボタンを押す。

091130-012.png

ダイアログが表示されたら、一度、コピー元とコピー先のファイルを閉じる。

091130-006.png

次に、コピー元を開き、それからコピー先を開く。

ファイルを選択するダイアログでは、デフォルトではテンプレートファイルが対象となる。そのため、すべてのファイルが表示されるようにしてから、目的のファイルを選択。

コピー元のインポートしたいスタイルを選択したら、「コピー」ボタンを押す。

091130-013.png

 

関連記事

参考サイト

2008年5月13日火曜日

Google ドキュメントで見出しの体裁を整える - CSS を使って

1. 見出しに色をつけて、目立たせたい

Google ドキュメントで、文章の構造を明確にしたい場合、「見出し」を使う。

当初、見出しを目立たせるために、見出しの背景色を手動でつけていた。一つ一つ指定しなくてはならなかったので面倒で非効率。しかし、今では CSS で一括指定することができる。

 

2. CSS により指定する方法

メニューより、編集 > CSS を編集。

080513-2

表示されたダイアログに、以下の CSS を貼り付ける。色については、カラーコード & 配色シミュレーション を利用して決めた。

h1 {
 background-color: #ffe3dd;
 padding: 0.2em;
}
h2 {
 background-color: #ddedff;
 padding: 0.2em;
}
h3 {
 background-color: #ccffd2;
 padding: 0.2em;
}
h4 {
 border-bottom: 1px dotted;
}

 

3. CSS を適用した結果

表示形式より、見出しを選択すると、背景色がついて見やすくなった。 ^^

080513-3

2008年4月10日木曜日

会議・提案のためのテンプレート - 議事録を予め作りこみ、事後条件を明確にしておく

1. 話し合う前に、フォーマットを決めておく

何らかの作業を共同で行い、「話し合い」が必要なとき、ダラダラとした雰囲気で進行しまうことがある。特に、小さなプロジェクトにおいて、話し合いの内容が不明確なときに生じやすい。

話しあうべき内容が明確なときは、話し合いもスムーズにいく。解決すべき対象がはっきりしているから、ゴールが見えやすい。

しかし、話し合いというのは、お互いに先が見えないから、

「どうしようか?」

と相談する場合が多い。

こういうとき、予め「話し合いの流れとなるフォーマット」を意識していないと、話し合いのテンションを維持できない。

  1. 話し合いで、「決める作業」と、
  2. 話し合いの結果、「行うべき作業」

が同時進行してしまい、迷走することがよくある。

 

2. 議事録は、予め、穴埋めするだけの状態まで作り込んでおく

「議事録」とは、話し合いをするときに、その内容を記録するための手段。

議事録は、会議の記録であり、結果を残すためのツ-ルという意味合いが強い。その形式は、組織や個人により異なり、バラエティに富んでいる。

どういった記録の取り方が、効果的なのだろう?

議事録のプロ:ITpro によると、

... 「決まったことだけ書いてください。それ以外は基本的にいらないといっていいでしょう」

書き方について、次のように述べられている。

会議が始まる前に既に議事録のフォームが用意されていて,その日の会議で決定すべき項目が列挙してあり,どう決まったかを書くところだけが空欄になっていた。

(同上より。太字は引用者による)

整理すると、

  1. 書き方の形式が決まっており、
  2. 会議で、決めるべきことが、列挙されていて、
  3. 決定されたことを埋める欄がある。

 

テスト ドリブンなソフトウェア開発との類似性

この議事録の取り方から、

テスト ドリブン

という言葉を連想した。

テストドリブン (TDD) とは、

  1. 予め、開発対象のモジュールに対して、仕様を満たすためのテストを書き、
  2. その後、テストを満たすように、仕様を実装する

というスタイルをとる、ソフトウェアの開発手法。テストが、満たすべき仕様の外観を示し、実装は仕様を満たすように記述する。

この類比として、上記の議事録の書き方を理解した。

会議に先だち、予め話し合いで決めるべきこと、つまり、外観を記述する。これがテストドリブンな開発スタイルにおける、「テスト」に相当する。具体的な手順 (how) を示すのではなく、何 (What) が必要なのかを列挙しておく。

会議では、列挙された内容について話し合う。これは、具体的な内容・手順を実装するすることに相当する。

 

3. 変化に対応するために、議事録はその場で共有し、会議を方向付ける

テストドリブンで重要なのは、上記に加え、リファクタリングと、一連のプロセスを繰り返し適用していくこと。

リファクタリングとは、仕様を満たしながら、実装を、後で変更しやすいように、実装を変更するための方法。実装を、理解のしやすさの視点から整理することにも用いられる。仕様が明確に宣言されていれば、リファクタリングの結果は、仕様によって妥当性が保証される。仕様が、検討している内容の道標となる。

ソフトウェアの開発において、仕様は頻繁に変更される。これは、話し合いにおいて、話し合う内容が変化していくことに類似している。話し合うことによって、それまで必要と思われなかったことが明らかにされたり、逆に、必要だと思われていたものが必要でなくなったり、優先順位が変化したりする。

そのような変化は、話し合う内容が迷走しないために、記録し、その内容が話し合いの場に反映されなければならない。そのため、話し合いに参加している人の間で、議事録はリアルタイムに共有される必要がある。

手法を明確にし、その手順に添っていくということが重要になる。人は、一定の手順を踏まないと、習慣化されるまでは、脱線し、思考が拡散し、迷走してしまう。ただし、脱線し、はみ出ることは、重要。はみでたものをうまくすくいあげる技法を整備しておけば、新しいものを産み出す萌芽となる。

第1回 会議の何が問題なのか? には、「議事録ドリブン」という言葉が用いらている。

議事録ドリブンでは、会議中に議事録を書いてしまい、会議終了時点では参加者全員の合意がとれた議事録が完成しているという状態を作ってしまいます。

先ほどの、議事録の書き方も、議事録ドリブンと言える。議事録が話し合いの方向を決め、テーマを拡散・収束させていく手段となる。

 

4. 会議のためのテンプレート

上記を実行するために、シンプルなテンプレートを作成しておくことにした。

以下を、話し合いの前に作成しておき、話し合いは、これを元にして行う。そして、リアルタイムに議事録を取り、その内容を見ることができるように、Google Docs を利用することにした。

Read this doc on Scribd: 会議・提案テンプレート

 

テンプレートの内容

内容は、以下の 5 つから成っている。

  1. 目的
  2. 時間
  3. 検討内容
  4. 事後条件
  5. アイディア

「目的」は、簡潔に話し合いの目的を書く。できれば、一行で集約される文が望ましい。数行に渡って記述されていては、目的を把握するのが難しくなる。もし、それ以上になるようであれば、内容を分割する必要がある。

「時間」は、話し合いに制限時間を設けるために必要な項目。時間内に済ませるというプレッシャーを刺激として利用する。

「検討内容」には、「目的」を満たすのに必要な事柄を列挙する。話し合いでは、この内容をどのようにして実現するかについて話し合う。話し合いの結果、検討内容が増えることもあるだろうし、また、逆に減ることもある。場合によっては、別の「目的」が立てられ、後日、話し合うことになることもあるだろう。

「事後条件」は、「目的」を満たすべく提案された「検討内容」を話し合った結果、どのような状態が実現されていなければならないかを予め書いておく。

この文書は、作成されたと同時に、話し合いに参加する人の間で共有しておくのがよい。会議の前に、予め読んでおくいてもらう。検討内容に対して、「アイディア」があれば、予め加えてもらっておく。話し合いをしている中で、ひらめいたことは、どんどん書いていく。

 

後で読む

2007年12月28日金曜日

Blogger のテンプレートをカスタマイズ - GarlandBloggerTemplateを使って

Blogger に標準で用意されているテンプレート以外のデザインに変更する のつづき

1. カスタマイズの内容

前回、Blogger のテンプレートを Garland Theme に変更した。

このテンプレートを、次のようにカスタマイズしたい。

  1. 全体を 3 カラムから、2 カラムにする
  2. 記事のタイトルが見にくいので、区切りが分かりやすいデザインにする
  3. 本文の文字が小さいので、普通の大きさにする
  4. 全文検索フィールドがなくいので、表示する。
  5. 右上のリンクを変更する。

071228-014

 

2. 2カラムに変更

全体を 3 カラムから、2 カラムにするには、

  • テンプレート > 要素

において、右のカラムを使わないようにする。

071227-007

次に、テンプレートの編集を行う。

  • テンプレート > HTMLの編集

を選択する。

変更する対象を検索するには、 Firefox では Ctrl + F で検索する。

071227-009

body.sidebars #squeeze を探し、 margin の値を次のように変更した。

margin: 0px 10px 0px 210px;

 

3. タイトルの区切りを明確にする

.post-title に、次の要素を追加する。

border-bottom: solid 1px; border-left: solid 20px;m; padding: 5px; border-color: #0070A7;

 

4. 文字を普通サイズにする

body の font を次のように変更する。

font: medium Verdana, Arial, Helvetica, sans-serif;

 

5. 全文検索フィールドの表示

次に示す #navbar-iframe を削除する

#navbar-iframe { height: 0px; visibility: hidden; display: none; }

 

6. リンクの変更

以下の要素を探し出す。 ( About Us などを入力して検索する)

<ul class='links primary-links'> <li class='page_item'><a href='#about'>About Us</a></li> <li class='page_item'><a href='#contact'>Contact Us</a></li> </ul>

、太文字の部分を、メインメニューとして使用したい文字列とリンク先に変える。

 

7. 変更した結果

HTML をカスタマイズした結果、以下の表示になった。

071228-016

修正対象を絞り込む方法は、以下を参照。

2007年12月27日木曜日

Blogger に標準で用意されているテンプレート以外のデザインに変更する

1. テンプレートを変更したい

Blogger の外観を変えたい場合、

  • ダッシュボードより、「テンプレート > 新しいテンプレートを選択」

で簡単に変更することができる。

予め用意されているテンプレートは限られている。標準で用意されているデザインのテンプレートを利用したい。

 

2. テンプレートを配布しているサイト

Blogger 用のテンプレートを配布しているサイトがある。。

上記のサイトより、気に入ったテンプレートをダウンロードして、テンプレートを適用する

 

3. Drupal で使われているテンプレートに変更する

例えば、50 More Beautiful Blogger Templates で紹介されていた

「Drupal のデフォルトのテーマ」

と同じデザインにテンプレートを変更してみる。

 

テンプレートを手に入れる

 Garland Theme Download から

をダウンロードし、解凍する。

 

Blogger の設定
  • ダッシュボードより、テンプレート > ページ要素

を選択する。

テンプレートを変更すると、既に追加されている要素が削除される可能性がある。そのため、予めこれまでにカスタマイズした内容を控えておくのが良い。

  • テンプレート > HTMLの編集

を選択する。

現在のテンプレートをバックアップするために、

  • 「テンプレートをすべてダウンロード」

のリンクをクリックし、XXXXXX.xml という名称のファイルを保存する。

参照ボタンを押して、先ほど解凍した GarlandBloggerTemplate.xml を選択し、「アップロード」ボタンを押す。

071227-001

これまでに作成したウィジェットがある場合、ウィジェットが削除される旨が表示されるので警告に気をつける。

071227-004

 

テンプレートを適用した結果

テンプレートを変更した結果、以下のようなデザインになった。

071227-002

この後、細かな調整をする必要がありそう。

Blogger のテンプレートをカスタマイズ - GarlandBloggerTemplateを使って につづく