Highlight.js デフォルトのタグ以外でハイライトさせる

Javascript

本当にちょっとしたことなんですが、書いておきます。
このサイトのソースコードハイライターは、今までGoogleのprettifyというのを使っていました。

ですが、最近(2016年5月)下記のサイトから読み込めないなーと思っていて、何かハイライターを使わないといけないと思っていました。

 <script type="text/javascript"
 src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

で、どうやら Highlight.js というのがよさそう!というので、使ってみます。下記のサイトさんが詳しいです。
ソースコードをハイライトする軽量ライブラリ、Highlight.jsの使い方: https://syncer.jp/how-to-use-highlightjs

しかし、悲しいかな、このサイトはPukiWikiでできているので、

 <pre><code> ~ </code></pre>

というHTMLではなく、

 <pre> ~ </pre>

というHTMLで今までソースコードを書いているんですね~

もちろん、過去の資産を無駄にしたくはありません⊂(^-^)⊃
というわけで、

でもHilight.jsが動作するように、は次のようにやります。

 <script type="text/javascript">
 $(document).ready(function() {
  $('pre').each(function(i, block) {
    hljs.highlightBlock(block);
  });
 });
 </script>

Help

#freeze
PukiWiki

PukiWikiヘルプ

  • テキスト整形のルール>FormattingRules
  • プラグインマニュアル>PukiWiki/1.4/Manual/Plugin

#contents


PukiWiki って 何なの?

すべてのページが誰でも編集できます。変更したいページでページ上部の「このページを編集する」をクリックするとそのページが編集できます。編集内容は、整形ルールに従って整形されます。

練習用ページ>SandBoxは基本的にどのように手を加えても問題ないので、結果を恐れず編集してみてください。

新しいページを作成するには?

すでにあるページ(例えば練習用ページ>SandBox]]など)で、ページのどこかにWikiName(大文字と小文字混合)かBracketName([[で囲う)を入力すると入力した部分の後ろに ? というリンクがつきます。そこをクリックすると新しいページの編集画面が用意されるので、あとは普通のページ変更と同様に書き込むことができます。

リンクについてる(3m)とかは?

3mは3分前くらい、5hは5時間前くらい、8dは8日前くらいに更新された、という意味です。

掲示板と違う?

ページに手を加えても誰がその変更をしたかわからなくなります。不安な場合は、手を加えた部分に自分の名前を書いておきましょう。 — hogehoge ←こんなかんじで。

誰かが書き込みを書き換えてしまう?

Wikiとはそういうものです。誰でもどこでも書き加えたり、直したりできます。PukiWikiには定期的にバックアップを取る機能がありますので、バックアップから復旧させることもできます。

ブラウザやプロクシのキャッシュで人の変更を消してしまわないだろうか?

ページを編集する以上、編集時の状態から手を加える形になります。しかし、もし編集中に誰かが更新していてしまっていたらどうします? 安心してください。PukiWikiには、更新時のページの更新日時と元データの更新日時を比較して一緒かどうかチェックします。「更新の衝突」が起きた場合はそのページをリロードし、編集し直してください。

Handler sending message to a Handler on a dead thread

Android

Handler sending message to a Handler on a dead thread

という警告が出ていました。

結論から言いますと、IntentService内で、AsyncTaskを呼び出し、その返り値をHandlerを使っていろいろしていたのが悪かったのです。

IntentServiceはonHandleIntentを実行したら、すぐ終了してしまいます。

なので、AsyncTaskが帰ってきて、Handlerが実行されるころには、まさにdead threadになってしまっているわけですね。

この辺り、色々考えて実装する必要がありますね。

Handler class should be static or leaks might occur

Android

This Handler class should be static or leaks might occur というエラーの解決方法

たとえば

 protected Handler addressUpdatePostHandler = new Handler() {
   public void handleMessage(Message msg) {
     // ハンドラーの中でやること
    }
 };

このようにハンドラーを作ると、上記のエラーになります。

じゃー staticにすればいいんだね!
とstaticにすると、そもそもハンドラーでやりたかった動的ないろんなことができなくなって不便になりますよね。(雑な説明ですみません。)

なんでこれがまずいかというと、こちらのサイトさんに詳しいです。
http://glayash.blogspot.jp/2012/08/handleleak.html

解決策はStack Overflowの下記のページにあるような感じです。
http://stackoverflow.com/questions/11407943/this-handler-class-should-be-static-or-leaks-might-occur-incominghandler

簡単な方法は、Handler.Callbackを利用することです。
上記のコードを下記のように変更します。

 protected Handler addressUpdatePostHandler = new Handler(new Handler.Callback() {
       @Override
         public boolean handleMessage(Message msg) {
           //ハンドラーでやること
           return true;
        }
 });

これでは問題が解決しないこともあると書かれていますが、個人的な経験ではこれでほぼ直っているようです。

 

HTPOW

波長によってレーザーの色が変わります。
http://www.cheapjp.com/surpuissant-laser-10000mW.html
カラス撃退レーザーポインターは色は関係なしに、強さは出力によって決まります。
グリーンとレッド、パープルの200mwなら全てマッチに着火できると言うことです。
照射されるほうも赤外線を吸収しやすいほうが熱くなります。なので黒が一番いいです。

安全 緑レーザーポインターは色によって製造が難しかったり、簡単だったりするので、値段が大きく異なります。

http://www.cheapjp.com/laser-point-10000mW-vert.html

空気をイオン化する程の強力なレーザーポインターカラス効果ならSF映画の光線銃の様に見えますが。自分はレーザーポインターに詳しくなく、好奇心で購入してしまったんですが、これは危険な方のレーザーポインターなんでしょうか。
また、法律では何W(何mW)までのレーザーポインターカラス 撃退の販売を許されているんでしょうか。

なので、日本では違法な高出力レーザーでも軌跡は見えません

なので、一般的に出回っているレーザーポインター販売店改造でも埃っぽい部屋などで照らすと軌跡が見えます

コンサートなどでのレーザーの演出はスモークなどを焚いてレーザーが映りやすくしているだけです
レーザーポインターを個人的に海外で輸入することは可能らしいですがレーザー剣

レーザーポインターを代行で購入し利益を得ることは違反にならないのでしょうか
http://www.cheapjp.com/green-laser.html
そんなシーンで活躍するのが『レーザーポインター最安値 用の保護メガネ』です。
天体観測を教えるためには、1000mwレーザーポインターは必要です。
天 体観測に興味を持って欲しいと願う質問者さんの意気はとても素敵だと思います。 自然や身の周りのことに関心を持たせ、子供たちに知識欲を深めさせることこそ教師のあるべき姿の1つでしょう。 本題とはずれていますが、質問者さんの教師としての在り方に敬服したため、はじめに意見させて頂きました。 100mWのレーザーポインターですが、所持と使用に関しては問題ありません。 人間の目にとっては、ハイパワー超高出力レーザーポインターは最強最悪の武器となります。

1000mw レーザーポインター

うなので、超強力レーザーポインターや、ある色のものを識別するというものなどがいいと考えています。

http://www.cheapjp.com/laser-engraving-machine.html

http://blogos.com/member/112673/