chevron_left Lanama

News&Updates

Berrycake

Berrycake.js更新 v1.2
読み込み元の小説ページとberrycake.jsのフォルダ階層が違うときに設定ファイルが読み込めない不具合を修正
More > Berrycake.js の使い方についてのQ&A > Q15 追加

Outline

Berrycake.jsとは

このページで紹介しているBerrycake.jsは、設定ファイルとJavaScriptで動かす名前変換スクリプトです。

デフォルト名を書いた設定ファイルとJavaScriptをアップロードし、各ページで読み込んで使用します。


指定した範囲から文字を読み取り、設定ファイルに沿って変換していく仕組みです。

JavaScriptがわからなくても、設定ファイルとHTMLの編集だけで名前変換機能を使えます。

↓小説本文の使用例です。実小麦蜜花(みこむぎみつか)の部分を登録名で変換します。

<!-- 変換範囲(小説本文) -->
<div id="berrycake">
  <p>実小麦蜜花(みこむぎみつか)は今日も元気です。</p>
  <p>彼女は歌いながらベリーケーキを焼き、ベリーケーキタワーを作っています。</p>
</div>

名前変換小説、単語変換小説、夢小説などにどうぞ。

デモページ

Berrycake.jsの特徴

  • 小説本文で名前単位のタグは使わない
  • スクリプトがhtmlから独立しているので管理が容易
  • 設定ファイルはスクリプトが自動で読み込むので、htmlで読み込むのはスクリプトファイルだけでOK
  • 他ライブラリやサーバーサイドに依存しないので、Berrycake.jsのみで使用可能(jQueryやPHPを用意しなくてOK)
  • スクリプトファイルは軽め(15KBくらい)
  • スマホでアクセスしても動く(例外はあるかも)
  • 登録データはLocalStorageまたはSessionStorageに保存
    サーバーにデータが自動送信されるCookieとは違い、登録データを端末の外へ送信しません

Berrycake.jsの便利機能

  • 変換項目の追加は設定ファイルに追記するだけでOK
  • シンプルな構造の名前登録フォームを自動出力(自分で作ってもOK)
  • 一般的な登録ボタンと一時登録ボタン(ブラウザやタブを閉じると登録内容を自動削除することが可能)を選べる
  • 「な、な、なまえ」や「なーまーえ」といったカスタム変換も可能(ただし小説内にタグが必要)

Berrycake.jsで出来ないこと・ご注意

  • InternetExplorer等の一部の環境では動作しません
  • タグ打ちとファイルアップロードが必要なので、これらに関する知識は必要です
  • 50文字を超える単語の登録(変更は可能ですがJSの修正が必要です)
  • サーバにアップロードしないで動作確認をすると、一部の機能は動きません
  • 日本語以外の名前変換はカスタムに対応していません
  • デフォルト名がよくある単語の場合、意図しない部分まで変換されることがあります
    例:「パン」というデフォルト名の場合、食パンの「パン」もパンダの「パン」も変換します
    回避専用タグを付ければ変換は回避できます 詳細はCustomページにて
  • 変換できるのは、変換範囲の直下でタグなし、または
    変換対応タグ(p, li, ruby, rt, h1, h2, h3, h4, h5, a, th, td, span, div)のどれかで囲んだ文字のみです。
    ※サポート対象外ですが、変換対応タグはスクリプト本体を編集すれば追加可能です。
    タグ追加の詳細はMoreページのQ12をご覧ください
    <div id="berrycake">
      ここは変換対象(タグなし)の文章です。
      <p>ここも変換対象(対応タグ)の文章です。</p>
      <section><p>ここも変換対象(対応タグ)の文章です。</p></section>
      <section>これは変換対象外の文章です。</section>
      ここも変換対象(タグなし)の文章です。
    </div>

Charm.js と Berrycake.js どちらのほうがいいの?

Charm.jsは小説内にタグを埋め込んで、タグ部分だけを変換するスクリプトです。

変換を使用するにはタグを埋め込む必要がありますが、タグを埋め込んだ部分だけを確実に変換できます。カスタム変換の種類も多いです。自由にカスタムしたい場合はCharm.jsがおすすめです。


Berrycake.jsは指定範囲の全体を検索して、デフォルト名の部分を直接置き換えるスクリプトです。

デフォルト名をタグで囲む必要がないため小説を書いてすぐに名前変換小説にできます。思わぬ変換に注意が必要ですが、変換タグを出来るだけ書かずに運用したい方はBerrycake.jsが良いかと思います。

※Berrycake.jsもカスタム変換を使うにはタグの埋め込みが必要です。

Download

ご利用条件

ライセンス(利用条件等を書いたもの)を確認し、同意できる方のみご利用ください。

日本語版も英語版も内容は同じです。お好きな方をご確認ください。

Berrycake.jsライセンス(日本語版)

Berrycake.jsライセンス(英語版)

Berrycake.jsのダウンロード

上記のライセンスをご確認いただくとダウンロードボタンを押せるようになります。

サンプルファイルごとダウンロード

スクリプト本体のみダウンロード

Guide

Berrycake.jsの導入手順

Berrycake.jsは4つのステップで導入することができます。

  1. 設定ファイル「berrycake_recipe.conf」にデフォルト名と、入力欄のラベルを設定します。
    デフォルト名
    cake1=実小麦
    cake2=蜜花
    cake3=みこむぎ
    cake4=みつか

    自動出力ラベル(10文字まで)
    label1=苗字
    label2=名前
    label3=みょうじ
    label4=なまえ
  2. 設定ファイルとスクリプト本体をアップロードします。
  3. 名前登録ページでスクリプト本体を読み込み、名前登録フォームを設定し、変換範囲を設定します。
    <!-- スクリプト読み込み bodyの閉じタグ前がおすすめ -->
    <script src="berrycake.js"></script>
    <!-- このタグで名前登録フォームを自動出力できます -->
    <div id="cakeMix"></div>

    <!-- 変換範囲 -->
    <div id="berrycake">
      <p>登録名は実小麦蜜花(みこむぎみつか)です。 </p>
      <p>小説の主人公はこの名前で変換されます。 </p>
    </div>
  4. 小説ページでスクリプト本体を読み込み、変換範囲を設定します。
    <!-- スクリプト読み込み bodyの閉じタグ前がおすすめ -->
    <script src="berrycake.js"></script>
    <!-- 変換範囲(小説本文) -->
    <div id="berrycake">
      <p>実小麦蜜花(みこむぎみつか)は今日も元気です。</p>
      <p>彼女は歌いながらベリーケーキを焼き、ベリーケーキタワーを作っています。</p>
    </div>

基本的な使い方の詳しい手順は次のTutorialをご覧ください。

Tutorial

1. 設定ファイル「berrycake_recipe.conf」にデフォルト名を設定

  1. Downloadからサンプルファイルごとダウンロードします。
  2. ファイルを解凍し、フォルダの中身を確認します。
    • berrycake.js:名前変換スクリプト本体のJavaScriptです。
    • berrycake_recipe.conf:デフォルト名の設定ファイルです。
    • berrycake.html:名前登録ページのHTMLです。
    • sample.html:小説ページサンプルのHTMLです。
    • berrycake.css:各ページの外観を整えているCSSです。

    必ず使用するのは「berrycake.js」と「berrycake_recipe.conf」ですが、使い方例として5ファイルを全て使用します。

  3. 設定ファイル「berrycake_recipe.conf」にデフォルト名を設定します。

    名前登録フォーム自動出力を使用する場合は、入力フォームのラベルを追加で設定します。こちらで説明を進めます。

    デフォルト名
    cake1=実小麦
    cake2=蜜花
    cake3=みこむぎ
    cake4=みつか

    自動出力ラベル(10文字まで)
    label1=苗字
    label2=名前
    label3=みょうじ
    label4=なまえ
    • デフォルト名は cake●= (●は半角数字)、ラベルはデフォルト名の数字と合うように label●= を設定します。
    • 自動出力フォームの名前入力欄はこの数字ごとのペアで出力します。
    • ●部分は数字であればいいので10も999も設定可能です。
    • berrycake_recipe.confを上書き保存するときは文字コードを「UTF-8」にしてください。参考リンク:UTF-8って?

    自動出力を使わずに登録フォームを自作する場合はlabelは削除してもOKです(残しておいてもOK)

    デフォルト名
    cake1=実小麦
    cake2=蜜花
    cake3=みこむぎ
    cake4=みつか

    登録フォーム自動出力を使用しつつ、入力項目を増やす例はこちら

    デフォルト名
    cake1=実小麦
    cake2=蜜花
    cake3=みこむぎ
    cake4=みつか
    cake5=メープル

    自動出力ラベル(10文字まで)
    label1=苗字
    label2=名前
    label3=みょうじ
    label4=なまえ
    label5=ペットの名前

2. 設定ファイルとスクリプト本体をアップロードします。

  1. ご自身のWebサイトの任意の場所にサンプルファイルをコピーします。

    JavaScriptやCSSをフォルダ分けしている方はご自身で決めたフォルダへ、フォルダ分けがよくわからないという方はWebサイトフォルダの中にberrycakeフォルダの中身をそのままコピーしてください。

    そのままコピーした場合は以下の構成になります。

    • Webサイトフォルダ/berrycake.js ※
    • Webサイトフォルダ/berrycake_recipe.conf ※
    • Webサイトフォルダ/berrycake.html
    • Webサイトフォルダ/sample.html
    • Webサイトフォルダ/berrycake.css

    ※berrycake.js と berrycake_recipe.conf は同じフォルダにアップロードしてください。

3. 名前登録ページの設定

  1. 名前登録ページ「berrycake.html」でberrycake.jsファイルを読み込みます。

    スクリプトを読み込みます。おすすめはbody終了タグの直前での読み込みです。

    <script src="berrycake.js"></script>

    スクリプトの保存場所が名前登録ページと違うフォルダの場合はsrcの内容を変更してください。

    設定ファイルはスクリプトが自動で読み込むので、htmlで特に読み込む必要はありません。

  2. berrycake.htmlに自動出力の名前登録フォームを用意します。

    ※手作業で登録フォームとボタン類を作成する場合はこの作業は不要です。

    サンプルファイルでは使用していませんが、登録フォームを手作りしなくても1行コードを入れるだけで名前登録フォームを用意することができます。

    登録フォームは2種類あり、追加するタグの書き方で出るフォームの構造が少し違います。

    ※サーバにアップロードしないと自動出力は動かないのでご注意ください。

    登録フォームを作りたい場所に以下のコードを入れます。

    <div id="cakeMix"></div>

    ブラウザでアクセスしているときは以下の構造の名前登録フォームに変わります。

    <div id="cakeMix">
      <div class="row">
        <label for="cake1">苗字</label><input type="text" id="cake1" value="">
      </div>
      <div class="row">
        <label for="cake2">名前</label><input type="text" id="cake2" value="">
      </div>
      <div class="row">
        <label for="cake3">みょうじ</label><input type="text" id="cake3" value="">
      </div>
      <div class="row">
        <label for="cake4">なまえ</label><input type="text" id="cake4" value="">
      </div>
      <div class="row">
        <button id="cakeSet">登録</button><button id="cakeUnset">削除</button>
      </div>
    </div>

    以下のようにclass="plain"を追加すると、構造の浅い名前登録フォームが出ます。

    <div id="cakeMix" class="plain"></div>

    こちらのような構造の名前登録フォームが出力されます。

    <div id="cakeMix" class="plain">
      <label for="cake1">苗字</label><input type="text" id="cake1" value="">
      <label for="cake2">名前</label><input type="text" id="cake2" value="">
      <label for="cake3">みょうじ</label><input type="text" id="cake3" value="">
      <label for="cake4">なまえ</label><input type="text" id="cake4" value="">
      <div class="row">
        <button id="cakeSet">登録</button><button id="cakeUnset">削除</button>
      </div>
    </div>

    どちらのフォームも名前登録機能の違いは無いので、使いやすい方を選んでください。

    使えるフォームの数は1ページにつき1つです。2つ以上登録フォームがあるとうまく動かなくなります。

    自動出力フォームには一時登録ボタンはありません。一時登録ボタンを使いたい場合は次項の説明を読んでいただき、自動出力を使わずに名前登録フォームを作成してください。

  3. 自動出力を使わずに名前登録フォームを作ります。

    ※名前登録フォームの自動出力を使う場合はこの作業は不要です。

    • 入力欄のinputタグのidはそれぞれ設定ファイルのcake●にしてください。
    • あらかじめ入力しておきたいものがあればvalue="初期値"という形で設定してください。
    苗字 <input type="text" id="cake1" value="">
    名前 <input type="text" id="cake2" value="">
    みょうじ <input type="text" id="cake3" value="">
    なまえ <input type="text" id="cake4" value="">

    自動出力ではlabelタグなども使っていますが、デザインはさておき上のコードで入力は可能です。

    登録項目を新たに追加したい場合、設定ファイルにcake●を追加してからinputタグを追加してください。

  4. 登録ボタンと削除ボタンを設定をします。

    ※名前登録フォームの自動出力を使う場合はこの作業は不要です。

    • 登録ボタンはidが「cakeSet」のbuttonタグを用意します。
    • 一時登録ボタンはidが「cakeSession」のbuttonタグを用意します。
    • 削除ボタンはidが「cakeUnset」のbuttonタグを用意します。
    <button type="button" id="cakeSet">登録</button>
    <button type="button" id="cakeSession">一時登録</button>
    <button type="button" id="cakeUnset">削除</button>

    ※idの文字は大文字が含まれています。スペルミス等にご注意ください。

    タグ内の「登録」「一時登録」「削除」は「OK」「Del」などの違う言葉に変更しても構いません。

    登録ボタンを使わない、または一時登録ボタンは使わずに導入することも可能です。不要でしたら消してください。

    登録と一時登録って何が違うの?

    登録と一時登録はどちらもブラウザに保存する機能ですが、データの期限が違います。

    技術者向けの言葉でいうと、登録ではlocalStorageに保存し、一時登録ではsessionStorageに保存しています。

    「登録」は容量がある限りブラウザの履歴を削除したりアンインストールするまでデータが残りますが、「一時登録」はタブを閉じたときやページを閉じたときにクリアされます。

    どちらにしても、Cookieのように保存内容がサーバへ送信されることはありません。

  5. 登録名の変換範囲を設定します。

    id="berrycake" のdiv を追加し変換範囲を設定します。

    この中で登録名を表示したいところにデフォルト名を追加してください。

    小説本文はおそらくpタグと多用するかと思いますので、そのまま小説を書いてもらえれば問題なく変換できます。

    <!-- 変換範囲 -->
    <div id="berrycake">
      <p>登録名は実小麦蜜花(みこむぎみつか)です。 </p>
      <p>小説の主人公はこの名前で変換されます。 </p>
    </div>
    • 変換範囲は複数追加しないでください。
    • idではなくclassで指定することも可能です。その場合は1つ目のclass="berrycake"が変換範囲になります。
    • 変換範囲の中にあっても、変換対応タグ以外で囲んだデフォルト名は変換しません。
    <!-- classでの変換範囲指定は1つ目の class="berrycake" が範囲になります -->
    <div class="berrycake">
      <p>登録名は実小麦蜜花(みこむぎみつか)です。 </p>
      <p>小説の主人公はこの名前で変換されます。 </p>
    </div>

    変換対応タグはp, li, ruby, rt, h1, h2, h3, h4, h5, a, th, td, span, divです。

    サポート対象外ですが変換対応タグを追加することは可能です。詳細はMoreをご覧ください。

    一時登録ボタンを導入している場合、一時登録したときにだけ現れるメッセ―ジを以下のコードで追加できます。

    <div id="cakeSessionmsg"></div>

    一時登録をしたときにこのコードがあると、「一時登録しました」という文字が表示されます。

4. 小説ページの設定

  1. 小説ページsample.htmlでberrycake.jsファイルを読み込みます。

    名前登録ページと同じようにberrycake.jsを読み込みます。おすすめはbody終了タグの直前での読み込みです。

    <script src="berrycake.js"></script>

    スクリプトの保存場所が名前登録ページと違うフォルダの場合はsrcの内容を変更してください。

    設定ファイルはスクリプトが自動で読み込むので、htmlで特に読み込む必要はありません。

  2. 登録名の変換範囲を設定します。

    名前登録ページと同じように、id="berrycake" のdiv を追加し変換範囲を設定します。

    <!-- 変換範囲(小説本文) -->
    <div id="berrycake">
      <p>実小麦蜜花(みこむぎみつか)は今日も元気です。</p>
      <p>彼女は歌いながらベリーケーキを焼き、ベリーケーキタワーを作っています。</p>
    </div>

    変換範囲の他の設定方法や注意事項は前項の登録名の変換範囲を設定も参考にしてください。

基本的な導入設定は以上です。設定お疲れさまでした。

Berrycake.jsはカスタム機能があります。もしご興味があれば Custom から使い方をご確認ください。

keyboard_control_key