1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Googleドキュメント+GASでmermaid.jsの図を描画!!

Last updated at Posted at 2024-12-03

概要

GASを使ってGoogleドキュメントに書いたmermaidのコードを図で描画させるます

嬉しい点

  • Googleドキュメントのコードを変更すると連動してデプロイした図も変更される

やり方

Googleドキュメントを作成して、mermaidのコードを貼ります
スクリーンショット 2024-12-03 17.24.14.png

拡張機能→Apps Scriptをクリック
スクリーンショット 2024-12-03 17.26.33.png

エディタが開かられるので、以下のコードを貼り付けて、DOC_IDを書き換えます。

//ドキュメントのID
//https://docs.google.com/document/d/ここの部分がDOC_ID/edit?tab=t.0
var DOC_ID = 'XXXXX';

// HTMLを表示する
function doGet() {
  return HtmlService.createTemplateFromFile("index").evaluate();
}

// ドキュメントの内容を取得する
function getDocs() {
  var docs=DocumentApp.openById(DOC_ID);
  return {
    title: docs.getName(),
    text: docs.getBody().getText()
  }
}

次に表示するhtmlファイルを作ります。
ファイル欄のプラスボタンから作成

スクリーンショット 2024-12-03 17.27.45.png

名前をindexにして登録
スクリーンショット 2024-12-03 17.28.01.png

htmlタグを以下で書き換えます

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script src="https://unpkg.com/mermaid@11.4.1/dist/mermaid.js"></script>
  </head>
  <body>
    <h1 id="title"></h1>
    <div id="mermaid" class="mermaid"></div>
    <script>
    function update() {
      google.script.run
        .withSuccessHandler(function(result) {// 戻り値に対する処理
          document.querySelector('#title').innerHTML = result.title;
          document.querySelector('.mermaid').innerHTML = result.text;
          mermaid.init();// mermaidを更新
        })
        .getDocs();
    }
    
    update();// 初回実行
    
    mermaid.initialize({startOnLoad:false});
    </script>
  </body>
</html>

そしたら画面右上のデプロイボタンをクリックし、新しいデプロイを選択

スクリーンショット 2024-12-03 17.32.21.png

ウェブアプリを選択
スクリーンショット 2024-12-03 17.32.35.png

アクセスできるユーザーを調整して、デプロイボタンをクリック!

アクセスを承認しろと言われたら、Advancedをクリックして、Gotoなんとかをクリックし承認!!

デプロイされたURLリンクが記述されてるのでアクセス!

ぱんぱかぱーん!!!表示されました!!!
スクリーンショット 2024-12-03 17.35.37.png

超絶参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?