Diese README-Datei dokumentiert nur einen Teil der Funktionen von Cryogen. Weitere Dokumentation finden Sie auf der Kryo-Website.
Sie können eine neue Website entweder mit leiningen oder clj-new oder deps-new erstellen.
Sie müssen Leiningen 2.5.0 oder höher installiert haben.
Eine neue Site kann mit der Cryogen-Leiningen-Vorlage wie folgt erstellt werden:
lein new cryogen my-blog Alternativ können Sie clj-new as a tool verwenden:
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/ Alternativ können Sie deps-new as a tool verwenden:
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/ Das Artefakt cryogen/lein-template enthält sowohl ein Leiningen-Template als auch ein Deps-New-Template.
Der Webserver kann aus dem my-blog -Verzeichnis über Leiningen gestartet werden:
lein serve # or lein serve:fastoder tools-deps:
clojure -X:serve # or clojure -X:serve:fast Der Server überwacht die content und themes auf Änderungen und kompiliert die Inhalte automatisch neu. Die *:fast -Varianten führen eine schnelle, aber teilweise Kompilierung nur der geänderten Seite/des geänderten Beitrags durch.
Sie können den Inhalt auch generieren, ohne einen Server hochzufahren, entweder über:
lein runoder über:
clojure -M:build Die Site-Konfigurationsdatei finden Sie unter content/config.edn . Diese Datei sieht wie folgt aus:
{ :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 }Informationen zu den einzelnen Schlüsseln finden Sie im Abschnitt „Konfiguration“ der Cryogen-Dokumentationsseite.
Cryogen verfügt standardmäßig über Markdown-Unterstützung. Wenn Sie stattdessen AsciiDoc verwenden möchten, öffnen Sie die project.clj in Ihrem erstellten Blog (z. B. my-blog ) und ändern Sie die Zeile in :dependencies mit der Aufschrift cryogen-flexmark in cryogen-asciidoc (und stellen Sie sicher, dass Sie die richtige Version verwenden). Anstatt im Verzeichnis content/md nach Dateien mit der .md zu suchen, sucht der Compiler jetzt im Verzeichnis content/asc nach Dateien mit der Endung .asc .
Die Cryogen-Vorlage enthält drei Themen im themes . Um das Thema Ihres Blogs zu ändern, ändern Sie den Wert des Schlüssels :theme in config.edn . Beachten Sie, dass das Nucleus-Theme von downloadwebsitetemplates.co.uk bezogen wird und Sie daher die Fußzeile behalten müssen, es sei denn, Sie spenden auf deren Website.
Cryogen verwendet die Selmer-Templating-Engine für Layouts. Informationen zu den unterstützten Tags und Filtern für die Layouts finden Sie in der Dokumentation.
Die Layouts sind im Ordner themes/{theme}/html des Projekts enthalten. Standardmäßig wird das base.html -Layout verwendet, um das allgemeine Layout der Site bereitzustellen. Hier fügen Sie statische Ressourcen wie CSS- und JavaScript-Assets hinzu und definieren Kopf- und Fußzeilen für Ihre Website.
Jedes Seitenlayout sollte einen Namen haben, der mit dem Schlüssel :layout in den Seitenmetadaten übereinstimmt und mit .html endet. Seitenlayouts erweitern das Basislayout und sollten nur den für die Seite relevanten Inhalt innerhalb des content enthalten. Das tag -Layout befindet sich beispielsweise in tag.html und sieht wie folgt aus:
{% 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 verwendet Highlight.js zur Hervorhebung der Codesyntax. Sie können weitere Sprachen hinzufügen, indem Sie von hier aus themes/{theme}/js/highlight.pack.js durch ein benutzerdefiniertes Paket ersetzen.
Die Funktion initHighlightingOnLoad wird in themes/{theme}/html/base.html aufgerufen.
< script >hljs.initHighlightingOnLoad();</ script > Der generierte statische Inhalt befindet sich im public Ordner. Kopieren Sie einfach den Inhalt in einen statischen Ordner für einen Server wie Nginx oder Apache und Ihre Site ist jetzt betriebsbereit.
Eine Beispiel-Nginx-Konfiguration, die in /etc/nginx/sites-available/default abgelegt ist, ist unten zu sehen:
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;
}
} Legen Sie in der obigen Konfiguration einfach yoursite.com auf die Domain Ihrer Website fest und stellen Sie sicher, dass der statische Inhalt unter /var/blog/ verfügbar ist. Platzieren Sie abschließend Ihre benutzerdefinierte Fehlerseite in der Datei /var/blog/404.html .
Weitere Informationen zur Bereitstellung finden Sie hier.
Eine Clojure-Bibliothek, um Markdown-Rendering für den Kryo-Core-Compiler mithilfe eines externen Befehls/Programms wie Pandoc bereitzustellen.
Copyright © 2014-2021 Carmen La
Wird unter der Eclipse Public License vertrieben, genau wie Clojure.