Ce README ne documente qu'un sous-ensemble des fonctionnalités de Cryogen. Pour une documentation supplémentaire, veuillez consulter le site cryogène.
Vous pouvez créer un nouveau site Web en utilisant soit leiningen
, soit clj-new
ou deps-new
.
Vous aurez besoin de Leiningen 2.5.0 ou supérieur installé.
Un nouveau site peut être créé à l'aide du modèle Cryogen leiningen comme suit :
lein new cryogen my-blog
Vous pouvez également utiliser clj-new as a tool
:
clojure -Ttools install com.github.seancorfield/clj-new ' {:git/tag "v1.2.362"} ' :as clj-new # update to latest!
clojure -Tclj-new create :template cryogen :name myname/myblog :force true
cd myname/myblog/
Vous pouvez également utiliser deps-new as a tool
:
clojure -Ttools install io.github.seancorfield/deps-new ' {:git/tag "v0.4.0"} ' :as new
clojure -Sdeps ' {:deps {io.github.cryogen-project/cryogen {:git/tag "0.6.6" :git/sha "fcb2833"}}} ' -Tnew create :template org.cryogenweb/new :name myname/myblog
cd myname/myblog/
Le cryogen/lein-template
d'artefact contient à la fois un modèle leiningen et un modèle deps-new.
Le serveur Web peut être démarré à partir du répertoire my-blog
en utilisant soit Leiningen :
lein serve # or lein serve:fast
ou des outils-deps :
clojure -X:serve # or clojure -X:serve:fast
Le serveur surveillera les modifications dans les dossiers content
et themes
et recompilera automatiquement le contenu. Les variantes *:fast
effectuent une compilation rapide mais partielle uniquement de la page/de la publication modifiée.
Vous pouvez également générer le contenu sans ouvrir de serveur via :
lein run
ou via :
clojure -M:build
Le fichier de configuration du site se trouve dans content/config.edn
, ce fichier se présente comme suit :
{ :site-title " My Awesome Blog "
:author " Bob Bobbert "
:description " This blog is awesome "
:site-url " http://blogawesome.com/ "
:post-root " posts "
:page-root " pages "
:post-root-uri " posts-output "
:page-root-uri " pages-output "
:tag-root-uri " tags-output "
:author-root-uri " authors-output "
:public-dest " public "
:blog-prefix " /blog "
:rss-name " feed.xml "
:rss-filters [ " cryogen " ]
:recent-posts 3
:post-date-format " yyyy-MM-dd "
:archive-group-format " yyyy MMMM "
:sass-src []
:sass-path " sass "
:theme " blue "
:resources [ " img " ]
:keep-files [ " .git " ]
:disqus? false
:disqus-shortname " "
:ignored-files [ #" . #.*" #".* . swp$" ]
:previews? false
:posts-per-page 5
:blocks-per-preview 2
:clean-urls :trailing-slash
:collapse-subdirs? false
:hide-future-posts? true
:klipse {}
:description-include-elements #{ :p :h1 :h2 :h3 :h4 :h5 :h6 }
:debug? false }
Pour plus d'informations sur chaque clé, veuillez consulter la partie « Configuration » du site de documentation Cryogen.
Cryogen est livré avec le support Markdown par défaut. Si vous souhaitez utiliser AsciiDoc à la place, ouvrez le project.clj
dans votre blog créé (par exemple my-blog
) et modifiez la ligne dans :dependencies
qui dit cryogen-flexmark
en cryogen-asciidoc
(et assurez-vous de la bonne version). Au lieu de rechercher les fichiers se terminant par .md
dans le répertoire content/md
, le compilateur recherchera désormais les fichiers se terminant par .asc
dans le répertoire content/asc
.
Le modèle Cryogen est livré avec trois thèmes dans le dossier themes
. Pour changer le thème de votre blog, modifiez la valeur de la clé :theme
dans config.edn
. Notez que le thème Nucleus est obtenu à partir de downloadwebsitetemplates.co.uk, ce qui vous oblige à conserver le pied de page, sauf si vous faites un don sur leur site Web.
Cryogen utilise le moteur de création de modèles Selmer pour les mises en page. Veuillez vous référer à sa documentation pour voir les balises et filtres pris en charge pour les mises en page.
Les mises en page sont contenues dans le dossier themes/{theme}/html
du projet. Par défaut, la mise en page base.html
est utilisée pour fournir la mise en page générale du site. C'est ici que vous ajouterez des ressources statiques telles que des ressources CSS et JavaScript, ainsi que définirez les en-têtes et les pieds de page de votre site.
Chaque mise en page doit avoir un nom qui correspond à la clé :layout
dans les métadonnées de la page et se terminer par .html
. Les mises en page étendent la mise en page de base et ne doivent contenir que le contenu relatif à la page à l'intérieur du bloc content
. Par exemple, la disposition tag
se trouve dans tag.html
et se présente comme suit :
{% extends "/html/base.html" %}
{% block content %}
< div id = " posts-by-tag " >
< h2 >Posts tagged {{name}}</ h2 >
< ul >
{% for post in posts %}
< li >
< a href = " {{post.uri}} " >{{post.title}}</ a >
</ li >
{% endfor %}
</ ul >
</ div >
{% endblock %}
Cryogen utilise Highlight.js pour la coloration syntaxique du code. Vous pouvez ajouter plus de langues en remplaçant themes/{theme}/js/highlight.pack.js
par un package personnalisé à partir d'ici.
La fonction initHighlightingOnLoad
est appelée dans themes/{theme}/html/base.html
.
< script >hljs.initHighlightingOnLoad();</ script >
Le contenu statique généré se trouvera sous le dossier public
. Copiez simplement le contenu dans un dossier statique pour un serveur tel que Nginx ou Apache et votre site est maintenant prêt à être utilisé.
Un exemple de configuration Nginx placé dans /etc/nginx/sites-available/default
peut être vu ci-dessous :
server {
listen 80 default_server ;
listen [ :: ] : 80 default_server ipv6only = on ;
server_name localhost < yoursite . com > < www . yoursite . com > ;
access_log /var/log/blog_access.log;
error_log /var/log/blog_error.log;
location / {
alias / var / blog / ;
error_page 404 = / 404.html;
}
}
Définissez simplement yoursite.com
sur le domaine de votre site dans la configuration ci-dessus et assurez-vous que le contenu statique est disponible sur /var/blog/
. Enfin, placez votre page d'erreur personnalisée dans le fichier /var/blog/404.html
.
Plus d’informations sur le déploiement peuvent être trouvées ici.
Une bibliothèque Clojure pour fournir un rendu Markdown au compilateur cryogen-core en utilisant une commande/un programme externe, tel que pandoc.
Copyright © 2014-2021 Carmen La
Distribué sous la licence publique Eclipse, la même que Clojure.