Este archivo README solo documenta un subconjunto de las funciones de Cryogen. Para obtener documentación adicional, consulte el sitio de criógeno.
Puede crear un nuevo sitio web utilizando leiningen
, clj-new
o deps-new
.
Necesitará tener instalado Leiningen 2.5.0 o superior.
Se puede crear un nuevo sitio utilizando la plantilla de Cryogen leiningen de la siguiente manera:
lein new cryogen my-blog
Alternativamente, use 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/
Alternativamente, use 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/
El artefacto cryogen/lein-template
contiene tanto una plantilla de leiningen como una plantilla nueva de deps.
El servidor web se puede iniciar desde el directorio my-blog
usando Leiningen:
lein serve # or lein serve:fast
o departamentos de herramientas:
clojure -X:serve # or clojure -X:serve:fast
El servidor observará los cambios en las carpetas de content
y themes
y volverá a compilar el contenido automáticamente. Las variantes *:fast
realizan una compilación rápida pero parcial solo de la página/publicación modificada.
También puedes generar el contenido sin abrir un servidor a través de:
lein run
o vía:
clojure -M:build
El archivo de configuración del sitio se encuentra en content/config.edn
, este archivo tiene el siguiente aspecto:
{ :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 }
Para obtener información sobre cada clave, consulte la parte "Configuración" del sitio de documentación de Cryogen.
Cryogen viene con soporte Markdown de forma predeterminada. Si desea utilizar AsciiDoc en su lugar, abra project.clj
en su blog creado (por ejemplo, my-blog
) y cambie la línea en :dependencies
que dice cryogen-flexmark
a cryogen-asciidoc
(y asegúrese de tener la versión correcta). En lugar de buscar archivos que terminen en .md
en el directorio content/md
, el compilador ahora buscará archivos que terminen en .asc
en el directorio content/asc
.
La plantilla de Cryogen viene con tres temas en la carpeta de themes
. Para cambiar el tema de su blog, cambie el valor de la clave :theme
en config.edn
. Tenga en cuenta que el tema Nucleus se obtiene de downloadwebsitetemplates.co.uk y requiere que conserve el pie de página, a menos que realice una donación en su sitio web.
Cryogen utiliza el motor de plantillas Selmer para los diseños. Consulte su documentación para ver las etiquetas y filtros admitidos para los diseños.
Los diseños están contenidos en la carpeta themes/{theme}/html
del proyecto. De forma predeterminada, el diseño base.html
se utiliza para proporcionar el diseño general del sitio. Aquí es donde agregaría recursos estáticos como activos CSS y JavaScript, así como también definiría encabezados y pies de página para su sitio.
Cada diseño de página debe tener un nombre que coincida con la clave :layout
en los metadatos de la página y terminar con .html
. Los diseños de página amplían el diseño base y solo deben contener el contenido relacionado con la página dentro del bloque content
. Por ejemplo, el diseño tag
se encuentra en tag.html
y tiene el siguiente aspecto:
{% 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 utiliza Highlight.js para resaltar la sintaxis del código. Puede agregar más idiomas reemplazando themes/{theme}/js/highlight.pack.js
con un paquete personalizado desde aquí.
La función initHighlightingOnLoad
se llama en themes/{theme}/html/base.html
.
< script >hljs.initHighlightingOnLoad();</ script >
El contenido estático generado se encontrará en la carpeta public
. Simplemente copie el contenido en una carpeta estática para un servidor como Nginx o Apache y su sitio ya estará listo para el servicio.
A continuación se puede ver una configuración de Nginx de muestra ubicada en /etc/nginx/sites-available/default
:
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;
}
}
Simplemente configure yoursite.com
como el dominio de su sitio en la configuración anterior y asegúrese de que el contenido estático esté disponible en /var/blog/
. Finalmente, coloque su página de error personalizada en el archivo /var/blog/404.html
.
Puede encontrar más información sobre la implementación aquí.
Una biblioteca Clojure para proporcionar representación de Markdown al compilador de núcleo criógeno mediante el uso de un comando/programa externo, como pandoc.
Copyright © 2014-2021 Carmen La
Distribuido bajo Licencia Pública Eclipse, al igual que Clojure.