potappo's blog

日々の雑感などを書くブログ。

JavaScript ガイド > 正規表現 の翻訳の更新(その5)

このエントリは MDNとかをみんなで編集!翻訳! Advent Calendar 2019 の 20 日目 です。

JavaScript ガイド > 正規表現 > 言明 に、別ページであった「境界」が統合されたので反映しました。境界は、「^」や「$」などがあります。
JavaScript ガイド > 正規表現 > グループと範囲は、「|」や「[]」、「()」によるキャプチャなどです。ECMAScript 2018 の仕様として、名前付きキャプチャが追加されています。
JavaScript ガイド > 正規表現 > 数量詞は、マッチする文字の回数指定です。

これで、現在ある個別ページのレビューは完了です。メインページの再更新が必要なので、あとで(土日中)更新します。
15時頃追記:メインページも更新しました。境界が言明に統合された件の反映と、例のコード部分の修正などです。

JavaScript ガイド > 正規表現 の翻訳の更新(その4)

このエントリは MDNとかをみんなで編集!翻訳! Advent Calendar 2019 の 19 日目 です。

JavaScript ガイド > 正規表現 > 文字クラス は、JavaScript で使える正規表現のうち、文字クラスについての解説ページです。翻訳をレビューし、最新の英語版で追加された例を追加しています。
ECMAScript 2018 の仕様として、「.」 が行末文字にもマッチするようになる s (dotAll) フラグが追加されています。後読み言明同様、Firefox ではまだ実装されていません。(未実装正規表現機能のメタバグ

JavaScript ガイド > 正規表現 の翻訳の更新(その3)

このエントリは MDNとかをみんなで編集!翻訳! Advent Calendar 2019 の 18 日目 です。

JavaScript ガイド > 正規表現 > 言明 は、JavaScript で使える正規表現のうち、言明(Assertion)についての解説ページです。翻訳をレビューし、最新の英語版で追加された例を追加しています。
Firefox ではまだ実装されていませんが(該当バグ)、ECMAScript 2018 の仕様として、後読み言明が追加されています。

JavaScript ガイド > 正規表現 の翻訳の更新(その2)

このエントリは MDNとかをみんなで編集!翻訳! Advent Calendar 2019 の 17 日目 です。

JavaScript ガイド > 正規表現は、JavaScript で使える正規表現についての解説ページとなっています。メインページは終わらせましたが、明日も引き続き、サブページをレビューしていきます(例とか増えている模様)。各機能の紹介はそちらでしていく予定。今回のは、1ページで正規表現を解説しているページなので、編集するのもけっこう大変でした。

JavaScript ガイド > 正規表現 の翻訳の更新(前編)

このエントリは MDNとかをみんなで編集!翻訳! Advent Calendar 2019 の 16 日目 です。

JavaScript ガイド > 正規表現は、JavaScript で使える正規表現についての解説ページとなっています。1日だと終わらなかったので、前編としています。明日で後編となって、終わるかは未定。

ES2018で調べると色々出てきますが、JavaScriptでの正規表現の機能も増えているのだなと思った次第。更新作業が終わった時点でまとめられればと思います。

はてなダイアリーの移行をしました

A Better Project@はてなダイアリー(インポート版)
インポート作業はStep3のリダイレクト設定まで完了しています。各エントリがきちんとインポートされているかまでは見ていないので、時間あるときに見直すかもしれません。
サブアカウントラノベ感想ブログもひとまずインポートで別のはてなブログに移行して、ここに統合するなり、他サービスに移行するかなどを考えますが、月末~月初と仕事が忙しい見込みなので、大きな作業はしばらくしない予定です。

Document.queryCommandSupported() を翻訳しました

このエントリは MDNやFirefox OSのドキュメントをみんなで翻訳! Advent Calendar 2015 の 12 日目 です。

Document.queryCommandSupported()は、Document.execCommand()で指定できるコマンドがそのブラウザで利用可能かどうかを調べるためのコマンドです。true か false を返すだけの単純なメソッドですが、関連メソッドが多く、翻訳前の英語版も関連メソッドの記述が混ざった状態になっていたので、ここで整理しておきます。

まず、Document.execCommand() が大元のメソッドです。様々なエディタコマンドがありますが、例えば、copy コマンド、paste コマンドを使うことで、ブラウザ単体でコピペ操作が可能となります。
これまで Firefox などでスクリプトでコピペ操作を行うには、Flash の利用が必要でした。個人的にはこれが今年の Firefox で一番画期的な実装です。

今回訳した Document.queryCommandSupported() メソッドを使うことで、エディタコマンドが利用可能であるかのチェックができます。Firefox では、paste コマンドに限り、実行するための権限が不足している場合も false を返します。コピペ操作のコマンドはセキュリティも絡むので、今後、実装が変わる可能性があります。各ブラウザの最新の仕様を確認してください。

また、Document.queryCommandEnabled()メソッドというものもあり、こちらは、cut および copy コマンドで、ユーザが起動したものでない場合、機能として利用可能であっても、false を返すという仕様になっています。queryCommandSupported メソッドが実装だけで判別するのに対して、queryCommandEnabled メソッドは、呼び出しコンテキストを含めた判別を行います。

他にも、queryCommandValue というメソッドがあります(MDN にはまだドキュメントがありません)。このメソッドでは、コマンドによっては、コマンドの実行値を戻り値として受け取れます。他にもまだありますが、Mozilla では、Midas というリッチテキストエディタに関するプロジェクトがあり、詳しくはそちらを参照してください。

標準仕様としては、Editing Taskforce の HTML Editing API になるかと思います。