StackEditがscroll syncしない

scroll sync とは、左の編集画面と右のプレビュー画面の同期のこと。
左の画面をスクロールすると、右の画面もそれに応じてスクロールする。
または、その逆で右スクロールに合わせて、左もスクロールすることを
いいます。

StackEdit では、その機能がデフォルトでサポートされていたはずだった
のが、全く機能していないことに最近気づいた。

StackEditのcroll syncについて、インターネットで検索しても情報は全くなし。
“Settings” を見ても、それらしき設定箇所は見当たらず。

更に、右サイドバー探していると “Reset application” と言う項目がある
ではないか!
「これだ!」と思い、ためらわずにプチッと。

確かに、リセットされました。
scroll sync も、元通り機能するようになりました。

そして、作成した数々の資料も跡かたなく!

StackEdit で作成した成果物は一体何処に保存されていたのでしょうか?
まさか、成果物までリセットされるとは思わなんだ。

やはり、バックアップはきっちり行っておくべきですね。

で、標題の原因は?
全く不明。
考えられるのは、作成資料が多くなり過ぎた事くらい、かな?

しかし、この確認のためVirtulBoxのUbuntu20.04の Googlw Cheome では
スクロールは同期していたなぁ。

結論。分からん!

追伸

な、な、何と。
今し方、StackEdit を開いたら削除されたはずの資料が全部復活してるではないか!
しかも、scroll sync も全く問題なく、左右が同期してスクロールしている。
まるで真夏の夜の怪談噺のような!

Markdownでコードブロックに3連のバッククォートを書く

Markdown では、複数行コードブロックは以下のように、3連のバッククォートで囲います。

そのブロックに3連のバッククォートを書く時は、4連のバッククォートを使い
4連のバッククォートを書く時には、5連のバッククォートを使います。
markdownの中でhtml記法を用いて書くことも可能です。
しかし、Markdownでは正しく表示されますが、Sphinx でhtmlに変換したところ
次のように、改行の無い1行の文になってしまったので、適切なやり方では
ないようです。

Honkit生成ページの先頭1行が・・・

stackEditで3種類のページを作成し、ローカルにダウンロードしてHonkitでhtmlを生成したところ、各ページの先頭1行の見出し(<h1>)が、単なる段落(<p>)として表示されるという問題が発生した。

2行目以降は全く問題がなく、先頭1行だけがダメで、Markdown構文の問題とかSUMMARY.mdの書き方が悪いのでは等々、いろいろ考え変更をしてみたものの全く状況は変わらない。
確認した状況を整理してみると、

  1. ページ先頭1行目の見出しが、単なるとして表示される
  2. 先頭1行を空行にして、見出しを2行目にすると正常に表示される
  3. 以前に作ったMarkdownを使うと正常に表示される

ここまで来て、漸く気付いたのがエンコーディングの問題。
どこかで読んだ記憶では、エンコードはUTF-8(BOMなし)でなければならない。

ファイルを直ぐに確認すると、なんとUTF-8(BOM)。BOMが付いている!
先頭1行がうまく表示されない理由は、これで説明がつく。
何ともお粗末。約1日の無駄作業でした。

SphinxでMarkdown

Sphinxにおけるデフォルトの言語は、reStructuredTextであるが、Markdownに比べ記法が複雑で改めてそれを覚えるのも面倒で、多少知識のあるhtmlを使った方が良い位である。
そこで、MarkdownをSphinxで使えないか調べてみた。
Sphinxの本家本元のドキュメントには、Markdownを使うための記述がある(Markdown参照)が、その具体的な使用方法はMySTに聞けとそっけない。
情報も少ないので、当該サイトの手順に則り作業を進める。
1. MyST のインストール

2. ドキュメントのソースの準備
適当なディレクトリを作成し、その中に次によりドキュメントのソースを作る。

3. conf.py の編集
conf.py に次の行を追加する。

以上で、準備は完了。

いざ、Get started with MyST in Sphinxを参考にページを作ろうと、

をmyfile.mdとして作ったものの、次のファイル名をどうするか?

説明は以下の通りであるが、英語力がないのか、技術力が不足しているのか理解ができない。

In the “main document” of your Sphinx project (the landing page of your Sphinx documentation), include myfile.md in a toctree directive so that it is included in your documentation:

概ね、Sphinxプロジェクトの「メインドキュメント」(Sphinxドキュメントのランディングページ)のtoctree ディレクティブに myfile.md を指定せよ言っていると思うが、ランディングページとは何者か???
このディレクティブは、rst(reStructuredTextの略)のものなので index.rst に記述しても、myfile.md は拡張子が違うので無視されてしまう。
index.mdとすると、markdownにディレクティブなどと言う概念がないので、”.. toctree::” は単なる文字列として扱われてしまうのみ。
そこでいろいろ調た結果分かったことは、Markdown 拡張版(?)の “MyST” を使用するということだった。
結論、index.md に次のように記述する。

これで、今日一日を棒に振ってしまった。

参考:https://coderefinery.github.io/sphinx-lesson/toctree/

EdgeからOutlook.comへログインできない時の対策

EdgeからOutlook.comへ突然ログインできなくなるということが発生した。
つい先日までログイン出来ていたにもかかわらず。
当該サイトにアクセスすると、一瞬「セキュリティ云々」との画面が表示されるが、直ぐブランク画面に切り替わるので、何が起きたのか皆目見当がつかない。
いろいろググって見たが、唯一有効そうな対策は、
「Edge以外のブラウザで試してみる」
こと位しかないようだ。

Firefox, Chrome の順にログインしてみる。
何れも問題なくログインできる。

最後に、Edgeでトライ。OK!

何が原因だったの?

JupyterのRバージョンを更新する

(1)問題点
Jupyter notebook の R 言語環境において

のように、ライブラリをロードしようとすると、Rのバージョンとライブラリのバージョンが不一致という次のような警告メッセージが表示される。

Rのバージョンを確認してみると、パッケージのバージョンの方が新しいことが分かる。

(2)想定原因
環境構築時のミスか、構築後にRをアップデートしたことが原因か。
随分以前のことなので、今となってはと何とも言い難い。
(3)対策
警告メッセージなので、無視しても良いのだが、気になるので対策を調べてみた。
多分、以下が正解なのだろう。

 
警告は、これで出なくなった。
Rをアップデートした時に再度試してみたい。
———————————————————————————-
(追)2021/7/13
1. Rを4.1.0にアップグレード。
2. JUpyter Notebook 側は、元の 4.0.5 のまま更新されず。
3. JUpyter Notebook 側から

 
を実行したがNG。
Rコンソール側から同コマンドを再実行。
4. JUpyter Notebook を再起動し、4.1.0 へのアップグレード確認

PHP Parse error: syntax error, unexpected ‘=’ in php shell code

php 対話モードでの、ちょっと恥ずかしい話。
Ubuntu で jupyter-php の実行確認をしたところ、標題のエラーが発生。
設定の不備かと思い、ターミナルから対話モードでphp を起動。

(1) 動作確認

なにも出力されないので、ググってみたら「;」が文末にないのが原因。

jupyter-php と同内容のエラーが発生。

これもググって見れば、teratailに以下のような回答がありました。
原因の多くは

  1. 末尾の「;」忘れ
  2. 「”」「’」といった記号のずれや記入間違い
  3. 括弧の閉じ忘れ
  4. 全角スペースの使用
  5. インデントではなくスペースでの改行
  6. 「$」忘れ
  7. 演算子の評価順序ミス

いやはや、恐れ入谷の鬼子母神。
仰せの通り、変数の前に「$」が抜けてました。

勿論、対話モードでもjupyter-php でも確認して「OK」でした。

Ubuntuにjupyter-php環境を構築

Qiitaを参考に、Ubuntu 20.04 LTS にjupyter-php環境を構築したときの記録です。

前提条件

・OS環境は、Virtualboxで稼働中のUbuntu 20.04 LTS です。
・Ubuntu 上に php は未インストールで、以降の手順でインストールします。

(1) php 環境の構築

  • php、libzmq3-dev、composerをインストール

(2) php-zmqをインストール

 

  • 作業ディレクトリ「/var/tmp/php」を作成&移動
  • php-zmqをダウンロード
  • php-zmqに移動
  • PHPに拡張モジュールを追加(configureの作成)
  • makefile 作成
  • コンパイル&インストール
    (make が終了すると、make test の実行が促されるのでやっておきます。)
  • php.iniにzmqを定義(950行目付近)
    で、php.ini の場所を確認します。
  • phpが「php-zmq」を認識できているかを確認

(3) jupyter-phpをインストール

 

  • 「/var/tmp/php」に移動
  • 「jupyter-php-installer.phar」をダウンロードする
  • jupyter-phpをインストール

以上で、php-jupyterが使用可能になりました。

RによるExcelファイルのダウンロード

情報が少ない(ほとんどゼロ)ので、個人用のメモ。

【使用法】

【例】

テキストファイルは、これでダウンロードできる。

しかし、excel のようなバイナリファイルの場合は、ダウンロードは出来ても
これを開くと入力できない旨のエラーが発生してしまう。

これを回避するには、mode で “wb”(バイナリ形式)を指定すればよい。
【バイナリファイルのダウンロード】

Python コマンドが動かない

ちょっと酷い話。

と言うPythonスクリプトを、コマンドラインから実行しようとしたら

何と Python が返ってきてしまった。
どうも変だ。
iPythonを起動してみる。

無視!
powershell で which を使って python の場所を調べてみると

“C:\Users\(user)\AppData\Local\Microsoft\WindowsApps”

????? 謎だらけ。

こんな場所を Path に設定したこともなければ
こんな所に Python をインストールした覚えもない。

環境変数の中の、「ユーザー環境変数」から Path を選択して「編集」で
内容を見てみると、
当該 Path が堂々と先頭に鎮座ましましているではないか!

これを、「下へ」ボタンを使って
“C:/Users/(user)/Anaconda3”
の下方へ配置転換。

これで、元通り Python は動くようななったが
問題は、何時、誰が、何のためこの設定をやったかだ。
(犯人はマイクロソフトのアップデートらしいが・・・)

参考:https://qiita.com/ozaki_physics/items/0547604eabf445e34969