1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

notionに実行可能なコードを埋め込む

Posted at

はじめに

github.io に Python のプレイグラウンドをホストし、
そのページへのURLをnotionに埋め込みます。

image.png

クエリパラメータとして渡されたgistのソースコードを初期値として表示します。
なので、リロードしてもソースコードの内容が空っぽになることはありません。

使い方

このURLを埋め込めば、冒頭のスクリーンショットと同じ結果になるはずです。
https://desktopgame.github.io/python-playground/?gist=dc4eb1bc28b33abfa9e961168b6718e4&file=gistfile1.txt

自分が書いたソースコードを埋め込みたい場合、public な gist をアップロードし、
その gist のIDとファイル名を代わりにパラメータとして渡してください。

他の方法はなかったのか?

replit という、オンラインのプログラミング環境があります。
wandbox とか codepen のようなもので、自分のPCに環境構築しなくてもコードを実行できる便利なものです。
しかももっと多くのプログラミング言語に対応しているようです。

そして、notionではこのサービスも埋め込むことができます。
なので最初はこれでよいと思ったのですが、実際埋め込んでみると私の想像とは違ったのです。

notion上ではコードの変更をできないほか、
実行しようとしたら replit のページに移動しなければいけません。
そしてなにより、replitは無料プランだと3つまでしかプロジェクトを保存できないようなのです。

このプレイグラウンドの特徴

  • 最初に述べた通り、パラメーターとしてgistIDを渡すと読み込んでくれる
    • gist API には制限があるので、内部的にはlocalStorageにキャッシュしています
  • 読み込むgistにマジックコメントとしてパッケージ名を記述しておくと、起動時にインストールしてくれる
  • Monacoではなく、Code Mirrorを使っているのでスマートフォンのブラウザでも動作する

ちなみに

Observableというメモの中に実行可能なコードを書けるサービスもあるようです。

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?