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:fast
oder 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 run
oder ü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.