近況

コード実行

hanachin.hateblo.jp

前回: ✅ 雑にスクリプトを書くと動くことを確認できた

「サンプルコードをブラウザ上で試せるようにしたい」のようなissueをたてろ、という感じですが

  • WASM版のバージョンとRubyのバージョンの対応がわからない
    • まだRuby 3.2出てないので対応つけるもなにもない
    • ブラウザで動くのはある時点のheadという感じ
    • npmのパッケージの番号をlatest指定すればよさそうではある
  • 3.1のサンプルコードに実行ボタンみたいなものをつけると3.2で挙動が変わるような3.1のコードを実行したときに意図しない結果が返るかもしれない
    • masterに対応するような形にするため、bitclustにオプションを追加してRunボタンつける・つけないを選べるとよさそう
    • 一方これも3.2がリリースされたあとheadが3.3になると困ることもあるかもしれない
    • runtimeを表示すればいいのか?
      • いやRubyのバージョンとかWASM版とか言われてもブラウザで実行されているRubyは何で、こういうことは実行出来るんだけどどういうことが出来てどういうことができないか分かりづらさはある
  • ストーリーとしてはサンプルコード試してみたあと、書き換えてみてどうなるか試したい、という使い方があると思う
    • 現状編集出来るようにはしてみたものの書き換えたときにシンタックスハイライトがうまく効かない
    • シンタックスハイライターをブラウザ上でも動かすみたいな気力はない
  • このへんを全部ぽいっと丸投げするためにTry Ruby上にコードを渡すみたいな感じが出来ればいいんじゃないか...?
  • Try Rubyに丸投げであればバージョン云々の気配りをしなくてもよくなるかもしれない
  • issueたて...たて

るりま

めちゃくちゃPRマージされていてznzさん凄い

ちょっと最近出来ていないので、何が出来るかな〜と考えていてこのissueを眺めていた

github.com

雑な理解をまとめると

  • 見出しにはアンカーを書くための記法が用意されている
    • 例: ===[a:a] あ で見出し「あ」のid属性に a を指定
  • [[ref:d:glossary#a]] のような形で「あ」という見出しの用語集へのリンクを書ける
  • rdのソースコードからこの見出しのアンカーを抜き出してくる処理は RefsDatabase が行っている
  • 用語集は用語の音の見出しの直後にdlistで用語が定義されている
  • dlistの記法では見出しと違ってdtにidを振る記法はない

どうするといいのかな。

  • 同一のrdの中で同じ用語について別の説明をつけることはない
  • ユーザーはHTML5に対応しているブラウザを利用している

というのを前提条件にして用語から空白をgsubした値をid属性に勝手に設定してやってもいいかもしれない

RefsDatabase#extractRDCompiler#dt あたりを更新したらできそうなので今晩やってみるか〜

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/