Compatible avec JBake 2.6.5
Future Imperfect est basé sur le thème de HTML5 UP. Julio Pescador l'a porté pour les sites Web SSG. Ici, il s'est adapté pour JBake.
Un exemple en direct peut être vu ici.
Tout d’abord, assurez-vous d’installer JBake selon les instructions ici.
Une fois que vous avez JBake, en supposant que vous créez un site appelé « Awesome-jbake », dans la fenêtre de terminal/commande, exécutez les commandes ci-dessous :
>> mkdir awesome-jbake
>> git clone https://github.com/manikmagar/jbake-future-imperfect-template.git awesome-jbake
>> cd awesome-jbake && ls -ltr
Vous devriez voir ces fichiers de dépôt là-dedans. Consultez la documentation JBake 2.5.1 pour comprendre cette structure.
Pour voir en action, dans le dossier Awesome-jbake, exécutez jbake -b -s
. Dans quelques secondes, votre site devrait être en ligne sur http://localhost:8820/, vous pouvez le visiter dans le navigateur.
Tout dans le modèle est piloté par les paramètres de configuration du fichier jbake.properties. L'ensemble de propriétés minimalement requis est déjà inclus. Conservez donc toutes les propriétés dans le fichier et modifiez les valeurs si nécessaire.
JBake prend en charge plus que ces propriétés et vous pouvez vous référer à la documentation JBake.
Certaines fonctionnalités du modèle sont décrites ci-dessous.
Le modèle prend en charge l'ajout de commentaires Disqus aux publications. Pour l'activer, ajoutez simplement votre nom abrégé disqus dans jbake.properties -
site.disqus.shortname={yourdisqus}
Le modèle vous permet de capturer des pages vues. Pour l'activer, ajoutez simplement votre identifiant de suivi GA dans jbake.properties -
site.google.trackingid={ga.trackingid}
Vous pouvez activer le temps de lecture estimé sur vos publications en définissant site.includeReadTiem=true
dans jbake.properties. Ce temps de lecture est calculé à l'aide de cette bibliothèque javascript de temps de lecture.
Le menu principal supérieur du site peut être contrôlé depuis jbake.properties -
site.menus.main = home, archive, about, rss
# To add menus, for every menuitem in site.menus.main, add three properties in below pattern
# site.menus.{menuitem}.home.label=Home
# site.menus.{menuitem}.home.url=/
# site.menus.{menuitem}.home.icon=fa fa-home
site.menus.main.home.label =Home
site.menus.main.home.url =/
site.menus.main.home.icon =fa fa-home
Vous DEVEZ définir les propriétés d'étiquette, d'URL et d'icône pour chaque élément de menu dans site.menus.main
.
Vous pouvez contrôler vos liens sociaux en ajoutant vos gestionnaires sociaux pour les propriétés sidebar.social.*.
Si vous hébergez votre site statique sur Github, alors Github permet de définir une page d'erreur 404. Le dossier Contenu contient un fichier appelé 404.html qui est de type « page » (c'est-à-dire qu'il sera rendu par le modèle de page). Vous pouvez modifier le contenu de ce fichier si nécessaire, mais celui inclus par défaut semble également bon :). Ce fichier doit être à la racine du dossier de contenu pour qu'il soit rendu dans le répertoire racine de vos pages Github. Rest sera pris en charge par Github pour afficher ce fichier lorsque l'utilisateur essaie d'accéder à une URL inexistante.
Dans l'en-tête des métadonnées de la publication, vous pouvez définir ci-dessous deux propriétés pour avoir une image en vedette pour la publication :
featuredimage =img/{path to image}
featuredalt =alternate text for image
Ce modèle génère par défaut un flux JSON. Voici la configuration liée à cela -
site.menus.main.rss.label =Subscribe
# # change below url to feed.xml for tradional RSS Feed
site.menus.main.rss.url =feed.json
site.menus.main.rss.icon =fa fa-rss
# # Commnet below two properties to generate, tradional XML RSS feed.
feed.file =feed.json
template.feed.file =feed-json.ftl
Il est possible d'avoir un flux RSS XML traditionnel. Apportez les modifications dans jbake.properties, comme suggéré dans les commentaires ci-dessus. Préparez à nouveau votre site.
N'hésitez pas à crier sur Twitter @manikmagar et @javabake
Ce thème est publié sous licence MIT. Veuillez lire la licence pour plus d'informations.