Cette page présente les aspects techniques du site web JMRI.
Si vous voulez juste savoir comment faire un petit changement dans le site Web ou
la page d'aide, s'il vous plaît voir la page séparée
des instructions.
Nous fournissons ces informations séparément:
La mise en page se fait en utilisant CSS, initialement créé par John Plocher. Toutes les pages doivent référencer les fichiers CSS pour l'écran et l'impression du répertoire "/css" . Cela signifie également que vous devez quitter le formatage des feuilles de style, et de minimiser le formatage explicite que vous faites directement dans HTML.
Parce que nous utilisons nos pages Web dans JavaHelp, il y a des restrictions sur l'utilisation des étiquettes. Voir nos pages web JavaHelp pour plus de détails.
Nous utilisons le server-Side inclut pour fournir une information cohérente pour les en-têtes, les encadrés et les pieds de page. Cela nous permet de partager le contenu HTML entre le web et le système JavaHelp utilisé par le programme lui-même. Chaque page ne contiendra que le contenu, en plus elle comprendra les fichiers nommés "Header", "Sidebar" et "footer" qui contiennent les informations de navigation. Finalement, toutes mais quelques pages qui ont l'extension ".shtml". (Les autres pages index.html gardent ce nom afin que les gens qui demandent juste une URL répertoire soient servi avec quelque chose d'utile)
Nous utilisons les fichiers .htaccess pour faire des redirections lorsqu'une page Web est supprimée. Ça permet que les signets plus âgés continuent à travailler. Le fichier hardware/.htaccess fournit un exemple. Pour plus d'information sur la syntaxe, voir la documentation Apache mod_rewrite .
Le site web contient plusieurs zones séparées:
D'autres groupe sont depuis le répertoire JMRI/website, et sont vérifiés à la racine du serveur web.
Finalement, une partie du site est généré à partir de la source JMRI elle-même, plutôt que d'être contenue dans la source. Le JavaDoc est une telle section, avec une partie de l'information human-readable au sujet des décodeurs définis.
La plupart des contenus du site web est mis à jour toutes les heures à partir d'un travail en cours sur l'une des compilation du projet sur les serveurs Jenkins. Les répertoires listés ci-dessus constituent la majeure partie du site, et ce contenu est mis à jour depuis le répertoire JMRI sans aucun travail supplémentaire.
La régénération de la JavaDoc et le contenu XML implique beaucoup plus de travail qu'une simple mise à jour d'un répertoire, et ainsi celleci ne se fait qu'une fois par jour, selon les besoins, par la tâche Générer site Web sur la production serveur Jenkins.
Si vous souhaitez héberger une copie du site Web JMRI sur votre machine Mac OS X locale, suivez ces instructions pour d'abord configurer le serveur Apache pour faire les inclusions coté serveur, et ensuite faire une copie des fichiers du site web disponibles sur le serveur.
Un processus similaire peut fonctionner pour les systèmes Linux (ou même Windows) avec Apache installé.
# Cela peut être aussi "None", "All", ou n'importe quelle combinaison de "index", # "Includes", "FollowSymLinks", "ExecCGI", ou "MultiViews". # # Notez que "MultiViews" devant être nommé *explicitement* --- "Options All" # Ne vous le donne pas. # Options Index FollowSymLinks MultiViewsAjouter le mot "Includes" à la dernière ligne de sorte qu'elle ressemble à:
Options Includes Indexes FollowSymLinks MultiViews
# # Pour utiliser les fichiers HTML analysés par le serveur # # AddType text/html.shtml # AddHandler server-parsed.shtmlet non commenter les deux dernières lignes de sorte qu'elle ressemble à
# # Pour utiliser les fichiers HTML analysés par le serveur # AddType text/html.shtml AddHandler server-parsed.shtmlEnsuite, trouver la référence au include_module et assurez-vous qu'il est chargé par une ligne comme:
LoadModule inclut le_module libexec/apache2/mod_include.soPar défaut, c'est commenté avec un caractère # leader.
Trouvez une section qui ressemble à:
DocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents">Il y a une section en retrait directement au-dessous. Trouvez la partie qui ressemble à:
# # AllowOverride controle quelles directives doivent être placées dans les fichiers .htaccess. # Ce peut être"All", "None", ou n'importer quelle combinaison de mot-clés: # AllowOverride FileInfo AuthConfig Limit # AllowOverride NoneChangez la dernière ligne pour permettre les changements ( c'est ce que fait un fichier .htaccess )
AllowOverride AllPuis trouvez la référence au rewrite_module et assurez-vous qu'il est chargé par une ligne comme:
LoadModule rewrite_module libexec/apache2/mod_rewrite.soPar défaut, c'est commenté avec un caractère # leader.
Nous voulons aussi le PHP actif, de telle sorte que les indices pour les pages de ressources travailleront. Trouver la ligne de suivi et assurez-vous qu'il est pas commentée:
LoadModule php5_module libexec/apache2/libphp5.so
cd /Library/WebServer/Documents
~me/git/website/setSymLinks.sh ~me/git/JMRI ~me/git/websiteoù "~me/git/website" est le chemin pour le répertoire que vous venez vérifié, et "~me/git/JMRI" est le chemin pour le répertoire JMRI/website. setSymLinks.sh met en place les liens symboliques qui permettent à votre serveur web de voir le haut du site Web JMRI comme si les fichiers étaient directement présents.
L'installation d'un catalogue local XML, et ensuite dir à vos outils pour l'utiliser, peut résoudre ce problème.
<?xml version='1.0'?> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <rewriteURI uriStartString="http://jmri.org/xml/" rewritePrefix="http://localhost/xml/" /> </catalog>Ce catalogue redirige toutes les références HTTP vers le répertoire "xml" sur le site Web JMRI dans le répertoire "xml" sur votre serveur web local.