Hay tres componentes principales para la guía. Me referiré a ellos por sus URL locales en www.midwinter.com.
La primera sección, que es la mayor parte del sitio, es un árbol de directorio de archivos HTML estáticos con algunos archivos HTML apartados por servidor (para el lado del servidor incluye), más un breve script PHP.
Dentro de ese directorio hay un montón de subdirectorios, principalmente correspondientes a las secciones principales del sitio. Llegaré a ellos individualmente en un momento, pero primero una palabra sobre cómo se generan algunos de los archivos.
Lo más importante que debe saber es un script de Python llamado "Gen.py", una versión de la cual vive en cada uno de los directorios que contiene archivos HTML por episodio. El script es responsable de ensamblar un archivo HTML estático a partir de una sección de encabezado (generada para cada episodio; incluye el título del episodio entre otras cosas), un archivo de cuerpo y una sección de pie de página.
Los archivos del cuerpo contienen la carne de las páginas. Tienen los mismos nombres de archivo que los archivos HTML, menos la extensión .html. En la mayoría de los casos, ese es solo el número de episodio de 3 dígitos, por ejemplo, lurk/guide/056.html contiene el archivo del cuerpo "056" del subdirectorio de la guía. Cuando quiero agregar un nuevo comentario a la página para el Episodio 33, por ejemplo, CD en el directorio de guía, edito el archivo "033", luego ejecute "Gen.py 033". El resultado es una nueva versión de 033.html, con la versión anterior hacia un lado a #033.html como precaución.
Otra cosa que hacen algunas de las versiones de Gen.py es agregar marcas de tiempo a los elementos. La idea es que cuando modifique una página, quiero resaltar el cambio para que las personas que ya hayan leído la versión anterior puedan desplazarse rápidamente a las cosas nuevas. Con ese fin, Gen.py busca un token especial "@@@" (que debe, seguido de Whitespace o fin de línea) en el archivo del cuerpo. Cuando encuentra el token, lo reemplaza con "@@@ nnn" donde NNN es la marca de tiempo actual en formato UNIX Time_t. Este cambio se realiza en el archivo del cuerpo en sí. Luego, cuando Gen.py genera el archivo HTML desde un archivo de cuerpo, inserta la fecha en negrita donde sea que vea una marca de tiempo reciente. Una vez al día, un script regenera todos los archivos HTML para que los marcadores de fecha desaparezcan después de un tiempo (mantenerlos en las páginas se vean feas y dificulta la ubicación rápidamente de nuevos elementos).
Cuando ve un archivo "skel", es un archivo de cuerpo prototipo. Copo eso al nombre de archivo apropiado cuando un nuevo episodio/novela/etc. sale.
En muchos de los subdirectorios verá un script "genall.csh". Este es solo un atajo que ejecuta "gen.py" para cada episodio. Solo uso esto cuando hago un cambio en la estructura de los encabezados/pies de página de la página y quiero aplicarlo en todas partes.
Además, en el directorio de nivel superior hay un script "Gen". Esto ejecuta Gen.py en cada uno de los subdirectorios. Lo uso cuando, por ejemplo, agrego una imagen para un episodio y quiero que se muestre en todas las páginas para ese episodio.
"La historia hasta ahora" para cada episodio de Seasons 1-4. La temporada 5 todavía necesita ser escrita. Los archivos accesibles del usuario aquí son todos los archivos .shtml. Notarás que no hay ningún archivo de cuerpo aquí. En su lugar, Background/Gen.py usa algunos otros archivos de origen. Hay varios resúmenes introductorios diferentes, que están en los archivos de suma. Por ejemplo, Sum-66 resume la historia hasta el episodio 66, y se incluye como la primera parte de los fondos para los episodios 67 y posteriores. Después de incluir el archivo Sum-* apropiado, Gen.py se ve en Story.html. Ese archivo contiene párrafos por episodio que se incluyen en la sección "Más recientemente ..." de las páginas de fondo, bajo las presentaciones. Solo se incluyen los párrafos para los episodios entre el resumen y el episodio actual, por ejemplo, para el episodio 75, Gen.py incluye Sum-66 y los párrafos para los episodios 67-74.
BIOS de algunos de los personajes. Estos están vinculados desde la sección "Universo". Archivos simples de HTML planos.
Páginas guías para la serie cómica. Archivos de cuerpo y gen.py.
El único archivo HTML directamente debajo aquí es index.html, que es una lista de todos los países para los que tengo información sobre el horario. Cada país tiene un subdirectorio aquí (el nombre del directorio es generalmente el código de país de 2 letras del país). Un Pseudo-Country of Note es "Master", que contiene la lista de episodios maestros con los episodios en el orden correcto (el orden de transmisión de EE. UU. Original era un poco incorrecto Storywise).
Dentro del directorio de cada país hay un archivo eplist.html con el cronograma para ese país, además de enlaces simbólicos a los diversos subdirectorios de guías de episodios. Al usar rutas relativas en mis URL, dejé que el navegador recuerde qué horario del país estaba mirando el usuario sin recurrir a las cookies (que aún no existía como un concepto cuando este sitio comenzó!) Por ejemplo,/Lurk/países/ SE/Eplist.html tiene un enlace a "Guía/056.html", que es realmente el mismo archivo que /lurk/guide/056.html desde/lurk/países/se/guía es un enlace simbólico a/lurk/guía. Pero dado que el navegador no sabe eso, el enlace de 056.html de regreso a la página del episodio es "../eplist.html" que se remonta al horario sueco.
index.html es un enlace a eplist.html en los directorios del país. Hay un script "mkcountry.sh" para configurar un nuevo directorio de país. También hay listas de episodios de esqueleto para las 5 temporadas (Skel, Skel2, Skel3, etc.)
Cuando edito el horario de un país, uso el script "ImpRoeks.py", que se describe más adelante, por lo que no tengo que las fechas de tipo a mano.
Créditos de episodio.
Un breve script PHP que hace una búsqueda simple del nombre de dominio del usuario para descubrir qué lista de episodios de país mostrar. Quizás menos relevante ahora que el programa está prácticamente fuera del aire, pero cuando se mostraban diferentes temporadas en diferentes países simultáneamente, esto fue útil para los usuarios.
Un enlace simbólico a la lista de episodios de EE. UU., De modo que cualquier enlace a "../eplist.html" en los directorios de guía no basados en el consejo irá en algún lugar útil. (Ver la discusión del directorio de "países" anterior).
El pie de página de página estándar utilizado en todo el sitio. No se usa programáticamente, pero lo carga en mi editor de texto cuando creo una nueva página.
Script que ejecuta Gen.py para un episodio en cada uno de los subdirectorios relacionados con el episodio.
Bastante por sí mismo. Todas las imágenes no relacionadas con la navegación viven aquí. (Algunos de ellos son JPEG a pesar del nombre del directorio).
Las páginas de la guía del episodio.
El sitio Preguntas frecuentes. Se hace referencia por el nombre de "ayuda" en su lugar para evitar confusiones con las preguntas frecuentes de Usenet B5.
Symlink a Lurker.html.
Archivos de datos utilizados por Gen.py y CGIS:
Lista de guías de episodios y páginas de sinopsis, ordenadas por tiempo de modificación. Generado por la utilidad "lastupdate.py".
Página de inicio sin el fondo negro, ya que algunas personas encuentran fondos personalizados molestos. Esto se genera automáticamente a partir de lurker.html a través de un trabajo cron que ejecuta "hacer" en el directorio de nivel superior.
La página de inicio.
Una vez por hora, este Makefile se usa para reconstruir Lurker-Nobg.html, y una vez al día se usa para asegurarse de que no haya olvidado ejecutar a Gen.py en algo. También actualiza el archivo b5tvlist.txt en el archivo FTP.
La sección "Making of B5" del sitio. Archivos html planos.
ImageMaps para Navbar.
Documentos diversos que no encajan en otro lugar, por ejemplo, una propaganda sobre por qué Claudia Christian dejó el espectáculo.
Imágenes de navegación. Una función secundaria es que su index.html es la página "precarga su caché de imagen aquí", que acelera el sitio para la gente al dejar que sufran todo el dolor de la descarga de imágenes de NAV de una sola vez.
Páginas guías novedosas. Esta sección está incompleta: todavía no hay páginas para la última ronda de novelas.
Resultados de la encuesta de visores de la encuesta 5 para cada episodio.
Imágenes de botón y NAV en sus formas originales con comprimido sin pérdidas.
La sección "Referencia" del Sitio. La mayoría de los archivos HTML planos, pero un par de páginas tienen el lado del servidor incluyen que traen archivos de texto del área FTP.
Ya no se hace referencia, sino quizás de diversión histórica.
La sección "Otros recursos" del sitio. Archivos html planos.
Contiene algún código de soporte aleatorio. Más sobre esto más tarde.
Sinopsis de episodios.
Mapa del sitio.
La sección "Universo y personajes" del sitio. Archivos html planos. La temporada 5 todavía necesita ser escrita.
Un ejercicio de ingenuidad; ¡Terminé haciendo todo esto yo mismo!
Mensaje de JMS sobre B5 siendo clasificado #1 por los espectadores para la televisión de calidad.
Introducción al sitio después del cambio a la apariencia y la sensación actuales.
La página de qué hay de nuevo. Cuando esto llega a ser grande, pongo todos los artículos antiguos en el archivo de las nuevas páginas y los vinculé en la parte inferior de esta página.
Midwinter.com solía alojar un archivo FTP con archivos de texto e imágenes; Ahora se puede acceder a todos a través de la guía de Lurker y se almacenan en el subdirectorio "FTP".
Consulte el archivo de índice FTP (disponible en texto y HTML) para obtener descripciones de los diversos archivos en el archivo FTP. La guía del Lurker apunta a varios archivos aquí, incluidos algunos del lado del servidor incluyen referencias.
Hay algunas utilidades cuya fuente encontrará en /lurk /src a menos que se indique lo contrario. Algunos han sido discutidos anteriormente, pero aquí hay una lista:
Esto se ejecuta una vez al día desde un trabajo de Cron. Regenera todas las páginas de guía. Si una página regenerada no difiere de la versión anterior, la versión anterior se vuelve a colocar en su lugar para preservar su fecha de modificación. El propósito aquí es expirar las marcas de tiempo en nuevos elementos en las páginas de guía (consulte la discusión del guión Gen.py anterior).
Corre una vez por hora desde Cron; Esto actualiza /lurk/lastmod.html y se explica por sí mismo.