Existem três componentes principais no guia. Vou me referir a eles pelos URLs locais em www.midwinter.com.
A primeira seção, que é a maior parte do site, é uma árvore de diretório de arquivos HTML estático com alguns arquivos HTML agarrados ao servidor (para o lado do servidor inclui), mais um script PHP curto.
Dentro desse diretório, há um monte de subdiretos, correspondendo principalmente às principais seções do site. Vou chegar a eles individualmente em um momento, mas primeiro uma palavra sobre como alguns dos arquivos são gerados.
A maior coisa a saber é um script python chamado "gen.py", cuja versão vive em cada um dos diretórios que contêm arquivos HTML por episódio. O script é responsável por montar um arquivo HTML estático em uma seção de cabeçalho (gerado para cada episódio; inclui o título do episódio entre outras coisas), um arquivo corporal e uma seção de rodapé.
Os arquivos corporais contêm a carne das páginas. Eles têm os mesmos nomes de arquivos que os arquivos HTML, menos a extensão .html. Na maioria dos casos, esse é apenas o número de episódios de 3 dígitos, por exemplo, /lurk/guide/056.html contém o arquivo corporal "056" do subdiretório do guia. Quando quero adicionar um novo comentário à página do episódio 33, por exemplo, cd no diretório guia, edito o arquivo "033" e execute "gen.py 033". O resultado é uma nova versão do 033.html, com a versão antiga que se afastou para #033.html como precaução.
Outra coisa que algumas das versões gen.py fazem é adicionar registros de data e hora aos itens. A idéia é que, quando modifico uma página, quero destacar a mudança para que as pessoas que já leem a versão anterior possam rolar rapidamente para as coisas novas. Para esse fim, o Gen.Py procura um token especial "@@@" (que deve ser seguido pelo espaço em branco ou no final da linha) no arquivo corporal. Quando encontra o token, ele o substitui por "@@@ nnn", onde o NNN é o registro de data e hora atual no formato UNIX TIME_T. Essa alteração é feita no próprio arquivo do corpo. Então, quando o Gen.py gera o arquivo HTML a partir de um arquivo corporal, ele insere a data em negrito onde quer que veja um registro de data e hora recente. Uma vez por dia, um script regenera todos os arquivos HTML, para que os marcadores de data desapareçam depois de um tempo (mantê -los faz com que as páginas pareçam feias e dificultem a localização rapidamente de novos itens).
Quando você vê um arquivo "Skel", é um arquivo de protótipo. Eu copio isso para o nome do arquivo apropriado quando um novo episódio/romance/etc. sai.
Em muitos dos subdiretos, você verá um script "genall.csh". Este é apenas um atalho que executa "gen.py" para cada episódio. Eu só uso isso quando faço uma alteração na estrutura dos cabeçalhos/rodapés da página e quero aplicá -la em todos os lugares.
Além disso, no diretório de nível superior, há um script de "gen". Isso é executado gen.py em cada um dos subdiretos. Eu uso isso quando, por exemplo, adiciono uma foto para um episódio e quero que ela seja exibida em todas as páginas desse episódio.
"The Story até agora" para cada episódio das estações 1-4. A 5ª temporada ainda precisa ser escrita. Os arquivos acessíveis ao usuário aqui são todos os arquivos .shtml. Você notará que não há arquivos corporais aqui. Em vez disso, Background/Gen.Py usa alguns outros arquivos de origem. Existem vários resumos introdutórios diferentes, que estão nos arquivos Sum-*. Por exemplo, o SUM-66 resume a história até o episódio 66 e é incluído como a primeira parte dos antecedentes dos episódios 67 e posteriormente. Depois que o arquivo soma apropriado é incluído, o Gen.py looks in story.html. Esse arquivo contém parágrafos por episódio incluídos na seção "mais recentemente ..." das páginas de segundo plano, nas apresentações. Somente os parágrafos para episódios entre o resumo e o episódio atual estão incluídos, por exemplo, para o episódio 75, Gen.py inclui a Sum-66 e os parágrafos para os episódios 67-74.
BIOS de alguns dos personagens. Estes estão ligados à seção "Universo". Arquivos HTML simples simples.
Guia páginas para a série de quadrinhos. Arquivos corporais e gen.py.
O único arquivo HTML diretamente abaixo é o index.html, que é uma lista de todos os países para os quais tenho informações de cronograma. Cada país possui um subdiretório aqui (o nome do diretório geralmente é o código do país de duas letras do país). Um pseudo-país nota é "Master", que contém a lista de episódios mestres com os episódios na ordem correta (a ordem de exibição original dos EUA era um pouco errada na história).
Dentro do diretório de cada país, há um arquivo eplist.html com o cronograma para esse país, além de links simbólicos para os vários subdiretos de guia de episódios. Ao usar caminhos relativos nos meus URLs, deixo o navegador lembrar qual agenda do país o usuário estava olhando sem recorrer a cookies (que ainda não existiam como um conceito quando este site começou!) Por exemplo,/Lurk/países/ SE/eplist.html tem um link para "guide/056.html", que é realmente o mesmo arquivo que /lurk/guide/056.html, já que/lurk/países/se/guia é um link simulado para/lurk/guide. Mas como o navegador não sabe disso, o link de 056.html de volta à página do episódio é "../eplist.html", que remonta à programação sueca.
Index.html é um link para eplist.html nos diretórios do país. Há um script "mkcountry.sh" para configurar um novo diretório de países. Também existem listas de episódios de esqueleto para todas as 5 temporadas (Skel, Skel2, Skel3, etc.)
Quando edito a programação de um país, uso o script "Print-Weeks.Py", que é descrito posteriormente, para que não preciso que as datas do tipo manual.
Créditos do episódio.
Um script PHP curto que faz uma pesquisa simples do nome de domínio do usuário para descobrir qual lista de episódios do país para mostrar. Talvez menos relevante agora que o programa está praticamente fora do ar, mas quando as diferentes estações estavam sendo exibidas em diferentes países simultaneamente, isso foi útil para os usuários.
Um link simbólico para a lista de episódios dos EUA, para que todos os links para "../eplist.html" nos diretórios de guia que não são baseados em países irão para algum lugar útil. (Veja a discussão do diretório "países" acima.)
O rodapé da página padrão usado em todo o site. Não é usado programaticamente, mas carrego isso no meu editor de texto quando crio uma nova página.
Script que executa o Gen.py para um episódio em cada um dos subdiretos relacionados ao episódio.
Bastante auto-explicativo. Todas as imagens não relacionadas à navegação vivem aqui. (Alguns deles são JPEGs, apesar do nome do diretório.)
As páginas do guia do episódio.
O site FAQ. É referido pelo nome "Ajuda" para evitar confusão com as perguntas frequentes do USENET B5.
Symlink para Lurker.html.
Arquivos de dados usados por gen.py e cgis:
Lista de páginas de guia e sinopse do episódio, ordenadas pelo tempo de modificação. Gerado pelo utilitário "lastUpdate.py".
Página inicial sem o fundo preto, já que algumas pessoas acham os fundos personalizados irritantes. Isso é gerado automaticamente a partir do Lurker.html por meio de um trabalho de cron que é executado "Make" no diretório de nível superior.
A página inicial.
Uma vez por hora, esse makefile é usado para reconstruir Lurker-Nobg.html e, uma vez por dia, é usado para garantir que eu não esqueci de executar o Gen.py em algo. Ele também atualiza o arquivo b5tvlist.txt no arquivo FTP.
A seção "Fazer B5" do site. Arquivos HTML planos.
ImagemPaps para Navbar.
Documentos diversos que não se encaixam em outros lugares, por exemplo, por que Claudia Christian deixou o show.
Imagens de navegação. Uma função secundária é que seu índice.html é a página "pré -carregue o cache da sua imagem aqui", que acelera o site para as pessoas, permitindo que elas sofram toda a dor da imagem de navegação do download de uma só vez.
Páginas de guia inovador. Esta seção está incompleta - ainda não há páginas para a última rodada de romances.
Resultados da pesquisa de espectadores da pesquisa 5 para cada episódio.
Imagens de botão e NAV em seus formulários originais compactados sem perdas.
A seção "Referência" do site. Principalmente arquivos HTML planos, mas algumas das páginas possuem o lado do servidor, que trazem arquivos de texto da área FTP.
Não mais referenciado, mas talvez de diversão histórica.
A seção "outros recursos" do site. Arquivos HTML planos.
Contém algum código de suporte aleatório. Mais sobre isso mais tarde.
Sinopses de episódios.
Mapa do site.
A seção "Universo e personagens" do site. Arquivos HTML planos. A 5ª temporada ainda precisa ser escrita.
Um exercício de ingenuidade; Acabei fazendo tudo isso sozinho!
Mensagem JMS sobre o B5 ser classificado como número 1 pelos espectadores para televisão de qualidade.
Introdução ao site após a mudança para a aparência atual.
A página O que é nova. Quando isso é grande, coloquei todos os itens antigos no arquivo de páginas novas e link para eles na parte inferior desta página.
Midwinter.com costumava hospedar um arquivo FTP com arquivos de texto e imagens; Agora tudo isso é acessível através do guia do Lurker e são armazenados no subdiretório "FTP".
Consulte o arquivo de índice FTP (disponível em texto e HTML) para obter descrições dos vários arquivos no arquivo FTP. O guia do Lurker aponta para vários arquivos aqui-incluindo alguns do lado do servidor incluem referências.
Existem alguns utilitários cuja fonte você encontrará em /lurk /src, a menos que indicado de outra forma. Alguns foram discutidos acima, mas aqui está uma lista:
Isso é executado uma vez por dia a partir de um trabalho de Cron. Regenera todas as páginas do guia. Se uma página regenerada não diferir da versão antiga, a versão antiga será transferida de volta ao lugar para preservar sua data de modificação. O objetivo aqui é expirar os registros de data e hora em novos itens nas páginas do guia (consulte a discussão do script gen.py acima).
Corra uma vez a uma hora de Cron; Isso atualiza /lurk/lastmod.html e é bastante auto-explicativo.