La Magia de las ListPages y Usted
Puntuación: +3+x

La palabra "ListPages" se usa mucho.

A veces es de alguien en Dudas o Ayuda o en #ayuda-técnica del discord del Sitio-34 que vio a un SCP usando ListPages realmente le gustaría replicarlo. A veces es de alguien que quiere saber cómo hacer una cosa específica y la respuesta es ListPages. Y a veces es de alguien que publica en su página para decirle que usted debería usarla.

He meditado durante meses en la selva tropical sobre la palabra "ListPages", y mi mente ha ascendido a lugares más allá de los sueños del durmiente más intenso. Puede que sepa lo que es, puede que incluso sepa lo que significa… pero he sentido la esencia misma del curso de las ListPages a través de mi cuerpo. He sentido su forma etérea doblarse bajo mi voluntad.

He dominado el 5º elemento, las ListPages, y en esta guía - que debe ser considerada una extensión de El Formato Avanzado y Tú de DrMagnusDrMagnus — Intentaré transmitirle este conocimiento.



Tenga en cuenta que en esta guía he dado a cada módulo de ListPages de ejemplo un fondo gris, solo para distinguirlo del resto de la página. Sus módulos ListPages tendrán un fondo transparente.

¡Alto ahí, Croquembouche!

"¡No necesito saber cómo hacer un módulo de ListPages desde cero!", me dice. "Solo quiero saber cómo hacer la cosa de ListPages usada en SCP-2998, SCP-2111 y SCP-3002 entre otros."

Y a eso digo: no, es muy importante aprender lo básico también. Todo está bien y es un buen código de copiar y pegar, pero cuando eso sale mal y no entiende por qué, ¿cómo lo arregla?

Pero si realmente sabe todo esto ya (o quiere fingir que lo sabe), de acuerdo, baje a la Sección 5: Rápido y Sucio de ROUNDERHOUSE. Pero no diga que no se lo advertí.


1: ¿QUÉ ES LISTPAGES?


ListPages es un módulo de Wikidot. Su documentación completa se puede encontrar aquí.

Citando la documentación:

El módulo ListPages es un instrumento de uso general y muy utilizado que selecciona y muestra páginas dentro de un sitio.

Eso es todo lo que hace… literalmente hace una Lista de Páginas.

ListPages generalmente tiene dos usos en la wiki SCP:

  1. Para filtrar un grupo específico de páginas de la wiki y mostrarlas en una lista,
  2. Para permitir que un SCP (o cualquier página) parezca tener varias páginas que usted recorre una a una, pero todas tienen el mismo Módulo de Votación.

El primero es el "aburrido pero útil". Lo llamaremos "Lista de Páginas", porque eso es lo que es. Aquí hay una página de ejemplo con 7 módulos de ListPages que Listan Páginas1.

La segunda, sin embargo, es la Cosa, es la Gran Cosa de la que todos quieren saber. De hecho, llamémosla la Cosa de las ListPages. CLP para abreviar. Aquí hay una página de ejemplo que usa CLP.

Pero la primera, Lista de Páginas, es más fácil de explicar, así que la usaré para cubrir muchas de las cosas que necesitas saber para la segunda, la Cosa de las ListPages (CLP).

Advertencia

Intente limitarse a un solo módulo de ListPages por página.

Los módulos de ListPages pueden reducir bastante la velocidad de carga de una página. La página de autor de Croquembouche tenía unos treinta en un momento dado, y juro que a veces tardaba al menos un minuto en cargarse. Era horrible. No haga eso.


2: LISTANDO PÁGINAS


Sin más preámbulos, discutamos la primera implementación de ListPages: el simple listado de páginas.

Aquí hay una lista de mis 5 páginas originales peor calificadas en la wiki.2

Si cree que acabo de escribir las URLs de cada una de ellos y lo dejé así, piénsalo de nuevo. Está viendo la magia de ListPages. Si quiere, puede probarlo dirigiéndose a una de esas páginas, dándole un positivo (por favor :'( ) y luego refrescando esta página. Verá que la clasificación, tal y como está registrada aquí, también cambiará.

Si comprueba el código fuente de esta página verá el siguiente código:

[[module ListPages created_by="morhadow" tags="es" order="rating" limit="5" separate="no"]]* %%title_linked%% (+%%rating%%) [[/module]]@@

¿No tiene ni idea de lo que significa nada de eso? Está bien… para eso es esta guía.

Si quisiera, podría mostrar mis cinco páginas principales. O podría mostrar más de 5. O podría mostrar solo las páginas creadas después de cierta fecha. Hay un montón de parámetros que el módulo ListPages acepta para hacer lo que quiera.

Le voy a llevar a través del uso básico de ListPages en tres pasos:

  1. Seleccionando las páginas que quiere;
  2. Modificando cómo la lista maneja esas páginas,
  3. Mostrando realmente la lista.


2.1: SELECCIÓN DE PÁGINAS PARA LA LISTA


Si no especifica ningún parámetro, ListPages intentará listar cada una de las páginas de la wiki. No quiere eso (¿cierto?) por lo que especificamos selectores. Estos le dicen a ListPages qué páginas seleccionar y cuáles evitar.

Vamos a trabajar a través de los selectores para averiguar lo que hace cada uno.

ListPages tiene un montón de selectores que puede elegir para que pueda decirle exactamente qué páginas seleccionar. Aquí están los que le serán más útiles:

  • created_by — filtra por el nombre del autor. Si configura esto como "morhadow", ListPages solo mostrará las páginas creadas por mí e ignorará todas las demás. Por favor, ¡tenga en cuenta que esto solo selecciona al usuario que realmente publicó esa página en la wiki! ListPages ignora co-autorías y colaboraciones.
  • rating — filtra por la puntuación. Si configura esto en ">20" solo verá páginas con una puntuación superior a 20. Si lo pones en "=0" solo verá páginas con una puntuación de 0.
  • tags — filtra por etiquetas. Si el nombre de la etiqueta comienza con "+", ListPages solo muestra las páginas con esa etiqueta. Si comienza con "-", ListPages solo muestra las páginas sin esa etiqueta. Por ejemplo, "+scp -keter" mostraría todas las páginas con la etiqueta "scp" pero sin la etiqueta "keter".
  • created_at — filtra por la fecha en la que se creó cada página. Este selector acepta un rango justo de valores. "2009" seleccionará todas las páginas creadas en 2009, mientras que "2009.02" seleccionará todas las páginas creadas en febrero de 2009. ">2009.02" seleccionará todas las páginas creadas después en febrero de 2009. "Últimos 3 meses" seleccionará todas las páginas creadas en los últimos 3 meses.
  • name — filtra por el nombre de la página, o mejor dicho, la URL de la página. "SCP-3000" coincidirá con la página de SCP-3000. Usa un símbolo de porcentaje para denotar "páginas que empiezan con esto" — por ejemplo, "SCP-%" coincidirá con todas las páginas que empiecen con "SCP-".
  • category — filtra por categoría de página. De forma predeterminada, ListPages solo mirará las páginas de la misma categoría que la página actual. Para esta página, la categoría es "_default". Para page-tags, la categoría es "system", y para earthworm, la categoría es "component". Compruebe la URL… todo lo que está antes de los dos puntos es la categoría, y si no hay dos puntos, es "_default". El selector de categorías le permite especificar una categoría diferente. Póngalo a "*" para todas las categorías.

En resumen: cada selector coincidirá con ciertas páginas e ignorará otras. Para que una página aparezca en la lista, debe coincidir con todos sus selectores.

La documentación entra en más detalles sobre cada uno de estos selectores… ¡y algunos otros! — bajo el título "Selección de Páginas".


2.2: MODIFICACIÓN DE LA LISTA


Solo seleccionar diferentes páginas no es todo lo que necesitamos hacer… también necesitamos especificar cómo se van a mostrar esas páginas.

Hay un par de parámetros más que necesitas saber. Estos no son selectores, por lo que no están listados en la sección anterior, pero se usan exactamente de la misma manera.

  • limit — determina cuántas páginas mostrar. Si lo fija en "5", entonces no se mostrarán más de 5 páginas.
  • perPage — ¿cuántas páginas deben mostrarse por cada página de la lista? (¡No es tan confuso como suena!) Por defecto, este valor está establecido en 20, así que si hay más de 20 páginas en la lista, se creará una nueva página. Puede ver este efecto en Páginas Mejor Puntuadas — al final de la lista de SCPs (asumiendo que hay más de 20 páginas). El valor máximo es de 250.
  • separate — si cada entrada de la lista debe estar por sí misma en su propia pequeña lista, o todas en la misma lista. Los valores válidos son "sí" o "no"… si dice "sí", acabará con un gran hueco entre cada entrada de la lista, que rara vez es lo que se quiere.
  • order — cómo ordenar la lista.

Hay un montón de opciones diferentes que el parámetro "order" acepta, y están listadas en la documentación bajo el título "Ordenando Páginas". Aquí enumeraré algunas de las más útiles.

  • order="rating" — ordena por puntuación.
  • order="name" — ordenados alfabéticamente por el nombre de la página (como se especifica en la URL).
  • order="title" — ordenados alfabéticamente por el título de la página (el título real de la página).
  • order="created_at" — ordenados por la fecha de creación de la página.
  • order="comments" — ordenados por número de comentarios.
  • order="random" — ¡todo está en un orden aleatorio! Se reajusta una vez por minuto.

Por defecto, todo está ordenado en orden ascendente (así que los números inferiores se muestran primero). Para mostrarlos en orden descendente, añada "desc" al final, por ejemplo, order="rating desc".

Tenga en cuenta que no hay una opción especial para ordenar las cosas específicamente en orden ascendente. La forma correcta de hacerlo es añadir "desc desc". ¿Tiene sentido? No. ¿Realmente podemos esperar algo mejor de Wikidot? No.


2.3: VISUALIZACIÓN DE LA LISTA


Bien, ahora que sabemos todo acerca de cómo seleccionar las páginas exactas que queremos, y cómo modificar los parámetros de esa lista. Tenemos una lista de páginas.

Cuando se trata de mostrar esa lista, se dispone de un montón de opciones. Dentro del cuerpo del módulo, es decir, entre [[module]] y [[/module]]@@, hay una serie de marcadores de contenido diferentes que se pueden poner.

Cada marcador de contenido es como un sello. Tomaremos %%title%% por ejemplo, que representa el título de la página. Imagínelo así: el módulo ListPages tiene una lista de títulos. Pone el primer título en la página, luego se mueve hacia abajo, cambia al siguiente título, y lo pone. Y así sucesivamente, a través de la lista. Y se Termina con una lista de títulos de páginas.

Aquí están algunos de los marcadores de contenido más útiles. Como siempre, la documentación tiene la lista completa, bajo el título "Secciones head/body/foot". Y hay muchas, así que asegúrese de echar un vistazo.

  • %%title%% — representa el título de la página.
  • %%title_linked%% — representa el título de la página, con un enlace en el que se puede hacer clic
  • %%created_by%% — representa al autor de la página.
  • %%created_at%% — representa la fecha en la que se creó la página.
  • %%rating%% — representa la clasificación de la página.
  • %%index%% — representa la posición de la página en la lista
  • %%content%% — representa el contenido completo de la página. Volveremos a esto más tarde.

En serio, he listado 7 aquí, hay 56 en total… pero algunas de ellos son tan desconocidos que nunca los usarías.

Por favor, tenga en cuenta

ListPages no puede mostrar el título actual de su SCP. Por ejemplo, si quiere listar SCP-173, no puede hacer que ListPages muestre "La Escultura".

Esto se debe a que los títulos de SCP solo se mantienen en las páginas de la serie de SCP, no en las páginas de SCP en sí. Por lo tanto, esa información es inaccesible para ListPages, que solo muestra información básica sobre las páginas seleccionadas y no va a buscar en otras páginas información sobre ellas.


Así que ahora que conocemos muchos parámetros, hagamos una demostración.

Voy a hacer una lista de…

  • Todas las páginas creadas en los últimos tres meses…
    • created_at="last 3 month"
  • …con un título que comienza con la letra "S"…
    • name="S%"
  • …que tienen una puntuación menor a 100…
    • rating="<100"
  • …y que no estén etiquetados como "scp".
    • tags="-scp"
  • No quiero mostrar más de 40 resultados…
    • limit="40"
  • …y quiero mostrar 10 resultados por página…
    • perPage="10"
  • …y quiero que todos ellos aparezcan en la misma lista en vez de en listas separadas…
    • separate="no"
  • …y quiero que se ordenen por puntuación, en orden descendente.
    • order="rating desc"
  • Quiero que estas páginas estén en una lista numerada…
  • …seguido de la fecha de creación de la página…
    • %%created_at%%
  • …seguido por el título de la página con un enlace a la página…
    • %%title_linked%%
  • …seguido del nombre del autor…
    • by %%created_by%%
  • …seguido de la puntuación de la página, entre paréntesis.
    • (%%rating%%)

Así que escribo el siguiente módulo de 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]]

…que da como resultado la siguiente lista:

  1. 20 Jul 2020 14:35 SPC-2922 by Detective Marw (8)
  2. 19 Sep 2020 02:55 SCP-ES-189 by Dc_Yerko (3)
  3. 19 Jul 2020 10:22 SCP-5203 by morhadow (3)
  4. 25 Aug 2020 15:33 SCP-001-JP by morhadow (1)
  5. 29 Jul 2020 01:45 Las directivas de sonambulismo toman el control by Jakuwoski (1)
  6. 03 Sep 2020 18:10 Serie SCP-JP II by morhadow (0)
  7. 25 Aug 2020 22:22 Serie SCP-CN 2 by Detective Marw (0)
  8. 24 Jun 2020 00:23 Durmiendo by Jakuwoski (0)

¿Es una lista muy útil? No. Pero es un gran ejemplo.

Es genial. Si usted estaba siguiendo en un borrador, felicidades, acaba de hacer un módulo de ListPages. Si no lo hacía, felicidades de todos modos, pero menos.

Nota: Si decide hacer un módulo de ListPages en un borrador, tenga en cuenta que verá las páginas del borrador, ¡no las de la wiki principal! Me pilla desprevenido cada vez.

Tarea: Vaya a Recientemente Creados, presione Opciones y luego Código de Página en la parte inferior, mira si puedes encontrar el módulo ListPages, y luego mira si sabes lo que hace cada parte. Si ve cosas que no he cubierto, ¡asegúrese de tener la documentación a mano!


Por favor, tenga en cuenta que la sección de contenido de su módulo de ListPages no tiene que ser de una línea de largo. Puede tener tantas líneas como necesite.

Si tiene más de una línea, le recomiendo que ponga separate="yes ", o podría parecer un poco confuso.


Ahora que he cubierto los fundamentos de ListPages, es hora de pasar a su aplicación más conocida.


3: HACIENDO LA COSA DE LAS LISTPAGES


Aquí es donde las cosas se ponen difíciles.

SCP-2998 seguido de SCP-1893 y SCP-1173 son las páginas más conocidas por hacer la Cosa de las ListPages, y son ciertamente responsables de su popularidad en estos días. Las tres fueron escritas por EskobarEskobar, quien fue enseñado por AelannaAelanna, así que hay que agradecerles por eso.

Desde entonces, muchas páginas también hacen la Cosa de las ListPages. SCP-2111, SCP-3002, SCP-3939, SCP-3449, la página de autor de Croquembouche, SCP-3020, Propuesta de Jim North, y muchos más también lo hacen.
Si su página también hace la Cosa de las ListPages, ¡deje un comentario para que todos lo sepan!

Creo que 3939 lo llevaba mejor. Pero es mi opinión.

A partir de ahora voy a abreviar la Cosa de las ListPages a CLP.


¡ATENCIÓN! El uso de la CLP tiene un alto costo: su lector esperará que usted justifique realmente por qué lo ha usado. La CLP debería reservarse para artículos más pesados que realmente necesitan CLP para hacer funcionar sus conceptos y/o formatos torcidos. La CLP no es adecuada para SCP-FULANO.


3.1: ¿QUÉ ES CLP?


CLP es cuando un SCP (o cualquier página) parece tener varias páginas pero mantiene el mismo Módulo de Puntuación en todo momento. La CLP se puede identificar fácilmente comprobando la URL después de hacer clic en un enlace de la página — si termina en "/offset/X", donde X es un número, es CLP. La mayoría (¡pero no todas!) de las aplicaciones de CLP pueden ser identificadas de esta manera.

En términos más generales, es cuando cualquier página de la wiki cambia de contenido como resultado de recargar o hacer clic en un enlace.

Hay algunas excepciones a esta regla — SCP-2786 y SCP-3211 no son CLP, porque utilizan [[html]] en lugar de [[module ListPages]]. [[html]] puede ser identificado por la parte de la página que tarda unos segundos más que el resto de la página en cargarse, y también por el hecho de que los cambios ocurren instantáneamente.

Los cambios en la CLP, a diferencia de [[html]], solo pueden ocurrir cuando la página se actualiza o cuando el usuario navega a un URL /offset/.

SCP-3340 hace que esto sea extra confuso, porque está alimentado por [[html]] (no por ListPages), y sin embargo sus cambios solo ocurren cuando la página se actualiza.

Así que, en resumen:

Tanto la CLP como el [[html]] son técnicas para hacer que el contenido de una página parezca cambiar.

La CLP funciona con ListPages. [[html]] funciona con HTML, CSS y a menudo con JavaScript.

Los cambios como resultado de [[html]] pueden ocurrir instantáneamente y pueden ser casi cualquier cosa, pero solo pueden afectar a las cosas dentro del bloque [[html]] que ya está en la página.

Los cambios como resultado de la CLP afectan a toda la página, pero solo pueden ocurrir cuando el usuario hace clic en un enlace a un offset o actualiza la página.

CLP es fácil de aprender. [[html]] es más complicado.

Advertencia

¡Según la documentación, el módulo ListPages y [[html]] no funcionan bien juntos! No puede usar [[html]] en ninguna de las páginas hijo de la CLP… simplemente no funcionará. Culpe a Wikidot.

Puede usar uno u otro, no ambos (aunque un artículo puede contener tanto CLP como [[html]] siempre que sean independientes entre sí). Elige el que mejor se adapte a su artículo y/o el que mejor se adapte a sus habilidades.


3.2: ¿CÓMO FUNCIONA CLP?


CLP es simplemente una aplicación muy específica de la técnica estándar de las Listas de Páginas.

Aquí está el módulo habitual de ListPages. Tome nota de los parámetros específicos que estamos usando aquí.

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

Hay un par de nuevos términos aquí, así que los repasaré ahora.

  • category="fragment" — selecciona las páginas de la categoría "fragment". Las páginas de la categoría "fragment" no aparecen en las páginas más votadas este mes ni en las páginas creadas recientemente. Esto las hace útiles para crear páginas hijo, que cubriremos en un momento. Sin embargo, no son completamente indetectables.
  • parent="." — el selector de padres coincide con las páginas cuyo padre es el mismo valor de este parámetro. parent=". " coincide con las páginas cuyo padre es la página actual. Para establecer el padre de una página, pulse Opciones en la parte inferior, luego Padre, y escriba el nombre de la página de la que desea que esta página sea hijo.
  • order="created_at" — debería saberlo —ordena las páginas por su fecha de creación. SCP-1893 en realidad ordena sus páginas al azar.
  • limit="1" — esto limita a 1 el número de páginas que pueden ser seleccionadas por ListPages. Solo una página.
  • %%content%% — este marcador de posición significa que, en lugar de obtener un poco de información como el título de la página o su puntuación, ListPages simplemente volcará todo el contenido de la página seleccionada en la página actual. Incluyendo los módulos CSS.
  • offset="@URL|0" — esta es un poco más difícil de explicar, así que voy a hacerlo en imágenes.


3.3: EL PARÁMETRO OFFSET


Digamos que tenemos nuestro SCP que acabamos de escribir. El cuadro verde de abajo representa esta nueva página SCP.

lp1.png

Ahora pongamos un módulo de ListPages en él. Esto está representado por el gran agujero (que más tarde se llenará con %%content%%).

lp2.png

Ahora vamos a crear dos páginas hijo. Estas páginas son las que van a llenar el hueco en la página padre.

Detallaré qué son exactamente las páginas hijo y cómo hacerlas en un momento, pero por ahora, las representaré con estas feas cajas de salmón:

lp3.png

Así que esas dos páginas hijo (salmón) son hijos de la página padre (verde).

En la página padre, escribiremos nuestro módulo de ListPages para seleccionar y mostrar el contenido de esas dos páginas hijo:

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

Lo que nos da la siguiente página padre:

[[https://cdn.discordapp.com/attachments/581229956760207421/749337469035610142/lp5.png]]

Ya tenemos un problema: la página padre ahora muestra el contenido de las páginas hijo. Porque, de forma predeterminada, ListPages muestra tantas páginas como sea posible.

Por lo tanto, fijamos el límite a 1, para forzar a ListPages a mostrar solo una página:

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

Lo que nos da la siguiente:

lp4.png

¡Estupendo! Ahora tenemos un módulo de ListPages que muestra el contenido de una página hijo, y hay otra página hijo lista y esperando para mostrar su contenido cuando el lector haya terminado de leer.

Entonces, ¿cómo mostramos la segunda página hijo?

Ya hemos establecido que hacer la página padre "más ancha", es decir, hacer que muestre ambas páginas hijo, no funcionará, porque entonces el lector todavía podrá ver la primera página hijo.

Así que simplemente movemos la página madre a la derecha.

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

Hacemos esto usando el parámetro offset. offset es más fácil de imaginar como la distancia desde el comienzo de la lista hasta la página hijo que usted quiere mostrar.

lp7.pnglp8.pnglp9.1.pnglp10.png

El valor por defecto de offset es "0", lo que significa que mostrará la primera página hijo. Puede cambiar esto manualmente si quiere, pero ¿por qué querría hacer eso?

offset="@URL " significa que en lugar de que el valor de offset sea un número predeterminado, se establece por la URL. Si está en una página que termina en "/offset/X", significa que la URL ha establecido el valor de desplazamiento del módulo ListPages de esa página. Por ejemplo, http://lafundacionscp.wikidot.com/scp-2998/offset/1

Esto hace posible cambiar la compensación al darle al lector una URL para la siguiente página. SCP-2998 lo hace teniendo un enlace al final de cada página hijo. SCP-3939 lo hace dando al lector múltiples enlaces al final de cada página hijo.

offset="@URL|0" establece el desplazamiento según la URL, pero si la URL no especifica un desplazamiento — por ejemplo cuando el lector carga la página por primera vez — esto lo establece a 0. Puede ser establecido a cualquier cosa que desee — "@URL|21" es un valor válido — pero 0 es normalmente lo más fácil de trabajar. Solo depende del orden en que estén las páginas hijo, y de cuál quiere que se vea primero.

SCP-1893 no le da al lector ningún enlace. En su lugar, las páginas se ordenan al azar usando order="random ". El valor de desplazamiento se mantiene en sus valores predeterminados — 0 — de modo que cuando el orden cambia, se muestra la primera página de la lista (es decir, una página aleatoria).

  • Nota sobre order="random": El orden de las páginas cuando se usa order="random" se actualiza una vez cada minuto. Buenas noticias: se vuelve a aleatorizar por sí mismo, y no tiene que hacer nada. Malas noticias: no se reajustará antes. Actualizar la página una y otra vez no le llevará a ninguna parte… tendrá que esperar un minuto entero.


3.4: CREANDO LAS PÁGINAS HIJO


Como se estableció anteriormente, la CLP requiere que haya una página para los padres y varias páginas para los hijos.

Por lo general, es una buena idea crear la página padre en último lugar, porque llevará un tiempo crear todas las páginas hijo, así que detallaré cómo crearlas primero. Lo ideal sería que creara y probara todas las páginas en el borrador de todos modos, así que espero que no importe demasiado, pero más vale prevenir que curar.

Las páginas hijo son las que contienen el contenido de su CLP.

Usaré SCP-3939 como ejemplo.

El módulo ListPages tiene offset="@URL|0", por lo que la página padre es la misma que SCP-3939/offset/0.

La página hijo a la que esto apunta es fragment:SCP-3939-0. Eche un vistazo al código de la página hijo y de la página padre y juega un juego de descubrir la diferencia entre ellas.

Debería notar tres cosas:

  1. La página hijo contiene todo el contenido que no se encuentra en la página padre.
  2. La página hijo contiene los enlaces que llevan al lector a diferentes offsets.
  3. La página principal tiene el módulo de puntuación y todo el formato CSS - es decir, todo lo que necesita estar en todas las páginas.

En cuanto al número 3, puede tener cosas que deben estar en todas las páginas hijo si quiere, pero es más fácil para ti si está en el padre. Si necesita cambiar algo, solo tiene que cambiarlo una vez en el padre, en vez de muchas veces en cada hijo.

Tenga en cuenta que en el caso de SCP-3939, la imagen está en cada hijo en lugar de en el padre porque hay una sola página en la que la imagen no debe aparecer. Si estuviera en el padre, entonces esa imagen sería forzada a aparecer en todas las páginas.
Si va a hacer eso, por favor, solo sube la imagen a una página.

Normalmente pondrá casi todo tu contenido en las páginas hijo, ¡pero no tienes que hacerlo! Revise SCP-3306 para ver un ejemplo de CLP en el que el módulo ListPages solo está al final de la página, y solo cambia el final.


Para crear una página hijo, cree una nueva página en la wiki llamada "fragment:algo", donde "algo" es lo que le guste.

Es súper importante que la URL comience con "fragment:". Las páginas de fragmentos no aparecen en las Páginas más votadas este mes, en las Páginas creadas recientemente o en las editadas más recientemente (aunque sí aparecen en Cambios recientes). Además, ni estiben ni scpper cuentan los votos de las páginas de fragmentos en el total/promedio de sus votos, por lo que no afectarán a nada.

El "algo" puede ser lo que quiera, aunque yo personalmente recomiendo nombrarlos igual que el SCP y también numerarlos junto con el offset. Así que para SCP-XXXX, sería fragment:SCP-XXXX-0, fragment:SCP-XXXX-1, fragment:SCP-XXXX-2, y así sucesivamente.

Repita esto para cada una de las páginas hijo.

¡Esté seguro de crear las páginas hijo en orden! En esta guía, recomendaré ordenar las páginas en el momento de su creación usando **order="created_at ". Puede ponerlas en el orden que quieras, pero si las ordena por fecha/hora, asegúrese de crearlas en el orden correcto.

¡Asegúrese de que las páginas hijo contengan enlaces offset para que su lector pueda navegar fácilmente al siguiente offset!


El siguiente paso es establecer la página padre como la página padre de su hijo. Pulse Opciones en la parte inferior de cada página hijo, luego Ascendiente, y luego escriba el nombre de su página padre (la URL, es decir — ¡no el título de la página!). Una vez que haya escrito algunas letras, su página padre aparecerá automáticamente.

Si aún no ha creado su página principal, no aparecerá en la lista. No se preocupe, hágalo después de haber creado la página padre.


3.5: CREACIÓN DE LA PÁGINA PADRE


Ahora que tenemos nuestras páginas hijo, necesitamos la página padre. La página padre es la lente verde a través de la cual el lector verá las páginas hijo de color salmón, una por una.

Todo lo que necesita hacer es crear una nueva página, una normal esta vez, no en la categoría de "fragment:", y ponerle un módulo de ListPages.

El módulo de ListPages que recomiendo es:

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

Este es el mismo módulo de la sección 3.2: "¿Cómo Funciona la CLP?" de arriba, y cada término se explica allí.

El único término que puede querer cambiar es order. Siempre recomiendo crear sus páginas hijo en el orden en que quiere que aparezcan, y luego ordenarlas por "created_at". Sin embargo, si ha seguido mi consejo sobre cómo nombrar sus páginas hijo, entonces también debería poder ordenar por "name" o "title". Incluso puede seguir los pasos de SCP-1893 y ordenar por "random" si quieres.

Enel borrador, la página principal tiene que estar en la categoría "collab:". Asegúrese de que la URL comience con "collab:".
Por defecto, ListPages busca las páginas en la misma categoría que la página principal, por lo que si elige omitir el selector "category" en el borrador, todas las páginas hijo tendrán que estar en la categoría "collab:" también.


Si aún no lo ha hecho, establezca esta página como el padre de las páginas hijo.

En el borrador, no podrá hacer esto a menos que la URL de la página padre empiece con "collab:". Si no ha realizado este paso, no te preocupes, pulse Opciones en la parte inferior de la página padre, luego Renombrar, y luego ponga "collab:" al principio del nombre de la página. Este paso no es necesario para la wiki principal.

¡Alto ahí, Croquembouche!

"¿Por qué está usando estos selectores específicos?" me pregunta usted. parent="." y {order="created_at" son bonitos y todo eso, pero ¿qué me impide usar los selectores que quiero?"

Y a eso digo: nada en absoluto. Puede usar los selectores que quieras para seleccionar sus páginas hijo.

Pero esta es la cuestión: digamos que crea un montón de páginas llamadas fragment:SCP-XXXX-0 a fragment:SCP-XXXX-10. Las ordena usando order="nombre" y las seleccionas usando category="fragment" y {name="SCP-XXXX-%". ¡Y funciona! Perfecto.

Pero entonces no hay nada que impida a alguien inyectar páginas en el medio de eso, si se molestara tanto. Si alguien entonces fuera y creara fragment:SCP-XXXX-0a, sin el conocimiento de usted, aparecería en la lista entre 0 y 1 y toda su cadena de offsets se arruinaría.

La gente malintencionada no puede inyectar páginas en medio de order="created_at" sin viajar literalmente atrás en el tiempo. De hecho, es aún más seguro si también incluye created_by="Tu nombre de usuario". A menos que esté escribiendo algo colaborativo, no hay razón para no hacerlo.

Y parent="." está bien porque automáticamente deja un enlace en la parte superior de las páginas hijo que apunta a la página padre. Súper útil para las personas perdidas que no saben cómo llegaron allí.

Además, si quiere ser realmente amable, asegúrese de dejar una lista de las páginas para niños en algún lugar. Súper conveniente para futuros traductores, y súper conveniente para gente entrometida como yo que quiere ver cómo lo hizo.

¡Y por supuesto, deje un comentario en esta página una vez que su SCP con la CLP sea publicado!


4: CONCLUSIÓN


Vale. Ya ha terminado. Sabes todo lo básico sobre las Listas de Páginas y sobre hacer la Cosa de las ListPages.

Sin embargo, actúe con precaución: ahora tiene un gran y terrible poder, el poder de las ListPages. Úselo sabiamente, úselo responsablemente, y lo más importante: úselo con moderación. Los formatos torcidos con ListPages son increíbles cuando se hacen bien. Cuando se hacen mal, todas las páginas que usan ListPages también sufren.

Reciba críticas en los foros, pero lo más importante haga que su idea sea revisada antes de empezar a escribir. No hay nada peor que poner tanto esfuerzo en una idea que no se lo merece.


Y por supuesto, hay usos para las Listas de Páginas de más allá de los 2 o 3 casos de uso extremadamente específicos que se detallan aquí.

Use una serie de páginas de listas aleatorias para hacer un artículo modular que sea completamente diferente cada vez que lo leas. Utilice un ListPages junto con [[tabview]] para tener notas a pie de página separadas para cada pestaña.

Haga algo que nadie haya hecho antes. Es la mejor manera de ejercer este poder.


Si le sobran preguntas, por favor, hágalas en la discusión, y me aseguraré de que sean contestadas.

Gracias por sintonizarnos.

Croquembouche se despide.












5: RÁPIDO Y SUCIO


Ahora que Croque ha dado la explicación técnica necesaria, yo, ROUNDERHOUSE, seré el que le dirija, querido lector. La persona como yo, que no está dispuesta a leer todo lo anterior, o aprender mejor a través del ejemplo. Esta va a ser una guía rápida y sucia sobre cómo configurar la CLP para un artículo que lo necesita. Sin embargo, si se equivocas en algo, necesitará el conocimiento que Croque ha explicado anteriormente para arreglarlo. Le recomiendo encarecidamente que al menos intente leer todo lo anterior antes de recurrir a esto. Voy a utilizar el artículo de prueba SCP-9000 para esto. Si ve "scp-9000", cámbielo por el número de su artículo.


5.1: HORA DE LOS FRAGMENTOS


Lo primero es decidir cuántas páginas quieres en su artículo listas de páginas. Digamos que quiere tres. Hará tres páginas usando el creador genérico de páginas, todas en la categoría de fragment. IMPORTANTE: HAGA SUS PÁGINAS EN EL ORDEN QUE QUIERE QUE SE MUESTREN. Así que sus tres páginas serían "fragment:scp-9000-1", "fragment:scp-9000-2", y "fragment:scp-9000-3". La primera tendría la escritura que quiere que sea la primera iteración, la segunda la escritura de la segunda, y así sucesivamente. Obviamente no tienes que nombrarla así, pero es simple y permite poca mala comunicación. OTRA NOTA: NO PONER MÓDULOS DE PUNTUACIÓN EN ESTAS PÁGINAS. Eso le quitaría el sentido a tenerlas como listas de páginas.


5.2: LOS PADRES SON LA CASA


A continuación, tiene que hacer una página padre. Ya que estamos haciendo SCP-9000, iríamos a la ranura apropiada en la lista principal y crearíamos la página. En ella, pondríamos esto:

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

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

[!-- http://lafundacionscp.wikidot.com/fragment:scp-9000-1 --]
[!-- http://lafundacionscp.wikidot.com/fragment:scp-9000-2 --]
[!-- http://lafundacionscp.wikidot.com/fragment:scp-9000-3 --]

Esos trozos que están entre [!— ] son comentarios. No aparecerán en la página ni serán contados en ningún código. Están ahí principalmente por conveniencia de la edición, así como para los traductores.


5.3: EMPARENTAMIENTO 101


Bien, ahora vuelve a sus páginas de fragmentos. Va a tener que poner su padre en su página principal. Una imagen dice más que mil palabras.

parenting.PNG

parenting2.PNG

Hágalo para todas sus páginas de fragmentos, obviamente cambiando "scp-9000" para su respectivo artículo.

Nota de Croque: En el Borrador, la página padre debe estar en la categoría collab, o recibirá un error al tratar de establecerla como padre. Puedes cambiar su categoría yendo al final de la página, presionando +Opciones y luego Renombrar, y pegando "collab:" en la parte delantera del nombre.


5.4: MOVIMIENTO


Está bien. Obviamente, va a querer incluir en sus páginas la opción de ir a otras páginas. Para eso, no puede hacer un hipervínculo con normalidad. Como mi artículo se abriría en el contenido de "fragment:scp-9000-1", necesitaré incluir una forma de llegar a "fragment:scp-9000-2". Para ello, probablemente editaría "fragment:scp-9000-1" para incluir algo como esto en la parte inferior:

[[>]]
[[[http://lafundacionscp.wikidot.com/scp-9000/offset/1|SIGUIENTE ITERACIÓN]]]
[[/>]]

el "offset/1" llevaría en realidad a una página con el contenido de "fragment:scp-9000-2" mostrado en ella. También querrá hacer esto con la página de "fragment:scp-9000-2", con el añadido de un enlace que lleva hacia atrás.

[[<]]
[[[http://www.scp-wiki.net/scp-9000|ITERACIÓN PREVIA]]]
[[/<]]

[[>]]
[[[http://lafundacionscp.wikidot.com/scp-9000/offset/2|SIGUIENTE ITERACIÓN]]]
[[/>]]

Haría lo mismo para "fragment:scp-9000-3".


5.5: POR LA ESPERANZA


Suponiendo que haya seguido todas las instrucciones correctamente, eso debería funcionar. Cuando vaya a la página de scp-9000, debería ver el contenido de fragment:scp-9000-1 mostrado en la página, con un enlace que lleva a offset/2, que muestra claramente el contenido de fragment:scp-9000-2, y así sucesivamente. Deberían compartir el mismo módulo de puntuación, que es realmente el objetivo de esto. Siéntanse libres de mandarme un mensaje si tienen alguna pregunta o preocupación.

Suyo, RounderhouseRounderhouse. 👋

Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution-ShareAlike 3.0 License