Este README documenta apenas um subconjunto dos recursos do Cryogen. Para documentação adicional, consulte o site criogênico.
Você pode criar um novo site usando leiningen ou clj-new ou deps-new .
Você precisará do Leiningen 2.5.0 ou superior instalado.
Um novo site pode ser criado usando o modelo Cryogen leiningen da seguinte forma:
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/ O cryogen/lein-template do artefato contém um modelo leiningen e um modelo deps-new.
O servidor web pode ser iniciado a partir do diretório my-blog usando Leiningen:
lein serve # or lein serve:fastou dependências de ferramentas:
clojure -X:serve # or clojure -X:serve:fast O servidor observará alterações nas pastas content e themes e recompilará o conteúdo automaticamente. As variantes *:fast executam uma compilação rápida, mas parcial, apenas da página/postagem alterada.
Você também pode gerar o conteúdo sem abrir um servidor por meio de:
lein runou através de:
clojure -M:build O arquivo de configuração do site é encontrado em content/config.edn , este arquivo tem a seguinte aparência:
{ :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 obter informações sobre cada chave, consulte a parte "Configuração" do site de documentação do Cryogen.
Cryogen vem com suporte Markdown como padrão. Se você quiser usar o AsciiDoc, abra o project.clj no blog criado (por exemplo, my-blog ) e altere a linha em :dependencies que diz cryogen-flexmark para cryogen-asciidoc (e garanta a versão correta). Em vez de procurar arquivos que terminam em .md no diretório content/md , o compilador agora procurará arquivos que terminam em .asc no diretório content/asc .
O modelo Cryogen vem com três temas na pasta themes . Para alterar o tema do seu blog, altere o valor da chave :theme em config.edn . Observe que o tema Nucleus é obtido em downloadwebsitetemplates.co.uk e exige que você mantenha o rodapé, a menos que você faça uma doação no site deles.
Cryogen usa mecanismo de modelagem Selmer para layouts. Consulte sua documentação para ver as tags e filtros suportados para os layouts.
Os layouts estão contidos na pasta themes/{theme}/html do projeto. Por padrão, o layout base.html é usado para fornecer o layout geral do site. É aqui que você adicionaria recursos estáticos, como ativos CSS e JavaScript, bem como definiria cabeçalhos e rodapés para o seu site.
Cada layout de página deve ter um nome que corresponda à chave :layout nos metadados da página e terminar com .html . Os layouts de página estendem o layout base e devem conter apenas o conteúdo relevante para a página dentro do bloco content . Por exemplo, o layout tag está localizado em tag.html e tem a seguinte aparência:
{% 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 usa Highlight.js para realce de sintaxe de código. Você pode adicionar mais idiomas substituindo themes/{theme}/js/highlight.pack.js por um pacote personalizado aqui.
A função initHighlightingOnLoad é chamada em themes/{theme}/html/base.html .
< script >hljs.initHighlightingOnLoad();</ script > O conteúdo estático gerado será encontrado na pasta public . Basta copiar o conteúdo para uma pasta estática de um servidor como Nginx ou Apache e seu site estará pronto para serviço.
Um exemplo de configuração do Nginx colocado em /etc/nginx/sites-available/default pode ser visto abaixo:
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;
}
} Basta definir yoursite.com como o domínio do seu site na configuração acima e garantir que o conteúdo estático esteja disponível em /var/blog/ . Por fim, coloque sua página de erro personalizada no arquivo /var/blog/404.html .
Mais informações sobre implantação podem ser encontradas aqui.
Uma biblioteca Clojure para fornecer renderização Markdown ao compilador criogênico usando um comando/programa externo, como pandoc.
Copyright © 2014-2021 Carmen La
Distribuído sob a Licença Pública Eclipse, a mesma do Clojure.