Help‐ノート:Jastyle

ページのコンテンツが他言語でサポートされていません。

コメントテンプレート[編集]

展開というか、「コメント」っていちいち付くのがくどいなと思ったので、テンプレートから画像だけに置き換えただけです。編集上は画像のリンクが貼られてうざったいかもしれませんが、投稿したあとの処理では結局画像だけなのか、コメントって言葉がついてるのかという話なので、無い方を選んでみました。--草薙 2008年5月24日 (土) 15:07 (UTC)[返信]

いや。タグはなんでもいいんですが、いずれ除去する部分なので、ソース中で見つけやすいものにしてはどうかと。{{未了2}}とかでもいいかもしれませんね。 --Hatukanezumi 2008年5月25日 (日) 02:21 (UTC)[返信]
では、未了を使うことにしましょうか。--草薙 2008年5月25日 (日) 02:30 (UTC)[返信]

意図が不明な部分について[編集]

どういう意図で現在の設定にしてあるのかは、ここで考えていくことにします。

句読点の扱い[編集]

  • 英数字のあとの全角形ピリオド「.」をピリオドと空白「. 」に変換

多分これは、英文の慣習にしたがっているのでしょう。英数字は半角文字を使用するという決まりがある以上、全角ピリオドも使えません。そのため半角文字に変換されます。そして、英文を記述する時には、ピリオドのあとは半角スペースを一つ挿入して、次の文章を始めます。それに合わせた修正だと思われます。なお、半角コンマを使った後にも半角スペースを挿入して文章を続けます。このことは、英語版ウィキペディアの記事をどれでもいいので見れば確認できます。--草薙 2008年5月25日 (日) 02:30 (UTC)[返信]

(コメント)「円周率は3.14159…」→「円周率は3. 14159…」となります。 --Hatukanezumi 2008年5月25日 (日) 04:33 (UTC)[返信]
  • 全角形カンマ「,」および半角形読点「、」を 全角形読点「、」に変換
  • 全角形ピリオド「.」(上記の場合を除く)および半角形句点「。」を 句点「。」に変換

上とあわせて考えると、地の文のなかでの句読点のつかいかたを念頭に置いているのだとおもわれます (WP:JPE#約物の使い方参照)。逆に言うと、地の文でない場合や例外的な場合が考慮されていないと言えます。 --Hatukanezumi 2008年5月25日 (日) 04:33 (UTC)[返信]

(コメント)「本田美奈子.」→「本田美奈子。」となる (「本田美奈子.」であるべき) ように、固有名詞や型式番号などが意図しない変更を受ける可能性があります。
(コメント)WP:JPE#約物の使い方のうち、カンマ、ピリオドのみについて後に空白を補っており、疑問符、感嘆符、コロン、セミコロンについては補っていません。 --Hatukanezumi 2008年5月25日 (日) 04:33 (UTC)[返信]
(コメント)引用文中では句点と読点ではなく、カンマと句点を使う場合がありえますが、全角カンマを使っていた場合、読点に直されてしまいます。
(コメント)全体に言えることですが、ある文字の並びにウィキマークアップが割り込んだ場合が想定されていません。「リビジョンコントロールシステム ([[Subversion]],[[CVS]])」の全角形カンマは「, 」に変換されることが意図されていると考えられますが、実際には「、」に変換されます。 --Hatukanezumi 2008年5月25日 (日) 04:33 (UTC)[返信]

ええと、こんな感じですすめればいいですか? --Hatukanezumi 2008年5月25日 (日) 04:33 (UTC)[返信]

そうですね。ノートですからスタイルには大きくこだわらず、とりあえずわかるように書いてけばいいでしょう。--草薙 2008年5月25日 (日) 04:43 (UTC)[返信]

結果が同じになる変更[編集]

タグなどを破壊する件については後日書くとして (ちなみに「タグ」ではなく「タグのようなもの」が正確です。これも後日書く)、生成されるHTMLテキストでは結果が変わらないのにソースを変更している挙動のために、この節を立てます。

  • <br>、<br >、<br />など - <br/>に置き換え
  • <hr>、<hr >、<hr/>、<hr />など - 改行----改行改行 (つまり前詰め後空き) に置き換え

意図がわからない…。だれか書いて。 --Hatukanezumi 2008年5月28日 (水) 15:52 (UTC)[返信]

(コメント)<br>、<br >、<br/>、<br />のいずれも、表示されるHTMLテキストでは「<br />」になっています。だからといって「<br />が正しい」というわけではなく、MediaWikiではこれらの記法揺れを許容しているとみるべきでしょう。この件についてはちょっとした論争になったようですが。 --Hatukanezumi 2008年5月28日 (水) 15:52 (UTC)[返信]
(コメント)<hr>、<hr >、<hr/>、<hr />についても、いずれも表示されるHTMLテキストでは「<hr />」となっています。上と同じことが言えますが、それだけではありません。「----のみの行に置換するほうが正しい」わけではなく、MediaWikiはこのようなマークアップも許容していると見るべきではないでしょうか。
さらに言うと、変更結果で「----」のあとに空行を空けるようにしていることについても同じことが言えます。前空き、後空き、前後空き、前後とも空きなし、のいずれでも、生成されるHTMLテキストでは前後空きなしの「<hr />」となります。そういうわけで、MediaWikiは以上のいずれのマークアップも許容していると見るべきでしょう。 --Hatukanezumi 2008年5月28日 (水) 15:52 (UTC)[返信]
生成されるHTMLテキストを考慮してではなく、編集画面上での表示を考慮しての置き換えなのだろうと思います。できるだけWikiマークアップを使い、通常名前空間ではできるだけタグを直接使わないことにしていますので。行間をある基準で揃えようとするのも、編集画面上の便宜を図るためだと考えれば良いのではないでしょうか。それが良いか悪いかは別として。--草薙 2008年5月29日 (木) 05:12 (UTC)[返信]
(コメント)なるほど。hrについてはそれで説明がつきますね。「----」のほうがウィキ的だということかな。ただ、brについてはやはり意図がわかりません。
(コメント)「----」については空行の問題もあります。下の点はどういう意図なんでしょう。 --Hatukanezumi 2008年5月29日 (木) 17:09 (UTC)[返信]
  • 4つ以上の「-」だけから成る行、またはそれで始まる行 - その部分を「----」だけから成る行にする。前後の空行を前詰め後空きにする。
  • 見出しの前後 - 前後の空行を前空き後詰めにする。

すみません。意図より先にコメントを書いてしまいます。

(コメント)上で「編集画面上での表示を考慮しての置き換え」との指摘がありました。そうなのだろうとおもいますが、であればあるひとつのスタイルが最善なのか疑問です。
  • 上の節ではわたしは「----」を前空き後詰めにしています。気分的にこのほうが見やすいからです。
  • 見出しについては、前空きは多くの支持を受けているようにおもいますが、後詰めか後空きかはけっこうばらつきがあります。wikEdでは、編集画面でテキストを追加した際も校正機能を使った際も、見出しの後に自動的に空行を入れます。wikEdをつかっているひととjastyleを使っているひととで「編集合戦」が起こるのはまずいんじゃないかと(笑)。
  • 見出しの後詰めについて合理的な理由がある (たとえば、節初に置くテンプレートで、前に空行があってはまずいものがあるとか。本当にあるのかどうかは知りませんよ) のなら、積極的に後詰めに修正すべきかもしれません。
(コメント)行の出入りがあると、差分が見にくくなります。それでもやるべきなのかどうか。 --Hatukanezumi 2008年5月31日 (土) 04:27 (UTC)[返信]
行間を一定のスタイルに揃えるというか、余計な空行を除去するよう設定する場合に、どういう風なスクリプトを組むかという話かもしれません。説明しづらいんですが、「どこまで除去するか」を考えて、スクリプト上は「その結果どうするか」で定義するような場合は、一行空きとか、全行除去あたりにするしかないだろうと考えられます。多分、やろうと思えば「2行以上連続で空白が入っている場合に1行だけ残して除去し、1行だけの空白は見出しの前後に関わらず編集しない」ということもできるとは思いますが、それも結局どこまで自動で修正していくのかによるだろうと思います。行間については、一切自動修正しないというのも、考え方のひとつとして有りだとは思います。--草薙 2008年5月31日 (土) 06:20 (UTC)[返信]
たしかに、空行が連続している場合というのは、まず1つの空行にしてしまっていいでしょうね。ウィキペディアでは、空行を複数ならべて空間を空けるといったつかいかたは、よろしくないとされていますから。
そのうえで、前後の文脈に応じて行を詰めるか空けるかを、いろんな場合について丁寧に検討する必要があるとおもいます。そういったことはプログラム的な手間を増やしますが、実現は可能でしょうし、多くのひとが納得できる挙動を得られるでしょう (とりあえず、コードを書けるかどうかは考えないでいいとおもいます)。もちろん、一切修正しないという選択肢もありますね。
余談。正規表現を使っているとすぐ気づくことですが、これは状態遷移のあるテキスト --- つまり、同じ文字列でも前後になにがあるかによって意味が変わるようなテキスト --- を扱うのが苦手です。テキスト中に特定のパターンをみつけると、闇雲に処理してしまう。ただ、だからといって正規表現はだめだということではなく、テキストを細分して少しずつ処理していくなかで正規表現による照合や置き換えを使うと、効果的だとおもいます。 --Hatukanezumi 2008年5月31日 (土) 10:04 (UTC)[返信]
  • interwiki
    • 文字参照 - 数値文字参照をUnicodeの文字に置き換え
    • アンダーバー ( _ ) - 半角空白に置き換え

アンダーバーについてはここの議論にもとづいています。半角空白をアンダーバーに置き換えていたものを、逆にするようにしたようです。

文字参照についてはよくわかりませんが、ここの議論などを見たのかもしれません (なお、この当時はinterwikiリンクに文字参照を使えませんでしたが、現在はつかえます)。 --Hatukanezumi 2008年5月31日 (土) 10:19 (UTC)[返信]

(コメント)いずれの場合も、修正してもしなくても、生成されるリンクのタイトルやリンク先URLは同じです。また、表のページにも書きましたが、interwiki整備botが処理のついでに修正するでしょうから、わざわざ修正するのは無駄でしょう。 --Hatukanezumi 2008年5月31日 (土) 10:19 (UTC)[返信]

文字幅の変更に関連して[編集]

文字の全角/半角を変更する挙動のための節を設けます。いろいろな話題がありそうです。

  • 全角英数・記号を半角文字に変換
    • ただし、以下のものは例外 - ,.:;?!` ̄|()[]{}=¥
  • 半角カナを全角カナに変換

WP:JPE#使用可能な文字の「ラテン文字(英字)やアラビア数字など、JIS X 0201ラテン文字類(いわゆる半角英数字)で規定されているものはそれを用います。そうでない漢字平仮名片仮名などは、JIS X 0208に規定されているもの(いわゆる全角文字)があればそれを用います。JIS X 0201の仮名文字類(いわゆる半角カナ)は使わないでください。」に基づいていると考えられます。

例外のほとんどは、「JIS X 0201のラテン文字類の記号のなかには、場合によっては全角形を用いる必要があるものや、全角形を用いてよいか意見が分かれているものもあります」を念頭に置いて変換を避けているのだと思われます。 --Hatukanezumi 2008年6月3日 (火) 11:28 (UTC)[返信]

(コメント)ガイドラインに触れられていない記号で例外になっているものもあるようで、その部分の意図が不明です。また、?!のようにガイドラインでは直前の文字種で文字幅を使い分けるとされているものも、単に変換しないことにしているようで、この点も事情がわかりません。 --Hatukanezumi 2008年6月3日 (火) 11:28 (UTC)[返信]
(コメント)< > → < > の変更ですが、前者は多くの場合〈 〉の誤記と考えられます。WP:JPE#括弧類「不等号 <、>、≪、≫ は括弧として用いないでください」を考慮していません。 --Hatukanezumi 2008年6月3日 (火) 11:28 (UTC)[返信]
(コメント)他言語版の記事では日本と関わりのある事物の記事名に全角形英数字を使っていたり、半角形仮名を使っていたりする例がありますが、言語間リンクも本文と同じく文字幅を変更するため、リンクが壊れます。 --Hatukanezumi 2008年6月3日 (火) 12:19 (UTC)[返信]
(コメント)- (全角形ハイフンマイナス) は ー (音引き) の誤記であることがよくありますが、- (ハイフンマイナス) に変換されてしまいます。— (エムダッシュ) の代わりに使っているのなら影響は少ないのですが。
(コメント)全角形記号を半角に修正した結果、ウィキマークアップで特別な意味を持ってしまう場合があります[1]。ここまで考慮して変換するのは難しいとおもうので、ある程度はやむを得ないかもしれません。しかし、ほかの変換ルールと複合して変換された場合は、元のテキストが類推できないくらい変わってしまう可能性もありますので、なんらかの歯止めはかけるべきだとおもいます。 --Hatukanezumi 2008年6月6日 (金) 14:13 (UTC)[返信]

自動修正することの意図[編集]

そもそも、「編集したときについでに修正してしまおう」というアイディアがどこからでてきたのか、ですが、もしかするとHatukanezumiが示唆したのかもしれません。[2]で作者に対してそのような意見を述べています (議論の全体)。

ただ、このときの議論の主題は「ノート名前空間の名称『ノート』を『議論』などに変えてはどうか」というものでした。当然のことながら、そういうシステム仕様の変更をするには、コミュニティの広範な合意が必要です。合意されたシステムの仕様に合わせて記事を修正するにはどうすればよいか、という文脈での話なわけですね。

対して、ウィキスタイルというのは、システムの仕様として明確に決まっているものではないし、ひとによって意見の相違がありうるものです。なぜなら、スタイルは人間が決めるものですから。ですから、多義的だったり矛盾をふくんでいたりするのは、あたりまえです。そういうものを一律な基準として記事に適用しようとするのは、かなり難しいことです (不可能とまでは言いませんが)。スタイルガイドの一部だけを機械的に適用すると、本来の意図とは異なった結果が生じてしまうこともあります。また一方で、意図した結果であっても、ほかのひとから見ると不適切かもしれません。

なにか、このあたりに根本的な齟齬があるのではないかと思えてきました。作者の意見を聞いてみたいです。あ、ただ、くれぐれも喧嘩腰の発言はやめてね。 --Hatukanezumi 2008年6月7日 (土) 01:04 (UTC)[返信]

?それはちょっと違うんじゃないですか。jastyle.js は2006年4月にはすでに作られていますし、少なくない利用者が2006年頃から使用していたと思いますよ(私もそうです)。確かに意図しない動きもありましたが、多すぎる空白の除去など、手動で探すのはなかなか面倒な作業をこなしてくれるわけですし、今でも便利に使っています。
それにこういう発想は WikiEd なんかも同じですし、別にふつうのことなんじゃないですか? WikiEd は私の環境ではまともに動かないないし、日本語環境独特の問題は解決してくれないから使っていませんが。--Aotake 2008年6月7日 (土) 04:21 (UTC)[返信]
繰り返しになりますが、「便利だから」という意見は、話がかみあってないとおもうんですよねえ (以下、話がそれているようでしたら、適宜節分け願います)。
で、そうですか>>時期。じゃあわたしの思い過ごしかな……自分の発言が不用意だったのかと、ちょっと悩んでいたので。それはともかく、
こういうものが便利なのはわかるのですよ。ただ、その場合、「このスクリプトはなにをしているか」を利用者がわかって使っている --- さらに言うと「自分はいまプログラムで記事を自動処理している」と意識し、意図しない変更がないか気をつけている --- んじゃないですか。
jastyleは実際、多くの利用者に使われている。その理由のひとつは、これが単純なスクリプトで、(プログラムが読めれば) なにをするのかだいたい理解できるし、改造も容易だからでしょう。なかには、自分がよくやる修正を組み込んで、専用のjastyleにしてつかっているひともいますね。jastyle (やその変種) が、jaWPの多くの利用者のあいだである種のミームとして広まるのは、とてもいいことだとおもう。ただし、そうやってひろまったものは、それぞれの利用者の状況に適応して特殊化してしまっているかもしれない (原作者の書いたものにすら、すでにそういう特殊化が見られる。{{SERVER}}{{localurl}}の修正なんて、頻繁に必要になることですか?)。
ガジェットという形で不特定多数の利用者につかわせるのなら、だれがつかってもある程度問題がなく、結果に疑問がでにくいようにしなければいけないとおもうんです。jastyleを使ったせいでこんなことこんなことになるのはまずい。ほかのガジェットやプログラムでは ---
  • wikEdは、処理を自動化せず、ユーザが意識的に修正の操作をしたときだけ修正されることで、問題を起こしにくくしている。
  • AutoWikiBrowserは、修正ルールの決定と改善をコミュニティに委ねることで、より多くのひとが納得できる修正の自動化を実現しようとしている。
jastyleには、こういった戦略がなにも感じられない。そもそも、サポートページもない (利用者はほったらかしです)。ヘルプをなんとかつくるためには、プログラムの中身を読むところから始めなければならなかった (結果、たくさんのバグや不明点がみつかりました)。
「便利だからみんなに使ってほしい」というのなら、それなりの準備がいるとおもうんです。jastyleには、その準備があまりにも欠けている。だから準備のとっかかりとして、このノートで議論しているわけですが……道のりは遠いですねえ。 --Hatukanezumi 2008年6月7日 (土) 05:57 (UTC)[返信]
ああ、「編集したときについでに」っていうのは、「投稿ボタンを押した時に修正しちゃおう」ということを言っているんですね。そこのところがわかりにくかったので、「編集時に修正するのはあたりまえでは?」と思ってしまいました。それならまだわかります。 簡略版でいいので WikiEd がもっといろいろな環境で使えればいいんですけどね。AutoWikiBrowser のほうでもいいですが。まあ、作った方のやったことについていろいろ言っても発展もないし、むしろ「自分もああいわれるかもしれないし、めんどくさそうだから関わらないでおこう」と思う利用者を増やすだけだと思うんですよ。「戦略がなにも感じられない」とか別にいわなくてもいいんじゃないですか。どんどん改善しちゃう方向でとりくみましょうよ。--Aotake 2008年6月7日 (土) 06:12 (UTC)[返信]
うん、たしかに後ろ向きでした。しかし、ヘルプを作るだけで相当疲弊したので……。
今後について考えてはいます。
  • ひとつは、「ヘルプを先に完成させてしまって、そのヘルプのとおり動作するjastyleを作ってもらう」という方向かとおもいます。作るについては現存するjastyleをもとにしてもいいし、新規に書き起こしてもかまわない。だれが書いてもいい、ということで。
  • もうひとつは、別の手段で同様の結果をだせるようにすることです。自分がプログラムを書くとしたら、こっちのほうでやるとおもう。ただこれはjastyleとは関係なくなるので、別の場所でやることになるだろう。 --Hatukanezumi 2008年6月7日 (土) 06:22 (UTC)[返信]
まあお気持ちはわからなくないです(^^)。今後についてはもう、それはやってくださる方がやりやすい方法でいいと思います。--Aotake 2008年6月7日 (土) 08:55 (UTC)[返信]

ヘルプの現況[編集]

(インデント戻し) 少し頭が冷えました。

Tietew版jastyle 0.8.0.1の機能については現在、ヘルプに網羅できているとおもいます (たぶん)。

  • バグ (×) については、プログラムが修正されてバグがなくなった場合には、記述を除去するということになるとおもいます。
    • 一部のバグは修正が困難なので、機能の削除もありだとおもいます。特に「Wiki記法」と「タグ」の部分 (修正は不可能ではないがおそらく全面的な書き換えになる)。
  • 不明点 (未了) については (a)「こういう仕様なんです」という説明に書き換えるか、(b) より明確な仕様に変更してプログラムも修正するか、のいずれかだとおもいます。なお、当ノートでも不明点の指摘があります。

コーディングはだれがやってもいいとおもいます。また、テストは別途必要です。

もちろん、現行のjastyleの問題点を解決した別の実装が書かれるのなら、歓迎です。

わたしは、ここまでで自分がやれることはやったつもりなので、しばらく黙ります。 --Hatukanezumi 2008年6月7日 (土) 11:46 (UTC) 追記 --Hatukanezumi 2008年6月7日 (土) 11:51 (UTC)[返信]

利用状況ウォッチ[編集]

色々検証していらっしゃるようですが、とりあえず現在 '', 'Category', 'Template', 'Portal', 'Help' となっている行を、適当に 'ぬるぽ' にでも置き換えてしまえば良い様な気もします。投稿時に自動でスタイル修正が加わるのを避け、"style" ボタンを押したときだけ(編集画面で開いている全体が)修正されるようにするだけでも、だいぶ記事破壊は改善されると思いますが。--ラッキースター・キッド ◆Luck.w.AEQ 2008年6月3日 (火) 22:47 (UTC)[返信]
なぜ「ぬるぽ」? (笑)
後半は同意します。利用者に確認させずに変更してしまうことは大きな問題だとおもいます。
ただ個人的には、一律に変更するかしないかを選択させることでは、もはや解決にならないとも考えています。現在ここで指摘されていることを、「jastyleを使う上での留意点 --- このような問題が起きるときは、機能を無効にしてください」というかたちでまとめたとしましょうか。そうすると、「jastyleを使って編集するには、非常に多くのことに注意を払わなければいけない」ということになり、本末転倒です。
jastyleの変更を再修正した例: [4][5]。こういった「注意して使わなければいけない挙動」が、多数あるのです (上の記事にしても、「<GOGO>」が「<gogo>」に変わってしまうのは明らかにおかしい)。 --Hatukanezumi 2008年6月3日 (火) 23:33 (UTC)[返信]
本末転倒ですかね。私は「jastyleを使って編集するには、非常に多くのことに注意を払わなければいけない」を当たり前のことだと考えていますし、それを考えていない人にはその人の責任で尻拭いしてほしいと思っています(投稿ブロック等)。プレビューくらいしろよ、と。--ラッキースター・キッド ◆Luck.w.AEQ 2008年6月3日 (火) 23:41 (UTC)[返信]
「プレビューして間違いがわかる」ということは、「スタイルガイドなどについて深い理解をもっており、どこを修正すべきかあらかじめ知っている」ということでしょう? それじゃ「自動修正」の意味がないじゃないですか。ラッキースター・キッドさんが、そのようにおっしゃるのは、プログラムの中身を知って使っているからではないですか。プログラムの中身を知らず、スタイルガイドに詳しくないひとがつかっても、一応満足のいく結果をだせないといけないんじゃないかな。
それはともかく、改善のアイディアは歓迎です。 --Hatukanezumi 2008年6月3日 (火) 23:51 (UTC)[返信]
  • なんか「『<br/>』が (あるいは『<br />』が) XHTML的に正しい」という「好意的解釈」が広まりつつあるようで……。ウィキテキストはXHTMLぢゃないのですが。こんなことで初心者を萎縮させてどうするっ ([6]とその前後)、とおもいます。言ってるひとに悪意がないだけに、こまったことです。 --Hatukanezumi 2008年6月6日 (金) 14:00 (UTC)[返信]

解説について[編集]

jastyleがガジェットからはずされました[7]ので、草薙さんの井戸端でのサジェスチョンを参考に、Help:ナビゲーション・ポップアップからユーザスクリプトへの導入方法を移入しました (ガジェットとしての導入方法はコメントアウトしてあります)。 --Hatukanezumi 2008年6月6日 (金) 05:20 (UTC)[返信]

スクリプトが使用できない[編集]

jastyleですが、vector-2022.jsと/vector.jsにスクリプトを登録したのですが、「Warning: Unrecoverable syntax error. (50% scanned).」とエラーメッセージが出力されて、スクリプトを使用することができません。

多分、MediaWiki:Gadget-jastyle.jsにバグがあると思われますが、MediaWiki:Gadget-jastyle.jsのソース編集の権限がないため、バグを修正することができません。

下記が使用したスクリプトです。

mw.loader.load('//ja.wikipedia.org/w/index.php?title=MediaWiki:Gadget-jastyle.js&action=raw&ctype=text/javascript')};

よって、誰か修正してもらえませんか?--MSY-07会話2023年5月5日 (金) 16:39 (UTC)[返信]

上記スクリプトの末尾の「}」を除去したら動作しました。--MSY-07会話2023年6月4日 (日) 15:55 (UTC)[返信]