@sta 2021/03 - 2021/04
from @sta
/sta/Gyazo埋め込みの画像を表示する
Scrapbox上でGyazo画像をクリックしたときの表示を大きくする方法を使えば、ファイル形式がわからなくても画像を取得できそうです
関連:/programming-notes/他のプロジェクトにページを送るUserScript#5fca5f24e5172d000089a3cf
ありがとうございます!これは助かりますsta.icon*2
早速実装してめっちゃ助かった
ちなみにご存知かもしれませんが、/sta/Scrapbox to Markdownの類似appとしてScrapbox Readerがあります
PythonベースとTSベースとで違いがある
このPythonで書いたscrapbox記法のparserは何かmodule化して切り出したいですね
余力があれば……
名前くらいしか知らなかったので参考にしてみたいですsta.icon
/sta/Scrapbox Reader
めっちゃ勉强になりそう
/sta/強い人は喋れる?#60868f1779d3a9000068d0b1
(個別ページに切り出したいところですがタイトル思いつかなかったのでここに書きます)
多分いくつか要素がありますtakker.icon
人に話す機会が多い
数撃ちゃうまくなるの法則です
逆に言うと、しばらく人と喋ったり説明をする機会がなくなると、話せなくなってしまいます
今そんな感じなのでちょい焦ってるtakker.icon
これに加えて↓も必要だと思います
その場で話す内容を組み立てられる
これをするには以下ができている必要があります
言いたいこと(主張)→補足説明の順に話すよう意識する
現代文や論文でよくある構造
話の流れに沿わない事は削ぎ落とす
これ結構難しいですtakker.icon
話す方に熱が入っちゃって、相手がそれを聞きたいかどうかも考えずにたくさん喋っちゃう時がある
対象について繰り返し考察してきている
興味のある分野はずっと意識を向け続けているから、説明も容易だよね、というやつです
ま、正確に言うと興味だけでは無理です
誰もが好きなアニメのあらすじと登場人物紹介をできるわけではない
どう説明すればわかりやすくなるかまで、何度も考える必要があります
脳内VOICEROID解説動画を作るレベルなら十分
なるほど、機会の多さという着眼点は普通に気づけませんでしたsta.icon
そういえば僕も大学時代(接客アルバイトでめっちゃ喋ってた)はしゃべるの抵抗なかったなぁ
でも(事務的な用事ではなく雑談として)自分から話しかけるのは相変わらず苦手だった
たしかに別の問題だ
一応補足しますが、あくまで喋れるかどうかだけの話です
人に話しかけるとかコミュニケーションをとるとかは別の問題になります。
/sta/sta#6080a36b79d3a900009e981a
要りません
import 'filepath'とすれば、filepathに書き込まれた文を実行することが出来ます
cf. 副作用のためだけにモジュールをインポートする | import - JavaScript | MDN
今回の場合であれば、
code:js
import '/api/code/sta/strike-multiple-lines/script.js';
と書き込めばscript.jsのコードを取り込むことが出来ます
ちなみに相対パスを使ってimport '../strike-multiple-lines/script.js';と書くことも可能です
自分のページにあるscript.jsのパスがhttps://scrapbox.io/api/code/project/username/script.jsなので、../でhttps://scrapbox.io/api/code/project/に戻ることができる
自分のページによくimport '/api/code/project/page/script.js'と書いているuserがいますが、それはこの機能を利用してjavascriptを取り込んでいます
/sta/sta#6080a18179d3a90000e2c517
行頭で@importを使うとうまくいく可能性があります
@importってなぜかstyle.cssの先頭に書かないと動かないよねーyosider.icon
なんでそんな仕様にしたんだろうなーtakker.icon
あざますsta.icon
あとで確認してみます
副作用目的のimportってできたんだ……
昔試したときはああ、ダメなんだってなって、import {dummy} マンになった覚えがあるんですが
ちゃんと確認しないとダメですね
これまだ試してないな
/sta/風呂の前後でScrapboxをこねる
風呂に入っている最中に思いついたアイデアを声に出して録音するという手もあり
と思いましたけど、たしかスマホを持っていらっしゃらないんでしたっけ
スマホを使えないと録音が難しい
ボイスレコーダーを代わりに使えばいいかな
やるとしたらこっちですね
ガラケーに音声メモがあったような?
防水だったらメモ機能とか、メールの下書きを使うとか
/icons/あざっす.iconありました!sta.icon*2
カレンダーに1予定1アイデア書くという方法もある
SDカードに.icsファイルとしてexportできる
たしかに
ポメラのカレンダーもメモ欄として使ってたことがある
持ってないですねー(が、年内で3G終わるので一年以内には強制的に替わる予定)sta.icon
あと声に出す、は自分にとってはあまり役に立たないかもしれません
文章に起こすのと声に出すのとは全然違うといいますか
声に出すために使う労力の分で、考えている部分が軽視されて、
うまく言えない
(単に音声メモ慣れてないだけ説もありそう)
(あとはなるべく喋らないという謎のこだわりがあるので意固地張っているか)
自分の声を聞くと(低くて汚いし滑舌悪いしで)死にたくなる ← そうだ、これがあったんだww
一時期はYouTuberしてたのにな……
風呂場なら紙と鉛筆で大丈夫そうな気がdnin.icon
鉛筆なら湿気強くてもけっこういける
鉛筆はともかく紙が破れませんか……?takker.icon
あと結構文字滲みますよ
インクよりはマシな気がdnin.icon
お風呂用のメモパッドもあるし
/icons2/へえ〜.icontakker.icon
字書くの苦手なので厳しそうです
が、図も描けるし汎用性は高そう
風呂でアイデア浮かぶのわかるyosider.icontakker.iconsta.icon
/sta/UserScriptを自然に引っ張ってくる方法#60703ef679d3a900005977a8
これが出来てしまうと、そのファイルにあるobjectを全て使用できてしまいます
そうでしたね。jsはglobalゲーなのでこういう公開範囲制御が必須ですよねsta.icon
というよりmoduleの一般論の話か(Pythonも import * は非推奨ですし)
そういえばPythonはexportキーワードありませんでしたねtakker.icon
だとすると、公開範囲を制御できなくても不自然ではない、のか?
Pythonにはprivateの概念がない(確かそうでしたよね?)ので例外見なした方がいいか
exportを明示するのは、外部への公開範囲を制御するためです
カプセル化とかprivate変数とかそういうやつと同じ役目をします
e.g.
例がひどいですが違いはわかると思います
code:module.js
export const public_function = () =>
console.log(My password length is ${private_function().length}.);
const private_function = () => 'fbUfek"(6f';
code:sample.js
import {public_function} from './module.js';
//import {private_function} from './module.js'; // NG
public_function(); // OK
//console.log(private_function()); // NG
/sta/複数行に一気に打ち消し線を引けるようにしたいです
ほいtakker.icon
/takker/複数行に打ち消し線を引くPopup Menu
-のショートカットに割り当てて使っています
とても便利です(自画自賛)
これマジで便利で助かってますsta.icon
おおおおおおおありがとうございますsta.icon*2
本当にすごいsta.icon
すげU.icon
underlineも作ってほしい
ほいtakker.icon
code:js
scrapbox.PopupMenu.addButton({
title: '\uf0cd',
onClick: text => {
const result = text.split(/\n/)
.map(line => line
.replace(/\[_([\!"#%&'()\*\+,\.\/\{\|\}<>\-~*?)\s(.*?)\]/ug,
(_,p1,p2)=> !!p1 ? [${p1} ${p2}] : p2)
.replace(/(^\s+)|([^]+)|([^]*)/ug,(_,p1,p2,p3)=>{
if (p1) return p1; // インデント文字列
if (p3) return p3; // インラインコード記法
if (p2) return [_ ${p2}]; // それ以外
throw Error('正規表現で捕捉できていないよ!')
})
).join('\n');
// テロメアが無駄に更新されるのを防ぐ
if(text == result) return;
return result;
}
});
やば!さすが!!U.icon
-を_に変えるだけの簡単なお仕事でした
しかしコードを見直してみると、よくわからないことしている部分があるな
replaceを2つ使っているところ
正規表現が複雑過ぎる
リーダブルなコードに書き換えながらやらないと読めない
/sta/strike-multiple-lines#607041d879d3a9000075155a
コード直すか。
2021-04-10 01:13:07 直した
/takker/複数行に打ち消し線を引くPopup Menu その2
簡単になるかと思ったがそんなことはなかった
/icons/あざっす.icon
表現わかりやすくするの難しいですよね
しかし同じこと考える人がいるものですね
自分程度が思い付くものは既にこの世にありそう
/sta/scrapbox-shuffler
多分結構簡単に作れます
api/pages/:projectname/:pageid/accessedをPOSTすると、そのページへアクセスしたことをscrapbox.ioに知らせる事ができます
/icons/あざっす.icon
うおお、そんなAPIがあるんですねsta.icon*2
このAPIを定期的にランダムに叩けば、Date last visitedをshuffleできると思います
……これ悪用したら、他人のprojectのDate last visitedも滅茶苦茶にできますねtakker.icon
ある意味セキュリティーホールかも
ですね
創作ネタとしては使えそうだ
あと使いすぎてサーバーに負担かけてしまわないかが心配
windowを横に並べるだけでは一覧性を得られないのか
/sta/GoogleからのSMSが届かなくてScrapboxにログインできない
バックアップコードを取っておくのがbestです
ちょっと調べてみますsta.icon
TOTP(Google認証システムのやつ)をフォールバック用に設定しておくのも良いかも
/sta/ステップアップ妨害因子#6061a1b179d3a900002ad8f5
あんまり気にしなくていいと思います
というのも、そういうネタをガッツリ絡ませているにも関わらず、ランキング1位を維持し続けた小説があるので
e.g. 無職転生 ~異世界行ったら本気だす~
ありがとうございますsta.icon
まだ読んだことないのでそのうち。。。
タイトルとR18ネタが多いこと以外完成された小説なので是非takker.icon*3
/sta/Scrapboxの入門をBooxで書く
Scrapboxの解説動画を作ろうと思ってたの思い出しましたtakker.icon
VOICELOIDを使いたいが、手元にないので作れてない状態
構成もまだ決められていない
/takker/scrapboxの解説動画をつくる
sta.iconさんの構成ができましたらパクっ……参考にさせていただきますtakker.icon
私も解説動画のページウォッチしてパ参考にしちゃおうと思います
いや、それよりもScrapboxの解説を作るprojectを作って、複数人で構成を練った方が面白いかも
/scrapbox-guideみたいなのを作って、そこで作業する
こっちのほうが面白そうな気がしてきましたsta.icon
しかし一人で知的生産したいマンなので一人でやっちゃうかも……
しかししかしあえて複数人で練る試みもやってみたい
(今までのmarkdown原稿+chatとかだと明らかにきつそうですが)Scrapboxなら実現できる気がしないでもないような
/sta/Scrapbox活用事例集が使いにくい?#603a2b4e79d3a90000f2ff92
/staの存在を知ったのは、/sta-taskmanagement経由だったと思いますtakker.icon
/sta-taskmanagementは多分/rashtamemo→/taskmanagement経由で知ったはずです。
これは覚えていないので推測です
ありがとうございます(全然違いましたねsta.icon
/sta/Scrapbox御三家
/motosoも推したいですtakker.icon
論点の整理がうまい
scrapboxを使った情報収集のお手本だと思う
そのうち覗いてみますsta.icon
ちょっと良さがわかってきたかもしれない
勝手に推してたら本人がきちゃった件takker.icon
なんかちょっと恥ずかしくなってきた