GeoNode personnalisation et le code source de contrôle de révision

Ce tutoriel recueille en un seul endroit les étapes de la personnalisation de GeoNode (comment créer une branche de mesure du projet et modifier uniquement les parties d’intérêt) et la façon d’économiser de retour au travail sur un système de code source de contrôle de révision, comme GitHub, et gérer le processus de développement de l’équipe.

Étapes de configuration GeoNode Customisation

Avertissement

Ces instructions sont valables seulement si vous avez installé GeoNode en utilisant le guide à l’adresse Installation & configuration HTTPD !! parce-que ils utilisent Apache HTTP

Vous devez d’abord vous connecter à la machine qui a l’installation de votre GeoNode. Vous devrez effectuer les étapes suivantes dans un dossier où vous avez l’intention de garder votre projet que on va créé.

1
2
3
4
5
6
7
8
$ sudo su
$ cd /home/geonode
$ disable_local_repo.sh
$ apt-get install python-django
$ django-admin startproject geonode_custom --template=https://github.com/GeoNode/geonode-project/archive/master.zip -epy,rst
$ chown -Rf geonode: geonode_custom
$ exit
$ sudo pip install -e geonode_custom

Note

Vous ne devez pas utiliser le nom geonode pour votre projet car il sera en conflit avec le nom de votre geonode default package.

Ces commandes créent un nouveau template basé sur l’exemple de projet de geonode.

Assurez-vous que les dossiers sont accessibles et ont les droits appropriés pour les utilisateurs geonode et www-data:

1
2
$ sudo chown -Rf geonode: *
$ sudo chmod -Rf 775 geonode_custom

Si vous avez une nouvelle installation de GeoNode, renommez le /home/geonode/geonode/local_settings.py.sample en local_settings.py et modifier son contenu en fournant SITEURL et SITENAME. Ce fichier sera votre fichier principaux des paramètres de votre projet. Il hérite de tous les paramètres de l’original, plus vous pouvez mettre a jour ceux que vous avez besoin.

Note

Vous pouvez aussi décider de copier le /home/geonode/geonode/local_settings.py.sample à /path/to/geonode_custom/geonode_custom/local_settings.py afin d’avoir tous les paramètres personnalisés, confinés dans le nouveau projet.

Avertissement

Pour que les modifications apportées au fichier de local_settings.py pour prendre effet, vous devez redémarrer Apache HTTP.

Editez le fichier /etc/apache2/sites-available/geonode.conf et modifiez la directive suivante à partir de:

WSGIScriptAlias / /home/geonode/geonode/wsgi/geonode.wsgi

à:

WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py
1
2
3
4
5
6
7
8
9
$ sudo vi /etc/apache2/sites-available/geonode.conf

      WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py

  ...

  <Directory "/home/geonode/geonode_custom/geonode_custom/">

  ...

Editez le fichier /etc/apache2/sites-available/geonode.conf et modifiez le DocumentRoot comme ça:

Note

Il est une bonne pratique de faire des copies et sauvegardes des fichiers de configuration avant de modifier ou de les mettre à jour afin de revenir à la configuration précédente de l’état si quelque chose se passe mal.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<VirtualHost *:80>
    ServerName http://localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /home/geonode/geonode_custom/geonode_custom

    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined

    WSGIProcessGroup geonode
    WSGIPassAuthorization On
    WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py

    <Directory "/home/geonode/geonode_custom/geonode_custom/">
         <Files wsgi.py>
             Order deny,allow
             Allow from all
             Require all granted
         </Files>

        Order allow,deny
        Options Indexes FollowSymLinks
        Allow from all
        IndexOptions FancyIndexing
    </Directory>

    ...

Alors vous devez régénérer les fichiers JavaScript et CSS à partir de /path/to/geonode_custom/ et redémarrer apache

1
2
3
4
5
6
$ cd /home/geonode/geonode_custom
$ python manage.py collectstatic
$ python manage.py syncdb
$ /home/geonode/geonode
$ sudo pip install -e .
$ sudo service apache2 restart

Source Code Control de révision

Il est recommandé que vous mettez immédiatement votre nouveau projet sous contrôle de révision de code source. L’équipe de développement de GeoNode utilise Git et GitHub et recommande que vous faites la même chose. Si vous ne possédez pas déjà un compte GitHub, vous pouvez facilement créer un. Un examen complet de Git et les systèmes de contrôle de révision de code source distribué est au-delà du cadre de ce tutoriel, mais vous pouvez trouver les Git Book utile si vous n’êtes pas déjà familier avec ces concepts.

  1. Créer un nouveau dépôt de GitHub. Vous devez utiliser l’interface utilisateur GitHub pour créer un nouveau dépôt pour votre nouveau projet.

    ../../_images/github_home1.jpg

    Création d’un nouveau Dépôt GitHub à la page d’accueil de GitHub

    ../../_images/create_repo1.jpg

    Spécification de nouveau GitHub dépôt Paramètres

    ../../_images/new_repo1.jpg

    Votre nouveau dépôt GitHub vide

  2. Initialiser votre dépôt dans le dossier geonode_custom :

    1
    $ sudo git init
    
  3. Ajoutez la référence de dépôt distant à votre configuration git locale:

    1
    2
    3
    $ sudo git remote add origin <https url of your custom repo>
    
      https://github.com/geosolutions-it/geonode_custom.git
    
  4. Ajoutez vos fichiers de projet dans le dépôt:

    1
    $ sudo git add .
    
  5. Committez vos modifications:

    1
    2
    3
    4
    5
      # Those two command must be issued ONLY once
    $ sudo git config --global user.email "geo@geo-solutions.it"
    $ sudo git config --global user.name "GeoNode Training"
    
    $ sudo git commit -am "Initial commit"
    
  6. Poussez vers le dépôt distant:

    1
    $ sudo git push origin master
    

Une Structure typique de projet GitHub

Avertissement

Cette section est librement adaptée de l’official GitHub guides.

Une excellente façon de s’impliquer dans l’open source est de contribuer aux projets existants que vous utilisez.

La Communauté

Des projets ont souvent une communauté autour d’eux, composé d’autres utilisateurs dans des rôles différents (formelles ou informelles) :

  • Propriétaire est l’utilisateur ou organisation qui a créé le projet le projet a-t-il sur leur compte.

  • Maintainers et collaborateurs sont les utilisateurs principalement faire le travail sur un projet et la direction d’entraînement. Souvent, le propriétaire et le responsable sont les mêmes. Ils ont un accès en écriture au référentiel.

  • Contributeurs est tout le monde qui a eu une demande de traction fusionnée dans un projet.

  • Communauté membres sont les utilisateurs qui souvent utilisent et se soucient profondément le projet et sont actifs dans les discussions pour les fonctionnalités et tirez sur les requêtes.

Lisez-moi

Presque tous les projets de GitHub incluent un fichier de README.md. Le fichier readme fournit une configuration du terrain pour un projet avec des détails sur la façon de les utiliser, créer et parfois contribuer à un projet.

Licence

Un fichier LICENSE est la licence pour le projet. Une licence du projet open source informe les utilisateurs qu’ils peuvent et ne peuvent pas faire (par exemple, utiliser, modifier, redistribuer) et les contributeurs, qu’ils sont permettant à d’autres de le faire.

Documentation et Wikis

Beaucoup des projets fournissent plus que un readme pour donner des instructions pour comment les gens peuvent utiliser leur projet. Ils fournissent souvent un lien vers un autre fichier ou un dossier nommé docs dans le repository.

../../_images/docs-folder1.png

Alternativement, le référentiel peut utiliser le wiki de GitHub pour décomposer la documentation.

../../_images/d3-wiki1.png

Issues

Les Issues sont une excellente façon de garder une trace de tâches, des améliorations et des bugs pour vos projets. Ils peuvent être partagés et discutés avec le reste de votre équipe. La plupart des projets de logiciel ont un traqueur de bug. Le traqueur de GitHub est tres simple et il est fourni par la section Issues.

../../_images/navigation-highlight1.png

Pour plus d’informations sur le fonctionnement des questions, consultez la section “Travailler avec GitHub Issues et Pull Requests

Pull Requests

Si vous êtes capable de patcher un bogue ou ajouter une fonctionnalité vous-même, vous devez faire une une pull request avec le code sourc. Vous devez etre sure que vous avez lu tous les documents sur la contribution, que vous avez compri la licence et avez signé un CLA si nécessaire.

Une fois que vous avez soumis une demande de tirer les maintainer(s) pouvez comparer votre succursale à celle existante et décider ou non d’intégrer (traction) vos modifications.

Pour plus d’informations sur le fonctionnement de tirer les requêtes, reportez-vous à la section “Travailler avec GitHub Issues et Pull Requests

Travailler avec GitHub Issues et Pull Requests

Avertissement

Cette section est librement adaptée de l’official GitHub guides.

Issues

Une Issue est une note sur une repository de quelque chose qui a besoin d’attention. Ça petu être un bug, une demande de fonctionnalité, une question ou beaucoup des d’autres choses. Sur GitHub, vous pouvez étiqueter, rechercher et assigner les Issues, rendant la gestion active du projet plus facile.

Par exemple, nous allons a voir la section Issues des Bootstrap:

../../_images/listing-screen1.png

La gestion des Issues sur GitHub est particulière en raison de son focalisation sur la collaboration, références et formatage de texte excellent. Une issues typique sur GitHub ressemble un peu à ceci :

../../_images/example-issue1.png
  • A titre et description décrire ce que la question est tout au sujet.

  • Code couleur étiquettes vous aider à classer et filtrer vos problèmes (tout comme les étiquettes dans l’email).

  • A milestone agit comme un conteneur pour les questions. Ceci est utile pour associer des questions avec des caractéristiques spécifiques ou des phases du projet (p. ex. Weekly Sprint 9/5-9/16 or Shipping 1.0).

  • Un cessionnaire est chargé de travailler sur la question à un moment donné.

  • Commentaires permettre à toute personne ayant accès au référentiel pour fournir des commentaires.

Ouvrir une issue

  1. Cliquez sur l’onglet Issues de la barre latérale.

    ../../_images/navigation-highlight1.png
  2. Cliquez sur New Issue.

  3. Donner votre Issue, un titre et une description.

    ../../_images/issue1.png

Cliquez sur Submit new Issue lorsque vous avez terminé. Maintenant, cette question a une résidence permanente (URL) que vous pouvez référencer la même après il est fermé.

Délivre des conseils Pro

  • Vérifiez existant questions pour votre question. Un problème de duplication est plus lente pour les deux parties afin de rechercher à travers des questions ouvertes et fermées pour voir si ce que vous exécutez dans a été abordée déjà.

  • Être clair tout ce que votre problème est : quel était le résultat attendu, ce qui est arrivé à la place ? Détailler comment quelqu’un d’autre peut reproduire le problème.

  • Lien vers démos recréer le problème sur des choses comme JSFiddle ou CodePen.

  • Inclut système détails comme ce que le navigateur, bibliothèque ou système d’exploitation que vous utilisez et sa version.

  • Coller la sortie erreur ou journaux dans votre livraison ou dans un Gist. Si en les collant dans le numéro, placez-le dans trois apostrophes inverses: ``` alors qu’il rend très bien.

Branching

Branching est la façon de travailler sur les différentes parties d’un référentiel à un moment donné.

Lorsque vous créez une repository, par défaut, il possède une branche avec le master de nom. Vous pouvez continuer à travailler sur cette branche et avoir qu’un seul, c’est très bien. Mais si vous avez une autre fonction ou idée que vous voulez travailler sur, vous pouvez créer une autre branche, à partir de master, de sorte que vous pouvez confier master de son état de fonctionnement.

Lorsque vous créez une branche, vous faites un copie de la branche d’origine telle qu’elle était à ce point dans le temps (comme un instantané de photo). Si la branche d’origine change pendant que vous travaillez sur votre nouvelle branche, pas de soucis, vous pouvez toujours tirer dans ces mises à jour.

../../_images/branching1.png

À GeoNode les développeurs utilisent des branches pour garder les corrections de bugs et de travail de la fonction séparée de master (production) branche. Lorsqu’une fonction ou un fix est prête, la branche est fusionnée en maître à travers un Pull Request.

Créer une nouvelle branche

  • Allez dans le dossier de projet et créer une nouvelle branche

    $ cd /home/geonode/geonode_custom/
    $ sudo git branch add_logo
    $ sudo git checkout add_logo
    
    ../../_images/checkout1.png
  • Vérifiez que vous travaillez sur la branche correcte: add_logo.

    $ cd /home/geonode/geonode_custom/
    $ git branch
    
    ../../_images/correct_branch1.png
  • Pousser la nouvelle branche sur GitHub.

    $ cd /home/geonode/geonode_custom/
    $ sudo git push origin add_logo
    
    ../../_images/push_branch1.png

Faire un commit

Sur GitHub, modifications enregistrées sont appelées commits.

Chaque commit a un associé commit message, qui est une description expliquant pourquoi une modification particulière a été apportée. Grâce à ces messages, vous et autres peuvent lire par le biais de validations et comprendre ce que vous avez fait et pourquoi.

  • Ajouter un nouveau logo à votre GeoNode personnalisé, comme décrit dans la section Thématisation de votre projet de GeoNode

  • Planquer les nouveaux fichiers dans le projet de travail à l’aide de git add

    $ cd /home/geonode/geonode_custom/
    $ sudo git add geonode_custom/static
    $ git status
    
    ../../_images/commit_logo1.png
  • Validation les changements fournissant un comit message et poussez-les dans votre branche: add_logo.

    $ cd /home/geonode/geonode_custom/
    $ sudo git commit -m "Adding a new logo to the custom GeoNode"
    $ sudo git push origin add_logo
    
    ../../_images/push_logo1.png

Pull Requests

Pull Requests sont le cœur de la collaboration sur GitHub. Lorsque vous effectuez une pull request, vous allez proposer vos modifications et demander que quelqu’un va faire un Merge des vos contributions - aka fusionnez-les dans leur branche. La fonctionnalité des Pull Requests de GitHub vous permettent de comparer le contenu de deux branches. Les modifications, additions et soustractions, sont indiquées en vert et rouge et appelées diffs (différences).

Quand vous apportez une modification, vous pouvez ouvrir une Pull Request. développeurs utilisent PR pour commencer une discussion sur les commits (revision du code) avant que le code soit terminé et avant de faire l’action du merge. De cette façon vous pouvez obtenir les impressions des autres développeurs ou leur aide si vous etes bloquè.

Grâce au système @mention de GitHub dans votre message de demande de tirer, vous pouvez demander des commentaires de personnes spécifiques ou des équipes.

Fusionnez votre Pull Request

Il est temps de rassembler vos modifications – fusionner votre branche de add_logo dans la branche master (l’original).

Cliquez sur le bouton vert pour fusionner les modifications dans le maître. Cliquez sur confirmer fusionner. Allez-y et supprimer la branche, étant donné que ses modifications ont été incorporées, avec le bouton de direction de supprimer dans la boîte de pourpre.

../../_images/merge-button1.png

Si vous revisitez sur la question que vous avez ouvert, il est maintenant terminée ! Parce que vous avez inclus “fixes #1” dans le titre de votre demande de tirer, GitHub a pris soin de fermer cette question lorsque la demande de tirer a été fusionnée !

Personnaliser le Look & Feel

Vous pouvez modifier les templates dans geonode_custom/templates, les css et les images pour assortir vos besoins comme montré dansn customize.theme_admin!

Thématisation de votre projet de GeoNode

Il existe une gamme d’options disponibles pour vous si vous voulez modifier le look and feel par défaut de votre projet de GeoNode. Puisque le style de GeoNode est basée sur Bootstrap vous serez en mesure de faire usage de tout ce qui Bootstrap a à offrir en termes de personnalisation du thème. Vous devriez consulter la documentation de Bootstrap comme guide principal une fois que vous êtes familier avec la façon GeoNode implémente Bootstrap et comment vous pouvez modifier le thème et les modèles de GeoNode dans votre propre projet.

Logos et graphiques

GeoNode intentionnellement ne comprend pas un grand nombre de fichiers graphiques dans son interface. Cette garde temps de chargement de page au minimum et permet une interface plus réactive. Cela dit, vous êtes libre de personnaliser votre interface GeoNode en changeant simplement le logo par défaut, ou en ajoutant vos propres images et graphiques pour offrir une GeoNode experience la façon dont vous l’envisagez.

Votre projet de GeoNode a un répertoire déjà mis en place pour le stockage de vos images à <geonode_custom>/static/img. Vous devrez placer tous les fichiers image que vous souhaitez utiliser pour votre projet dans ce répertoire.

Passons en revue un exemple des étapes nécessaires pour changer le logo par défaut.

  1. Mettre en place le img annuaire :

    $ cd /home/geonode/geonode_custom/geonode_custom/static/img
    
  2. Si vous n’avez pas déjà fait, obtenez l’image de votre logo. L’URL ci-dessous est juste un exemple, donc vous devez changer cette URL pour correspondre à l’emplacement de votre fichier ou le copier à cet emplacement:

    $ sudo wget http://www2.sta.uwi.edu/~anikov/UWI-logo.JPG
    $ sudo chown -Rf geonode: .
    
  3. Mettre en place le répertoire des css:

    $ cd /home/geonode/geonode_custom/geonode_custom/static/css
    
  4. Substituer le CSS qui affiche le logo de l’édition <geonode_custom>/static/css/site_base.css avec votre éditeur favori et ajoutant les lignes suivantes, en veillant à mettre à jour la largeur, la hauteur et les URL pour correspondre aux spécifications de votre image.

    $ sudo vi site_base.css
    
    .navbar-brand {
        width: 373px;
        height: 79px;
        background: transparent url("img/UWI-logo.JPG") no-repeat scroll 15px 0px;
    }
    
  5. Redémarrez votre projet GeoNode et regardez la page dans votre navigateur:

    $ cd /home/geonode
    $ sudo rm -Rf geonode/geonode/static_root/*
    $ cd geonode_custom
    $ python manage.py collectstatic
    $ sudo service apache2 restart
    

Note

Il est une bonne pratique de nettoyer la static_folder et le cache du navigateur avant de recharger afin d’être sûr que les changements ont été correctement prises et affichées sur l’écran.

Visitez votre site à l’adresse http://localhost/ ou l’URL pour votre site.

../../_images/logo_override1.png

Custom logo

Vous pouvez voir que l’en-tête a été élargie pour adapter à votre graphique. Dans les sections suivantes, vous apprendrez comment personnaliser cet en-tête pour le faire ressembler et fonctionner comme vous le souhaitez.

Note

Vous devez committer ces modifications dans votre dépôt pendant que vous progressez dans cette section, et de prendre l’habitude de committer tôt et souvent pour que vous et d’autres pouvez suivre votre projet sur GitHub. Faire beaucoup de commits atomiques et de rester en phase avec un dépôt distant rend plus facile de collaborer avec d’autres sur votre projet.

Cascade de feuilles de style

Dans la dernière section, vous avez déjà appris comment remplacer les règles CSS par défaut de GeoNode pour inclure votre propre logo. Vous êtes en mesure de personnaliser tout aspect de l’apparence de GeoNode de cette façon. Dans la dernière capture d’écran, vous avez vu que la zone principale de la page d’accueil est couvert par la tête élargie.

Tout d’abord, nous marcherons à travers les étapes nécessaires pour le déplacer vers le bas de sorte qu’il est plus caché, puis on va changer la couleur de fond de l’en-tête pour correspondre à la couleur de notre logo graphique.

  1. Réouverture <geonode_custom>/static/css/site_base.css dans votre éditeur et ajouter la règle suivante après celui ajouté à l’étape précédente :

    $ cd /home/geonode/geonode_custom/geonode_custom/static/css
    $ sudo vi site_base.css
    
    #wrap {
        margin: 75px 75px;
    }
    
  2. Ajouter une règle pour changer la couleur de fond de l’en-tête pour assortir le graphique de logo qui nous avons utilisé:

    .navbar-inverse {
        background: #0e60c3;
    }
    
  3. Votre fichier CSS de projet devrait maintenant ressembler à ceci:

    .navbar-brand {
        width: 373px;
        height: 79px;
        background: url(img/UWI-logo.JPG) no-repeat;
    }
    
    #wrap {
        margin: 75px 75px;
    }
    
    .navbar-inverse {
        background: #0e60c3;
    }
    
  4. Redémarrez le serveur de développement et rechargez la page:

    $ python manage.py collectstatic
    $ sudo service apache2 restart
    
    ../../_images/css_overrides1.png

    CSS overrides

Note

Vous pouvez continuer à ajouter des règles à ce fichier pour remplacer les styles qui sont dans le fichier CSS de base de GeoNode qui est construit à partir de base.less. Vous trouverez peut-être utile d’utiliser les outils de développement de votre navigateur pour inspecter les éléments de votre site que vous voulez remplacer pour déterminer quelles règles sont déjà appliquées. Voir la capture d’écran ci-dessous. Une autre section de cet workshop traite de ce sujet de manière plus détaillée.

../../_images/inspect_element1.png

Capture d’écran de l’utilisation de débogueur de Chrome pour inspecter les remplacements CSS

Modèles et pages statiques

Maintenant que nous avons changé le logo de défaut et ajusté notre zone de contenu principale pour adapter la tête élargie, la prochaine étape est de mettre à jour le contenu de la page d’accueil elle-même. Votre projet de GeoNode comprend deux modèles de base que vous allez utiliser pour changer le contenu de vos pages.

Le fichier site_base.html (en <geonode_custom>/templates/) est le modèle de base que tous les autres modèles héritent de et vous l’utiliser pour mettre à jour des choses comme l’en-tête, barre de navigation, site- grande annonce, pied de page, et aussi pour inclure vos propres JavaScript ou autre contenu statique inclus dans chaque page de votre site. Il vaut la peine de jeter un oeil à le fichier de base de GeoNode sur GitHub. Vous disposez de plusieurs blocs à votre disposition pour pour des raisons impérieuses, mais puisque nous allons réexaminer ce dossier dans les sections futures de cet atelier, nous allons simplement regarder pour l’instant et de le laisser non modifiée.

Ouvert <geonode_custom>/templates/site_base.html dans votre éditeur :

  $ cd /home/geonode/geonode_custom/geonode_custom/templates
  $ sudo vi site_base.html

.. code-block:: html

   {% extends "base.html" %}
   {% block extra_head %}
       <link href="{{ STATIC_URL }}css/site_base.css" rel="stylesheet"/>
   {% endblock %}

Vous verrez qu’il étend à partir de base.html, qui est le modèles de GeoNode mentionnés ci-dessus et il remplace seulment le bloc extra_head pour inclure site_base.css de notre projet que nous avons modifié dans la section précédente. Vous pouvez voir sur la ligne 22 du modèle base.html de GeoNode que ce bloc est inclus dans un étaient vides et est mis en place spécifiquement pour vous d’inclure des fichiers CSS supplémentaires que votre projet est déjà mis en place pour le faire.

Maintenant que nous avons examiné site_base.html, nous allons effectivement remplacer un modèle différent.

Le fichier site_index.html est le modèle utilisé pour définir la page d’accueil de votre projet de GeoNode. Il étend le model index.html par défaut de GeoNode, et vous donne la possibilité de remplacer des domaines spécifiques de la page d’accueil, comme la hero area, mais il vous permet également de laisser sections telles que “Latest Layers” et “Maps” et la “Contribute” comme ils sont. Vous êtes bien sûr libre de remplacer ces sections si vous voulez et cette section vous montre les étapes nécessaires pour le faire ci-dessous.

  1. Ouvert <geonode_custom>/templates/site_index.html dans votre éditeur de.

  2. Modifiez le <h1> élément sur la ligne 9 pour dire autre chose que “Welcome”:

    <h1>{% trans "UWI GeoNode" %}</h1>
    
  3. Modifier le paragraphe d’introduction pour inclure quelque chose de spécifique au sujet de votre projet de GeoNode:

    <p>
        {% blocktrans %}
        UWI's GeoNode is setup for students and faculty to collaboratively
        create and share maps for their class projects. It is maintained by the
        UWI Geographical Society.
        {% endblocktrans %}
    </p>
    
  4. Changez le Obtenir lien route pour pointer vers un autre site:

    <span>
        For more information about the UWI Geographical society,
        <a href="http://uwigsmona.weebly.com/">visit our website</a>
    </span>
    
  5. Ajoutez un graphique à la zone de héros le paragraphe remplacé à l’étape 3 ci-dessus :

    <img src = 'http://uwigsmona.weebly.com/uploads/1/3/2/4/13241997/1345164334.png'>
    
  6. Votre édité site_index.html devrait maintenant ressembler à ceci:

    {% extends 'index.html' %}
    {% load i18n %}
    {% comment %}
    This is where you can override the hero area block. You can simply modify the content below or replace it wholesale to meet your own needs.
    {% endcomment %}
      {% block hero %}
      <div class="jumbotron">
        <div class="container">
            <h1>{% trans "UWI GeoNode" %}</h1>
            <div class="hero-unit-content"/>
            <div class="intro">
                <img src = 'http://uwigsmona.weebly.com/uploads/1/3/2/4/13241997/1345164334.png'>
            </div>
            <p>
                {% blocktrans %}
                UWI's GeoNode is setup for students and faculty to collaboratively
                create and share maps for their class projects. It is maintained by the
                UWI Geographical Society.
                {% endblocktrans %}
            </p>
            <span>
                For more information about the UWI Geographical society,
                <a href="http://uwigsmona.weebly.com/">visit our website</a>
            </span>
        </div>
      </div>
      {% endblock %}
    
  7. Rafraîchez votre GeoNode projet pour voir les changements dans votre navigateur à l’adresse http://localhost/ ou l’URL pour votre site:

    $ python manage.py collectstatic
    $ sudo service apache2 restart
    
    ../../_images/homepage1.png

De là, vous pouvez continuer à personnaliser votre site_index.html pour répondre à vos besoins. Cet workshop vous monstrera aussi comme vous pouvez ajouter de nouvelles pages à votre site du projet de GeoNode.

Autres options de thématisation

Vous pouvez changer chaque pièce spécifique de votre projet de GeoNode en ajoutant des règles de style CSS à site_base.css, mais depuis que GeoNode est basée sur Bootstrap, il ya beaucoup de thèmes prédéfinis que vous pouvez simplement déposer dans votre projet pour obtenir un tout nouveau look. Ceci est très similaire aux thèmes de WordPress et c’est un moyen puissant et facile à changer l’apparence de votre site sans trop d’effort.

Bootswatch

Bootswatch est un site où vous pouvez télécharger des thèmes prêts à l’emploi pour votre site de projet GeoNode. Les étapes suivantes vous montrera comment utiliser un thème de Bootswatch dans votre propre site de GeoNode.

  1. Visitez http://bootswatch.com et cliquez sur un thème (pour cet exemple, nous allons utiliser grès). Sélectionnez la : guilabel: ‘bootstrap.css option de téléchargement”dans le menu :

    ../../_images/bootswatch1.png
  2. Placez ce fichier dans <geonode_custom>/static/css.

    $ cd /home/geonode/geonode_custom/geonode_custom/static/css
    
  3. Mise à jour le site_base.html modèle d’inclure ce fichier. Il devrait maintenant ressembler à ceci :

    $ cd /home/geonode/geonode_custom/geonode_custom/templates
    $ sudo vi site_base.html
    
    {% extends "base.html" %}
    {% block extra_head %}
        <link href="{{ STATIC_URL }}css/site_base.css" rel="stylesheet"/>
        <link href="{{ STATIC_URL }}css/bootstrap.css" rel="stylesheet"/>
    {% endblock %}
    
  4. Actualisez le serveur de développement et visitez votre site:

    $ python manage.py collectstatic
    $ sudo service apache2 restart
    
    ../../_images/bootswatch_geonode1.png

Votre site de projet GeoNode utilise maintenant le thème de grès en plus des changements que vous avez fait.

étapes finales

Lorsque vous avez terminé les modifications, exécutez la commande suivante dans le geonode_custom dossier:

1
2
$ cd /home/geonode/geonode_custom
$ python manage.py collectstatic

Et maintenant, vous devriez voir toutes les modifications que vous avez apportées à votre GeoNode.