ListPages Magic and You

このページの批評は終了しました。


不安な部分は緑色にしています。
評価: 0+x
blank.png

The word "ListPages" gets thrown around a lot.

昨今、ListPagesという言葉がよく飛び交うようになりました。

Sometimes it's from someone at the Questions Desk who saw an SCP using ListPages would really like to replicate it. Sometimes it's from someone who wants to know how to do a specific thing and the answer is ListPages. And sometimes it's from someone posting on your page to tell you that you should be using it.

ListPagesを使ったSCPを見た人が、質問デスクでそれを再現したいと言ってきたり、ある特定の動作を実現する方法を知りたいという人の質問も、答えがListPagesだったりします。また、誰かがあなたのページにコメントで、「ListPagesモジュールを使うべきだ」と教えてくれることもあります。

I have meditated for months in the rainforest on the word "ListPages", and my mind has ascended to places beyond the deepest sleeper's dreams. You may know what it is, you may even know what it means… but I have felt the very essence of ListPages course through my body. I have felt its ethereal form buckle under my will.

私は熱帯雨林で何ヶ月も「ListPages」という言葉について瞑想し、ついに私の心は深い眠りの人の夢を超えた場所へと昇華されていったのです。あなたはそれがどういうものかご存じかもしれませんし、何を意味するかも知っているかもしれません。しかし、ListPagesの真髄が体内を巡っているのを実感しています。私の意志によって、その希薄な形を感じたのです。

I have bent the 5th Element, ListPages, and in this guide — which should be considered an extension to DrMagnusDrMagnus' Advanced Formatting and You — I'll attempt to pass this knowledge onto you.

私はListPagesという第五精髄に熱中しており、DrMagnusDrMagnusAdvanced Formatting and Youの続きとしてこのガイドでその知識を皆さんにお伝えしようと思います。



Please note that in this guide I've given each example ListPages module a grey background, just to distinguish it from the rest of the page. Your ListPages modules will have a transparent background.

このガイドでは、ListPagesモジュールの例を、ページの他の部分と区別するために、グレーの背景にしていることに注意してください。通常のListPagesのモジュールは背景が透明になります。

Hold on there, Croquembouche!

ちょっと待ってよ、Croquembouche!

"I don't need to know how to make a ListPages module from scratch!", you tell me. "I just want to know how to do the ListPages Thing used in SCP-2998, SCP-2111, and SCP-3002, amongst others."

「私はListPagesモジュールの使い方を一から知る必要はないです!」、「SCP-2998SCP-2111そしてSCP-3002などで使われているListPages Thing2を知りたいだけなんです。」と私に言うかもしれません。

And to that I say: no, it's really important to learn the basics as well. It's all well and good copy-pasting code, but when that goes wrong and you don't understand why, how do you fix it?

そんな時、私はこう返します。「いいえ、基本的なことを学ぶのはとても大切なことです。コードをコピーして貼り付けるのはいいのですが、うまくいかず原因がわからないときに、あなたはどうやって修正するのですか?」

But if you really do know all this stuff already (or want to pretend that you do), fair enough, scroll down to ROUNDERHOUSE's Section 5: Quick And Dirty. But don't say I didn't warn you.

でも、もしあなたが本当にこれから書くことをすでに知っている(もしくは知っているふりをしたい)のであれば問題ないのでROUNDERHOUSEの第五節「とにかく動けばいいから教えて!」までスクロールして下さい。でもね、私は忠告しましたよ?


1: WHAT IS LISTPAGES?

1: ListPagesとは何か?


ListPages is a Wikidot module. Its full documentation can be found here.

ListPagesはWikidotモジュールです。完全なドキュメントはこちらで見ることができます。

To quote the documentation:

ドキュメントを引用すると

The ListPages module is a general-purpose and widely-used tool that selects and display pages within a site.

ListPagesモジュールは、サイト内のページを選択して表示する汎用的で広く利用されているツールです。

That's all it does — it literally Lists Pages.

そう、文字通り「Lists Pages」なのです。

ListPages generally has two uses on the SCP wiki:

  1. To filter the wiki for a specific group of pages and show them in a list,
  2. To allow an SCP (or any page) to appear to have multiple pages which you go through one-by-one, but they all have the same Rating Module.

ListPagesは一般的にSCP wikiでは次の2つの用途があります。

  1. Wikiを特定のページ群にフィルタリングし、一覧で表示すること。
  2. SCP (または任意のページ) に複数のページがあるように見せ、1ページずつ閲覧はできるがすべてに同じ評価モジュールを付けること。

The first one is the "boring but useful" one. We'll just call it Listing Pages, because that's what it is. Here's an example page with 4 ListPages modules that List Pages.

前者は、「つまらないけど役に立つ」というものです。我々がこれを"Listing Pages"とそう呼ぶその名の通りなのです。これはListPagesが4つのモジュールを持つページの例です。3

The second one, however, is the Thing, it's the Big Thing that everyone wants to know about. In fact, let's call it the ListPages Thing. LPT for short. Here's an example page that uses LPT.

後者はThing4、誰もが知りたがっている「重要なもの」です。実は、これを「ListPages Thing」と呼ぶことにしましょう。略してLPTと。これははLPTを使用したページの例です。

But the first one, Listing Pages, is way easier to explain, so I'll be using that to cover a lot of the things you need to know for the second one, the ListPages Thing (LPT).

しかし、前者のListing Pagesの方が説明が簡単なので、後者のListPages Thing(LPT)のために知っておくべきことを、これを使ってたくさん説明したいと思います。

Warning

注意

Try to limit yourself to just one ListPages module per page.
ListPagesモジュールは1ページにつき1つまでにしてください。

ListPages modules can really slow down how fast a page loads. My author page had about thirty on it at one point, and I swear it was taking at least a full minute to load sometimes. It was godawful. Don't do that.

ページの読み込み速度はListPagesモジュールによって本当に遅くなります。私の著者ページには一時期30ものListPagesモジュールがあったのですが、読み込みに1分以上かかることもありました。ひどいものだったのでやめておいたほうがいいでしょう。


2: LISTING PAGES

2: LISTING PAGES


Without further ado, let's discuss the first implementation of ListPages: the simple listing of pages.

早速ですが、ListPagesの最初の実装である、ページの単純なリストアップについて説明します。

Here's a list of my 5 most recent pages on the wiki. (Also a pretty good indication of if I'm still around if you need help.)

これは私5が最近Wikiに書いた5つのページのリストです。(何か困ったことがあったときに、私がまだアクティブかどうかの目安にもなるでしょう。)

If you think I just typed out the URLs of each of them and left it at that, think again. You're seeing ListPages magic. If you want, you can prove it by heading to one of those pages, voting on it (be honest!), and then refreshing this page. You'll see that the rating, as recorded here, will change as well.

もし私が著作のURLを書き込んでそのままにしておいていると思うなら、考え直したほうがいいでしょう。あなたはListPagesの魔法を目にしています。もし望むなら、それらのページの1つに行って、投票し(正直に!)、そしてこのページを更新することで証明できます。ここに記載されている評価も変わるのがわかると思います。

If you check the source of this page you'll see the following code:

このページのソースを確認すると、次のようなコードがあります。

[[module ListPages created_by="RTa_technology" category="*" order="created_at desc" limit="5" separate="no"]]
* %%title_linked%% (%%created_at%%) (+%%rating%%)
[[/module]]

Don't have a clue what any of that means? That's fine — that's what this guide is for.

意味がわからない?大丈夫です。— そのためにこのガイドがあるのですから。

If I wanted to, I could show my top 5 pages. Or I could show more than 5. Or I could show only pages created after a certain date. There's a whole bunch of parameters that the ListPages module accepts in order to do what you want.

やろうと思えば、著作上位5ページを表示することもできます。5つ以上表示することもできます。あるいは、特定の日付以降に作成されたページだけを表示することもできます。ListPagesモジュールが受けとるパラメータはたくさんあるので、好きなようにできます。

I'm going to take you through basic ListPages use in three steps:

ListPagesの基本的な使い方を3つのステップで説明します。

  1. Selecting the pages you want;
  2. Modifying how the list handles those pages,
  3. Actually displaying the list.
  1. 必要なページを選択する
  2. リストがページ内容をどう表示するかを変更する。8
  3. 実際にリストを表示する


2.1: SELECTING PAGES FOR THE LIST

2.1: リストに掲載するページの選択


If you don't specify any parameters, ListPages will attempt to list every single page on the wiki. You don't want that (right?) which is why we specify selectors. These tell ListPages which pages to select and which ones to avoid.

もし何もパラメータを指定しなければ、ListPagesはwiki上のすべてのページをリストアップしようとします。そうならないように(ですよね?)、セレクタを指定します。これらはListPagesに、どのページを選択し、どのページを避けるべきかを指示します。

Let's work through the selectors to find out what each one does.

セレクタを使って、それぞれが何をするのかを確認しましょう。

ListPages has a whole bunch of selectors you can choose so that you can tell it exactly what pages to select. Here are the ones that you'll find most useful:

ListPagesには様々なセレクタが用意されており、どのページを選択するか正確に指示することができます。ここでは、最も便利なものを紹介します。

  • created_byfilter by author's name. If you set this to "Croquembouche", ListPages will only show pages created by me and will ignore all others. Please note that this only selects the user who actually posted that page to the wiki! ListPages is blind to co-authorship and collaborations.
  • created_by — 各ページの作者名を指定します。これを"Croquembouche"に設定すると、ListPages は私が作成したページのみを表示し、他のページは無視されます。ただし、これは実際にそのページをその9Wikiに投稿したユーザーを選択するだけであることに注意してください!ListPagesは共著や合作に対して機能しません。
  • ratingfilter by rating. If you set this to ">20" you'll only see pages with a rating that's greater than 20. Set it to "=0" and you'll only see pages with a rating of 0.
  • rating — 各ページの評価を指定します。">20"とすると、評価が20以上のページのみが表示されます。"=0"とすると、評価が0のページのみが表示されます。
  • tagsfilter by tags. If the tag name starts with "+", ListPages only shows pages with that tag. If it starts with "-", ListPages only shows pages without that tag. For example, "+scp -keter" would list all pages with the "scp" tag but without the "keter" tag.
  • tags — 各ページのタグを指定します。タグの名前に"+"をつけて始めた場合、そのタグを持つページのみを表示します。タグの名前に"-"をつけて始めた場合、そのタグを持たないページのみが表示されます。例えば、"+scp -keter"とすると、"scp"タグを持ち、"keter"タグを持たないページを全て表示します。
  • created_atfilter by the date on which each page was created. This selector accepts a fair range of values. "2009" will select all pages made in 2009, while "2009.02" will select all pages created in February 2009. ">2009.02" will select all pages created after February 2009. "last 3 month" will select all pages created in the last 3 months.
  • created_at — 各ページが作成された日付を指定します。このセレクタは、公正な範囲の値を受け付けます。"2009"は2009年に作成されたすべてのページを選択し,"2009.02 "は2009年2月に作成されたすべてのページを選択します.">2009.02 "の場合は,2009年2月以降に作成されたすべてのページを選択します."last 3 month"は、過去3ヶ月間に作成されたすべてのページを選択します。
  • namefilter by page name, or rather, the page URL. "SCP-3000" will match the page for SCP-3000. Use a percent symbol to denote "pages starting with this" — for example, "SCP-%" will match all pages starting with "SCP-".
  • name — ページ名、というよりはページのURLを指定します。"SCP-3000"はSCP-3000のページにマッチします。%記号で「これで始まるページ」を表します。例えば、"SCP-%"は"SCP-"で始まるすべてのページと一致します。
  • categoryfilter by page category. By default, ListPages will only look at pages in the same category as the current page. For this page, the category is "_default". For page-tags, the category is "system", and for earthworm, the category is "component". Check the URL — everything before the colon is the category, and if there's no colon, it's "_default". The category selector lets you specify a different category. Set it to "*" for all categories.
  • category — ページのカテゴリを指定します。通常は、ListPagesは現在のページと同じカテゴリにあるページのみを検索します。このページの場合、カテゴリは"_default"です。page-tagsの場合、カテゴリは"system"で、earthwormの場合、カテゴリは"component"です。URLを確認してください。コロンの前はすべてカテゴリーで、コロンがない場合は"_default"です。10

In summary: each selector will match certain pages and ignore others. For a page to appear in the list, it must match all of your selectors.

要約すると、各セレクタは特定のページにマッチし、他のページは無視されます。あるページがリストに表示されるには、すべてのセレクタにマッチする必要があります。

The documentation goes into more detail on each of these selectors — and a few others! — under the "Selecting Pages" title.

ドキュメントでは、"ページの選択"のタイトルで他のいくつかのセレクタを含むこれらのセレクタの詳細について説明しています。


2.2: MODIFYING THE LIST

2.2: リストの修正


Just selecting different pages isn't everything we need to do — we also need to specify how those pages are going to be displayed.

異なるページを選択するだけでなく、そのページをどのように表示するかを指定する必要があります。

There are a couple more parameters that you need to know. These aren't selectors, so they're not listed in the section above, but they're used in exactly the same way.

もういくつか知っておかなければならないパラメータがあります。これらはセレクタではないので、上記のドキュメントのセクションには記載されていませんが、全く同じように使用されます。

  • limitdetermines how many pages to show. If you set this to "5", then no more than 5 pages will be shown.
  • limit — 表示するページ数を指定します。"5"に設定すると、5ページ以上表示されません。
  • perPagehow many pages should be shown per page of the list? (It's not as confusing as it sounds!) By default, this value is set to 20, so if there are more than 20 pages in the list, a new page will be created. You can see this effect on Top Rated Pages This Month — at the bottom of the list of SCPs (assuming it's more than about a week into the month). The maximum value is 250.
  • perPage — リストの1ページあたり何ページ表示させるかを指定します。(これほど紛らわしいことはありません!)通常この値は20に設定されており、リストに20以上のページがある場合、新しいページネーションが作成されます。これの動作は、top-rated-pages-this-monthのSCPのリストの一番下にあります。(月が始まって約1週間以上経過していると仮定します。)最大値は250です。
  • separatewhether or not each entry in the list should be by itself in its own little list, or all in the same list. Valid values are "yes" or "no" — if you say "yes", you'll end up with a big gap between each entry in the list, which is rarely what you want.
  • separate — リスト内の各要素を、それ自身の小さなリストにまとめるか、あるいはすべて同じリストにまとめるかを指定します。有効な値は"yes"あるいは"no"です。"yes"とすると、リストの各項目の間に大きな隙間ができてしまい、あまり良くありません。
  • orderhow to order the list.
  • order — リストの記載方法

There's a lot of different options that the "order" parameter accepts, and they're listed in the documentation under the "Ordering Pages" heading. I'll list a few of the more useful ones here.

"order"パラメータが受け付けるオプションはたくさんあり、ドキュメントの"Ordering Pages"の見出しの下にリストアップされています。ここでは、より便利なものをいくつかリストアップします。

  • order="rating"order by rating.
  • order="name"order alphabetically by page name (as specified in the URL).
  • order="title"order alphabetically by page title (the actual title of the page).
  • order="created_at"order by the date on which the page was created.
  • order="comments"order by number of comments.
  • order="random"everything is in a random order! Re-randomises once per minute.
  • order="rating" — 評価昇順
  • order="name" — ページ名(URLで指定されたもの)のアルファベット順
  • order="title" — ページタイトル(実際のページのタイトル)のアルファベット順
  • order="created_at" — ページが作成された日付順
  • order="comments" — コメント数の多い順
  • order="random" — 全てがランダムな順序!1分間に1回、再ランダム化する。

By default, everything is ordered in ascending order (so low numbers are shown first). To show them in descending order, append 'desc' to the end — e.g. order="rating desc".

デフォルトでは、すべてが昇順に並びます。(つまり、低い数字が最初に表示されます。)降順で表示する場合は、最後に"desc"をつけます。 — order="rating desc"のように。

Note that there's no special option to specifically sort things in ascending order. The correct way to do it is to append "desc desc". Does that make sense? Nope. Can we really expect any better from Wikidot? Nope.

特に昇順に並べ替えるオプションはないことに注意してください。正しい方法は、"desc desc"を付加することです。これって意味があるのでしょうか?いいえ。Wikidotにこれ以上のものを期待してもいいのでしょうか?とんでもない。


2.3: DISPLAYING THE LIST

2.3: リストの表示


Okay so now that we know all about how to select the exact pages we want, and how to modify the parameters of that list. We've got a list of pages.

さて、欲しいページを正確に選択する方法と、リストのパラメータを変更する方法について、すべて理解できたかとおもいます。手元にはページのリストが出来ているでしょう。

When it comes to displaying that list, you've got a lot of options. Within the body of the module — that is, between [[module]] and [[/module]] — there are a number of different content markers you can put.

そのリストを表示する場合、多くの選択肢があります。モジュール本体の中、つまり[[module]][[/module]]の間には、さまざまなコンテンツマーカーを配置することができます。

Each content marker is like a stamp. We'll take %%title%% for example, which represents the title of the page. Imagine it like this: the ListPages module has a list of titles. It stamps the first title onto the page, then it moves down, changes to the next title, and stamps that. And so on, through the list. You end up with a list of page titles.

コンテンツマーカーは、それぞれスタンプ11のようなものです。ここでは、ページのタイトルを表す %%title%% を例にとって説明します。想像してみてください。このListPagesモジュールには、あらかじめタイトルのリストがあります。最初のタイトルをページにスタンプし、次に下に移動して次のタイトルに変更し、それをスタンプします。そして、次のタイトルをスタンプする。最終的にはページタイトルのリストができあがります。

Here are some of the most useful content markers. As usual, the documentation has the full list, under the heading "Sections head/body/foot". And there are a lot, so be sure to take a look.

ここでは、最も便利なコンテンツマーカーをいくつか紹介します。いつものように、ドキュメントには"Sections head/body/foot"という見出しの下に全リストが掲載されています。沢山あるので、ぜひ見てみてください。

  • %%title%%represents the title of the page.
  • %%title_linked%%represents the title of the page, with a clickable link
  • %%created_by%%represents the author of the page.
  • %%created_at%%represents the date on which the page was created.
  • %%rating%%represents the rating of the page.
  • %%index%%represents the position of the page in the list
  • %%content%%represents the entire content of the page. We'll be coming back to this one later.
  • %%title%% — タイトル
  • %%title_linked%% — クリック可能なリンク付きタイトル
  • %%created_by%% — ページ作成者
  • %%created_at%% — ページ作成日
  • %%rating%% — ページ評価
  • %%index%% — リスト内のページの位置12
  • %%content%% —ページのコンテンツ全体。これについては、後ほどまたご紹介します。

Seriously, I've listed 7 here, there are 56 in total — but some of them are so obscure that you'd never use them.

ここでは7つ(全部で56個存在する)紹介しましたが、中には絶対に使わないような無名なものもあります。

##blue|Please note#

注意

ListPages cannot display the actual title of your SCP. For example if you wanted to list SCP-173, you can't have ListPages display "The Sculpture".

ListPagesは、SCPのメタタイトルを表示することはできません。例えば、SCP-173をリストアップしたい場合、ListPagesに "彫刻 - オリジナル"を表示させることはできません。

This is because SCP titles are only kept on the SCP series pages, not on the SCP pages themselves. Therefore that information is inaccessible to ListPages, which only lists basic information about the selected pages and doesn't go looking on other pages for information about them.

これは、SCPのメタタイトルが、SCPの記事そのものではなく、SCPシリーズのページにのみ記載されているためです。したがって、その情報はListPagesにはアクセスできません。ListPagesは選択されたページに関する情報を取得・表示するだけで、そのページに関する情報を他のページで取得することはできません。


So now that we know a lot of parameters, let's do a demonstration.

では、いろいろなパラメータがわかったところで、デモをやってみましょう。

I'm going to list…

リストアップしたいのは…

  • All pages created in the past three months…
    • created_at="last 3 month"
  • …with a title beginning with the letter "S"…
    • name="S%"
  • …that have a rating of less than 100…
    • rating="<100"
  • …and that are not tagged "scp".
    • tags="-scp"
  • 過去3ヶ月間に作成された全ページの中から…
    • created_at="last 3 month"
  • …Sから始まるタイトルで…
    • name="S%"
  • …評価が100以下のもので…
    • rating="<100"
  • …"scp"タグが付けられていないものをリストにします。
    • tags="-scp"
  • I want to show no more than 40 results…
    • limit="40"
  • …and I want to show 10 results per page…
    • perPage="10"
  • …and I want all of these to appear in the same list instead of in separate lists…
    • separate="no"
  • …and I want them to be ordered by rating, in descending order.
    • order="rating desc"
  • 40件以内の結果を表示させ…
    • limit="40"
  • …1ページあたり10件表示して…
    • perPage="10"
  • …これらすべてを別々のリストではなく、同じリストにして…
    • separate="no"
  • …評価降順で並べます。
    • order="rating desc"
  • I want these pages to be in a numbered list…
  • …followed by the date on which the page was created…
    • %%created_at%%
  • …followed by the page title with a link to the page…
    • %%title_linked%%
  • …followed by the author's name…
    • by %%created_by%%
  • …followed by the page rating, in parentheses.
    • (%%rating%%)
  • これらのページを番号付きリストで表示して…
  • …その後にページ作成日を書いて…
    • %%created_at%%
  • …ページタイトルとページへのリンクを配置…
    • %%title_linked%%
  • …作者名をその後に書いて…
    • by %%created_by%%
  • …()内にページレーティングを表示します。
    • (%%rating%%)

So I write the following ListPages module:

さて、次のようなListPagesモジュールにすると…

[[module ListPages created_at="last 3 month" name="S%" rating="<100" tags="-scp"
limit="40" perPage="10" separate="no" order="rating desc"]]
# %%created_at%% %%title_linked%% by %%created_by%% (%%rating%%)
[[/module]]

…以下のリストを出力します。

  1. 05 Dec 2022 04:18 Shigaraki Kokkuri 1 by shigaraki_kokkuri (0)
  2. 26 Nov 2022 01:23 SCP-XXXX アネミア by soutaisei2 (0)
  3. 25 Nov 2022 10:03 scp test.1(safe_口紅) by skroomr1228 (0)
  4. 10 Nov 2022 12:06 SCP-XXXX-JP サンゴ症 by Spade5623 (0)
  5. 27 Oct 2022 09:52 SCP-2490-JP 真実を知る数 (下書き) by Soilgrean (0)
  6. 25 Oct 2022 07:06 SCP-xxxx-JP -博士のパチパチッと!似たモノ製造機 by SSDDFF (0)
  7. 02 Oct 2022 13:34 SCP-XXX-JP 青春40きっぷ  by Syutaro Eji (0)
  8. 01 Oct 2022 10:38 SCP-XXXX-JP 怒れるコメツブハエトリ(10/15 第三稿) by skyder_2nd (0)
  9. 01 Oct 2022 10:36 SCP-XXX-JP - 不確かなもの by SudoZero (0)
  10. 22 Sep 2022 20:23 Syuiro Vermilion 1 by Syuiro_Vermilion (0)
ページ 1 / 212次 »

Is this a very useful list? No. But it's a great example.

これはとても役に立つリストなのでしょうか?いいえ、でもいい例です。

Cool. If you were following along in a sandbox, congratulations, you've just made a ListPages module. If you weren't, congratulations anyway, but less.

良いですね!おめでとうございます!もし一緒にサンドボックスで作業していたなら、あなたはListPagesモジュールを扱えるようになりました。そうでなかった場合は、まぁとにかくおめでとうございます。

Note: If you decide to make a ListPages module in the sandbox, be aware that you're going to see pages from the sandbox, not from the main wiki! It catches me off-guard every single time.

注意: サンドボックスでListPagesモジュールを扱おうと思ったら、ページを取得するのはメインWikiからではなく、サンドボックスのページであることに注意してください!毎回不意打ちを喰らわせます。

Homework: Pop along to most-recently-created, hit Options then Page Source at the bottom, see if you can find the ListPages module, and then see if you know what each bit does. If you see stuff I've not covered, make sure you have the documentation to hand!

宿題: most-recently-createdを開き、"Options"、"Page Source"の順にクリックし、ListPagesモジュールが見つかるかどうか、そして、それぞれのモジュールのパラメータが何をするかわかるかどうか確かめてみて下さい。


Please also note that the content section of your ListPages module doesn't have to be one line long. It can be as many lines as you need it to be.

また、ListPagesモジュールのコンテンツセクションは、1行である必要はないことに注意してください。必要なだけ行を増やすことができます。

If you do have more than one line, I recommend you set separate="yes", or it might look a bit confusing.

もし、複数の行がある場合は、separate="yes"にすることをお勧めします。そうしないと、少し困ったことになるかもしれません。


Now that I've covered the basics of ListPages, it's time to move on to its most well-known application.

さて、ListPagesの基本的な使い方を説明しましたが、次は最も有名な応用編です。


3: DOING THE LISTPAGES THING

3: ListPages Thingの活用


This is where things get tricky.

ここからが難しいところです。

SCP-2998 followed by SCP-1893 and SCP-1173 are the pages that are most known for doing the ListPages Thing, and are certainly responsible for its popularity these days. All three were written by EskobarEskobar, who was himself taught by AelannaAelanna, so you have them to thank for that.

SCP-2998に続いて、SCP-1893SCP-1173は、ListPages Thingで最も有名なページで、最近の人気を支えているのは間違いないでしょう。3つともEskobarEskobarが書いたもので、彼自身もAelannaAelannaに教えを受けたので、彼らには感謝していますね。

Since then, many pages also do the ListPages Thing. SCP-2111, SCP-3002, SCP-3939, SCP-3449, my author page, SCP-3020, Jim North's Proposal, and many more also do it.

それ以来、多くのページがListPages Thingを行うようになりました。SCP-2111SCP-3002SCP-3939SCP-3449my author pageSCP-3020Jim North's Proposalをはじめ、多くの人が使っています。

If your page also does the ListPages Thing, leave a comment to let everyone know!

あなたのページもListPages Thingを行う場合は、コメントを残してみんなに知らせてくださいね!

I think 3939 wore it best. But I might be a little biased.

SCP-3939が一番よくできていたと思います。でも、少し偏見かもしれませんね。

From now on I'll be abbreviating the ListPages Thing to LPT.

これからは、ListPages ThingをLPTと略すことにします。


BE WARNED! Using LPT comes at a heavy cost: your reader will expect you to really justify why you've used it. LPT should be reserved for heavier articles that really need LPT to make their concepts and/or format screws work. LPT isn't suitable for SCP-AVGJOE.

注意! LPTを使うということは、「何故LPTを使った記事にしたのかと読者に向けて説明をする必要がある」という大きな代償を払うことになります。LPTは、そのコンセプトやフォーマットスクリューを機能させるためにLPTを本当に必要とする重たい記事のために取っておくべきです。LPTはSCP-AVGJOE13には適していません。


3.1: WHAT IS LPT?

3.1: LPTとは何か?


LPT is when an SCP (or any page) appears to have multiple pages but keeps the same Rating Module throughout. LPT can be easily identified by checking the URL after clicking a link on the page — if it ends in "/offset/X", where X is a number, it's LPT. Most (but not all!) applications of LPT can be identified in this way.

LPTとは、SCP (または任意のページ) に複数のページがあるように見せ、1ページずつ閲覧はできるがすべてに同じ評価モジュールを付けるもののことです。LPTは、ページ上のリンクをクリックした後のURLをチェックすることで簡単に識別できます。もしページのURLが"/offset/X"(Xは数字)で終わっていれば、LPTです。LPTのほとんど(すべてではありません!)は、このようにして特定することができます。

More broadly, it's when any page on the wiki changes in content as a result of either refreshing or clicking a link.

より広義の意味として、Wiki上の任意のページが更新またはリンクをクリックした結果、内容が変更されることを指します。

There are some exceptions to this rule — SCP-2786 and SCP-3211 are not LPT, because they use [[html]] instead of [[module ListPages]]. [[html]] can be identified by part of the page taking a few seconds longer than the rest of the page to load, and also by the fact that changes happen instantly.

例外はありますが、SCP-2786SCP-3211は、[[module ListPages]]の代わりに[[html]]を使用しているので、LPTではありません。[[html]]は、ページの一部が他の部分より数秒長く読み込まれ、また変化が瞬時に起こることで識別することができます。

LPT changes, unlike [[html]], can only happen when the page is refreshed or when the user navigates to a /offset/ URL.

LPTの変更は、[[html]]とは異なり、ページが更新されたときか、ユーザーが/offset/のURLに移動したときにのみ発生します。

SCP-3340 makes this extra confusing, because it's powered by [[html]] (not ListPages), and yet its changes only happen when the page is refreshed.

SCP-3340は、[[html]](ListPagesモジュールは使用していない)を使用しており、ページが更新されたときにのみ変更が発生するため、余計に混乱します。

So, in summary:

要約:

Both LPT and [[html]] are techniques for making the content of a page appear to change.

LPTも[[html]]も、ページの内容が変化して見えるようにするための技術です。

LPT is powered by ListPages. [[html]] is powered by HTML, CSS and often JavaScript.

LPTはListPagesを使用しています。[[html]]は、HTML、CSS、および多くの場合JavaScriptを使って実現しています。

Changes as a result of [[html]] can happen instantly and can be almost anything, but they can only affect things within the [[html]] block that's already on the page.

[[html]]を使った場合の変化は瞬時に起こり、ほとんど何でもありですが、すでにページ上にある[[html]]ブロック内のものにしか影響を与えることができません。

Changes as a result of LPT affect the entire page, but they can only occur when the user clicks on a link to an offset page or refreshes the page.

LPTを使った場合の変化は、ページ全体に影響しますが、ユーザーがオフセットページへのリンクをクリックするか、ページを更新したときにのみ発生します。

LPT is easy to learn. [[html]] is more complicated.

LPTは習得しやすく[[html]]もっと複雑です

Warning

警告

According to the documentation, the ListPages module and [[html]] do not play nicely together! You can't use [[html]] in any LPT child pages — it just won't work. Blame Wikidot.

ドキュメントによると、ListPagesモジュールの内部では[[html]]はうまく機能しないそうです14。LPTの子ページで[[html]]を使うことはできず、うまくいきません。Wikidotのせいです。

You get to use one or the other, not both (although an article can contain both LPT and [[html]] so long as they're independent of each other). Choose which is best for your article and/or which is best for your skillset.

両方ではなく、どちらか一方を使うことになります(ただし、LPTと[[html]]の両方が独立している限り、1つの記事に含めることができます)。自分の記事に最適なもの、自分の技術に最適なものを選んでください。


3.2: HOW DOES LPT WORK?

3.2: LPTの仕組み?


LPT is simply a very specific application of the standard Listing Pages technique.

LPTは、標準的なListing Pagesの技術を非常に特殊な形で応用したものです。

Here's the usual ListPages module. Take note of the specific parameters we're using here.

これはいつものListPagesモジュールです。ここで使っている特定のパラメータに注意して見てください。

[[module ListPages category="fragment" parent="." order="created_at" limit="1" offset="@URL|0"]]
%%content%%
[[/module]]

There's a couple of new terms here, so I'll go over them now.

ここで新しい用語がいくつか出てきましたので、今一度確認しましょう。

  • category="fragment"selects pages from the "fragment" category. Pages in the "fragment" category don't show up in Top Rated Pages This Month or in Recently Created Pages. This makes them useful for creating child pages, which we'll cover in a bit. They're not completely undetectable, though.
  • category="fragment" — "fragment"カテゴリからページを指定します。"fragment"カテゴリのページは、"今月の人気ページ"や"最近作成されたページ"に表示されません。このため、子ページを作成するのに便利です。この点については、後ほど説明します。しかし、完全に表示されないわけではありません。
  • parent="."the parent selector matches pages whose parent is the same as this parameter's value. parent="." matches pages whose parent is the current page. To set a page's parent, hit Options at the bottom, then Parent, then type in the name of the page that you'd like this page to be the child of.
  • parent="." — 親セレクタは、このパラメータの値と同じ親を持つ子ページを指定します。parent="."は、現在のページを親とする子ページにマッチします。ページの親を設定するには、下部の"Options"→"Parent"をクリックし、この記事の親ページにしたいページ名を入力します。
  • order="created_at"you should know what this does — it orders pages by their date of creation. SCP-1893 actually orders its pages randomly.
  • order="created_at" — この機能は、どういったものなのか知っておく必要があるのですが、ページを作成日順に並べるものです。SCP-1893は実際にはランダムにページを並べます。
  • limit="1"this limits the number of pages that ListPages can select to 1. Just one page.
  • limit="1" — この場合、ListPagesが選択できるページ数は1ページに制限されます。1ページだけです。
  • %%content%%this placeholder means that, instead of just getting a small bit of info like the page title or its rating, ListPages will just dump the entire content of the selected page into the current page. Including CSS modules.
  • %%content%% — このプレースホルダーは、ページタイトルや評価値などの細かな情報を取得する代わりに、ListPages が選択されたページのコンテンツ全体を現在のページに出力することを意味します。CSSモジュールも含みます。
  • offset="@URL|0"this one's a little trickier to explain, so I'm going to do it in pictures.
  • offset="@URL|0" — これはちょっと説明が難しいので、写真で説明します。

3.3: THE OFFSET PARAMETER

3.3: オフセットパラメータ


So say we have our SCP that we've just written. The green box below represents this brand new SCP page.

先ほど書いたSCPがあるとします。下の緑色のボックスは、この新しいSCPのページを表しています。

lp1.png

Now let's place a ListPages module in it. This is represented by the big hole (which will later be filled with %%content%%).

次に、その中にListPagesモジュールを配置しましょう。これは大きな穴(後で%%content%%で埋められます)で表されています。

lp2.png

Now let's create two child pages. These pages are what are going to fill the hole in the parent page.

では、子ページを2つ作ってみましょう。これらのページが、親ページの穴を埋めることになるのです。

I'll be detailing what exactly child pages are and how to make them in a bit, but for now, I'll represent them with these ugly salmon boxes:

子ページとは具体的にどのようなもので、どのように作るのか、少し詳しく説明したいと思いますが、とりあえず、こんな不細工なサーモン色の箱で表現してみますね。

lp3.png

So those two child pages (salmon) are children of the parent page (green).

つまり、その2つの子ページ(サーモン色)は、親ページ(緑色)の子なのです。

On the parent page, we'll write our ListPages module to select and display the content of those two child pages:

親ページでは、その2つの子ページの内容を指定して表示するために、ListPagesモジュールを記述します。

[[module ListPages parent="."]]
%%content%%
[[/module]]

Which gives us the following parent page:

その結果、次のような親ページが出来上がりました。

lp5.png

We've got a problem already: the parent page is now displaying the content of both child pages. Because, by default, ListPages lists as many pages as it possibly can.

すでに問題が発生しています。親ページに、両方の子ページの内容が表示されてしまっているのです。なぜなら、通常、ListPagesは可能な限り多くのページをリストアップするからです。

So, we set limit to 1, to force ListPages to show only one page:

そこで、limitを1に設定し、強制的にListPagesモジュールで1ページだけ表示させるようにしました。

[[module ListPages parent="." limit="1"]]
%%content%%
[[/module]]

Which gives us the following:

そうすると、以下のようになります。

lp4.png

Great! We now have a ListPages module that's showing only one child page's content, and there's another child page ready and waiting to show its content when the reader has finished reading.

素晴らしいですね!これで、ListPages モジュールには 1 つの子ページのコンテンツだけが表示され、読者が読み終えたら、もう1つの子ページのページコンテンツが表示されるのを今か今かと待っています。

So how do we actually show the second child page?

では、実際に2つ目の子ページを表示するにはどうすればよいのでしょうか。

We've already established that making the parent page "wider" — i.e. making it show both child pages — won't work, because then the reader will still be able to see the first child page.

親ページを「広く」する、つまり子ページを両方表示させることは、読者がすでに読んだ最初の子ページを見ることができるため、うまくいかないことはすでに説明したとおりです。

So we just move the parent page along to the right.

そこで、親ページを右側に移動させるのです。

lp6.png
[[module ListPages parent="." limit="1" offset="1"]]
%%content%%
[[/module]]

We do this using the offset parameter. offset is most easily imagined as the distance from the start of the list to the child page that you want to show.

これは、offsetパラメータを使用して行います。offsetは、リストの先頭から表示したい子ページまでの距離と考えるとわかりやすいでしょう。

lp7.pnglp8.pnglp9.pnglp10.png

The default value of offset is "0", meaning it will show the first child page in the list. You can change this manually if you want, but why would you want to do that?

offsetのデフォルト値は"0"で、リストの最初の子ページを表示することを意味します。必要であれば手動で変更することもできますが、どうしてそうしたいかわかりますか?

offset="@URL" means that instead of the offset value being a predetermined number, it's set by the URL. If you're on a page that ends in "/offset/X", that means that the URL has set the offset value of the ListPages module on that page. For example, https://scp-wiki.wikidot.com/scp-2998/offset/1

offset="@URL" この値16はオフセット値があらかじめ決められた数値ではなく、URLによって設定されることを意味します。 もしあなたが"/offset/X "で終わるページにいるのなら、そのURLはそのページのListPagesモジュールのオフセット値を設定したことを意味します。例えば https://scp-jp.wikidot.com/scp-2998/offset/1 のように。

This makes it possible to change the offset via giving the reader a URL to the next page. SCP-2998 does this by having a link at the bottom of each child page. SCP-3939 does this by giving the reader multiple links at the bottom of each child page.

これにより、読者に次のページへのURLを設けることで、オフセットを変更することが可能になります。SCP-2998は、各子ページの下部にリンクを設けることでこれを実現しています。SCP-3939は、各子ページの下に複数のリンクを設けることで実現しています。

offset="@URL|0" sets the offset according to the URL, but if the URL doesn't specify an offset — for example when the reader loads the page for the first time — this sets it to 0. It can be set to anything you want — "@URL|21" is a valid value — but 0 is normally easiest to work with. It just depends on what order your child pages are in, and which one you want to be seen first.

offset="@URL|0" この値はURLに応じてオフセットを設定しますが、URLがオフセットを指定していない場合(たとえば読者が最初にページを読み込んだとき)は0を設定します。この値は好きなように設定できて、"@URL|21"は有効な値ですが、通常は0が最も扱いやすいでしょう。ただ、子ページがどのような順番で並んでいるか、どのページを最初に見せたいかに拠ります。

SCP-1893 doesn't give the reader any links. Instead, the pages are ordered randomly using order="random". The offset value remains at its default values — 0 — so whenever the order changes, the first page in the list is displayed (i.e. a random page).

SCP-1893は、読者に対してリンクを設けません。そのかわり、order="random"を使ってランダムにページを並べます。オフセット値はデフォルト値、つまり0のままなので、順序が変わるたびにリストの最初のページが表示されます (つまり、ランダムなページ)。

  • Note about order="random": The order of pages when using order="random" updates once every minute. Good news: it re-randomises all by itself, and you don't have to do anything. Bad news: It won't re-randomise any sooner. Refreshing the page over and over won't get you anywhere — you'll still have to wait for a whole minute.
  • order="random"での注意: order="random "を使用した場合、順番の更新は1分に1回です。勝手に再ランダム化されるので、何もする必要はないことが良いことですが、これ以上早く再ランダム化することはありません。ページを何度更新しても何も起こらず、1分間は待たなければなりません。

3.4: CREATING THE CHILD PAGES

3.4: 子ページの作成


As established above, LPT requires there to be a parent page and several child pages.

上で挙げたのように、LPTでは親ページと複数の子ページが必要です。

It's usually a good idea to create the parent page last because it'll take a while to create all of your child pages, so I'll detail how to create those first. Ideally you'll be creating and testing every page on the sandbox anyway, so hopefully, it shouldn't matter too much, but better safe than sorry.

通常、親ページを最後に作成すると、すべての子ページを作成するのに時間がかかるので、子ページを最初に作成する方法を詳しく説明します。つまるところ、サンドボックス上ですべてのページを作成し、テストすることになるので、あまり問題にはなりませんが、念のため。

The child pages are what hold the content of your LPT.

LPTの内容があるのは子ページです。

I'll be using SCP-3939 as an example.

今回はSCP-3939を例にとって説明します。

The ListPages module has offset="@URL|0", so the main page is the same as SCP-3939/offset/0.

ListPagesモジュールはoffset="@URL|0"なので、メインページはSCP-3939/offset/0の内容と同じになります。

The child page that this is pointing to is fragment:SCP-3939-0. Take a look at the sources of the child page and the parent page and play a game of spot-the-difference between them.

つまり今これが指している子ページはfragment:SCP-3939-0です。子ページと親ページのソースを見て、その違いを見分ける遊びをしてみましょう。

You should notice three things:

  1. The child page contains all of the content that isn't already on the parent page.
  2. The child page contains the links that take the reader to different offsets.
  3. The parent page has the rating module and all the CSS formatting — i.e. anything that needs to be on all pages.

以下の3つのことに気がつくはずです。

  1. 子ページには、親ページにないすべてのコンテンツが含まれます。
  2. 子ページには、読者を異なるオフセットに誘導するリンクが含まれています。
  3. 親ページには評価モジュールとすべてのCSSフォーマット、つまりすべてのページに表示する必要があるものがあります。

Regarding number 3, you can have things that need to be on all pages in the child if you want, but it's easier on you if it's on the parent. If you need to change something, you only need to change it once on the parent, instead of many times for each child.

三番目についてですが、全ページに必要なものは、そうしたいならば子ページに含めばいいのですが、親ページにあった方が楽ですよね。何かを変更する必要がある場合、子ページごとに何度も変更するのではなく、親ページで一度だけ変更すればいいのです。

Note that in the case of SCP-3939, the image is on each child instead of on the parent because there's a single page on which the image isn't supposed to appear. If it was on the parent, then that image would be forced to appear on all pages.
If you're going to do this, please only upload the image to one page!

なお、SCP-3939の場合、画像が表示されないはずのページが1つだけあるため、親ページではなく、それぞれの子ページに画像が表示されています。親にあった場合、その画像はすべてのページに強制的に表示されることになります。
その場合は、1ページにのみ画像をアップロードしてください!

You'll usually be putting almost all of your content on the child pages, but you don't have to! Check SCP-3306 for an example of LPT where the ListPages module is only at the bottom of the page, and only changes the ending.

通常、ほとんどすべてのコンテンツを子ページに置くことになりますが、そうする必要はありません。例として、SCP-3306はエンディングだけを変更するために、ListPagesモジュールがページの最下部にしかないLPTの記事です。


To create a child page, create a new page on the wiki called "fragment:something", where "something" is whatever you like.

子ページを作るには、wikiに"fragment:something"という新しいページを作ります。"something"は好きなものを選んでください。17

It's super important that the URL begins with "fragment:". Fragment pages don't appear in Top Rated Pages This Month, Recently Created Pages, or Most Recently Edited (although they do appear on Recent Changes). Also, neither jarvis nor scpper counts votes from fragment pages towards your vote total/average, so they won't affect anything.

URLが"fragment:"で始まっていることがとても重要です。 フラグメントページは、"今月の人気ページ"や"最近作成されたページ"、"最近編集したページ"に表示されません。(「最近の変更」には表示されます。) また、jarvis18やscpperはフラグメントページからの投票を総投票数や平均票にカウントしないので、何の影響もありません。

The "something" can be whatever you like, though I personally recommend naming them the same as your SCP while also numbering them along with the offset. So for SCP-XXXX, that'd be fragment:SCP-XXXX-0, fragment:SCP-XXXX-1, fragment:SCP-XXXX-2, and so on.

"something"は好きなものでいいですが、個人的には、SCPと同じ名前を付け、オフセットと一緒に番号を付けることをお勧めします。SCP-XXXXの場合は、fragment:SCP-XXXX-0、fragment:SCP-XXXX-1、fragment:SCP-XXXX-2、といった具合になります。

Repeat this for each of your child pages.

これを子ページごとに繰り返します。

Make sure you create the child pages in the right order! In this guide, I'll be recommending ordering pages by the time of their creation using order="created_at". You can put them in any order you like, but if you're ordering by date/time, make sure you create them in the right order.

子ページの作成は正しい順番で行うこと! このガイドでは、order="created_at"を使って、ページを作成時刻順に並べることをお勧めしています。並べる順番は自由ですが、日時で並べる場合は、正しい順番で作成するようにしましょう。

Make sure your child pages contain offset links so your reader can navigate easily to the next offset!

子ページには、次のオフセットに簡単に移動できるように、オフセットリンクを設定してください。


The next step is to set your parent page as the parent of your child pages. Hit Options at the bottom of each child page, then Parent, then type in the name of your parent page (the URL, that is — not the page title!). Once you've typed a few letters your parent page should appear automatically.

次に、親ページを子ページの親に設定します。各子ページの下にある"Options"をクリックし、"Parent"、そして親ページの名前(ページのタイトルではなくURLです!)を入力します。数文字入力すれば、自動的に親ページが表示されるはずです。

If you haven't created your parent page yet, it won't appear in the list. Don't worry — just do it after you've created the parent page.

親ページをまだ作成していない場合は、一覧には表示されません。親ページを作成した後に行えばよいので、安心してください。


3.5: CREATING THE PARENT PAGE

3.5: 親ページの作成


Now that we have our child pages, we need the parent page. The parent page is the green-coloured lens through which the reader will see the salmon-coloured child pages, one by one.

子ページができたので、次に親ページが必要です。親ページは緑色の囲いのようなもので、そこから読者はサーモン色の子ページをひとつひとつ見ていくことになります。

All you need to do is create a new page — a normal one this time, not in the "fragment:" category — and slap a ListPages module on it.

必要なことは、新しいページ(今回は "fragment:"カテゴリではない普通のページ)を作り、そこにListPagesモジュールを貼り付けるだけです。

The ListPages module I recommend is:

私がお勧めするListPagesモジュールは以下の通りです。

[[module ListPages category="fragment" parent="." order="created_at" limit="1" offset="@URL|0"]]
%%content%%
[[/module]]

This is the same module from Section 3.2: "How Does LPT Work?" from above, and each term is explained up there.

これは、先ほどの"3.2 LPTの仕組み"と同じListPagesモジュールで、各用語はそれ以前で解説しています。

The only term you may want to change is order. I always recommend creating your child pages in the order in which you want them to appear, and then order by "created_at". However, if you've followed my advice on how to name your child pages, then you should also be able to order by "name" or "title". You could even follow in SCP-1893's footsteps and order by "random" if you like.

変更したいところがあるとすれば、orderセレクタだけです。私はいつも、子ページを表示させたい順番に作成し、"created_at"で並べることをお勧めしています。しかし、子ページの名前の付け方についての私のアドバイスに従えば、「名前」または「タイトル」でも並び替えができるはずです。SCP-1893のように、「ランダム」で並べることもできます。

On the sandbox, the parent page has to be in the "collab:" category. Make sure the URL starts with "collab:".
ListPages by default looks for pages in the same category as the parent page, so if you choose to omit the "category" selector in the sandbox, all of your child pages will have to be in the "collab:" category, too.

サンドボックスでは、親ページは"collab:"カテゴリでなければなりません19。URLが"collab:"で始まっていることを確認してください。ListPagesはデフォルトで親ページと同じカテゴリのページを探すので、サンドボックスで"category"セレクタを省略した場合、すべての子ページも"collab:"カテゴリにする必要があります。


If you've not already done so, set this page as the parent of the child pages.

まだ親ページを設定していない場合は、そのページを子ページの親として設定します。

On the sandbox, you won't be able to do this unless the parent page's URL starts with "collab:". If you missed this step, no worries — hit Options at the bottom of the parent page, then Rename, then stick "collab:" at the front of the page's name. This step isn't needed for the main wiki.

サンドボックスの上では、親ページのURLが"collab:"で始まらない限り、この操作はできません。このやり方は忘れてもかまいませんが、親ページの下にある"Options"をクリックし、名前の変更を行い、ページ名の先頭に"collab:"を付けてください。このステップはメインのWikiでは必要ありません。

Hold on there, Croquembouche!

ちょっと待ってよ、Croquembouche!

"Why are you using these specific selectors?" you ask me. parent="." and order="created_at" are nice and all, but what's stopping me from using whatever selectors I want?"

「なぜこの特定のセレクタを使っているのですか?」と聞かれることがあります。「parent="."order="created_at"はいいとして、好きなセレクタを使うことをどうして止めるんだ?」と。

And to that I say: nothing at all. You can use whatever selectors you like to select your child pages.

そんな時、私はこう返します。「そんなことは全くありません。子ページの選択には、好きなセレクタを使用することができます。」

But here's the thing: let's say you create a load of pages called fragment:SCP-XXXX-0 to fragment:SCP-XXXX-10. You order them using order="name" and select them using category="fragment" and name="SCP-XXXX-%". And it works! Perfect.

しかし、ここで重要なのは、例えば、fragment:SCP-XXXX-0からfragment:SCP-XXXX-10というページを大量に作るとします。order="name"で順番を決め、category="fragment"name="SCP-XXXX-%"でページを指定します。そして、うまくいきます!完璧です。

But then there's nothing stopping someone from injecting pages into the middle of that, if they were so inclined. If someone then went and created fragment:SCP-XXXX-0a, without your knowledge, it'd appear in the list between 0 and 1 and your whole offset chain would be ruined.

しかし、その気になれば、誰かがそのページ群の中にページを挿入することを止めることはできやしないでしょう。もし誰かがあなたの知らないうちにfragment:SCP-XXXX-0aを作ったとしたら、それは0と1の間に表示され、あなたのオフセットの表示順番全体が台無しになることでしょう。

Malicious people can't inject pages into the middle of order="created_at" without literally travelling back in time. In fact, it's even more secure if you also include created_by="Your Username". Unless you're writing something collaborative, there's no reason not to.

悪意のある人は、文字通り時間をさかのぼらない限り、order="created_at"の途中にページを挿入することはできません。実際、created_by="あなたのユーザー名"も含めると、さらに安全性が高まります。共著で何かを書いているのでなければ、そうしない理由はないでしょう。

And parent="." is just nice because it automatically leaves a link at the top of your child pages that points to the parent page. Super helpful for lost people who don't know how they got there.

また、parent="."は、子ページの上部に親ページを指すリンクを自動的に残してくれるので、迷子になってしまった人が、どうやってたどり着いたかわからないときに、とても便利です20

Also, if you want to be really nice, make sure you leave a list of the child pages somewhere. Super convenient for future translators, and super convenient for nosy people like me who want to see how you did it.

また、本当に親切な方は、子ページのリストをどこかに残しておいてください。将来翻訳する人にとっても便利だし、私のようなおせっかいな人間も、あなたがどうやったか見てみたいので、とても便利です。

And of course, leave a comment on this page once your LPT SCP is posted!

もちろん、あなたがLPTを使ったSCP記事を投稿したら、このページにコメントを残してくださいね!


4: CONCLUSION

4: まとめ


Okay. You're done. You know all the basic stuff about Listing Pages and about doing the ListPages Thing.

さて、これで終わりです。Listing PagesについてとListPages Thingについて、基本的なことはすべてお分かりいただけたと思います。

Still though, act with caution: you now wield great, terrible power; the power of ListPages. Use it wisely, use it responsibly, and most important: use it sparingly. ListPages format screws are amazing when they're done well. When they're done poorly, every page that uses ListPages also suffers.

しかし、慎重に行動してくださいね。あなたは今、ListPagesという偉大で、そして恐ろしい力を手に入れたのですから。賢く使い、責任を持って使い、そして最も重要なのは、惜しみなく使うことです。ListPagesのフォーマットスクリューは、上手に使えば素晴らしいものです。しかし、その使い方が悪いと、ListPagesを使用するすべてのページが被害を受けるでしょう。

Get criticism on the forums, but more importantly get your idea checked before you even start writing. There's nothing worse than pouring this much effort into an idea that just doesn't deserve it.

フォーラムで批評を受けることも大事ですが、それ以上に、書き始める前に自分のアイデアをチェックしてもらうことが大事です。「書くべきでない」アイデアに読者がここまで見てきた途方も無い労力を注ぐことほど、つらいことはありません。


And of course, there's uses for ListPages beyond the 2 or 3 extremely specific use cases detailed here.

もちろん、ここで説明した2~3個の極めて特殊な使用例以外にも、ListPagesの用途はあります。

Use a series of random ListPages to make a modular article that's completely different every time you read it. Use a ListPages along with [[tabview]] to have separate footnotes for each tab.

ランダムなListPageを連続で使って、読むたびに全く異なる記事を作ることができますし、[[tabview]]と一緒にListPagesを使用して、各タブに個別の脚注を付けることもできます。

Do something no one has ever done before. That's the best way to wield this power.

誰もやったことのないことをやること。それが、この偉大な力を発揮する一番の方法です。


If you have any leftover questions, please, ask them in the discussion, and I'll make sure that they're answered.

もし、まだ気になる質問があれば、ディスカッションで聞いてください。必ず回答します。21

Thank you for tuning in.

ご愛読ありがとうございました。

Croquembouche, out.

Croquembouche氏の次回作にご期待ください。












5: QUICK AND DIRTY

5: とにかく動けばいいから教えて!


Now that Croque has provided the necessary technical explanation, I, ROUNDERHOUSE, will be doing my appeal to you, dear reader. The person like me, who is either unwilling to read all that above, or learn better through example. This is going to be a quick and dirty guide on how to set up the LPT for an article you need. However, if you mess something up, you will need the know-how that Croque has explained above to fix it. I strongly recommend you at least try to read everything above before resorting to this. I'm going to use the placeholder article SCP-9000 for this. If you see "scp-9000", switch it out for the number of your article.

さて、Croque22が必要な技術的な説明をしてくれたので、私ROUNDERHOUSEは親愛なる読者の皆さんにアピールをすることにします。私のように、上記のすべてを読む気がないか、見本を見て学ぶ方が良い人もいるでしょう。これは、あなたがLPTを必要とする記事の設定のやりかたについての間に合わせのガイドです。しかし、何か失敗した場合、修正するためには、Croqueが上で説明したノウハウが必要になります。少なくとも、この手段に訴える前に、上記のすべてを読んでみることを強くお勧めします。今回は例としてSCP-9000を使用します。もしここで"scp-9000"と書かれていたら、それをあなたの記事の番号に切り替えてください。


5.1: FRAGMENT TIME

5.1: フラグメント構成の時


First things first, decide how many pages you want in your listpage article. Let's say you want three. You're gonna make three pages using the generic page creator, all in the fragment category. IMPORTANT: MAKE YOUR PAGES IN THE ORDER YOU WANT THEM TO BE DISPLAYED. So your three pages would be "fragment:scp-9000-1", "fragment:scp-9000-2", and "fragment:scp-9000-3". The first would have the writing on it that you want to be the first iteration, the second the writing for the second, and so on. Obviously you don't have to name them that, but it's simple and allows for little miscommunication. ANOTHER NOTE: DO NOT PUT RATING MODULES ON THESE PAGES. That would defeat the point of having them as listpages.

まず最初に、リストページの記事を何ページ作成するかを決めます。例えば、3つページが欲しいとします。一般的なページ作成ツールを使ってフラグメントカテゴリに3つページを作成します。 重要なのは、ページは表示させたい順番に作ってください。つまり、"fragment:scp-9000-1"、"fragment:scp-9000-2"、"fragment:scp-9000-3"の3つのページが作成されるわけです。1つ目には最初のループにしたいぺージ、2つ目には2つ目のページ、といった具合に。もちろん、そのような名前をつける必要はありませんが、シンプルで誤解の少ない名前にすることができます。注意:このページにはレーティングモジュールを設置しないでください。 それだと、ListPagesとしての意味がなくなってしまいます。


5.2: PARENTS ARE HOME

5.2: 親の支度23


Next, you gotta make a parent page. Since we're doing SCP-9000, we'd go to the appropriate slot in the mainlist and create the page. In it, we would put this:

次に、親ページを作ります。今回はSCP-9000なので、メインのシリーズリストの該当するページに移動してページを作成します。その中に、こう書きます。

[[>]]
[[module Rate]]
[[/>]]

[[module ListPages  category="fragment" parent="." limit="1" order="created_at" offset="@URL|0"]]
%%content%%
[[/module]]

[!-- https://scp-jp.wikidot.com/fragment:scp-9000-1 --]
[!-- https://scp-jp.wikidot.com/fragment:scp-9000-2 --]
[!-- https://scp-jp.wikidot.com/fragment:scp-9000-3 --]

Those bits that are between [!-- --] are comments. They won't show up on the page or be counted in any code. They're mostly there for convenience of editing, as well as for translators.

[!-- --]の間にあるものはコメントとなります。これらはページには表示されませんし、コードにもカウントされません。主に編集の利便性と翻訳者のために存在します。


5.3: PARENTING 101

5.3: 子育ての基礎24


Okay, now go back to your fragment pages. You're going to have to set their parent to your main page. An image speaks louder than a thousand words.

では、フラグメントページに戻ってください。この親ページをメインページに設定する必要があります。百聞は一見に如かず、画像をご覧ください。

parenting.png

parenting2.png

Do that for all of your fragment pages, obviously switching out "scp-9000" for your respective article.

これをすべてのフラグメントページで行います。"scp-9000"はあなたの記事の番号にそれぞれ置き換えてください。

Note from Croque: On the Sandbox, the parent page must be in the collab category, or you'll get an error when trying to set it as the parent. You can change its category by going to the bottom of the page, hitting +Options then Rename, and sticking "collab:" on the front of the name.

Croqueの注意事項: サンドボックスでは、親ページがcollabカテゴリに属していないと、親として設定しようとするとエラーになります。ページの一番下にある"+Options"を押して 名前の変更を行い、名前の前に"collab:"を付けることでカテゴリを変更することができます。


5.4: MOVEMENT

5.4: オフセットの移動


Okay. Obviously, you're going to want to include the option on your pages to go to other pages. For that, you can't just hyperlink normally. Since my article would open out on the contents of "fragment:scp-9000-1", I'll need to include a way to get to "fragment:scp-9000-2". To do that, I'd probably edit "fragment:scp-9000-1" to include something like this at the bottom:

次に、もちろん、他のページに移動するための選択肢をページに含めたいと思うでしょう。単にハイパーリンクを張ればいいというものではありません。"fragment:scp-9000-1"の内容で記事が始まってしまうので、"fragment:scp-9000-2"に行く方法を含む必要があります。そのためには、"fragment:scp-9000-1"を編集して、一番下に次のようなものを入れます。

[[>]]
[[[https://scp-wiki.wikidot.com/scp-9000/offset/1|NEXT ITERATION]]]
[[/>]]

the "offset/1" would actually lead to a page with the contents of "fragment:scp-9000-2" displayed on it. You'd also want to do this to the "fragment:scp-9000-2" page, with the added caveat of a link leading backwards.

"offset/1"は、実際には"fragment:scp-9000-2"の内容が表示されているページを指します。また、"fragment:scp-9000-2"ページに対しても同様に行いたいところですが、戻るリンク、進むリンクの2つを用意する必要があります。

[[<]]
[[[https://scp-wiki.wikidot.com/scp-9000|PREVIOUS ITERATION]]]
[[/<]]

[[>]]
[[[https://scp-wiki.wikidot.com/scp-9000/offset/2|NEXT ITERATION]]]
[[/>]]

You'd do the same for "fragment:scp-9000-3".

"fragment:scp-9000-3"も同様です。


5.5: HERE'S TO HOPING

5.5: 幸運を祈る


Assuming you followed all the instruction correctly, that should work. When you go to the scp-9000 page, it should result in you seeing the contents of fragment:scp-9000-1 displayed onto the page, with a link leading to offset/2, which proudly displays the contents of fragment:scp-9000-2, and so on and so forth. They should share the same rating module, which is really the whole point of this. Feel free to PM me if you have any questions or concerns.

すべての指示に正しく従ったと仮定すれば、これでうまくいくはずです。scp-9000のページに行くと、fragment:scp-9000-1のコンテンツが表示され、offset/2へのリンクがあり、fragment:scp-9000-2のコンテンツが堂々と表示される、といった具合のはずです。これらは同じ評価モジュールを共有する必要があり、これが本当の意味での大事なことです。何か質問や懸念があれば、お気軽にPMでお知らせください。

Yours, RounderhouseRounderhouse. 👋

真心を込めて、RounderhouseRounderhouse。👋


    • _


    コメント投稿フォームへ

    新たなコメントを追加

    批評コメントTopへ

ERROR

The R74's portal does not exist.


エラー: R74のportalページが存在しません。利用ガイドを参照し、portalページを作成してください。


利用ガイド

  1. portal:4053112 ( 22 Sep 2022 18:12 )
layoutsupporter.png
特に明記しない限り、このページのコンテンツは次のライセンスの下にあります: Creative Commons Attribution-ShareAlike 3.0 License