[PYTHON] Essayez d'introduire le thème sur Pelican

Présentation du thème et comment introduire le thème avec «Pelican», un outil de génération de blog statique créé par Python.

Cliquez ici pour les informations ci-dessus.

Après l'introduction de Pelican, je pense que vous voudrez paraître plus élaboré. Pelican est livré avec une fonction de thème que vous pouvez remplacer par votre thème préféré.

Méthode de réglage


C'est très simple à faire, dans le fichier de configuration (pelicanconf.py)

THEME = '(thème)'

Je l'écris juste comme ça. Certains thèmes sont créés par des bénévoles,

https://github.com/getpelican/pelican-themes

Tous sont placés. Pour l'instant, copions le répertoire ci-dessus localement.

git clone --recursive https://github.com/getpelican/pelican-themes ~/pelican-themes

Pour la dernière partie ~ / pelican-themes, spécifiez le répertoire dans lequel vous souhaitez placer le thème. Cela téléchargera tous les thèmes (beaucoup!). Vérifiez donc le PATH du répertoire de thèmes que vous souhaitez utiliser.

THEME = "/home/user/pelican-themes/theme-name"

Spécifiez-le simplement dans le fichier de configuration comme ceci.

http://pelican-themes-gallery.place.org/

Vous pouvez également vérifier l'aperçu avec, alors essayez d'en appliquer un joli,

make html → make serve

C'est une bonne idée de vérifier l'apparence sur le serveur local avec.

Ce blog utilise également un thème personnalisé appelé svbhack (qui peut changer). Vous pouvez modifier vous-même le thème déposé, ce qui vous laisse une grande liberté. Je vais le personnaliser et créer mon propre thème! Dans ce cas

La connaissance est essentielle.

Un exemple de personnalisation --- Lien avec la fonction de commentaire DISQUS


Puisque pelican n'a pas de fonction de commentaire, vous devez installer un service externe tel que DISQUS si vous souhaitez l'ajouter.

Selon le thème, il peut ou non être attaché par défaut, et le thème svbhack n'avait pas non plus de fonction de commentaire, alors je l'ai ajouté.

(1) Enregistrez votre site avec DISQUS

Depuis TOP, il devrait être facile de suivre l'introduction. Si vous ne pouvez pas, google (・ 3 ・)

À ce stade, vous devriez obtenir un nom appelé shortname qui identifie de manière unique votre site du côté DISQUS, alors notez-le.

Note) Avec les spécifications DISQUS actuelles, la langue utilisée "Japonais" ne peut pas être sélectionnée. Je l'ai également corrigé en me référant à l'article ci-dessous.

Que faire si le japonais ne peut pas être défini avec le plug-in de commentaire "DISQUS"

Il semble que les paramètres eux-mêmes existent du côté serveur, j'espère donc que DISQUS répondra rapidement sans faire des choses aussi délicates.

(2) Refléter les paramètres DISQUS dans pélican

Si vous avez créé un projet de blog Pelican avec la commande quickstart,

publishconf.py

Il devrait y avoir la description suivante dans.

publishconf.py


# Following items are often useful when publishing

DISQUS_SITENAME = ""

Si vous spécifiez le nom court que vous avez noté précédemment, les paramètres DISQUS seront reflétés du côté pélican pour le moment.

(3) Édition du HTML

Certains thèmes peuvent être utilisés jusqu'à (2), mais s'ils ne sont pas pris en charge, vous devez écrire vous-même un appel DISQUS.

Par exemple, dans le cas du thème svbhack,

/svbhack/templates

Il contient un fichier appelé article.html, qui est le modèle utilisé pour afficher l'article, vous pouvez donc écrire ce qui suit juste avant la balise de fermeture de l'article.

article.html


	:
	:
	{% if DISQUS_SITENAME %}
    <div class="comments">
      <div id="disqus_thread"></div>
          <script type="text/javascript">
              var disqus_identifier = "{{ article.url }}";
              (function() {
                  var dsq = document.createElement('script');
                  dsq.type = 'text/javascript';
                  dsq.async = true;
                  dsq.src = 'http://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
                  (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
          })();
          </script>
      </div>
    {% endif %}

    </div>
    </article>

Les éléments de {% if DISQUS_SITENAME%} à {% endif%} sont susceptibles d'être ajoutés.

Si DISQUS_SITENAME est défini, cela signifie incorporer le code d'intégration du commentaire.

Si vous faites cela, les commentaires DISQUS devraient être affichés à la fin de l'article comme dans ce Blog!

La connaissance de jinja2 est nécessaire pour jouer avec les templates Pelican, mais c'est assez important dans le moteur de template de Python, et c'est une perte à supprimer. Je ne pense pas qu'il y en ait.

Postscript

Décrit la fonction de brouillon.

Recommended Posts

Essayez d'introduire le thème sur Pelican
Thème ajouté au blog Pelican
Essayez Cython dans les plus brefs délais
Le moyen le plus rapide d'essayer EfficientNet
La façon la plus simple d'essayer PyQtGraph
Essayez de faire face à la somme partielle
Python amateur tente de résumer la liste ①
Essayez d'ajouter la distorsion de l'objectif fisheye à l'image
Essayez de décomposer la procession du daimyo en Tucker
Essayez de résoudre le problème de l'héritage de classe Python
Essayez de résoudre le diagramme homme-machine avec Python
Comment essayer l'algorithme des amis d'amis avec pyfof
Essayez de simuler le mouvement du système solaire
Essayez de publier sur Qiita pour la première fois
Essayez de résoudre le livre des défis de programmation avec python3
[Python] Essayez de lire la bonne réponse au problème FizzBuzz
Essayez de configurer SSH (Exscript) du logiciel au routeur
Essayez de configurer NETCONF (ncclient) du logiciel au routeur
Essayez de résoudre les problèmes / problèmes du "programmeur matriciel" (Chapitre 1)
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
Présentation de serverspec à Linux
Simulation de dynamique moléculaire à essayer pour le moment
Essayez d'estimer le nombre de likes sur Twitter
Essayez d'obtenir le contenu de Word avec Golang
Essayez d'implémenter yolact
[Neo4J] ④ Essayez de gérer la structure du graphe avec Cypher
La route vers Pythonista
Essayez de déchiffrer les données de connexion stockées dans Firefox
La route vers Djangoist
Présentez elpy à emacs
J'ai essayé d'introduire l'outil de génération de diagramme blockdiag
Essayez d'obtenir la liste des fonctions du paquet Python> os
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de régression
Essayez de jouer avec l'uprobe qui prend directement en charge Systemtap
Essayez de vous connecter à Supervisord via XML RPC pour démarrer / arrêter le programme
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de classification
Essayez d'améliorer la précision de l'estimation du nombre de Twitter
Essayez de résoudre les problèmes / problèmes du "programmeur matriciel" (fonction du chapitre 0)
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
Essayez d'extraire les mots-clés populaires dans COTOHA
Essayez de modéliser une distribution multimodale à l'aide de l'algorithme EM
[Apprentissage de renforcement d'introduction] Renforcement de l'apprentissage pour bouger pour le moment
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Comment utiliser le générateur
Point selon l'image
La route pour télécharger Matplotlib
Essayez d'utiliser l'API Twitter
Essayez le serveur Taxii (1. Paramètres du serveur)
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API PeeringDB 2.0
J'ai essayé de présenter Pylint
Changer le thème de Jupyter
Comment installer le blog Pelican
Essayez de sélectionner une langue
Essayez de doubler le curseur PyODE
Comment utiliser le décorateur
Comment augmenter l'axe
Comment démarrer la première projection
[Note] Essayons de prédire la quantité d'électricité utilisée! (Partie 1)